JP2019149798A - Voip通話の確立及び維持 - Google Patents

Voip通話の確立及び維持 Download PDF

Info

Publication number
JP2019149798A
JP2019149798A JP2019061069A JP2019061069A JP2019149798A JP 2019149798 A JP2019149798 A JP 2019149798A JP 2019061069 A JP2019061069 A JP 2019061069A JP 2019061069 A JP2019061069 A JP 2019061069A JP 2019149798 A JP2019149798 A JP 2019149798A
Authority
JP
Japan
Prior art keywords
peer
client device
mode
relay
connection
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.)
Pending
Application number
JP2019061069A
Other languages
English (en)
Inventor
シン、マンプリート
Singh Manpreet
エイ. クレット、エーレン
A Kret Ehren
エイ. クレット、エーレン
ジェームズ リード、エリック
James Reed Erik
ジェームズ リード、エリック
ビー. ドナヒュー、マイケル
B Donohue Michael
ビー. ドナヒュー、マイケル
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.)
WhatsApp LLC
Original Assignee
WhatsApp LLC
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 WhatsApp LLC filed Critical WhatsApp LLC
Publication of JP2019149798A publication Critical patent/JP2019149798A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/56Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for VoIP communications
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/10009Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the number, the constitution or treatment of glass sheets
    • B32B17/10036Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the number, the constitution or treatment of glass sheets comprising two outer glass sheets
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10559Shape of the cross-section
    • B32B17/10577Surface roughness
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10559Shape of the cross-section
    • B32B17/10577Surface roughness
    • B32B17/10587Surface roughness created by embossing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10688Adjustment of the adherence to the glass layers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10761Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer containing vinyl acetal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/06Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material
    • B32B27/08Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material of synthetic resin
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/18Layered products comprising a layer of synthetic resin characterised by the use of special additives
    • B32B27/22Layered products comprising a layer of synthetic resin characterised by the use of special additives using plasticisers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/30Layered products comprising a layer of synthetic resin comprising vinyl (co)polymers; comprising acrylic (co)polymers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/30Layered products comprising a layer of synthetic resin comprising vinyl (co)polymers; comprising acrylic (co)polymers
    • B32B27/306Layered products comprising a layer of synthetic resin comprising vinyl (co)polymers; comprising acrylic (co)polymers comprising vinyl acetate or vinyl alcohol (co)polymers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/42Layered products comprising a layer of synthetic resin comprising condensation resins of aldehydes, e.g. with phenols, ureas or melamines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B3/00Layered products comprising a layer with external or internal discontinuities or unevennesses, or a layer of non-planar shape; Layered products comprising a layer having particular features of form
    • B32B3/26Layered products comprising a layer with external or internal discontinuities or unevennesses, or a layer of non-planar shape; Layered products comprising a layer having particular features of form characterised by a particular shape of the outline of the cross-section of a continuous layer; characterised by a layer with cavities or internal voids ; characterised by an apertured layer
    • B32B3/30Layered products comprising a layer with external or internal discontinuities or unevennesses, or a layer of non-planar shape; Layered products comprising a layer having particular features of form characterised by a particular shape of the outline of the cross-section of a continuous layer; characterised by a layer with cavities or internal voids ; characterised by an apertured layer characterised by a layer formed with recesses or projections, e.g. hollows, grooves, protuberances, ribs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B7/00Layered products characterised by the relation between layers; Layered products characterised by the relative orientation of features between layers, or by the relative values of a measurable parameter between layers, i.e. products comprising layers having different physical, chemical or physicochemical properties; Layered products characterised by the interconnection of layers
    • B32B7/02Physical, chemical or physicochemical properties
    • CCHEMISTRY; METALLURGY
    • C03GLASS; MINERAL OR SLAG WOOL
    • C03CCHEMICAL COMPOSITION OF GLASSES, GLAZES OR VITREOUS ENAMELS; SURFACE TREATMENT OF GLASS; SURFACE TREATMENT OF FIBRES OR FILAMENTS MADE FROM GLASS, MINERALS OR SLAGS; JOINING GLASS TO GLASS OR OTHER MATERIALS
    • C03C27/00Joining pieces of glass to pieces of other inorganic material; Joining glass to glass other than by fusing
    • C03C27/06Joining glass to glass by processes other than fusing
    • C03C27/10Joining glass to glass by processes other than fusing with the aid of adhesive specially adapted for that purpose
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/20Repeater circuits; Relay circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • 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/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2250/00Layers arrangement
    • B32B2250/022 layers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2250/00Layers arrangement
    • B32B2250/40Symmetrical or sandwich layers, e.g. ABA, ABCBA, ABCCBA
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/10Properties of the layers or laminate having particular acoustical properties
    • B32B2307/102Insulating
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/30Properties of the layers or laminate having particular thermal properties
    • B32B2307/308Heat stability
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/50Properties of the layers or laminate having particular mechanical properties
    • B32B2307/538Roughness
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/70Other properties
    • B32B2307/732Dimensional properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2605/00Vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2605/00Vehicles
    • B32B2605/006Transparent parts other than made from inorganic glass, e.g. polycarbonate glazings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Ceramic Engineering (AREA)
  • Organic Chemistry (AREA)
  • Materials Engineering (AREA)
  • Geochemistry & Mineralogy (AREA)
  • General Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】1つのコンピューティング装置/通信装置から別のコンピューティング/通信装置のVOIP通話を確立しサポートするためのシステム、装置、及び方法を提供する。【解決手段】システムは、発呼者装置からの通話オファーを受信し、それを被呼装置に転送し、各装置に対しデジタル化音声通信をリレーするための複数の候補リレーエンティティを特定する。各装置は、一つのまたは全てのリレーと結合し、それら装置の一方または両方は、必要に応じてリレー動作モードで使用するために1つのリレーを選択する。そのリレーが両装置に外部ネットワークアドレスを通知し、各装置は自身の(内部及び外部)アドレスを当該システムを介して互いに渡す。両装置は、ピアツーピア動作モードで自分の呼び出しを行うために直接接続を確立しようと試みるが、必要に応じてピアツーピアモードとリレーモードとを動的に切り換え得る。【選択図】 図1

Description

