JP6401242B2 - 負荷分散された持続接続の技法 - Google Patents

負荷分散された持続接続の技法 Download PDF

Info

Publication number
JP6401242B2
JP6401242B2 JP2016507592A JP2016507592A JP6401242B2 JP 6401242 B2 JP6401242 B2 JP 6401242B2 JP 2016507592 A JP2016507592 A JP 2016507592A JP 2016507592 A JP2016507592 A JP 2016507592A JP 6401242 B2 JP6401242 B2 JP 6401242B2
Authority
JP
Japan
Prior art keywords
server instance
connection
client device
data
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016507592A
Other languages
English (en)
Other versions
JP2016521413A (ja
Inventor
トローク フレッド
トローク フレッド
スパルディング ヴァンルンド ピーター
スパルディング ヴァンルンド ピーター
ヨハン ジョルジュ デラマット フレデリク
ヨハン ジョルジュ デラマット フレデリク
クマール ガンデティ ヴィクラム
クマール ガンデティ ヴィクラム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2016521413A publication Critical patent/JP2016521413A/ja
Application granted granted Critical
Publication of JP6401242B2 publication Critical patent/JP6401242B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/25Maintenance of established connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Landscapes

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

Description

関連出願
本出願は、その全体が参照により本明細書に組み込まれる、「Load−Balanced, Persistent Connection Techniques」という題名の、2013年4月8日に出願された米国特許出願第13/858、753号に対する優先権を主張するものである。
家庭は、デスクトップ、タブレット、娯楽システム、及び携帯可能通信デバイスなどのコンピューティングデバイスの増殖によって、ますます配線され、接続されたものとなっている。コンピューティングデバイスが進化するに連れて、例えば、機械的手段(例えば、キーボード、マウスなど)、タッチ画面、運動、及びジェスチャーを通じて、ユーザがこれらのデバイスと相互作用することを可能とする多くの異なる方法が導入されてきた。コンピューティングデバイスと相互作用する別の方法は、スピーチを介するものである。
詳細な説明を、添付図面を参照して記述する。図面中、参照番号の最も左側の桁(複数可)は、この参照番号が最初に現れる図を特定する。異なる図中の同一の参照番号の使用は、類似したまたは同一の構成要素もしくは特徴部を特定する。
家庭環境内で設定された例示的な音声対話コンピューティングアーキテクチャを示す。このアーキテクチャは、家庭内に物理的に位置付けられ、遠隔コンピューティングリソースに通信可能に連結された音声制御デバイスを含む。 図1のアーキテクチャをさらに詳細に示す。図示するように、各々の音声制御デバイスは、接続要求を異なるサーバインスタンスにルーティングする負荷分散サービスを介して遠隔コンピューティングリソースに接続する。 音声制御デバイスと図2のサーバインスタンスとの間の接続例を示す。この1つの物理的接続は、複数の仮想チャネルを含み、これら上で、クライアントデバイスに送信され、これから受信されるデータが、多重化され得る。 図1の音声制御デバイスまたは他のクライアントデバイスが実装し得るプロセス例のフロー図を示す。 図1の遠隔コンピューティングリソースが実装し得るプロセス例のフロー図を示す。 図1の音声制御デバイス内に実装された選択された機能構成要素のブロック図を示す。
本開示は、クライアントデバイスと、ネットワークアクセス可能なコンピューティングプラットフォームの一部を形成し得る1つ以上の遠隔コンピューティングリソースとの間に持続接続を作成するための技法を部分的に説明する。クライアントデバイスがほぼ常に遠隔リソースへのデータの送信及び遠隔リソースからのデータの受信の両方を行うことを許容するこの接続は、「永久的」または「ほぼ永久的」であると考えられ得る。クライアントデバイスは、常にデータを送信する及び/または受信することが可能であることを必要とするため、これらの「永久的」または「ほぼ永久的」な接続は、クライアントデバイスの電源がオンになると確立され得る。すなわち、各々のクライアントの電源がオンにされたとき、それぞれのクライアントデバイスは、ネットワークアクセス可能なコンピューティングプラットフォームとの接続を確立しようとし得る。
このような接続を作成するために、本明細書に記載するクライアントデバイスは、仮想インターネットプロトコル(VIP)アドレスへの接続を要求するように構成され得る。遠隔コンピューティングリソースは、多数のクライアントデバイスにサービス供給し得るため、クライアントデバイスは、各々がネットワークアクセス可能なコンピューティングプラットフォームのサーバインスタンスの複数のIPアドレスに対応し得るいくつかの異なるVIPアドレスのうちの特定の1つに接続するように事前構成され得る。
クライアントデバイスが、特定のクライアントデバイスと関連付けられたVIPアドレスをコールすることによって接続を要求するとき、この要求は、VIPと関連付けられた負荷分散サービスによって受信され得る。このサービスは、次に、どのIPアドレスがVIPに対応するかを特定し、要求をルーティングするIPアドレスのうちの1つ(故に、サーバインスタンスのうちの1つ)を選択し得る。そうすることによって、負荷分散サービスは、サーバインスタンス全体にわたって負荷を分散させ得る。クライアントデバイスは、その後、選択されたIPアドレスと関連付けられたサーバインスタンスに対する接続を確立するが、クライアントにとっては、それがVIPアドレス自体と関連付けられた接続を単に確立したように見える。
クライアントデバイスと遠隔コンピューティングリソースとの間に1つの接続が確立された後、クライアントデバイス及び/または遠隔コンピューティングリソースは、両方向性であり得る接続上で1つ以上の仮想チャネルを作成し、それにより、一部の場合では、通信が一方向または両方向で送信され得るようにし得る。例えば、クライアントデバイスは、第1のオーディオ信号を遠隔コンピューティングリソースにアップロードするための第1の仮想チャネルを確立し得るが、遠隔コンピューティングリソースは、オーディオ信号をクライアントデバイスに送信するためとクライアントデバイスによる出力とのために第2の仮想チャネルを確立し得る。これらの仮想チャネル上で送信されるデータは、1フレームベースまたは複数フレームベースで多重化され、それにより両方向性通信が並列に送信されているように見えるようにし得る。例えば、接続の第1のフレームを用いて、第1の仮想チャネル上で遠隔コンピューティングリソースにデータを送信し得、第2のフレームを用いて、第2の仮想チャネル上でクライアントデバイスにデータを送信し得るといった具合である。複数の仮想チャネルを多重化することによって、クライアントデバイスと遠隔コンピューティングリソースとの両方にとって、各々の仮想チャネルが区別可能な接続であるように見えるが、クライアントデバイスと遠隔コンピューティングリソースとの間にはたった1つの接続が存在するのみである。複数の接続ではなくて1つの接続を利用することによって、クライアントデバイスと遠隔コンピューティングリソースとを連結する費用が、より軽減される。
加えて、クライアントデバイスが遠隔コンピューティングリソースのサーバインスタンスに接続した後、サーバインスタンスまたは負荷分散サービスは、インスタンスがどのクライアントデバイスと接続したかについての指示を、デバイスロケーションサービスに登録し得る。例えば、クライアントデバイスが特定のIPアドレスを有するサーバインスタンスとの接続を確立すると、サーバインスタンスは、デバイスロケーションサービスによって維持されるテーブル内のクライアントデバイスのデバイス識別子(DID)の指示を記憶し得る。デバイスロケーションサービスが維持するテーブルは、IPアドレスに対するDIDのマッピングを記憶し得る。そうすることによって、遠隔コンピューティングリソースの別のサーバインスタンスが、特定のクライアントデバイス向けのデータを送信するときに、このサーバインスタンスは、所望のクライアントデバイスに接続されているサーバインスタンスをこのマッピングから特定し得る。他方のサーバインスタンスは、次に、接続を維持しているサーバインスタンスにデータを提供し、それにより、後者のインスタンスが、今度は、データをクライアントデバイスに提供することが可能となるようにし得る。
加えて、クライアントデバイスとサーバインスタンスとの間で、ある時間量にわたって、データが全く交換されないか、または閾値量未満のデータしか交換されない場合には、クライアントデバイスとサーバインスタンスとの間の接続はドロップされて、その後の接続が再確立され得る。例えば、クライアントデバイスが、それが閾値時間量にわたって接続するサーバインスタンスからデータを受信も送信もしない場合には、クライアントデバイスは、それ自身と遠隔コンピューティングリソースとの間の接続を切断するように構成され得る。その後、クライアントデバイスは、クライアントデバイスと関連付けられたVIPアドレスをコールすることによって、遠隔コンピューティングリソースとの接続を再度確立し得る。再度、負荷分散サービスは、要求を受信して、クライアントデバイスと、潜在的には、VIPアドレスと関連付けられた異なるサーバインスタンスとの間に接続を確立するように要求をルーティングし得る。
加えて、クライアントデバイスが閾値時間量後に接続を切断しない場合、サーバインスタンスは、第1の閾値よりもわずかに大きい第2の閾値時間量後に接続を切断するように構成され得る。この場合、サーバインスタンスは、クライアントデバイスが接続を切断することに失敗した場合のフェイルセーフ機構として機能する。接続が(サーバインスタンスが接続を切断したため)ドロップされたと認識すると、クライアントデバイスは、その後、VIPアドレスをコールして新しい接続を確立し得る。
上の例は、閾値未満のデータ量がクライアントデバイスとサーバインスタンスとの間である期間にわたって交換されたときに接続を切断するが、接続は、複数の他の理由で切断され得る。例えば、クライアントデバイスが、サーバインスタンスの認証に失敗したが、それからのデータを要求する場合、または、インスタンスをホストする物理的サーバに対する処理負荷が大き過ぎる場合に、インスタンスをホストする物理的サーバがシャットダウンしたことに応答して、単に、接続の時間量(例えば、接続を確立した後の15分間)、ある期間にわたってクライアントデバイスからサーバインスタンスに送信されたデータ量、ある期間にわたってサーバインスタンスからクライアントデバイスに送信されたデータ量に基づいて、接続は切断され得る。他の例では、クライアントデバイスまたはサーバインスタンスは、これら2つのエンティティ間のトラフィックが遅過ぎる場合、帯域幅が限定され過ぎる場合、接続の質が不良であるなどの場合に、接続を切断し得る。さらに別の例では、サーバインスタンスは、クライアントデバイスがある時間量内で認証しない場合、クライアントデバイスが認証要求以外のなにかを初期要求として送信する場合などには、悪意あると決定されているIPアドレスと関連付けられたクライアントデバイスとの接続を切断し得る。いくつかの例を提供したが、クライアントデバイス及び/またはサーバインスタンスは、数々の異なる理由によりこれらの接続を切断し得ることを理解されたい。
上に紹介したデバイス及び技法は、様々な異なるアーキテクチャ及び文脈で実装され得る。1つの非限定的かつ例示的な実装例を以下に説明する。この実装例はクライアントデバイスを音声制御デバイスとして解説するが、他の実装例では、クライアントデバイス(複数可)は、携帯電話、タブレットコンピューティングデバイス、ラップトップコンピュータ、デスクトップコンピュータ、電子本読み取りデバイス、及び/または同様物を含むことを理解されたい。
図1は、ユーザ104を含む家庭環境102内で設定された例示的な音声対話コンピューティングアーキテクチャ100を示す。アーキテクチャ100はまた、ユーザ104が対話し得る相手の電子式音声制御デバイス106を含む。図示する実装例では、音声制御デバイス106は、家庭環境102の部屋内のテーブル上に位置決めされる。他の実装例では、それは、任意の数のロケーション(例えば、天井、壁、ランプ内、テーブルの下、椅子の下など)に配置または実装され得る。さらに、2つ以上のデバイス106は、1つの部屋の中に位置決めされ得る、または、1つのデバイスを用いて、2つの以上の部屋からのユーザ対話に対処し得る。
一般に、音声制御デバイス106は、ユーザ104及び/または他のユーザとのオーディオ対話を容易化するために、少なくとも1つのマイクロホン108を備えるマイクロホンユニットと、少なくとも1つのスピーカ110を備えるスピーカユニットとを有する。一部の場合では、音声制御デバイス106は、触覚入力構成要素(例えば、キーボード、キーパッド、タッチ画面、ジョイスティック、制御ボタンなど)またはディスプレイ無しで実装される。ある実装例では、1つ以上の触覚入力構成要素の限られた集合が用いられ得る(例えば、構成、電源オン/オフなどを開始するための専用ボタン)。にもかかわらず、主として、かつ潜在的には、電子デバイス106とのユーザ対話のモードのみが、音声入力及び可聴出力を介し得る。音声制御デバイス106の1つの実装例を、図6を参照して以下により詳細に提供する。
音声制御デバイス106のマイクロホン108は、ユーザ104が発した音などの環境102からの音声を検出する。図示するように、音声制御デバイス106は、プロセッサ112と、スピーチ認識エンジン116を記憶するか、またはさもなければこれにアクセスするメモリ114とを含む。本明細書で用いられるプロセッサは、複数のプロセッサ及び/または複数のコアを有するプロセッサを含み得る。スピーチ認識エンジン116は、ユーザ104によって話された発話などの、マイクロホンによって捕捉された音に基づいて生成されたオーディオ信号に対してスピーチ認識を実施する。音声制御デバイス106は、ユーザ104からの異なるスピーチが認識されたことに応答してある動作を実施し得る。ユーザは、事前定義されたコマンド(例えば、「Awake」、「Sleep」)を話し得る、または、デバイス106と対話しているときには、よりカジュアルな会話(例えば、「僕は映画を見に行きたい。ローカルシネマでは何を上映しているか教えて」)を用い得る。
一部の場合では、音声制御デバイス106は、環境102から遠隔にあるコンピューティングリソース118と共に動作し得るか、またはさもなければこれを利用し得る。例えば、音声制御デバイス106は、ネットワーク120を介して遠隔コンピューティングリソース118に接続し得る。図示するように、遠隔コンピューティングリソース118は、1つ以上のサーバ122(1)、122(2)、・・・、122(P)として実装され得るし、一部の場合では、プロセッサの計算インフラストラクチャとして実装されるネットワークアクセス可能なコンピューティングプラットフォーム、インターネットなどのネットワークを介して維持され、かつアクセス可能な、ストレージ、ソフトウェア、データアクセスなどの一部を形成し得る。遠隔コンピューティングリソース118は、サービスを送達するシステムの物理的ロケーション及び構成のエンドユーザ知識を必要としない。これらの遠隔コンピューティングリソース118に関連する共通の表現は、「オンデマンドコンピューティング」、「サービスとしてのソフトウェア(SaaS)」、「プラットフォームコンピューティング」、「ネットワークアクセス可能なプラットフォーム」、「クラウドサービス」、「データセンター」などを含む。
サーバ122(1)〜(P)は、プロセッサ(複数可)及びメモリを含み得る。図示するように、サーバ122(1)〜(P)は、1つ以上のサーバインスタンス124(1)〜(N)を維持し得る。各々の物理的サーバは1つ以上のサーバインスタンスを維持し、各々のサーバインスタンスは、音声制御デバイス106などの1つ以上のクライアントデバイスとの接続を維持するように構成され得る。この例では、サーバインスタンス124(N)は、音声制御デバイスとの接続を維持する。図示するように、サーバインスタンス124(N)の例は、デバイス106からオーディオ信号を受信し、スピーチを認識し、そして、潜在的に、応答動作の実施を引き起こすために、スピーチ処理エンジン126を記憶して利用し得る。例えば、エンジン126は、自然言語理解(NLU)技法をオーディオ信号に対して実施することによってオーディオ信号内のスピーチを特定し得る。加えて、エンジン126は、テキストツースピーチ(TTS)を通じてクライアントデバイス(例えば、デバイス106)へ出力されるオーディオを提供し得る。一部の例では、サーバインスタンス124(N)が、音声制御デバイス106の計算能力をはるかに超える計算能力を有し得ることを考慮すれば、音声制御デバイス106は、処理目的でオーディオデータをサーバインスタンス124(N)にアップロードし得る。したがって、音声制御デバイス106は、環境102から捕捉されたオーディオに対して比較的複雑な分析を実施するためにスピーチ処理エンジン126を利用し得る。
スピーチ認識が当地で発生するか環境102から遠隔で発生するかにかかわらず、音声制御デバイス106は、ユーザ104からの音声入力を受信し、デバイス106及び/またはリソース118は、スピーチ認識を実施して、ユーザの動作要求またはコマンドを解釈し得る。要求は、データベースの照会、要求、及び消費娯楽(例えば、ゲーミング、音楽、映画、または他のコンテンツの発見及び再生など)、個人管理(例えば、スケジュール調整、メモ取りなど)、オンラインショッピング、金融取引などの実質的に任意の種類の動作であり得る。一部の場合では、デバイス106はまた、ユーザ104の1つ以上のクライアントデバイス上に記憶されたクライアントアプリケーションと相互作用する。一部の場合では、ユーザ104はまた、この「コンパニオンアプリケーション」を介してデバイス104と相互作用し得る。例えば、ユーザ104は、コンパニオンアプリケーションのグラフィカルユーザインターフェース(GUI)を利用して、音声コマンドの代わりにデバイス106に要求をする。加えてまたは代わりに、デバイス106は、コンパニオンアプリケーションと通信して、ユーザ104によってデバイス106に提供された前回の音声コマンド(及びこれらのコマンドをデバイスがどのように解釈したか)、ユーザによって発行された音声コマンドに対する補足的なコンテンツ(例えば、ユーザ104によって要求されるようなデバイス106上で再生される歌のカバーアート)などの情報をユーザ104に対して掲げ得る。加えて、一部の場合では、デバイス106は、デバイス106が、コンパニオンアプリケーションを介して受信されたユーザ応答の形態で許可を受信するまでは音声コマンドには従わないようにするために、音声コマンドを受信したことに応答してコンパニオンアプリケーションに認可要求を送信し得る。
音声制御デバイス106は、有線技術(例えば、ワイヤ、USB、光ファイバーケーブルなど)、無線技術(例えば、Wi-Fi(登録商標)、RF、セルラー、衛星、Bluetooth(登録商標)など)、または他の接続技術を通じてネットワーク120に通信可能に接続し得る。ネットワーク120は、データ及び/または音声のネットワークを含む任意の種類の通信ネットワークを表し、有線インフラストラクチャ(例えばケーブル、CAT5、光ファイバーケーブルなど)、無線インフラストラクチャ(例えば、Wi-Fi、RF、セルラー、マイクロウェーブ、衛星、Bluetoothなど)、及び/または他の接続技術を用いて実装され得る。
図示するように、音声制御デバイス106のメモリ114はまた、スピーチ認識エンジン116及び接続モジュール128を記憶するか、またはさもなければこれらにアクセスする。接続モジュール128は、サーバインスタンス124(1)〜(N)のうちの1つに対する接続を確立するように機能する。図示するように、接続モジュール128は、特定のVIPアドレス130をコールするように事前構成される。デバイス106及び他のデバイスの製造業者は、各々がそれぞれのサーバインスタンスの1つ以上のIPアドレスにマッピングする複数のVIPアドレスのうちの1つで各々のデバイスを構成し得る。音声制御デバイス106などのクライアントデバイスに割り当てられるVIPアドレスを変化させることによって、サーバインスタンスに割り当てられる負荷が、以下に検討するように分配され得る。
接続モジュール128はまた、以下に詳しく説明するように、仮想チャネルモジュール132、タイマー134、及び事前構成された時間遅延136を含む。
遠隔コンピューティングリソースとの接続を(例えば、デバイス106の電源投入時に)作成するために、接続モジュール128は、遠隔コンピューティングリソース118の負荷分散サービス138のサーバに対応する事前構成されたVIPアドレス130をコールし得る。負荷分散サービス138は、各々のVIPアドレスと関連付けられた異なるインスタンスに接続要求をルーティングすることによって、サーバインスタンス124(1)〜(N)全体に負荷を分散するように機能する。図示するように、負荷分散サービス138は、VIPアドレス130を含む1つ以上のVIPアドレス140に対応し、また、VIP-to-IPマッピング142を記憶する。VIP-to-IPマッピング142は、どのサーバ−インスタンスIPアドレスがどのVIP(デバイス106などのクライアントデバイス上で事前構成されている)に対応するかを示す。したがって、デバイス106がVIPアドレス130を用いて接続要求を発行するとき、負荷分散サービス138は、どのIPアドレスがこのVIPアドレス130に対応するかを特定する。サービス138は、次に、これらのIPアドレスのうちの1つを選択して、接続要求を、この例ではサーバインスタンス124(N)などの対応するサーバインスタンスにルーティングする。マッピング142は、サーバインスタンスがこの例ではそれらのIPアドレスによって特定されたことを示す一方で、他の実装例では、これらのインスタンスは、それらのそれぞれのホスト名によって、または他の実施形態では他の特定情報を通じて特定され得る。
図示するように、サーバインスタンス例124(N)は、IPアドレス144及び登録モジュール146を含む。デバイス106がサーバインスタンス124(N)との接続を確立すると、登録モジュール146は、この接続をデバイスロケーションサービス148に示し得る。デバイスロケーションサービス148は、どのクライアントデバイスがどのサーバインスタンスに接続されるかをマッピングするデバイス識別子(DID)-to-IPマッピング150を含む。この場合もやはり、マッピング150は、サーバインスタンスがこの例ではそれらのIPアドレスによって特定される一方で、他の実装例では、これらのインスタンスは、それらのそれぞれのホスト名によって、または他の実施形態では他の特定情報を介して特定され得る。
したがって、サーバインスタンスが、特定のクライアントデバイスに送信するデータを有するが、この特定のクライアントデバイスに直接には接続されていないときに、このサーバインスタンスは、どのサーバインスタンスがクライアントデバイスとの接続を維持するかをルックアップし得るし、このデータを対応するインスタンスに提供し得る。データを受信するサーバインスタンスは、すると、このデータを特定のクライアントデバイスに提供し得る。この例がデバイスロケーションサービス148にこの情報を登録するサーバインスタンス124(N)の登録モジュール146を説明しているが、他の例では、負荷分散サービス138または別のエンティティは、この情報をデバイスロケーションサービス148に送信し得る。
図示するように、サーバインスタンス124(N)はまた、仮想チャネルモジュール152を含む。仮想チャネルモジュール132(音声制御デバイス106上にある)及び仮想チャネルモジュール152は、各々が、いったんデバイス106がサーバインスタンス124(N)とのこのような接続を確立すると、接続上で1つ以上の仮想チャネルを作成するように機能する。例えば、デバイス106がオーディオ信号を(例えば、マイクロホン108によって検出された音などに基づいて)生成すると、仮想チャネルモジュール132は、オーディオ信号をサーバインスタンス124(N)に送信するために、仮想チャネルを作成し得る。同様に、サーバインスタンス124(N)が、クライアントデバイスに(例えば、スピーカ110に出力されるオーディオ信号、デバイス106の構成要素を制御する制御メッセージなどを)送信するデータを有する場合、仮想チャネルモジュール152は、このデータをデバイス106に送信するために仮想チャネルを作成し得る。
一部の場合では、1つの接続の複数の仮想チャネル上で送信されるデータは、多重化され得る。例えば、接続は、1つのフレームベースでまたは複数のフレームベースで、仮想チャネル上でデータを送信する間に繰り返すプロトコルを実装し得る。例えば、第1の仮想チャネルは、第1のフレーム中にデータを送信し、第2の仮想チャネルは、第2のフレーム中にデータを送信するといった具合である。
サーバインスタンス124(N)はまた、同様にタイマー156を含む接続モジュール154を含み得る。接続モジュール154は、音声制御デバイス106(及び恐らく、同時に、複数の他のクライアントデバイス)への接続を維持するように機能する。音声制御デバイス106のタイマー134に戻って、タイマー134は、デバイス106がサーバインスタンスに接続された状態にとどまる時間量、サーバインスタンス124(N)から受信も(音声制御デバイス106から)送信もされない時間量等を測定する。タイマー134が、閾値時間量にわたってデータがなにも全く(または閾値未満のデータ量しか)送信または受信されなかったことを示した後、接続モジュール128は、サーバインスタンス124(N)との接続を切断し得る。その後、接続モジュール128は、接続を作成しようと再度試行し、この接続を成そうとする前に、時間遅延136によって示される時間量待つ。デバイス106に対して事前構成され得る時間遅延136は、ある程度のランダムさを含むある時間量待つようにモジュール132に指示し得る。例えば、時間遅延136は、サーバインスタンスとの接続を喪失または切断した後、モジュール132は、最初に、1秒プラスマイナス1/2秒後に再接続を試行すべきであることを示し得る。その試行が不成功であれば、時間遅延136は、モジュール132は2秒プラスマイナス1秒を待つべきであることを示し得る。事前構成された程度のランダムさ、故に時間遅延136は、クライアントデバイスによって変化し得る。このように時間遅延を変化させることによって、複数のサーバインスタンスをホストする1つのサーバが、(例えば、保守、誤動作などによって)オフラインになると、変化した時間遅延は、そのサーバ上でホストされているサーバインスタンスに接続された各々のクライアントデバイスは、所与の瞬間で望まれない負荷を生じる結果となり得る、同時に遠隔コンピューティングリソース118への再接続を試行することはないことを保証する。
一方で、接続モジュール154のタイマー156は、タイマー134に類似して機能し得る。例えば、タイマー156は、音声制御デバイス106にデータが送信も受信もされない時間量を測定し得る。閾値時間量後、タイマー156は、接続モジュール154に対して、デバイス106との接続を切断するように命令し得る。一部の例では、タイマー134は、タイマー156の前に接続を切断するように設定され得るため、タイマー156は、接続モジュール128が(タイマー134と関連付けられた)閾値時間量が経過した後に接続を切断することに成功しない場合のフェイルセーフ機構として動作する。例えば、接続モジュール128は、14分間後になってもデータが何も送信も受信もされない場合には接続を切断するように構成され得るが、接続モジュール154は、15分間後になってもデータが何も送信も受信もされず、かつクライアントデバイスがまだ接続を切断しない場合には、接続を切断するように構成され得る。もちろん、他の実装例では、このプロトコルは逆転され得る。
図1は、サーバインスタンス124(N)がルックアップモジュール158を含み得ることをさらに示す。上述したように、一部の場合には、サーバインスタンス124(N)は、それが接続していない別のクライアントデバイスに送信するデータを有し得る。ルックアップモジュール158は、インスタンス124(N)がデータを有するクライアントデバイスのDIDに対応するIPアドレスをルックアップするように機能し得る。この情報をマッピング150から決定した後、サーバインスタンス124(N)は、データを適切なサーバインスタンスに提供し得るが、このサーバインスタンスは、すると、データをクライアントデバイスに提供し得る。
最後に、図1は、サーバインスタンス124(N)の例は、1つ以上のアプリケーション160を含むことを示す。アプリケーションは、任意の数の方法で、音声制御デバイス106などのクライアントデバイスと相互作用し得る。例えば、アプリケーション(複数可)160は、特定のタスク(例えば、ミルクを買う)、デバイス106で出力するための音楽を送信するアプリケーションなどを実施するようにユーザ104に催促するデバイス106で出力されるオーディオを提供するリマインダアプリケーションを含み得る。一部の場合では、特定のサーバインスタンス上に記憶されているアプリケーションは、ルックアップモジュール158を利用して、遠隔コンピューティングリソース118のどのサーバインスタンスと、特定のクライアントデバイスが接続されているかを決定する。そうすることによって、アプリケーションは、あるコンテンツ(例えば、リマインダ)をこのクライアントデバイスに提供することが可能である。さらにその上、図1はアプリケーション160がサーバインスタンス124(N)上に存在することを図示するが、他の実装例では、アプリケーション160(及び他のアプリケーション)は、加えて及び/または代わりに、他のサーバまたは第三者サーバ上に存在し得る。
図2は、アーキテクチャ100の例200のさらなる詳細を示す。この例では、アーキテクチャの例200は、音声制御デバイス202(1)、202(2)、202(3)、・・・、202(R)を含む。これらのデバイスの各々は、特定のVIPアドレスをコールすることによって接続を確立するように事前構成されている。例えば、デバイス202(1)は、VIPアドレス204(1)をコールするように構成されており、デバイス202(2)は、VIPアドレス204(2)をコールするように構成されており、デバイス202(3)は、VIPアドレス204(3)をコールするように構成されており、デバイス202(R)は、VIPアドレス204(1)をコールするようにも構成されている。加えて、各々のデバイス202(1)〜(R)は、デバイスなどの通し番号を含み得るそれぞれのデバイスID(DID)206(1)、206(2)、・・・、206(R)と関連付けられる。
図示するように、負荷分散サービス138は、各々のVIPアドレス204(1)〜(Q)を、それぞれのサーバインスタンス210(1)、210(2)、210(3)、・・・、210(S)に対応する1つ以上の対応するIPアドレス208(1)、208(2)、208(3)、・・・、208(S)にマッピングする。負荷分散サービス138はまた、クライアントデバイス202(1)〜(R)から接続要求を受信し、これらの要求は特定のVIPアドレスにアドレス指定されている。サービス138は、次に、この情報を対応するIPアドレスにマッピングして、要求をルーティングするIPアドレスを選択する。この例では、デバイス202(1)〜(R)が関連付けられる変化するVIPアドレスを考慮すると、クライアントデバイス202(1)は、サーバインスタンス210(1)と接続し、クライアントデバイス202(2)は、サーバインスタンス210(2)と接続し、クライアントデバイス202(3)は、サーバインスタンス210(3)と接続し、クライアントデバイス202(R)は、サーバインスタンス210(S)と接続する。クライアントデバイスがサーバインスタンスとの接続を確立した後、それぞれのサーバインスタンスは、図示しかつ上述したように、デバイスロケーションサービス148で、その関連付けの指示を記憶する。
図3は、音声制御デバイス202(1)とサーバインスタンス210(1)との間の接続の例300を示す。図示するように、複数の仮想チャネル302(1)、302(2)、・・・、302(M)は、この1つの接続300上で確立され得る。デバイス202(1)は、デバイスがサーバインスタンス210(1)に送信するデータを有することを特定したことに応答して仮想チャネルを確立し得る。同様に、サーバインスタンス210(1)は、それがデバイス202(1)に送信するデータを有することを特定したことに応答して仮想チャネルを確立し得る。上述したように、接続300は、クライアントデバイスに送信され、これによって受信されるデータを多重化するプロトコルを実装し得る。この例では、デバイス202(1)は、仮想チャネル302(1)を介してサーバインスタンス210(1)にデータを送信し、サーバインスタンス210(1)は、仮想チャネル302(2)及び302(M)を介してデバイス202(1)にデータを送信する。図1〜3は、デバイス106が負荷分散サービス138を介してサーバインスタンスに接続していることを図示しているが、デバイス106は、接続300が行われた後に、サーバインスタンスと直接通信し得る(すなわち、サービス138を迂回し得る)。加えて、一部の実施形態は、クライアントデバイスとサーバインスタンスとの間の1つの接続を実装するが、他の実施形態では、複数の接続が確立され得る(例えば、1つはTTSをクライアントデバイスに提供するため、1つは音楽をデバイスに提供するため、1つはオーディオ信号をデバイスからアップロードするため、など)。
図4は、音声制御デバイスまたは別のクライアントデバイスが実装し得るプロセスの例400のフロー図である。本明細書に説明する各々のプロセスは、論理フロー図として図示されており、その各々の動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせに実装することが可能な一連の動作を表す。ソフトウェアの文脈では、動作は、1つ以上のプロセッサによって実行されたとき、列挙された動作を実施する1つ以上のコンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実施するまたは特定の抽象的データ種類を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。
コンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体を含み得るが、これは、ハードドライブ、フロッピディスケット、光ディスク、CD−ROM、DVD、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、フラッシュメモリ、磁気もしくは光カード、ソリッドステートメモリデバイス、または、電子命令を記憶するのに適切な他の種類の記憶媒体を含み得る。加えて、一部の実施形態では、コンピュータ可読媒体は、一時的コンピュータ可読信号(圧縮または非圧縮形態)を含み得る。コンピュータ可読信号の例は、搬送波を用いて変調されていようといまいと関係なく、これに限られないが、インターネットまたは他のネットワークを通じてダウンロードされる信号を含み、コンピュータプログラムをホストするまたは実行するコンピュータシステムがアクセスするように構成することが可能な信号を含む。最後に、動作が記述される順序は、限定的であると解釈されることを意図するものではなく、プロセスを実装するため、任意の数の前述の動作を任意の順序で、かつ/または並列に組み合わせることができる。
プロセス400は、402で、クライアントデバイスが、クライアントデバイス上に記憶されているVIPアドレスを用いてネットワークアクセス可能なプラットフォームのサーバインスタンスとの接続を確立することを含む。成功裏に接続を確立した後、クライアントデバイスは、404で、接続を介して第1の仮想チャネルを確立し得る。406で、クライアントデバイスは、第1の仮想チャネル上でサーバインスタンスにデータを送信し始め、408で、第2の仮想チャネル上でサーバインスタンスからデータを受信し得る。
410で、クライアントデバイスは、閾値時間量以内にデータが送信も受信もされていないかどうかを決定し得る。そうでなければ、少なくとも一部のデータがこの時間量以内に送信または受信されていることを意味するため、412で、クライアントデバイスは、サーバインスタンスとの接続を維持する。しかしながら、そうであれば(データは何も送信もまたは受信もされていないことを意味するため)、414で、クライアントデバイスは、サーバインスタンスとの接続を切断する。クライアントデバイスは、次に、デバイス上で構成されたVIPアドレスをコールすることによって接続を再確立し始める。図4は、クライアントデバイスとサーバインスタンスとの間の接続を切断するための1つの例を示しているが、上述したように、これらの接続は、様々な他の理由により切断され得る。
図5は、遠隔コンピューティングリソース118が実装し得るプロセスの例500のフロー図を示す。このプロセス500は、リソース118の1つのサーバによってまたは複数のサーバ上で実施され得る。502で、リソース118は、リソース118との接続を確立する要求をクライアントデバイスから受信する。504で、リソースは、要求をサーバインスタンスにルーティングして、サーバインスタンスとの接続を作成する。例えば、要求は、特定のVIPアドレスで受信され得るが、このアドレスは1つ以上のIPアドレスにマッピングされ得るが、その後、1つ以上のアドレスのIPアドレスが選択され得る。要求は、次に、選択されたIPアドレスに対応するサーバインスタンスにルーティングされ得る。
506で、リソース118は、クライアントデバイスDIDとサーバインスタンスのIPアドレスとの間のマッピングを記憶する。加えて、リソース(例えば、接続されたサーバインスタンス)は、508で、第1の仮想チャネルを確立し得る。510で、リソース(例えば、リソースが実装するプロトコル)は、第1の仮想チャネル上でのデータの送信と第2の仮想チャネル上でのデータの、クライアントデバイスからの受信との間で多重化し得る。
512で、リソースは、閾値時間量以内にデータが送信も受信もされていないかどうかを決定し得る。そうでなければ、少なくとも一部のデータがこの時間量以内に送信または受信されていることを意味するため、514で、リソース(例えば、サーバインスタンス)は、クライアントデバイスとの接続を維持する。
加えて、かつ上述したように、アプリケーションは、クライアントデバイスに送信するデータを有し得る。そうであれば、516で、アプリケーションは、DIDとIPアドレスとの間のマッピングを参照して、サーバインスタンス、クライアントデバイスが接続されているIPアドレスを特定する。518で、アプリケーションは、次に、特定されたIPアドレスと関連付けられたサーバインスタンスにデータを送信し、このインスタンスが、すると、このデータを適切なクライアントデバイスに送信する。示されたプロセス500はまた、一部のデータが512で、クライアントデバイスとサーバインスタンスとの間で送信または受信されたことが決定されたことを考慮すれば、520で、サーバインスタンスが、それが接続するクライアントデバイスとの接続を維持し得ることを示す。
しかしながら、サーバインスタンスが、512で、閾値時間量以内に送信も受信もされていないことを決定する場合、かつクライアントデバイスがインスタンスに接続された状態にとどまっている場合、522で、サーバインスタンスは、クライアントデバイスとの接続を切断する。その後しばらくして、遠隔コンピューティングリソースは、再度、同一のクライアントデバイスまたは異なるクライアントデバイスから、リソースとの接続を確立するための要求を受信し得る。この場合もやはり、図5がクライアントデバイスとサーバインスタンスとの間の接続を切断するための例を示すが、上述したように、これらの接続は、様々な他の理由で切断され得る。
図6は、音声制御デバイス106の1つの実装例の選択された機能構成要素をより詳細に示す。一般に、音声制御デバイス106は、限定された入/出力構成要素、メモリ、及び処理能力を持つ機能の能力という点では比較的単純であるスタンドアロンデバイスとして実装され得る。例えば、音声制御デバイス106は、一部の実装例では、キーボード、キーパッド、または他の形態の機械的入力部を有さず、また、それは、視覚的表現及びユーザによるタッチ入力を容易化するためにディスプレイまたはタッチ画面を有しない。その代わり、デバイス106は、オーディオを受信して出力する能力、ネットワークインターフェース(無線または有線ベース)、電源、及び限られた処理/記憶能力を実装され得る。
図示する実装例では、音声制御デバイス106は、プロセッサ112及びメモリ114を含む。メモリ114は、メモリ上に記憶された命令を実行するためにプロセッサ112によってアクセス可能な任意の利用可能な物理的媒体であり得る、コンピュータ可読記憶媒体(「CRSM」)を含み得る。1つの基本的実装例では、CRSMは、ランダムアクセスメモリ(「RAM」)及びフラッシュメモリを含み得る。他の実装例では、CRSMは、これに限られないが、リードオンリーメモリ(「ROM」)、電気的消去可能プログラム可能リードオンリーメモリ(「EEPROM」)、または、所望の情報を記憶するために用いることが可能で、プロセッサ112によってアクセスすることが可能な他の任意の媒体を含み得る。
音声制御デバイス106は、ユーザ音声入力などのオーディオ入力を受信するために1つ以上のマイクロホン108を備えるマイクロホンユニットを含む。デバイス106はまた、オーディオ音を出力するために1つ以上のスピーカ110を含むスピーカユニットを含む。1つ以上のコーデック602は、オーディオ信号を符号化及び/または復号化するためにマイクロホン(複数可)108及びスピーカ(複数可)110に連結される。コーデックは、オーディオデータをアナログ形式とデジタル形式との間で変換し得る。ユーザは、デバイス106と、それに話しかけることによって相互作用し得るが、マイクロホン(複数可)108は、音を捕捉して、ユーザのスピーチを含むオーディオ信号を生成する。コーデック(複数可)602は、ユーザスピーチを符号化して、そのオーディオデータを他の構成要素に転送する。デバイス106は、可聴のステートメントをスピーカ(複数可)110を通じて放射することによってユーザに通信し返すことが可能である。このようにして、ユーザは、他の種類のデバイスに共通するキーボードまたはディスプレイを使用することなく、単にスピーチによって、音声制御デバイスと相互作用する。
図示する例では、音声制御デバイス106は、ネットワークに対する無線接続を容易化するために1つ以上のアンテナ606に連結された1つ以上の無線インターフェース604を含む。無線インターフェース(複数可)604は、Wi-Fi、Bluetooth、RFなどの様々な無線技法のうちの1つ以上を実装し得る。
1つ以上のデバイスインターフェース608(例えば、USB、広帯域接続など)は、ネットワークへの有線接続、または、他の無線ネットワークと通信するプラグインネットワークデバイスを容易化するためにデバイス106の一部としてさらに提供され得る。1つ以上の電源ユニット610は、電力をデバイス106上の様々な構成要素に分配するためにさらに提供される。
音声制御デバイス106は、ユーザから音声コマンド(例えば、語、句、文章など)を受信して、可聴フィードバックをユーザに出力する形態で、ユーザとのオーディオ相互作用をサポートするように設計される。したがって、図示する実装例では、ナビゲーションボタン、キーパッド、ジョイスティック、キーボード、タッチ画面などのような触覚入力デバイスがまったくないまたはほとんどない。さらに、テキストまたは図形の出力のためのディスプレイがまったくない。1つの実装例では、音声制御デバイス106は、音量を増加/減少させるための基本的音量制御ボタン(複数可)ならびに電力ボタン及びリセットボタンなどの非入力式制御機構を含み得る。また、例えば、電力が投入されているときなどの状態を示すまたはコマンドが受信されたときを示すために、1つ以上の簡単な光素子(例えば、デバイスの頂部の周辺の周りのLED)が存在し得る。しかしながら、その他の点では、デバイス106は、一部の場合、任意の入力デバイスまたはディスプレイを用いないまたは用いる必要がない。
命令、データストアなどのいくつかのモジュールは、メモリ114内に記憶され、プロセッサ112上で実行されるように構成され得る。オペレーティングシステムモジュール612は、他のモジュールの利益となるようにデバイス106内にあってこれに連結されるハードウェア及びサービス(例えば、無線ユニット、コーデックなど)を管理するように構成される。加えて、メモリ114は、スピーチ認識エンジン116及び接続モジュール128を含み得る。
主題を構造の特徴に固有の言葉で説明したが、添付の特許請求の範囲に定義される主題は、記述した特定の特徴に必ずしも限定されないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例示的な形態として開示される。
付記:
付記1. 1つ以上のプロセッサと、
1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、
クライアントデバイスから、クライアントデバイスとサーバインスタンスとの間の接続を確立する第1の要求を受信することと、
クライアントデバイスと複数のサーバインスタンスのうちの第1のサーバインスタンスとの間の接続を、第1の要求を受信したことに少なくとも部分的に応答して確立することと、
ある期間にわたってクライアントデバイスと第1のサーバインスタンスとの間で転送されたデータ量に少なくとも部分的に基づいて接続をドロップすることと、
クライアントデバイスから、サーバインスタンスとの接続を確立する第2の要求を、少なくとも部分的にドロップに応答して受信することと、を含む行為を実施させる、コンピュータ実行可能命令を記憶する1つ以上のコンピュータ可読媒体と、を備える、システム。
付記2. 行為が、ドロップの前に、接続の第1のチャネル上で、クライアントデバイスから第1のサーバインスタンスにデータを送信することと、接続の第2のチャネル上で、第1のサーバインスタンスからクライアントデバイスでデータを受信することとの間を繰り返すことをさらに含む、付記1に記載のシステム。
付記3. 行為が、クライアントデバイスが第1のサーバインスタンスとの接続を確立したという指示を記憶することをさらに含み、指示が、クライアントデバイスと関連付けられたデバイス識別子(DID)及び第1のサーバインスタンスの識別子を含む、付記1に記載のシステム。
付記4. ある期間にわたってクライアントデバイスと第1のサーバインスタンスとの間で転送されたデータ量に少なくとも部分的に基づいて接続をドロップすることが、クライアントデバイスと第1のサーバインスタンスとの間でデータが15分間転送されなかったときに、接続をドロップすることを含む、付記1に記載のシステム。
付記5. 音を検出し、音に基づいて第1のオーディオ信号を生成するためのマイクロホンユニットと、
1つ以上のネットワークアクセス可能なコンピューティングリソースから受信された第2のオーディオ信号に対応する音を出力するためのスピーカと、
1つ以上のプロセッサと、
アドレス及びコンピュータ実行可能命令を記憶するメモリであって、コンピュータ実行可能命令が、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、
装置と1つ以上のネットワークアクセス可能なコンピューティングリソースとの間の接続を、アドレスを用いて確立することと、
第1のオーディオ信号を1つ以上のネットワークアクセス可能なコンピューティングリソースに、接続を介して送信することと、
第2のオーディオ信号を1つ以上のネットワークアクセス可能なコンピューティングリソースから、接続を介して受信することと、
ある期間にわたって装置から1つ以上のネットワークアクセス可能なコンピューティングリソースに転送されたデータ量またはある期間にわたって1つ以上のネットワークアクセス可能なコンピューティングリソースから装置に転送されたデータ量のうちの少なくとも一方に少なくとも部分的に基づいて、接続を切断することと、を含む行為を実施させる、メモリと、を備える、装置。
付記6. 第1のオーディオ信号の送信及び第2のオーディオ信号の受信が、接続の第1のチャネル上で、第1のオーディオ信号の1つ以上のフレームを送信することと、接続の第2のチャネル上で、第2のオーディオ信号の1つ以上のフレームを受信することとの間を繰り返すことを含む、付記5に記載の装置。
付記7. アドレスが、1つ以上のネットワークアクセス可能なコンピューティングリソースの複数のサーバインスタンスにマッピングする仮想インターネットプロトコル(VIP)アドレスを含む、付記5に記載の装置。
付記8.接続が第1の接続であり、切断することが、
装置と1つ以上のネットワークアクセス可能なコンピューティングリソースとの間でデータがある期間転送されなかったと決定することと、
第1の接続を切断することと、
装置と1つ以上のネットワークアクセス可能なコンピューティングリソースとの間の第2の接続を、アドレスを用いて確立することと、を含む、付記5に記載の装置。
付記9. 1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、
クライアントデバイスとサーバインスタンスとの間に接続を確立することと、
ユーザからの音声コマンドを含むオーディオ信号を、クライアントデバイスのマイクロホンで生成することと、
オーディオ信号をサーバインスタンスに提供することと、
サーバインスタンスからの音声コマンドに対する応答を受信することと、
応答をクライアントデバイスのスピーカを介して出力することと、
接続をドロップして、接続のプロパティに少なくとも部分的に基づいてその後の接続を再確立することと、
を含む行為を実施させるコンピュータ実行可能命令を記憶する1つ以上のコンピュータ可読媒体。
付記10. 接続のプロパティが、クライアントデバイスとサーバインスタンスとの間である期間にわたって転送されたデータ量、クライアントデバイスからサーバインスタンスにある期間にわたって転送されたデータ量、サーバインスタンスからクライアントデバイスにある期間にわたって転送されたデータ量、接続の持続時間、または接続の帯域幅を含む、付記9に記載の1つ以上のコンピュータ可読媒体。
付記11. 行為が、接続の第1のチャネル上でクライアントデバイスからサーバインスタンスにデータを送信することと、接続の第2のチャネル上でサーバインスタンスからクライアントデバイスでデータを受信することとの間を繰り返すことをさらに含む、付記9に記載の1つ以上のコンピュータ可読媒体。
付記12. 接続の確立が、クライアントデバイスの電源がオンにされたことに少なくとも部分的に応答して発生する、付記9に記載の1つ以上のコンピュータ可読媒体。
付記13. 接続の確立が、仮想インターネットプロトコル(VIP)アドレスを用いることを含み、VIPアドレスが、サーバインスタンスと1つ以上の他のサーバインスタンスとの間に負荷を分散する負荷分散サービスに対応する、付記9に記載の1つ以上のコンピュータ可読媒体。
付記14. サーバインスタンスが、ネットワークアクセス可能なコンピューティングプラットフォームの一部を形成し、
接続の確立が、クライアントデバイスが、ネットワークアクセス可能なコンピューティングプラットフォームに送信するデータを有するかにかかわらず発生する、
付記9に記載の1つ以上のコンピュータ可読媒体。
付記15. 行為が、接続の第1のチャネル上でクライアントデバイスからサーバインスタンスにデータ送信することと、接続の第2のチャネル上でサーバインスタンスからクライアントデバイスでデータを受信することとの間を繰り返すことをさらに含み、第1のチャネル上でクライアントデバイスからデータを送信することが、クライアントデバイスによって生成されたオーディオ信号を、クライアントデバイスが存在する環境内で検出された音に基づいて送信することを含む、付記9に記載の1つ以上のコンピュータ可読媒体。
付記16. 再確立が、ドロップのある時間量後に、その後の接続の再確立を試行することを含み、ある時間量がある程度のランダムさを含む、付記9に記載の1つ以上のコンピュータ可読媒体。
付記17. 1つ以上のプロセッサと、
1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、
クライアントデバイスから、サーバインスタンスとの接続を確立する要求を受信することと、
クライアントデバイスが複数のサーバインスタンスのうちの第1のサーバインスタンスとの接続を確立するように、要求をルーティングすることと、
接続のプロパティ、第1のサーバインスタンスのプロパティ、またはクライアントデバイスのプロパティに少なくとも部分的に応答することに基づいて、接続を切断することと、を含む行為を実施させる、コンピュータ実行可能命令を記憶する1つ以上のコンピュータ可読媒体と、を備える、1つ以上のコンピューティングデバイス。
付記18. 接続のプロパティが、ある期間にわたって、クライアントデバイスに第1のサーバインスタンスから送信されたか、またはクライアントデバイスから第1のサーバインスタンスによって受信されたデータ量を含む、付記17に記載の1つ以上のコンピューティングデバイス。
付記19. 第1のサーバインスタンスのプロパティが、第1のサーバインスタンスをホストする物理的サーバがシャットダウンされているという指示を含む、付記17に記載の1つ以上のコンピューティングデバイス。
付記20. 要求が、クライアントデバイスによってコールされた仮想インターネットプロトコル(VIP)アドレスと関連付けられた負荷分散サービスによって受信される、付記17に記載の1つ以上のコンピューティングデバイス。
付記21. クライアントデバイスのプロパティが、クライアントデバイスが第1のサーバインスタンスに接続することを認可されないことである、付記17に記載の1つ以上のコンピューティングデバイス。
付記22. 行為が、クライアントデバイスが第1のサーバインスタンスとの接続を確立したという指示を記憶することをさらに含み、指示が、クライアントデバイスと関連付けられたデバイス識別子(DID)及び第1のサーバインスタンスと関連付けられた識別子を含む、付記17に記載の1つ以上のコンピューティングデバイス。
付記23. コンピューティングデバイスによって、指示にアクセスして、第1のサーバインスタンスの識別子を取得することと、
コンピューティングデバイスによって、第1のサーバインスタンスにデータを送信することであって、データがクライアントデバイス向けである、送信することと、
第1のサーバインスタンスによって、クライアントデバイスにデータを送信することと、をさらに含む、付記22に記載の1つ以上のコンピューティングデバイス。
付記24. データが、クライアントデバイスのスピーカ上で出力されるオーディオ信号を含む、付記23に記載の1つ以上のコンピューティングデバイス。
付記25. データが、クライアントデバイスに特定の動作を実施することを命令する制御メッセージを含む、付記23に記載の1つ以上のコンピューティングデバイス。
付記26. 行為が、サーバインスタンスによって、クライアントデバイスにデータを送信するための接続の第1のチャネルを確立することと、接続の第2のチャネル上で、サーバインスタンスで、かつクライアントデバイスからデータを受信することと、をさらに含む、付記17に記載の1つ以上のコンピューティングデバイス。
付記27. 第1のチャネル及び第2のチャネルが多重化される、付記26に記載の1つ以上のコンピューティングデバイス。

Claims (15)

  1. 1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行されたときに、前記1つ以上のプロセッサに、
    クライアントデバイスから、前記クライアントデバイスとサーバインスタンスとの間の接続を確立する第1の要求を受信することと、
    前記クライアントデバイスと複数のサーバインスタンスのうちの第1のサーバインスタンスとの間の接続を、前記第1の要求を受信したことに少なくとも部分的に応答して確立することと、
    ある期間にわたって前記クライアントデバイスと前記第1のサーバインスタンスとの間で転送されたデータ量に少なくとも部分的に基づいて前記接続をドロップすることと、
    少なくとも部分的に前記ドロップに応答して、かつ、前記ドロップ以降に予め定められた期間が経過した後に、前記複数のサーバインスタンスのうちの第2のサーバインスタンスとの接続を確立することと、を含む行為を実施させる、コンピュータ実行可能命令を記憶する1つ以上の非一時的コンピュータ可読記憶媒体と、
    を備える、システム。
  2. 前記行為が、前記ドロップの前に、前記接続の第1のチャネル上で、前記クライアントデバイスから前記第1のサーバインスタンスにデータを送信することと、前記接続の第2のチャネル上で、前記第1のサーバインスタンスから前記クライアントデバイスでデータを受信することとの間を繰り返すことをさらに含む、請求項1に記載のシステム。
  3. 前記行為が、前記クライアントデバイスが前記第1のサーバインスタンスとの前記接続を確立したという指示を記憶することをさらに含み、前記指示が、前記クライアントデバイスと関連付けられたデバイス識別子(DID)及び前記第1のサーバインスタンスの識別子を含む、請求項1に記載のシステム。
  4. ある期間にわたって前記クライアントデバイスと前記第1のサーバインスタンスとの間で転送されたデータ量に少なくとも部分的に基づいて前記接続をドロップすることが、前記クライアントデバイスと前記第1のサーバインスタンスとの間でデータが15分間転送されなかったときに、前記接続をドロップすることを含む、請求項1に記載のシステム。
  5. 装置であって、
    音を検出し、前記音に基づいて第1のオーディオ信号を生成するためのマイクロホンユニットと、
    第1のサーバインスタンスから受信された第2のオーディオ信号に対応する音を出力するためのスピーカと、
    1つ以上のプロセッサと、
    アドレス及びコンピュータ実行可能命令を記憶するメモリであって、前記コンピュータ実行可能命令が、前記1つ以上のプロセッサによって実行されたときに、前記1つ以上のプロセッサに、
    前記装置と前記第1のサーバインスタンスとの間の第1の接続を、前記アドレスを用いて確立することと、
    前記第1のオーディオ信号を前記第1のサーバインスタンスに、前記第1の接続を介して送信することと、
    前記第2のオーディオ信号を前記第1のサーバインスタンスから、前記第1の接続を介して受信することと、
    ある期間にわたって前記装置から前記第1のサーバインスタンスに転送されたデータ量またはある期間にわたって前記第1のサーバインスタンスから前記装置に転送されたデータ量のうちの少なくとも一方に少なくとも部分的に基づいて、前記第1の接続を切断することと、
    前記切断に少なくとも部分的に基づいて、かつ、前記切断以降に予め定められた期間が経過した後に、前記装置と第2のサーバインスタンスとの間の第2の接続を、前記アドレスを用いて確立することと、を含む行為を実施させる、メモリと、
    を備える、前記装置。
  6. 前記第1のオーディオ信号の前記送信及び前記第2のオーディオ信号の前記受信が、前記第1の接続の第1のチャネル上で、前記第1のオーディオ信号の1つ以上のフレームを送信することと、前記第1の接続の第2のチャネル上で、前記第2のオーディオ信号の1つ以上のフレームを受信することとの間を繰り返すことを含む、請求項5に記載の装置。
  7. 前記アドレスが、複数のサーバインスタンスにマッピングする仮想インターネットプロトコル(VIP)アドレスを含む、請求項5に記載の装置。
  8. 前記切断が、
    前記装置と前記第1のサーバインスタンスとの間でデータがある期間転送されなかったと決定することと、
    前記第1の接続を切断することと、
    前記装置と第2のサーバインスタンスとの間の第2の接続を、前記アドレスを用いて確立することと、を含む、請求項5に記載の装置。
  9. 1つ以上のコンピューティングデバイスであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行されたときに、前記1つ以上のプロセッサに、
    クライアントデバイスから、サーバインスタンスとの接続を確立する要求を受信することと、
    前記クライアントデバイスが複数のサーバインスタンスのうちの第1のサーバインスタンスとの接続を確立するように、前記要求をルーティングすることと、
    前記接続のプロパティ、前記第1のサーバインスタンスのプロパティ、または前記クライアントデバイスのプロパティに少なくとも部分的に基づいて、前記接続を切断することと、
    少なくとも部分的に前記切断に応答して、かつ、前記切断以降に予め定められた期間が経過した後に、前記複数のサーバインスタンスのうちの第2のサーバインスタンスとの接続を確立することと、を含む行為を実施させる、コンピュータ実行可能命令を記憶する1つ以上の非一時的コンピュータ可読記憶媒体と、
    を備える、前記1つ以上のコンピューティングデバイス。
  10. 前記接続の前記プロパティが、ある期間にわたって、前記第1のサーバインスタンスから前記クライアントデバイスに送信されたか、または前記クライアントデバイスから前記第1のサーバインスタンスによって受信されたデータ量を含む、請求項9に記載の1つ以上のコンピューティングデバイス。
  11. 前記第1のサーバインスタンスの前記プロパティが、前記第1のサーバインスタンスをホストする物理的サーバがシャットダウンされているという指示を含む、請求項9に記載の1つ以上のコンピューティングデバイス。
  12. 前記行為が、前記クライアントデバイスが前記第1のサーバインスタンスとの前記接続を確立したという指示を記憶することをさらに含み、前記指示が、前記クライアントデバイスと関連付けられたデバイス識別子(DID)及び前記第1のサーバインスタンスと関連付けられた識別子を含む、請求項9に記載の1つ以上のコンピューティングデバイス。
  13. 前記行為が、
    コンピューティングデバイスによって、前記指示にアクセスして、前記第1のサーバインスタンスの識別子を取得することと、
    前記コンピューティングデバイスによって、前記第1のサーバインスタンスにデータを送信することであって、前記データが前記クライアントデバイス向けである、送信することと、
    前記第1のサーバインスタンスによって、前記クライアントデバイスに前記データを送信することと、
    をさらに含む、請求項12に記載の1つ以上のコンピューティングデバイス。
  14. 前記データが、前記クライアントデバイスのスピーカ上での出力のためのオーディオ信号または前記クライアントデバイスに特定の動作を実施することを命令する制御メッセージのうちの少なくとも一方を含む、請求項13に記載の1つ以上のコンピューティングデバイス。
  15. 前記行為が、前記サーバインスタンスによって、前記クライアントデバイスにデータを送信するための前記接続の第1のチャネルを確立することと、前記接続の第2のチャネル上で、前記サーバインスタンスで、かつ前記クライアントデバイスからデータを受信することと、をさらに含む、請求項9に記載の1つ以上のコンピューティングデバイス。
JP2016507592A 2013-04-08 2014-04-07 負荷分散された持続接続の技法 Active JP6401242B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/858,753 2013-04-08
US13/858,753 US9781214B2 (en) 2013-04-08 2013-04-08 Load-balanced, persistent connection techniques
PCT/US2014/033210 WO2014168882A1 (en) 2013-04-08 2014-04-07 Load-balanced, persistent connection techniques

Publications (2)

Publication Number Publication Date
JP2016521413A JP2016521413A (ja) 2016-07-21
JP6401242B2 true JP6401242B2 (ja) 2018-10-10

Family

ID=51655301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016507592A Active JP6401242B2 (ja) 2013-04-08 2014-04-07 負荷分散された持続接続の技法

Country Status (5)

Country Link
US (2) US9781214B2 (ja)
EP (1) EP2984578B1 (ja)
JP (1) JP6401242B2 (ja)
CN (2) CN111770131B (ja)
WO (1) WO2014168882A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781214B2 (en) 2013-04-08 2017-10-03 Amazon Technologies, Inc. Load-balanced, persistent connection techniques
US10205611B2 (en) 2015-02-11 2019-02-12 Dell Products L.P. Middleware as a service
US10243915B2 (en) * 2015-12-31 2019-03-26 Dell Products L.P. Method and system for managing flat and routed clients in a cluster using single type of VIPs
CN105939241B (zh) * 2016-03-10 2019-03-15 杭州迪普科技股份有限公司 连接断开方法及装置
CN107846425A (zh) * 2016-09-06 2018-03-27 鸿富锦精密电子(天津)有限公司 负载均衡系统及负载均衡方法
USD864466S1 (en) 2017-05-05 2019-10-22 Hubbell Incorporated Lighting fixture
US10607606B2 (en) * 2017-06-19 2020-03-31 Lenovo (Singapore) Pte. Ltd. Systems and methods for execution of digital assistant
US10847174B2 (en) 2017-12-20 2020-11-24 Hubbell Incorporated Voice responsive in-wall device
WO2019126290A1 (en) 2017-12-20 2019-06-27 Hubbell Incorporated Gesture control for in-wall device
USD927433S1 (en) 2018-01-05 2021-08-10 Hubbell Incorporated Front panel of in-wall fan controller with indicator component
US10812445B2 (en) * 2018-02-13 2020-10-20 Sling Media Pvt Ltd Cloud access to local network addresses
US11343329B1 (en) * 2019-05-20 2022-05-24 Amazon Technologies, Inc. Techniques for increasing persistent connection scalability
USD947137S1 (en) 2019-10-22 2022-03-29 Hubbell Incorporated Front panel of in-wall fan controller with indicator component

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996017306A2 (en) 1994-11-21 1996-06-06 Oracle Corporation Media server
JP2581476B2 (ja) 1994-12-07 1997-02-12 日本電気株式会社 情報処理装置
US5999979A (en) 1997-01-30 1999-12-07 Microsoft Corporation Method and apparatus for determining a most advantageous protocol for use in a computer network
US6363411B1 (en) * 1998-08-05 2002-03-26 Mci Worldcom, Inc. Intelligent network
US7324544B1 (en) * 1998-09-11 2008-01-29 Cirrus Logic, Inc. Network slot synchronization scheme for a computer network communication channel
JP3821424B2 (ja) * 1998-09-11 2006-09-13 シェアウェーブ・インコーポレーテッド コンピュータ・ネットワークのための動的通信チャネル切替え
EP1112641A2 (en) * 1998-09-11 2001-07-04 Sharewave, Inc. Method and apparatus for accessing a computer network communication channel
WO2000016518A2 (en) * 1998-09-11 2000-03-23 Sharewave, Inc. Method and apparatus for controlling communication within a computer network
US20020124100A1 (en) * 1999-05-20 2002-09-05 Jeffrey B Adams Method and apparatus for access to, and delivery of, multimedia information
AU5027200A (en) * 1999-05-20 2000-12-12 Intensifi, Inc. Method and apparatus for access to, and delivery of, multimedia information
US6934752B1 (en) * 2000-03-23 2005-08-23 Sharewave, Inc. Quality of service extensions for multimedia applications in wireless computer networks
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US20020133598A1 (en) 2001-03-16 2002-09-19 Strahm Frederick William Network communication
ES2409936T3 (es) * 2003-01-31 2013-06-28 Good Technology Corporation Recuperación asíncrona de datos en tiempo real
US7287082B1 (en) * 2003-03-03 2007-10-23 Cisco Technology, Inc. System using idle connection metric indicating a value based on connection characteristic for performing connection drop sequence
US7720683B1 (en) 2003-06-13 2010-05-18 Sensory, Inc. Method and apparatus of specifying and performing speech recognition operations
AU2003260446A1 (en) 2003-08-21 2005-03-10 Docomo Communications Laboratories Europe Gmbh Resource reservation in a wireless network with distributed medium access control
US7418392B1 (en) 2003-09-25 2008-08-26 Sensory, Inc. System and method for controlling the operation of a device by voice commands
AU2005246437B2 (en) * 2004-05-21 2011-10-06 Voice On The Go Inc. Remote access system and method and intelligent agent therefor
JP4910274B2 (ja) 2004-09-17 2012-04-04 富士通株式会社 プログラム及びサーバ装置
JP2006172241A (ja) 2004-12-17 2006-06-29 Fujitsu Ltd 負荷分散装置,負荷分散方法および負荷分散プログラム
US7844691B2 (en) 2004-12-30 2010-11-30 Xstor Systems, Inc. Scalable distributed storage and delivery
US7852831B2 (en) 2005-02-22 2010-12-14 Akbar Imran M Method and system for providing private virtual secure Voice over Internet Protocol communications
US8943181B2 (en) * 2005-11-29 2015-01-27 Ebay Inc. Method and system for reducing connections to a database
US8131718B2 (en) 2005-12-13 2012-03-06 Muse Green Investments LLC Intelligent data retrieval system
JP4719613B2 (ja) 2006-04-21 2011-07-06 株式会社Pfu 帳票配信システム、および帳票配信方法
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CN101459881B (zh) * 2007-12-12 2010-09-08 中国移动通信集团公司 消息承载方法以及客户端、消息服务器
US7853710B2 (en) * 2008-10-15 2010-12-14 Patentvc Ltd. Methods and devices for controlling the rate of a pull protocol
US8024423B2 (en) 2009-04-29 2011-09-20 Ianywhere Solutions, Inc. Maintaining connections between mobile devices and servers
US8065419B2 (en) * 2009-06-23 2011-11-22 Core Wireless Licensing S.A.R.L. Method and apparatus for a keep alive probe service
US20110060801A1 (en) * 2009-09-10 2011-03-10 Research In Motion Limited Automatic integration of a mail server with internet server (is)
US8949384B2 (en) * 2010-02-04 2015-02-03 Blackberry Limited Communication system with server for identification information retrieval and related methods
US9024997B2 (en) * 2010-09-03 2015-05-05 At&T Intellectual Property L.L.P. Virtual presence via mobile
US20120223885A1 (en) 2011-03-02 2012-09-06 Microsoft Corporation Immersive display experience
CN102170614B (zh) * 2011-04-29 2013-10-16 杭州东信北邮信息技术有限公司 一种交互式语音数据应答系统及其实现方法
US20130093776A1 (en) * 2011-10-14 2013-04-18 Microsoft Corporation Delivering a Single End User Experience to a Client from Multiple Servers
US9781214B2 (en) 2013-04-08 2017-10-03 Amazon Technologies, Inc. Load-balanced, persistent connection techniques

Also Published As

Publication number Publication date
EP2984578A1 (en) 2016-02-17
CN105518645B (zh) 2020-06-02
US9781214B2 (en) 2017-10-03
EP2984578A4 (en) 2017-04-05
CN105518645A (zh) 2016-04-20
US20140304418A1 (en) 2014-10-09
EP2984578B1 (en) 2021-06-02
CN111770131A (zh) 2020-10-13
WO2014168882A1 (en) 2014-10-16
JP2016521413A (ja) 2016-07-21
US20170244793A1 (en) 2017-08-24
CN111770131B (zh) 2023-05-30
US10178185B2 (en) 2019-01-08

Similar Documents

Publication Publication Date Title
JP6401242B2 (ja) 負荷分散された持続接続の技法
US10055190B2 (en) Attribute-based audio channel arbitration
JP6556849B2 (ja) オペレーティングシステムドングル
US10165327B2 (en) Video studio creating method and service device
KR101593257B1 (ko) 통신 시스템 및 방법
US9762524B2 (en) Multi-modality communication participation
US9641954B1 (en) Phone communication via a voice-controlled device
WO2019090902A1 (zh) 屏幕共享的方法、装置、电子设备及存储介质
KR102304086B1 (ko) 대화형 콘텐츠를 제공하는 전자 장치, 서버 및 이를 위한 방법
KR20160063343A (ko) 디바이스 페어링
WO2018131528A1 (ja) 端末装置、情報処理装置およびマイク音声送信方法
CN109586929B (zh) 会议内容的传输方法及装置、电子设备、存储介质
CN113242173B (zh) 屏幕的分享方法、装置、系统和即时通讯服务器
JP2011077839A (ja) 情報共有システム
CN112770078B (zh) 一种视频会议终端融合方法、装置及可读存储介质
KR20120034338A (ko) 무선 액세스 포인트의 보안 운용 방법 및 시스템
JP6369212B2 (ja) 情報処理装置、情報処理システム、プログラム、及び記録媒体
US20110069143A1 (en) Communications Prior To A Scheduled Event
AU2020210375A1 (en) Voice chat device, voice chat method, and program
US20230123726A1 (en) Virtual sound engineer system and method
JP6253143B2 (ja) 情報処理装置およびコンピュータプログラム
CN110536171B (zh) 互动场景中的多媒体处理方法、装置及电子设备
KR101852147B1 (ko) 오디오 전송 기능이 있는 유무선 공유기, 그 유무선 공유기를 이용한 오디오 전송 네트워크 시스템 그리고 유무선 공유기를 이용한 오디오 전송 방법
KR20120107172A (ko) 게임 서비스 제공 방법, 이를 적용한 시스템 및 단말기
KR20200030912A (ko) 통화 품질 정보를 제공하는 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180307

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180906

R150 Certificate of patent or registration of utility model

Ref document number: 6401242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250