本発明は、コンピュータ及び電子通信の分野に関する。より詳細には、VOIP(ボイスオーバーインターネットプロトコル)通話を確立し維持するためのシステム、装置、及び方法を提供する。
既存方式のVOIPは柔軟性が制限されている。
つまり、VOIP通話に参加する装置のアドレス(例えば、IPアドレス)が変化した場合、VOIP接続は通常失敗し、一方または両方の参加者は通話を再初期化しなければならない。さらに、既存の手順でVOIP通話を確立するには、通常、広範なプロトコルネゴシエーションが必要となり、ユーザの経験を損なう可能性がある。
本発明のいくつかの実施形態では、VOIP通話の確立および維持を容易にするためのシステムは、発呼者装置から呼または通話オファーを受信し、それを被呼者装置に転送し、両装置に対しそれらのデジタル化音声通信をリレーするのに利用可能な複数の候補リレーエンティティを特定する。各装置は、1つまたはすべてのリレーと結合されてトランスポートエンドポイントを割り当てる。一方のまたは両方の装置は複数のリレーのうちの一つを選択し、必要になったときに使用する。
1つまたは複数のリレーは、それら装置にそれら装置の外部ネットワークアドレスを通知し、各装置は自身の(内部及びおよび外部の)アドレスを当該システムを介して互いに渡す。両装置はそれらの通話を行うためにピアツーピア接続の確立を試みるが、必要に応じてまたは要求に応じて、ピアツーピア動作モードとリレー動作モードとを動的に切り換え得る。
いくつかの実施形態では、一方または両方の装置が異なるネットワークにローミングすると、両装置は、選択されたリレー(および/または1つまたは複数の他のリレー)との通信を再確立して新しい(外部)アドレスを取得し、それは他方の装置と再度共有され、そして、両装置はピアツーピア接続を確立する試みを継続する。それができない場合、両装置はデジタル化通信をリレーするために選択されたリレーを使用する。
装置のアドレスは、どのアドレスが好ましいかまたはより成功する可能性が高いかを示すために、優先順位付けされるかまたは順序付けされ得る。例えば、一方の装置が他方の装置によって使用されるネットワーク以外のネットワークにローミングする場合、当該一方の装置は、その外部アドレスに優先順位を付けることができ、Wi−Fiアドレスがセルラーアドレス(すなわち、音声サービスプロバイダのデータネットワーク内でのアドレス)よりも高い優先順位とされ得る。
本発明による実施形態は、特に、方法、記憶媒体、システム、およびコンピュータプログラム製品に向けられた添付の特許請求の範囲内にあるが、ある特定のカテゴリの(例えば方法の)請求項で言及したいずれの特徴も、別のカテゴリの(例えばシステムの)請求項でも同様に特許請求され得る。添付の特許請求の範囲における従属関係または引用関係は、形式的理由のみのために選択されている。しかし、先行する請求項(特に多数項従属関係)への意図的な参照から生じる主題も同様に特許請求でき、任意の請求項の組み合わせ及びそれらの特徴の組み合わせが開示されるとともに添付の特許請求の範囲において選択される従属関係に関係なく特許請求され得る。特許請求される主題は、添付の特許請求の範囲に記載された特徴の組み合わせだけでなく、特許請求の範囲内の他の特徴の組み合わせをも含み、特許請求の範囲に記載された各特徴は任意の他の特徴や特許請求の範囲の他の特徴の組み合わせと組み合わせることができる。さらに、本明細書に記載または図示された任意の実施形態および任意の特徴は、別個の請求項においておよび/または本明細書に記載または図示される任意の実施形態または特徴との任意の組み合わせにおいておよび/または特許請求の範囲の任意の特徴との組み合わせにおいて特許請求することができる。
本発明の一実施形態では、一つ以上のコンピュータネットワークを介して実施される音声通話をサポートするコンピュータ実装方法は、被呼者装置をまたは被呼者装置ユーザを特定する通話オファーを発呼者装置から受信し、複数の候補リレーサーバのアドレスを前記発呼者装置及び被呼者装置に送信し、前記発呼者装置及び被呼者装置の一方または両方から、前記複数の候補リレーサーバのうちの一つのリレーサーバの選択を受信し、前記発呼者装置、前記選択されたリレーサーバ、及び前記被呼者装置を含めたリレー動作モードで前記音声通話を一時的に実施することを備え、当該音声通話の間に、前記発呼者装置及び被呼者装置は、前記リレー動作モードと、前記複数の候補リレーサーバのいずれも使用せずに前記音声通話を直接に実施するピアツーピア動作モードとの間の切り換えを少なくとも一度は行う。
本発明の一実施形態では、方法は、前記複数の候補リレーサーバの各々にて前記発呼者装置及び被呼者装置の各々から接続を受信し、前記複数の候補リレーサーバのうちの一つ以上にて前記発呼者装置及び被呼者装置の各々に対し当該装置の外部アドレスを特定することを備え得る。
前記発呼者装置及び被呼者装置の少なくとも1つは、前記複数の候補リレーサーバに送信した複数の通信と前記複数の候補リレーサーバから受信した複数の通信との間の特定された時間遅延に基づき、前記選択されたリレーサーバを選び得る。
前記複数の候補リレーサーバのうちの一つのリレーサーバの選択を受信することは、前記発呼者装置及び被呼者装置のうちの第1装置から前記特定された時間遅延を受信し、前記特定された時間遅延を前記発呼者装置及び被呼者装置のうちの他方の装置に転送し、前記他方の装置から、前記特定された時間遅延の識別情報を受信することを備え得る。
本発明の一実施形態では、方法は、前記複数の候補リレーサーバとは異なる通信サーバにて、前記発呼者装置及び被呼者装置の外部アドレスを受信し、前記外部アドレスを前記発呼者装置及び被呼者装置のうちの他方に転送することを備え得る。
本発明の一実施形態では、方法は、前記発呼者装置と被呼者装置のうちの一方が第1ネットワークから第2ネットワークにローミングした後、前記選択されたリレーサーバにて前記一方の装置から新しい接続を受信し、前記一方の装置に対し、前記選択されたリレーサーバから、前記一方の装置の新しい外部アドレスを特定し、前記新しい外部アドレスを前記通信サーバで受信し、前記新しい外部アドレスを前記通信サーバから前記発呼者装置及び被呼者装置の他方に転送することを備え得る。
本発明の一実施形態では、方法は、前記複数の候補リレーサーバとは異なる複数の通信サーバのセットでの前記通話オファーの受信に応答して、前記被呼者装置と前記複数の通信サーバの一つとの間に進行中の通信接続が存在するかを判定し、前記被呼者装置と前記複数の通信サーバの一つとの間に通信接続が存在しない場合には、前記通話オファーについてのプッシュ通知を前記被呼者装置に向けて送信することを備え得る。
前記リレー動作モードで前記音声通話を一時的に実施することは、前記発呼者装置及び被呼者装置が前記ピアツーピア動作モードの開始を試みた後にのみ開始され得る。
前記リレー動作モードで前記音声通話を一時的に実施することは、前記発呼者装置及び被呼者装置が、前記ピアツーピア動作モードを確立し、前記ピアツーピア動作モードがその後失敗した後にのみ開始され得る。
本発明の一実施形態では、方法は、前記音声通話の間に、前記複数の候補リレーサーバのうちの第2リレーの選択を受信することを備え得る。
前記通話オファーは複数の被呼者装置をまたは複数の被呼者装置ユーザを特定し得る。
本発明の一実施形態では、非一時的なコンピュータ可読媒体は、プロセッサによって実行されると、一つ以上のコンピュータネットワークを介して実施される音声通話をサポートする方法をコンピュータに行わせる命令を格納し、前記方法が、被呼者装置をまたは被呼者装置ユーザを特定する通話オファーを発呼者装置から受信すること、複数の候補リレーサーバのアドレスを前記発呼者装置及び被呼者装置に送信すること、前記発呼者装置及び被呼者装置の一方または両方から、前記複数の候補リレーサーバのうちの一つの選択されたリレーサーバの選択を受信すること、前記発呼者装置、前記選択されたリレーサーバ、及び前記被呼者装置を含めたリレー動作モードで前記音声通話を一時的に実施することを備え、当該音声通話の間に、前記発呼者装置及び被呼者装置は、前記リレー動作モードと、前記複数の候補リレーサーバのいずれも使用せずに前記音声通話を直接に実施するピアツーピア動作モードとの間の切り換えを少なくとも一度は行う。
本発明の一実施形態では、一つ以上のコンピュータネットワークを介して実施される音声通話をサポートするシステムは、複数の通信サーバであって、各通信サーバが、プロセッサによって実行されると当該通信サーバに、被呼者装置をまたは被呼者装置ユーザを特定する通話オファーを発呼者装置から受信すること、複数のリレーサーバのアドレスを前記発呼者装置及び被呼者装置に送信すること、前記発呼者装置及び被呼者装置の一方または両方から、前記複数のリレーサーバのうちの一つのリレーサーバの選択を受信することを行わせる命令を格納する非一時的なコンピュータ可読媒体を備える、前記複数の通信サーバと、前記複数のリレーサーバであって、各リレーサーバが、プロセッサによって実行されると当該リレーサーバに、前記発呼者装置、前記選択されたリレーサーバ、及び前記被呼者装置を含めたリレー動作モードで前記音声通話を一時的に実施することを行わせる命令を格納する非一時的なコンピュータ可読媒体を備える前記複数のリレーサーバとを備え得る。
各リレーサーバの前記コンピュータ可読媒体は、プロセッサによって実行されると当該リレーサーバに、前記発呼者装置及び被呼者装置の各々から接続を受信すること、前記発呼者装置及び被呼者装置の各々に対し当該装置の外部アドレスを特定することを行わせる命令を格納し得る。
前記発呼者装置及び被呼者装置の少なくとも1つは、前記複数のリレーサーバに送信した複数の通信と前記複数のリレーサーバから受信した複数の通信との間の特定された時間遅延に基づき、前記選択されたリレーサーバを選び得る。
前記複数のリレーサーバのうちの一つのリレーサーバの選択を受信することは、前記発呼者装置及び被呼者装置のうちの第1装置から前記特定された時間遅延を前記複数の通信サーバの一つにて受信すること、前記特定された時間遅延を前記一つの通信サーバから前記発呼者装置及び被呼者装置のうちの他方の装置に転送すること、前記他方の装置から、前記特定された時間遅延の識別情報を受信することを備え得る。
本発明の一実施形態では、一つ以上のコンピュータネットワークを介して実施される音声通話をサポートするシステムは、前記複数の通信サーバのうちの一つにて、前記発呼者装置及び被呼者装置の外部アドレスを受信すること、前記外部アドレスを前記発呼者装置及び被呼者装置のうちの他方に転送することを備え得る。
本発明の一実施形態では、一つ以上のコンピュータネットワークを介して実施される音声通話をサポートするシステムは、前記選択されたリレーサーバの前記コンピュータ可読媒体は、プロセッサによって実行されると当該選択されたリレーサーバに、前記発呼者装置と被呼者装置のうちの一方が第1ネットワークから第2ネットワークにローミングした後、前記選択されたリレーサーバにて前記一方の装置から新しい接続を受信すること、前記一方の装置に対し前記一方の装置の新しい外部アドレスを特定することを行わせる命令を更に格納し、各通信サーバの前記コンピュータ可読媒体は、プロセッサによって実行されると当該通信サーバに、前記新しい外部アドレスを受信すること、前記新しい外部アドレスを前記発呼者装置及び被呼者装置の他方に転送することを行わせる命令を更に格納する。
本発明の一実施形態では、一つ以上のコンピュータネットワークを介して実施される音声通話をサポートするシステムは、前記発呼者装置及び被呼者装置のそれぞれで実行されるクライアントロジックであって、プロセッサによって実行されると、前記プロセッサに、前記複数のリレーサーバのそれぞれについて、当該リレーサーバにバインド要求を送信すること、前記リレーサーバからの肯定応答を受信した場合、前記バインド要求の送信と前記バインド要求の肯定応答の受信との間の待ち時間を測定することを行わせる命令を格納するクライアントロジックを備え得る。
前記クライアントロジックは、プロセッサによって実行されると、前記プロセッサに、前記発呼者装置及び被呼者装置のうちの一方にて、前記発呼者装置及び被呼者装置の他方によって測定された1以上のリレーサーバ待ち時間を受信すること、前記発呼者装置及び被呼者装置にて測定された合計リレーサーバ待ち時間に基づいて前記1つのリレーサーバを選択することを行わせる命令を備え得る。
各通信サーバの前記コンピュータ可読媒体は、プロセッサによって実行されると当該通信サーバに、前記通話オファーの受信に応答して、前記被呼者装置と前記複数の通信サーバの一つとの間に進行中の通信接続が存在するかを判定し、前記被呼者装置と通信サーバとの間に通信接続が存在しない場合には、前記通話オファーについてのプッシュ通知を前記被呼者装置に向けて送信することを行わせる命令を更に格納し得る。
前記リレー動作モードで前記音声通話を一時的に実施することは、前記発呼者装置及び被呼者装置が前記ピアツーピア動作モードの開始を試みた後にのみ開始され得る。
前記リレー動作モードで前記音声通話を一時的に実施することは、前記発呼者装置及び被呼者装置が、前記ピアツーピア動作モードを確立し、前記ピアツーピア動作モードがその後失敗した後にのみ開始され得る。
前記通話オファーは複数の被呼者装置をまたは複数の被呼者装置ユーザを特定し得る。
本発明の更なる実施形態では、1つまたは複数の非一時なコンピュータ可読記憶媒体が、実行されると、本発明による方法または上述の実施形態のいずれかを実施するように動作可能なソフトウェアを具体化する。
本発明の更なる実施形態では、システムは、1つまたは複数のプロセッサと、前記プロセッサに結合されるとともに前記プロセッサによって実行可能な命令を備える少なくとも1つのメモリとを備え、前記プロセッサが前記命令を実行して本発明による方法または上述の実施形態のいずれかを実施するように動作可能である。
本発明の更なる実施形態では、コンピュータプログラム製品は、好ましくは非一時的なコンピュータ可読記憶媒体を含むコンピュータプログラム製品は、データ処理システム上で実行されて本発明による方法または上述の実施形態のいずれかによる方法を実施するように動作可能である。
VOIP通話を確立し維持するためのいくつかの実施形態に従うシステムのブロック図。 いくつかの実施形態に従うVOIP通話を確立し維持する方法を示すタイムシーケンス図。 いくつかの実施形態に従うVOIP通話を確立し維持する方法を示すタイムシーケンス図。 いくつかの実施形態に従うVOIP通話を確立し維持するための装置のブロック図。
以下の説明は、当業者が本明細書に記載された実施形態を実施及び使用できるようにするために提示される。開示された実施形態に対する様々な変更が当業者には容易に理解され、本明細書で定義される技術的思想は本開示の範囲から逸脱することなく他の実施形態および用途に適用され得る。
いくつかの実施形態では、2つの装置間のVOIP通信セッション(例えば、VOIP通話)を確立し維持するためのシステム、装置、および方法が提供される。VOIP接続は動的であり、つまり、必要に応じてまたは要求に応じて異なるモード間で、例えば、装置のデジタル化オーディオ通信が別のエンティティ(リレーサーバなど)を介してリレーされるリレーモードと、装置同士が直接に(すなわち、リレーエンティティなしで)通信するピアツーピア(P2P)モードとの間で、交互に切り替え可能である。
例えば、装置は、同じWi−Fi(登録商標)アクセスポイントに接続されることによって、ピアツーピア接続を確立することができる。しかしながら、一方または両方の装置が移動して異なるネットワーク(例えば、異なるWi−Fiネットワークまたはアクセスポイント、移動体通信事業者のネットワーク)に接続し、異なるアドレスを採用する場合、それら装置は、少なくともそれら装置がピアツーピア接続を再確立できるまで(可能である場合)、リレーエンティティを介して(一時的に)通信し得る。それら装置は、通話中、テキストまたは他の非オーディオコンテンツを交換するための信号伝送目的(例えば、P2P接続のネゴシエーションまたは再ネゴシエーションのため、リレーエンティティの特定のため等)のために、および/または他の目的のために、このシステムで接続を維持することができる。
本明細書に提示された実施形態は、VOIP通話をサポートするように実装されたものとして説明されているが、システム、方法、および装置は、例えばインターネットプロトコルを使用していないから、VOIP通話として厳格に限定されない他の形式のデジタル化ビデオおよびオーディオ(例えば、音声)通信に適用することができる。
いくつかの実施形態では、本明細書に記載の方法を、モバイルおよび/または固定式のコンピューティング装置および/または通信装置(例えば、スマートフォン、タブレットコンピュータ)にインストールされた通信アプリケーションに組み込むことができる。いくつかの特定の実施形態では、当該アプリケーションは、VOIP通話に加えて、IEEE802.11標準(例えば、Wi−Fi(登録商標)接続)に準拠するデータ通信チャネルを介して、テキスト、画像、ビデオ、音声記録、および/または他の電子情報が交換される通信アプリケーションである。例えば、このアプリケーションは、WhatsApp社によって提供されるWhatsApp(登録商標)メッセンジャーアプリケーションであってよい。
図1はVOIP通話を確立し維持するためのいくつかの実施形態に従うシステムのブロック図である。
これらの実施形態では、通信システム120の複数のユーザは、同じまたは異なるオペレーティングシステム(例えば、アンドロイド、ブラックベリー、iOS、ノキアS40、シンビアン、ウィンドウズ(登録商標)フォン)が動作している様々な携帯通信装置を操作する。したがって、装置102,104は異なるユーザによって操作され、機能、アプリケーション、ユーティリティなどの面で類似してまたは異なって構成され得る。しかしながら、それらの各々は、通信システム120によってホストされる共通の通信アプリケーションのバージョンを実行する。
VOIPまたは本明細書で説明される他の形態のデジタル化音声通信に関連して使用する場合、装置102、104のうちの一方は発呼者(または発呼パーティ)によって操作されることから発呼者装置と呼称でき、他方の装置は被呼者(被呼パーティ)によって操作されることから被呼者装置と呼称できる。
装置102,104間の例示的なデジタル化オーディオ通信は、直接に(ピアツーピアモードで)または間接的に(リレーモードで)行うことができる。後者の場合、通信システム120内のまたは通信システム120と提携しているリレーサーバが各装置からパケットまたは他の通信要素を受信し、それらを互いにリレーする。
システム120は、複数のユーザまたは少なくともそのようなアプリケーションまたはサービスのサーバ部分によって同時に使用され得る通信アプリケーションまたはサービスをホストする、データセンター、コンピュータネットワーク、または他の協調的なコンピューティング資源の集合である。上述したように、いくつかの実装形態では、アプリケーションは、ユーザに、VOIP機能と、自分の通信装置(例えば、装置102)から1つ以上の他のユーザによって操作される通信装置(例えば、装置104)へのまたはからの、テキスト、オーディオ記録、写真、ビデオ、およびマルチメディアのインスタントメッセージング機能とを提供する。
システム120によってホストされる通信アプリケーションは、装置102,104と互換性があり、これら装置のネイティブオペレーティングシステムのもとで実行されるクライアントロジックを含む。一タイプの装置を操作するとともに一通信サーバプロバイダに加入しているあるユーザは、別のタイプの装置を操作するとともに別の通信サーバプロバイダに加入している他の複数のユーザと、VOIP通話に参加できるとともにメッセージ交換できる。このように、VOIP発呼者または発呼パーティが一装置プラットフォームを使用し、他方、被呼者または被呼パーティは異なるプラットフォームを使用することがある。
いくつかの実施形態では、被呼者または被呼パーティは、POTS(基本電話サービス)に結合された従来の陸線電話を使用して通話に参加することができる。こうした実施形態では、システム120のコンポーネントは、従来の電話接続のエンドポイントとして機能し、デジタル/アナログ変換およびアナログ/デジタル変換を提供する。
通信サーバ122は、システム120とユーザとの接続をホストし、ユーザ間の通信の交換を容易にする当該システム120のフロントエンドコンポーネントである。サーバ122は「チャット」サーバと呼ぶことができる。というのは、サーバ122は、個々のユーザからのリアルタイムテキストメッセージおよびチャットセッション通信を受信して、1人または複数の他のユーザへ配信できるからである。通信サーバ122によって処理されるいくつかのメッセージは「チャット」メッセージと呼ばれることがあるが、それらメッセージはテキストコンテンツに限定されず、埋め込まれたか、添付されたか、または関連付けられた(例えば、リンクされた)メディアコンテンツを有することがあり、プロトコルレベルのメッセージを有してもよい。
通信サーバ122は、システム120に接続された装置間のVOIP通話の確立および維持も補助する。以下で説明するように、例えば、それらは、関連する呼パラメータ(例えば、使用するコーデックまたは符号化方式、適用するサンプリングレート)をリレーするか確立を補助したり、通話に参加しているかまたは参加しようとしている装置が非音声データ(例えば、そのネットワークアドレス、現在の状態、呼の受諾または拒否)を受け渡すための経路を提供したり、必要に応じてあるモードから別のモードに切り替えるのを補助する等を行い得る。
通信サーバ122は、システム120の他のコンポーネントに対するポータルとしても機能することができる。したがって、あるユーザが別のユーザのステータスを要求したり、プロフィールや他の情報を更新したりすると、当該ユーザの行為は、当該ユーザが接続している通信サーバによって適切なシステムコンポーネントに配送され得る。
例示的には、ユーザがシステム120に対してオンラインであり、アプリケーションが当該ユーザの装置で実行されている限り、VOIP通話中も含めて、当該装置と通信サーバ122との間の接続またはセッションは維持され得る。ユーザが装置上のアプリケーションを閉じるかまたは通話を終了したときに、ユーザの接続はある期間(例えば、5分、15分)持続してもよい。
状態サーバ124は、ユーザのおよび/またはユーザの装置の状態を維持する。したがって、状態サーバは、適用可能なプリファレンス(例えば、好ましい可聴および/または視覚的アラート、他のユーザに表示されるステータスメッセージ)、装置タイプ/モデル、プロフィール写真などを含め、ユーザのプロフィールの一部または全部を保存する。状態サーバによって維持されるユーザに関する状態情報の一部は、システム120と当該ユーザとの進行中の接続の期間だけ持続してよく、他の情報は無期限に持続してよい。状態サーバ124は、デジタル化オーディオ通話(例えば、VOIP通話)のターゲットまたは潜在的受信者の適格性を判定するかまたは判定を補助することもできる。
また、状態サーバ124は、例えば、ユーザのサービスプロバイダを介して装置と通信するために必要とされるデバイストークンといった、必要な場合にユーザの装置にメッセージをプッシュするために必要な情報を格納する。このデバイストークンは、「デバイスURI(統一資源識別子)」、「登録ID」、「PIN」(個人識別番号)としても知られており、その他のモニカ(moniker)を有してもよい。このトークンは特定の装置または特定のユーザに固有のものであってよい。被呼者装置が既にシステム120に(例えば、通信サーバ122を介して)接続されていない場合といったいくつかの状況では、この装置を起動してシステムに接続させるためにこの装置にプッシュメッセージを送信してもよく、この後に、通話の試みまたは通話オファーが送達され、このトークンはこのメッセージを送達するために対応するサービスプロバイダによって要求されることがある。
リレーサーバ126は、VOIP通話のリレー動作モード中に発呼者装置と被呼者装置との間でデジタル化オーディオをリレーするために使用される。いくつかの実施形態では、リレー動作モードは、ピアツーピアモードが利用できない場合にのみ実施される。リレーモード中に、通信している複数の装置は、周期的または定期的に、特に、例えばあるWi−Fiネットワークから別のものへ変更するときや、Wi−Fiネットワークからモバイルキャリアネットワークへ変更(またはその逆)するとき等の、それら装置の一つがネットワークを変更するときには必ず、ピアツーピアモードをアクティブにしようと試行し得る。
通信サーバ、状態サーバ、リレーサーバ、および/または他のサーバを任意の数(例えば、1つまたは複数)でシステム120内に配置することができる。サーバ122,124,126の機能は他の実施形態では異なって分配されることがあり、例えば、より少数のコンポーネントに統合されてよく、または追加のコンポーネント間で分割されてよい。
システム120の複数のサーバは、それらに起因する機能を実行するのに適した別個のハードウェア資源(例えば、プロセッサ、ストレージ、通信インターフェース)およびソフトウェア資源(例えば、プログラムコード、データ)を備える別個の複数の物理的コンピュータシステムであってよい。いくつかの代替の実施形態では、一部または全部のサーバが、ハードウェアおよび/またはソフトウェアリソースを共有する仮想コンピューティングマシンであってよい。したがって、異なる複数の機能(または同じ機能)を実行する複数のソフトウェアサーバモジュールがシステム120内の1つのサーバコンピュータ上に常駐してもよい。
一以上のネットワーク150がシステム120とユーザ装置との間の通信経路および異なるユーザ装置間の通信経路を提供し、データおよび/または音声通信チャネルを含むことができる。データ通信を行うために、ネットワーク150は、インターネット、1つ以上のイントラネット、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、および/または他のポイントツーポイント接続または分散接続を含むことができ、それらは有線でも無線でもよい。音声通信を行うために、ネットワーク150は、異なる複数の電気通信サービスプロバイダによって管理されて、GSM(登録商標)(Global System for Mobile Communications)、EDGE(Enhanced Data Rates for GSM Evolution)、LTE(Long−Term Evolution)、CDMA(Code Division Multiple Access)、EV−DO(Evolution−Data Optimized)などの任意の無線技術を仮想的に実施する有線および/または無線の音声通信リンクを備えることができる。
従って、ネットワーク150は、データ接続および/またはデジタル化音声接続の確立、維持、切り替え、または他の操作のための、例えば、ルータ、ゲートウェイ、スイッチ、基地局(例えば、無線アクセスポイント、ノードB、進化型ノードB)等の、図1には示されていない様々なエンティティを含むことができる。
図2A及び図2Bは、いくつかの実施形態によるVOIP通話を確立し維持する方法を示す時間シーケンス図を形成する。
これらの実施形態では、発呼者は第1クライアント装置(例えば、スマートフォン、コンピューティング装置)を使用して、一以上の他のパーティとのVOIP通信および/または他のリアルタイムデジタル化音声通信をサポートする通信アプリケーションを動作させる。発呼者210は発呼者および/または発呼者装置を表す。被呼者は第2クライアント装置を使用して同じアプリケーションまたは互換性のあるアプリケーションを動作させる。被呼者240は被呼者および/または被呼者装置を表す。
いくつかの実装形態では、通話が2つ以上のパーティ間で確立され得る。例えば、発呼者からの通話オファーが複数の異なる被呼者(または被呼者装置)を特定することがあり、被呼者のグループまたは装置のグループを特定するグループ識別子を含むことがある。
通信アプリケーションは、1つまたは複数の通信サーバ(例えば、チャットサーバ)、リレーサーバ、および/または他のコンポーネントを含むアプリケーションホストシステム(たとえば、図1のシステム120)によってホストされ、動作され、または管理される。いくつかの実装では、通信サーバ220は、アプリケーションホストシステムの他の一部のコンポーネントであり得る。また、図示した方法は発呼者と被呼者の両方と通信するために1つの通信サーバを使用するものとして記述したが、他の方法では、各々がそれらパーティの一つとの接続をホストする2つ以上の共働する通信サーバが使用され得る。
リレーサーバ230は、アプリケーションホストシステムの別のコンポーネントであるか、または本明細書で説明するアプリケーションホストシステムと協調的に動作する別のエンティティによって提供される。
発呼者210から被呼者240へのVOIP通話の開始に先立って、少なくとも発呼者装置はアプリケーションホストシステム(例えば、通信サーバ220)に接続される。例えば、発呼者は、被呼者240を含んでいてもいなくてもよい1人以上の他のユーザとテキストメッセージ(例えば、チャット)を交換していることがある。したがって、発呼者が通話を開始し得る前に、発呼者はシステムに接続しなければならない。発呼者は手動でログインして身元照合してもよいし、発呼者の装置が自動的に発呼者をログインしてもよい。例示的には、ユーザがアプリケーションを開始したときかまたは通話を開始するときに、ユーザの装置がアプリケーションホストシステムへの接続を自動的に開くことができる。
同様に、通話が被呼者に接続され得る前に(被呼者が通話を受け付けると仮定)、被呼者またはその装置はログインする必要があろう。したがって、両パーティは、アプリケーションの登録ユーザでなければならず、VOIP通話に参加するためにシステムに接続しなければならないが、それらの装置は、VOIP通話を起動するためにまたはオファーされた通話を受け取るために必要とされるアプリケーション操作以外には、追加動作なしで自動的に接続を行うことができる。
したがって、時刻250に発呼者が被呼者へのリアルタイムのデジタル化されたまたはデジタルの音声通話を開始させるアプリケーション内の制御を起動する。例示的に、この制御は、被呼者に送信されたメッセージまたは被呼者から受信したメッセージの中にあるかまたは当該メッセージと関連付けられた連絡先のリストまたは被呼者に対応する連絡先カード内に提供されてよい。通話オファーは、アプリケーションホストシステムに既知の識別子(例えば、電話番号、電子メールアドレス)等を用いて、発呼者と受呼者(またはそれらの装置)を特定し、発呼者装置によってサポートされるオーディオパラメータ(例えば、コーデック、サンプリングレート)、発呼者210のローカルまたは内部アドレス(おそらくポートも)、および/または他の情報を提供する。
この応答として、通信サーバ220は、通話オファーの肯定応答を行い、必要に応じて、要求された通話のリレー動作モードで使用するために利用可能な複数のリレーサーバのセット(図2Aおよび図2Bのリレーサーバ230を含む)を特定する。いくつかの実施形態では、既存のリレーサーバの全てを特定することができる。他の実施形態では、例えば、発呼者210および/または被呼者240の場所に基づいて、すべてのサーバのサブセットを特定することができる。リレーの詳細は、例示的には、IP(インターネットプロトコル)アドレス及びTCP(伝送制御プロトコル)又はUDP(ユーザデータグラムプロトコル)ポートのような少なくとも1つのアドレス(例えばポート)と、アプリケーションホストシステムによって生成され発呼者210がリレーサーバを使用することを許可されていることを確認するリレートークンとを少なくとも含む。なお、このトークンは上記のデバイストークン(またはデバイスURI)と異なり得る。
通信サーバ220は、リレーの詳細を発呼者210に提供することに加えて、通話オファーとともに同じかまたは類似のリレーの詳細を被呼者240にも転送する。被呼者がアプリケーションホストシステムに現在接続されている場合、通話オファーが配送され、時刻252に被呼者装置が鳴る(または、どのように構成されているかによって、ブザー音がしたり、振動したり、他のアラートを表示したりする)。
しかし、現在被呼者240がシステムに接続されていない場合、被呼者にプッシュ通知が送信されてアプリケーションを起動させ、通話オファーが配送されるようにする。この通知は当該装置のオペレーティングシステムのプロバイダによって、たとえばGoogle Cloud Messaging(GCM)またはApple Push Notification Service(APNS)を介して、配送または転送され得る。被呼者240に提供されるリレーの詳細は、発呼者210に対して特定したのと同じリレーサーバを特定してよく、または利用可能な他のリレーのグループを特定してもよい。また、被呼者装置は、被呼者装置にリレーサーバ230の使用を許可させるリレートークンを受信する。
被呼者は通話オファーを拒否したり無視することができ、その場合、この拒否は通信サーバ220を介して発呼者に(場合により拒否の理由付きで)返送される。しかし、図2A−2Bに示す方法は被呼者が通話オファーを受諾したかまたは受諾するであろうことを想定している。
一方、時刻252にまたはその頃に、発呼者装置と被呼者装置は、それらに対して特定された一部または全部のリレーサーバとバインドされ、当該リレーサーバには、両パーティがリレー動作モードを採用する場合に両パーティ間のデジタル化オーディオ通信をリレーするのに使用するためのエンドポイントを当該一部または全部のリレーサーバに割り当てさせるリレーサーバ230が含まれる。
それらリレーサーバは、(バインドが可能であれば)バインドを承認し、発呼側装置と被呼側装置の各々に、リフレクシブアドレスまたは公共アドレスとして知られることもある、それらの装置の外部アドレスを提供する。これらの実施形態では、個々の装置は、(例えば、それらのローカルネットワーク内での)自身のローカルまたは内部アドレスを既に知っており、これらをアプリケーションホストシステム(例えば、通信サーバ220)に提供し得るが、外部アドレスは知らないことがある。
図示された方法では、内部アドレスは、それら装置のローカルネットワーク内で(例えば、ネットワークアドレス変換またはNATエンティティの片側で)使用され、それら装置はそれらのネットワーク外では(例えば、NATエンティティの他側または/公衆側)外部アドレスによって知られる。リレーサーバ230と通信することによって、それら装置はそれらの外部アドレスを学習する。
外部アドレスを受信すると、発呼者210はそのアドレスを通信サーバ220に報告し、通信サーバ220はそれを被呼者240に転送する。この外部アドレスと共に、発呼者はバインドしているリレーサーバ230に関する待ち時間情報を送信する(そして通信サーバは転送する)。
特に、図示した実施形態では、リレー動作モード中に両パーティが使用するための複数のリレーサーバのうちの1つを選択するために、両パーティ(またはそれらの一方)は、複数のリレーに送信した通信(例えば、バインド要求)とそれらリレーの応答(例えばそれらからの肯定応答)とに係る待ち時間に基づいて単一のリレーサーバを選択する。
例えば、発呼者は、各リレーサーバに対する要求及びそれらの応答に関与する待ち時間を計算し、応答した各サーバの観測された待ち時間を(発呼者の外部アドレスと共に)被呼者に報告し得る。被呼者は、被呼者が観測した待ち時間を発呼者から報告された値に加算し、サーバ毎に合計待ち時間を取得し、合計待ち時間が最小のリレーサーバを選択する。図2Aに示すように、被呼者は、通話オファーを受信するまでバインド要求の送信と待ち時間の測定を開始しなくてもよいが、発呼者は、リレーサーバの詳細(例えば、そのアドレス)を知ると直ちにバインド要求の送信と待ち時間の測定を開始し得る。
どちらかのまたは両方のパーティは、応答のないリレーサーバに対する要求の送信を、限られた期間にわたってまたは通話期間を通して、継続し得る。通話が確立された後であっても、一パーティが待ち時間値の取得を継続し得るので、通話の確立前におよび/または通話の途中に選択されたリレーサーバが変更され得る。
したがって、両パーティの装置は、当該両パーティの装置のためにアプリケーションホストシステムによって選択されているリレーサーバの代わりに、リレーサーバを選択する。そしてそれは非常に迅速に行われる。他の実装例では、他の方法が複数のリレーサーバの1つを選択するために適用されてよいし、待ち時間またはタイミング情報を考慮してもよいし、しなくてもよい。
時刻256に、被呼者は、オファーされたVOIP通話を受諾し、受諾メッセージ、被呼者装置の外部アドレス、及び、選択されたリレーサーバの識別子(例えば、アドレス)が、通信サーバ220に送信される。受諾メッセージの一部として、被呼側装置は、発呼側装置が既に提供したもの(例えば、コーデック、サンプリング速度、アドレス/ポート)に対応する動作パラメータを送信する。両パーティに1つのリレーサーバしか提供されなかった場合、被呼者は選択されたリレーサーバを特定することを省略してもよいし、あるいは当該1つのサーバの選択を承認するか受諾するだけでもよい。もし複数のリレーサーバが利用可能であり、被呼者が通話オファーを受諾する時点までに当該通話に対するリレーサーバの選択を完了していない場合は、選択したリレーサーバの識別子が後で送信され得る。
いくつかの実施形態では、通信サーバ220または他のシステムコンポーネントは、一方または両方の装置が通話のために使用できるか使用するであろう通話パラメータを決定することができる。一パーティの装置についてのパラメータは、その装置によって以前に(成功裏に)実装されたパラメータ、その装置の現在のコンフィギュレーション、および/またはその他の要因に応じて選択され得る。
通話を受諾した直後に、被呼者240はピアツーピア(P2P)動作モードおよびリレー動作モードのいずれかまたは両方の開始を試みる。
図示した方法では、両装置はまずリレー動作モードを行う。両装置がリレーサーバ230との接続を既に開いているが、P2P接続の確立または検証がまだ可能になっていないからである。しかし、いくつかの他の実施形態では、両装置は、P2P接続の確立とP2P動作モードをまず試みることができる。
しかし、リレー動作モードの開始している間でも、被呼者240は、発呼者210との接続の検証を試み始める。例えば、P2P接続性チェックは、実行可能な経路が存在するかどうかを決定するために、一装置が知っている任意のまたは全てのアドレス(例えば、内部および/または外部)で他の装置とのコンタクトを試みてることを含むことができる。何度かの接続要求(例えば、10回)が失敗した場合、接続性がないと推定してもよい(チェックは少なくともある期間にわたって終了する)。
両装置が他方の装置にコンタクトできる場合、両装置はP2P接続のネゴシエーションを開始することができる。図示された方法では、ネゴシエーションは、一度にすべて実行するのではなく、(例えば、各パーティの装置が他の装置の適切なアドレスを認識すると)段階的に実行される。
一方、通信サーバ220は、受諾メッセージ、被呼者の外部アドレス、および選択されたリレーサーバの識別情報(例えば、アドレス)を発呼者210に転送する。これで発呼者装置は、被呼者240とのP2P動作モードの開始を交渉する(または交渉を試みる)間に、リレーサーバ230とのデジタル化音声データ通信を開始することもできる。
したがって、時刻260またはその頃に、発呼者および被呼者は、リレー動作モードでVOIP通信を開始することができるが、相互にコンタクトを試みるとともに必要な通信パラメータを交換することによってP2Pモードの確立を試み続けてもよい。成功すれば、両者は好適なモードとしてのこのモードに自動的に切り替わることとなる。しかし、VOIP通話は非対称であり得る。つまり、一方のパーティが一モード(例えば、リレーモード)でデータを送信し、他方のパーティが別のモード(例えばP2Pモード)で送信することがある。これは、遷移期間でのみ、または相当の期間にわたって、または通話中にわたって発生することがある。
いくつかの実施形態では、後ほど一方または両方のパーティの装置が移動して別々のネットワークに接続することがあるが、この場合、それらの内部および外部アドレスが変化する可能性が高い。
図2Bに示すように、時刻270において、発呼者が移動し(または移動され)、異なるWi−Fiネットワーク、または異なる移動通信事業者ネットワーク、または他のネットワークに接続する。したがって、発呼側装置は、新しいバインド要求をリレーサーバ230(および/または他のリレーサーバ)に送信する。リレーサーバ230は、バインドを確認して当該装置の新しい外部アドレスを特定する。この新しいバインド要求は、システムによって以前に発呼者210に提供されたのと同じトークンを含んでよく、または発呼者装置は、新しいバインド要求の前に新しいトークンを取得してよい。
次に、発呼者210は、その新しい外部アドレスを通信サーバ220に(このサーバにまだ知られていなければ内部アドレスも)転送する。この通信サーバはその新たなアドレスを被呼者240に転送する。発呼者210は、新しいアドレスを使用して、リレー動作モードの新しい反復を開始する。
時刻272に発呼者の新しい外部アドレスを受信すると、被呼者はリレー動作モードに戻り得る。特に、両パーティがP2P通信を行っていて、被呼者がP2P接続を介するパケットの受信を中止すると、リレーサーバ230を介してVOIP通話のリレー動作モードが直ちに開始されることになるが、P2P接続の再交渉も試みられる。それが失敗しても、両パーティはリレー動作モードを継続することができる。
一方、発呼者210は、被呼者240の既知のアドレスを使用してその新しいアドレスからリレーモードの開始を試み始める。成功した場合、発呼者210はP2Pモードでの動作を交渉する。
いくつかの実施形態では、発呼者210および/または被呼者240のアドレスは、それぞれが与えられるべき嗜好を反映するために、それら装置自体によってまたは他のエンティティによって優先順位づけされる。例えば、Wi−Fiアドレスには、通常、セルラーアドレスよりも高い優先順位が与えられ、内部アドレスは外部アドレスよりも優先される(両パーティの装置が同じネットワーク上にある場合)。
しかしながら、一方の装置がネットワークを変更するときなど、通話が中断されたとき、そのアドレスがWi−Fiネットワーク上にあるかセルラーネットワーク上にあるかにかかわらず、新しい外部アドレスに最高の優先順位を一時的に与えることができる。
VOIP通話の確立および/または維持は、ある状況または環境から別のものへと変化することがあり、したがって、そのようなタスクに関係する、通信の内容、形式、および順序は、実施形態ごとに異なり得る。特に、図2A−2Bに示した様々な通信または同様の通信が任意の所与のエンティティによって異なるタイミングで送信または受信されてよく、いくつかの通信は他の通信を横切るかまたは交差し得る。
例えば、所与の装置がバックグラウンド処理を実行できない場合、いくつかの動作(通話の受諾前に被呼者240に帰属されるものなど)は図2A−2Bに示したものより後に実施されることがある。
図2A−2Bの方法のいくつかの実装例では、各パーティの装置は、通信サーバ220との持続的な接続(例えば、TCP接続)を維持するが、デジタル化音声通信は、コネクションレスプロトコル(例えば、UDP)を介して、リレーモードおよびP2Pモードのいずれかまたは両方で実施される。しかし、UDPが利用できない場合、または、UDP接続を確立しようとする試みが失敗した場合、または、他の何らかの理由で、装置はデジタル化音声通信にTCPまたはその他の適切なプロトコルを使用し得る。
いくつかの実施形態では、通話品質が監視され、品質が所定の閾値の下まで低下すると、一方の動作モードから他方の動作モードへの切り換えがトリガされ得る。
図3は、いくつかの実施形態によるVOIP通話の確立および維持をサポートするための装置のブロック図である。なお、他の実施形態では、装置300は、その動作をサポートするための複数の独立したまたは半独立の複数のコンポーネント、例えば、複数の通信サーバ、複数のリレーサーバ、複数の状態サーバ、および/またはアプリケーションホストシステムの他のコンポーネントなどを含むことができると理解される。
図3の装置300は、一または複数のプロセッサ302、メモリ304、およびストレージ306を備え、当該ストレージは1つまたは複数の電気的、光学的、および/または磁気的な記憶コンポーネントを含むことができる。装置300は、キーボード312、ポインティングデバイス314、およびディスプレイ316と(永久にまたは一時的に)結合され得る。装置は、明瞭化のために省略された、例えば、有線および/または無線通信リンクを介して通信するための通信モジュール、及び、他のストレージ、プロキシサーバ、ルータ、ロードバランサ、ウェブサーバ、その他の装置などの他の外部装置とインターフェースするためのインターフェースコンポーネント等の他のコンポーネントを含むことができる。
装置のストレージ306は、プロセッサ302による実行のためにメモリ304にロードすることができるロジックを格納する。このようなロジックは、装置によってホストされ、複数のユーザによって使用されるアプリケーションを動作およびサポートするために必要な他のロジックに加えて、接続ロジック322およびリレーロジック324を含む。ストレージ306は、スマートフォン、タブレットコンピュータ、および/または他のデバイスなどのクライアントデバイスにダウンロードされて実行されるオプションのクライアントアプリケーションロジック326を含むこともできる。メモリ304および/またはストレージ306は、ユーザ状態、ユーザアカウント状態、ユーザの連絡先リスト、ユーザのクライアント装置との通信を可能にするためのパラメータなどの、装置300によって生成または使用される様々なデータを格納することもできる。
接続ロジック322は、装置300によってホストされる通信アプリケーションのユーザによって操作されるクライアント装置との接続を受信し管理するためのプロセッサ実行可能命令を含む。これらの命令は、接続要求を受信すること、接続を確立/維持するための正しいプロトコルを適用すること、接続を終了すること、アプリケーションをサポートするプロトコルメッセージを交換すること、ユーザ間で交換される通信を受信及び配信すること、通信パラメータおよび/VOIP通話を行うための他の情報を交換すること等を装置に行わせる。
リレーロジック324は、通信をリレーするための転送エンドポイントを提供すること、ユーザ装置のネットワークアドレスを特定すること、および/または他の動作を行うことによって、ユーザのデジタル音声通信をサポートするためのプロセッサ実行可能命令を含む。
オプションのクライアントロジック326は、VOIP通話を行うことを含め、ユーザのクライアント装置上でアプリケーションを実行するためのプロセッサ実行可能命令を含む。したがって、上述したように、クライアントロジックは、ユーザが、通話オファーを開始および応答すること、1つまたは複数のリレーモジュールまたはサーバとバインドすること、リレーエンティティに関連する待ち時間を測定すること、リレー動作モード中に使用する1つのリレーを選択すること、選択されたリレーを介してデジタル化オーディオ通信を受信すること(リレー動作モードがアクティブな場合)、他のユーザとのピアツーピア通信接続を確立し、他のユーザと直接的にデジタル化オーディオ通信を送受信すること(ピアツーピア動作モードがアクティブである場合)、ネットワーク変更後に通信接続を再確立すること等を可能にする。
いくつかの実施形態では、接続ロジック322およびリレーロジック324は統合され、または、さらに細分され、または別々の装置状で動作され得る。
本発明のいくつかの実施形態が実行される環境は、汎用コンピュータを、またはハンドヘルドコンピュータや通信装置といった専用デバイスを備えることができる。そのようなデバイス(例えば、プロセッサ、メモリ、データストレージ、ディスプレイ)の詳細については明確性の目的で省略する。1つまたは複数のタスクまたは機能が帰属されるプロセッサまたはメモリなどのコンポーネントは、指定されたタスクまたは機能を実行するように一時的に構成された一般的なコンポーネントであってもよく、またはタスクまたは機能を実行するために製造される特定のコンポーネントであってもよい。本明細書で使用する「プロセッサ」という用語は、データおよび/またはコンピュータプログラムコードを処理するように構成された1つまたは複数の電子回路、デバイス、チップ、処理コアおよび/または他のコンポーネントを指す。
詳細な説明に記載されたデータ構造およびプログラムコードは、典型的には、コンピュータシステムによって使用するためのコードおよび/またはデータを格納し得る任意のデバイスまたは媒体であり得る非一時的なコンピュータ読み取り可能な記憶媒体に格納される。非一時的なコンピュータ可読記憶媒体は、限定ではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)およびDVD(デジタル多用途ディスクまたはデジタルビデオディスク)といった磁気的記憶装置及び光学的記憶装置、ソリッドステートドライブ、および/または現在知られているまたは後に開発される他の非一時的コンピュータ可読媒体を含む。
詳細な説明に記載された方法およびプロセスは、コードおよび/またはデータとして具体化することができ、これは上述のような非一時的なコンピュータ可読記憶媒体に格納することができる。プロセッサまたはコンピュータシステムがコードを読み取り実行し、媒体に格納されたデータを操作するとき、プロセッサまたはコンピュータシステムは、コードおよびデータ構造として具現化されて媒体内に格納される方法およびプロセスを実行する。
本発明の上記の実施形態の説明は、例示および説明のためにのみ提示されたものである。それらは、開示された形態に本発明を制限または限定することを意図したものではない。したがって、当業者には多くの変更および変形が明らかであろう。本発明の範囲は、上述の記載によってではなく、添付の特許請求の範囲によって画定される。

Claims (20)

  1. 一つ以上のコンピュータネットワークを介して実施される通信セッションをサポートするコンピュータが実施する方法であって、
    選択されたリレーサーバを介したリレー動作モードにおいて第1のクライアントデバイスと第2のクライアントデバイスとの間の通信セッションを確立するステップと、
    前記コンピュータに、
    前記リレー動作モードにおける通信の間に前記第1のクライアントデバイスと前記第2のクライアントデバイスとの間でピアツーピア接続を確立することを試みること、
    前記ピアツーピア接続が確立された場合にピアツーピア動作モードに切り替えること、
    前記ピアツーピア接続が喪失した場合に前記リレー動作モードに切り替えることを繰り返し行わせるステップと
    を含む、方法。
  2. 前記ピアツーピア動作モードを確立することは、前記第1のクライアントデバイスおよび前記第2のクライアントデバイスの各々が、
    他のデバイスの1つまたは複数の既知のネットワークアドレスを用いて他のデバイスとのコンタクトを試みること、
    デバイス間に有効な通信経路が存在することを決定すること、
    前記ピアツーピア接続を確立するために必要な通信パラメータを交換すること、
    前記ピアツーピア動作モードに切り替えることを含む、請求項1に記載の方法。
  3. 前記通信セッションは、VOIP通話である、請求項1に記載の方法。
  4. 前記リレーサーバは、前記ピアツーピア接続を確立するときに、前記第1のクライアントデバイスと前記第2のクライアントデバイスとの間の通話パラメータの交換を円滑に行う、請求項1に記載の方法。
  5. 前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの一方または両方は、前記ピアツーピア接続を確立した後、前記リレーサーバに対する接続を維持する、請求項1に記載の方法。
  6. 前記ピアツーピア動作モードを確立することの試みは、前記リレー動作モードにあるときに周期的に行われる、請求項1に記載の方法。
  7. 前記ピアツーピア動作モードを確立することの試みは、前記リレー動作モードにあるときに前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの一方が新たなネットワークに移動したときに行われる、請求項1に記載の方法。
  8. 前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの一方は、前記ピアツーピア動作モードで送信し、前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの他方は、前記リレー動作モードで送信する、請求項1に記載の方法。
  9. 前記通信セッションは、グループ通信セッションであり、前記グループ通信セッション内の数人の参加者は、前記ピアツーピア動作モードで通信し、他の参加者は、前記リレー動作モードで通信する、請求項1に記載の方法。
  10. 一つまたは複数のコンピュータネットワークを介して実施される通信セッションをサポートするシステムであって、
    クライアントデバイスと、
    前記クライアントデバイス上で動作する通信アプリケーションであって、
    選択されたリレーサーバを介したリレー動作モードにおいて前記クライアントデバイスと第2のクライアントデバイスとの間の通信セッションを確立する機能と、
    前記リレー動作モードにおける通信の間に前記クライアントデバイスと前記第2のクライアントデバイスとの間でピアツーピア接続を確立することを試みること、
    前記ピアツーピア接続が確立された場合にピアツーピア動作モードに切り替えること、
    前記ピアツーピア接続が喪失した場合に前記リレー動作モードに切り替えることを繰り返し行う機能とを提供する、前記通信アプリケーションと
    を備える、システム。
  11. 前記ピアツーピア動作モードを確立することは、
    他のデバイスの1つまたは複数の既知のネットワークアドレスを用いて前記第2のクライアントデバイスとのコンタクトを試みること、
    前記第2のクライアントデバイスとの有効な通信経路が存在することを決定すること、
    前記第2のクライアントデバイスとの前記ピアツーピア接続を確立するために必要な通信パラメータを交換すること、
    前記ピアツーピア動作モードに切り替えることを含む、請求項10に記載のシステム。
  12. 前記リレーサーバは、前記ピアツーピア接続を確立するときに、前記第2のクライアントデバイスとの通話パラメータの交換を円滑に行う、請求項10に記載のシステム。
  13. 前記クライアントデバイスは、前記ピアツーピア接続を確立した後、前記リレーサーバに対する接続を維持する、請求項10に記載のシステム。
  14. 前記ピアツーピア動作モードを確立することの試みは、周期的に行われるか、または前記クライアントデバイスが新たなネットワークに移動したときに行われる、請求項10に記載のシステム。
  15. 前記クライアントデバイスは前記ピアツーピア動作モードにおいて前記第2のクライアントデバイスに送信し、前記リレー動作モードにおいて前記第2のクライアントデバイスから受信する、請求項10に記載のシステム。
  16. プロセッサによって実行されると、一つまたは複数のコンピュータネットワークを介して実施される通信セッションをサポートする方法をコンピュータに行わせる命令を格納する非一時的なコンピュータ可読媒体であって、前記方法が、
    選択されたリレーサーバを介したリレー動作モードにおいて第1のクライアントデバイスと第2のクライアントデバイスとの間の通信セッションを確立するステップと、
    前記コンピュータに、
    前記リレー動作モードにおける通信の間に前記第1のクライアントデバイスと前記第2のクライアントデバイスとの間でピアツーピア接続を確立することを試みること、
    前記ピアツーピア接続が確立された場合にピアツーピア動作モードに切り替えること、
    前記ピアツーピア接続が喪失した場合に前記リレー動作モードに切り替えることを繰り返し行わせるステップと
    を含む、非一時的なコンピュータ可読媒体。
  17. 前記ピアツーピア動作モードを確立することは、前記第1のクライアントデバイスおよび前記第2のクライアントデバイスの各々が、
    他のデバイスの1つまたは複数の既知のネットワークアドレスを用いて他のデバイスとのコンタクトを試みること、
    デバイス間に有効な通信経路が存在することを決定すること、
    前記ピアツーピア接続を確立するために必要な通信パラメータを交換すること、
    前記ピアツーピア動作モードに切り替えることを含む、請求項16に記載の媒体。
  18. 前記リレーサーバは、前記ピアツーピア接続を確立するときに、前記第1のクライアントデバイスと前記第2のクライアントデバイスとの間の通話パラメータの交換を円滑に行い、前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの一方または両方は、前記ピアツーピア接続を確立した後、前記リレーサーバに対する接続を維持する、請求項16に記載の媒体。
  19. 前記ピアツーピア動作モードを確立することの試みは、前記リレー動作モードにあるときに周期的に行われるか、または前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの一方が新たなネットワークに移動したときに行われる、請求項16に記載の媒体。
  20. 前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの一方は、前記ピアツーピア動作モードで送信し、前記第1のクライアントデバイスおよび前記第2のクライアントデバイスのうちの他方は、前記リレー動作モードで送信する、請求項16に記載の媒体。
JP2019061069A 2014-09-08 2019-03-27 Voip通話の確立及び維持 Pending JP2019149798A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/480,227 US10129412B1 (en) 2014-09-08 2014-09-08 Establishing and maintaining a VOIP call
US14/480,227 2014-09-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017513139A Division JP6505831B2 (ja) 2014-09-08 2015-08-26 Voip通話の確立及び維持

Publications (1)

Publication Number Publication Date
JP2019149798A true JP2019149798A (ja) 2019-09-05

Family

ID=55459418

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017513139A Active JP6505831B2 (ja) 2014-09-08 2015-08-26 Voip通話の確立及び維持
JP2019061069A Pending JP2019149798A (ja) 2014-09-08 2019-03-27 Voip通話の確立及び維持

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017513139A Active JP6505831B2 (ja) 2014-09-08 2015-08-26 Voip通話の確立及び維持

Country Status (11)

Country Link
US (1) US10129412B1 (ja)
EP (1) EP2993861B1 (ja)
JP (2) JP6505831B2 (ja)
KR (1) KR102334467B1 (ja)
CN (1) CN107251510B (ja)
AU (1) AU2015315695B2 (ja)
BR (1) BR112017004538A2 (ja)
CA (1) CA2959514A1 (ja)
IL (1) IL250738B (ja)
MX (1) MX2017003057A (ja)
WO (1) WO2016039985A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630391B (zh) * 2015-06-02 2023-07-11 杜比实验室特许公司 具有智能重传和插值的服务中质量监视系统
US11659012B2 (en) * 2015-06-15 2023-05-23 Apple Inc. Relayed communication channel establishment
US10681755B2 (en) * 2015-06-30 2020-06-09 2Ip Co., Ltd. Routing method and network entity performing same
US10567217B2 (en) * 2016-02-29 2020-02-18 Whatsapp Inc. Techniques to perform the dynamic configuration of load-balanced relay operations
CN108282251B (zh) 2017-01-06 2021-03-16 腾讯科技(深圳)有限公司 一种链路调整方法、装置及服务器
US10630739B2 (en) * 2017-06-27 2020-04-21 Atlassian Pty Ltd Parallel peer to peer connection establishment in WebRTC conferencing
KR101982163B1 (ko) * 2017-08-22 2019-05-24 라인 가부시키가이샤 인터넷 전화 서비스의 통화 자동 연결 방법 및 시스템
US10880342B2 (en) * 2018-03-15 2020-12-29 Jive Communications, Inc. Dynamically controlling communication channels during a communication session
WO2019175843A1 (en) * 2018-03-16 2019-09-19 Hike Private Limited A system and method for attaching a media item to a voip call
CN108989343B (zh) * 2018-08-24 2021-03-05 携程旅游信息技术(上海)有限公司 Voip网络变更及兼容性处理方法、系统、设备和介质
KR102185260B1 (ko) * 2019-05-03 2020-12-01 (주)아크로메이트 호 처리를 위한 릴레이 장치, 릴레이 장치에 의해 수행되는 호 처리 방법 및 호 처리 방법을 실행하는 프로그램이 기록된 기록매체
US11050798B2 (en) * 2019-05-31 2021-06-29 Mitel Networks Corporation Methods for establishing peer-to-peer communications using distributed call ledgers
CN112118273B (zh) * 2019-06-19 2023-04-07 杭州萤石软件有限公司 一种数据交互方法、系统及第一客户端
CN110784489B (zh) * 2019-11-12 2020-07-10 北京风信科技有限公司 安全通信系统及其方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
JP2009531744A (ja) * 2006-02-17 2009-09-03 エヌエイチエヌ コーポレーション P2pファイル転送システム及び方法
EP2448206A1 (en) * 2009-06-23 2012-05-02 Tencent Technology (Shenzhen) Company Limited Method, system and device for transmitting video data
JP2012231477A (ja) * 2007-07-09 2012-11-22 Qualcomm Inc ピア・ツー・ピア(p2p)ネットワークにおいて受信ビームフォーミング・ベクトルを選択し、ブロードキャストする技術
WO2013145522A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
WO2013171637A1 (en) * 2012-05-15 2013-11-21 Viber Media Inc. Nat traversal for voip
US20140241215A1 (en) * 2013-02-22 2014-08-28 Telefonica Digital España, S.L.U. Method and system for combined peer-two-peer (p2p) and central relay server-based telecommunication conferencing using a telephony and conferencing protocol

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196923A1 (en) 2001-06-25 2002-12-26 Longboard, Inc. System and method of call processing
JP4161782B2 (ja) * 2002-04-18 2008-10-08 松下電器産業株式会社 モバイルノードおよび移動通信方法
US7644166B2 (en) * 2003-03-03 2010-01-05 Aol Llc Source audio identifiers for digital communications
US7583660B2 (en) 2005-04-19 2009-09-01 At&T Corp. Method and apparatus for enabling peer-to-peer communication between endpoints on a per call basis
JP2007124486A (ja) 2005-10-31 2007-05-17 Toshiba Corp 通信制御方法
US7657015B1 (en) * 2005-12-28 2010-02-02 At&T Corp. Method and apparatus for processing multiple services per call
US8688822B2 (en) * 2006-07-05 2014-04-01 Oracle International Corporation Push e-mail inferred network presence
US20080159313A1 (en) * 2006-12-28 2008-07-03 Nokia Corporation Interworking policy and charging control and network address translator
JP4886612B2 (ja) 2007-06-12 2012-02-29 パナソニック株式会社 Ip通信装置およびip通信方法ならびに呼制御サーバ
CN100566340C (zh) * 2007-07-25 2009-12-02 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
CN101431464A (zh) * 2007-11-06 2009-05-13 阿里巴巴集团控股有限公司 一种优选客户端之间数据传输路径的方法及其装置
EP2109339B8 (en) * 2007-12-12 2016-05-25 Panasonic Intellectual Property Management Co., Ltd. Data transmitting and receiving system, terminal, relay device, and data transmitting method
KR101519600B1 (ko) 2008-07-01 2015-05-12 삼성전자주식회사 인터넷 전화 시스템의 통화 처리 방법 및 그 장치
JP2011124770A (ja) * 2009-12-10 2011-06-23 Panasonic Corp Vpn装置、vpnネットワーキング方法、プログラム、及び記憶媒体
JP5174799B2 (ja) * 2009-12-17 2013-04-03 株式会社エヌ・ティ・ティ・ドコモ 無線基地局システム及び中継装置
CN101977178A (zh) * 2010-08-09 2011-02-16 中兴通讯股份有限公司 基于中继的媒体通道建立方法及系统
US9142122B2 (en) * 2010-11-25 2015-09-22 Panasonic Intellectual Property Corporation Of America Communication device for performing wireless communication with an external server based on information received via near field communication
KR20120063586A (ko) 2010-12-08 2012-06-18 삼성전자주식회사 분산 안테나를 적용하는 이동 통신 시스템에서 채널상태 정보 송수신 방법 및 장치
US9264459B2 (en) 2010-12-16 2016-02-16 Palo Alto Research Center Incorporated SIP-based custodian routing in content-centric networks
EP2733988B1 (en) * 2011-07-15 2018-10-31 LG Electronics Inc. Method for performing handover during device-to-device communication in wireless access system and device for same
GB2500648B (en) * 2012-03-28 2014-06-25 Toshiba Res Europ Ltd Wireless communication methods and apparatus
US9049122B2 (en) * 2012-09-11 2015-06-02 Cisco Technology, Inc. Bandwidth probing messages
US20140153409A1 (en) 2012-11-30 2014-06-05 Vonage Network, Llc Systems and methods of routing ip telephony data packet communciations
US9148519B1 (en) * 2013-01-02 2015-09-29 8X8, Inc. Intelligent media relay selection
KR20140092630A (ko) * 2013-01-16 2014-07-24 삼성전자주식회사 사용자장치, 통신서버 및 그 제어방법
US9215263B2 (en) * 2013-03-12 2015-12-15 Vonage Network, Llc Method and apparatus for rapid setup of a telephony communication using multiple communication channels
US9241044B2 (en) * 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9515995B2 (en) * 2013-12-27 2016-12-06 Futurewei Technologies, Inc. Method and apparatus for network address translation and firewall traversal
US9794164B2 (en) * 2014-08-27 2017-10-17 Tangome, Inc. Mobile relay network intelligent routing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
JP2009531744A (ja) * 2006-02-17 2009-09-03 エヌエイチエヌ コーポレーション P2pファイル転送システム及び方法
JP2012231477A (ja) * 2007-07-09 2012-11-22 Qualcomm Inc ピア・ツー・ピア(p2p)ネットワークにおいて受信ビームフォーミング・ベクトルを選択し、ブロードキャストする技術
EP2448206A1 (en) * 2009-06-23 2012-05-02 Tencent Technology (Shenzhen) Company Limited Method, system and device for transmitting video data
WO2013145522A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
WO2013171637A1 (en) * 2012-05-15 2013-11-21 Viber Media Inc. Nat traversal for voip
US20140241215A1 (en) * 2013-02-22 2014-08-28 Telefonica Digital España, S.L.U. Method and system for combined peer-two-peer (p2p) and central relay server-based telecommunication conferencing using a telephony and conferencing protocol

Also Published As

Publication number Publication date
AU2015315695A1 (en) 2017-03-30
IL250738B (en) 2019-07-31
JP6505831B2 (ja) 2019-04-24
JP2017532851A (ja) 2017-11-02
KR102334467B1 (ko) 2021-12-06
KR20170134307A (ko) 2017-12-06
BR112017004538A2 (pt) 2017-12-05
CA2959514A1 (en) 2016-03-17
EP2993861B1 (en) 2019-10-30
IL250738A0 (en) 2017-04-30
EP2993861A1 (en) 2016-03-09
WO2016039985A1 (en) 2016-03-17
US10129412B1 (en) 2018-11-13
CN107251510A (zh) 2017-10-13
MX2017003057A (es) 2017-11-17
CN107251510B (zh) 2020-09-11
AU2015315695B2 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
JP2019149798A (ja) Voip通話の確立及び維持
US9917746B2 (en) Adaptive allocation of server resources
US8868072B2 (en) Method and system for facilitating communication between wireless communication devices
US9438448B2 (en) Maintaining communication connections during temporary network disruptions
KR102148046B1 (ko) 준비되지 않은 단말의 호출 기법
US10097693B2 (en) Managing data streams for a communication network
US9332561B1 (en) Hybrid communications system using peer-to-peer and centralized architecture
US9763079B2 (en) System and method for communication history reconciliation amongst linked devices
EP3579520B1 (en) Exchanging service capabilities between two devices supported by a network node
GB2452020A (en) Communication establishment methodand related communication devices
JP2017510116A (ja) 第1のユーザが第2のユーザのソーシャル・ネットワーク識別子およびそれらのソーシャル・ネットワークにおけるこの第2のユーザのそれぞれのステータスを自動的に検出できるようにする方法およびサーバ
US20160119468A1 (en) Method and system for rapid internet protocol (ip) communication session setup using interactive push notifications
CN1988546A (zh) 获取会话起始协议消息传输路径的方法及系统
US8917590B2 (en) Method and system for transferring control of a conference bridge
GB2488120A (en) Facilitating communication between devices by requesting a status indicator of the ability of a second device to use a second communication method.
WO2020131340A1 (en) Systems and methods for providing one-way video calls
US20130166761A1 (en) Dialog Establishment Over A Peer-To-Peer Architecture
EP2200254B1 (en) Mobile network system and guidance message providing method
CA2799507C (en) Dialog establishment over a peer-to-peer architecture
US20170374691A1 (en) Systems and methods for managing communication sessions at endpoints accessible via more than one network
WO2012147248A1 (ja) 通話連動システム、宅内制御装置、通話連動方法
WO2016029820A1 (zh) 一种业务处理方法及系统、设备
US20160072959A1 (en) Method and system for ip communication completion via a wireless network
WO2016083961A1 (en) Messaging and combined messaging interworking
JP2015032863A (ja) 着信方法選択方法、着信方法選択装置及び着信方法選択プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190327

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200811