(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】ユーザネットワークインターフェイスプロキシを通じたキャリア統合
(51)【国際特許分類】
H04M 3/00 20240101AFI20240725BHJP
H04W 88/18 20090101ALI20240725BHJP
H04L 67/141 20220101ALI20240725BHJP
【FI】
H04M3/00 B
H04W88/18
H04L67/141
【外国語出願】
(21)【出願番号】P 2023035695
(22)【出願日】2023-03-08
(62)【分割の表示】P 2021538313の分割
【原出願日】2019-09-24
【審査請求日】2023-04-03
(32)【優先日】2018-12-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チュリ,アモル
(72)【発明者】
【氏名】ゴンザレス,ジョナサン
(72)【発明者】
【氏名】レイ,プーニャブラタ
(72)【発明者】
【氏名】カラパタプ,ダット
(72)【発明者】
【氏名】ヤン,ジ
(72)【発明者】
【氏名】ボマカンティ,サティーシュ
【審査官】山岸 登
(56)【参考文献】
【文献】特表2018-530936(JP,A)
【文献】特表2015-519801(JP,A)
【文献】米国特許出願公開第2018/0035241(US,A1)
【文献】特開2013-012855(JP,A)
【文献】特開2015-149724(JP,A)
【文献】米国特許出願公開第2013/0024575(US,A1)
【文献】中国特許出願公開第101877850(CN,A)
【文献】特表2015-505217(JP,A)
【文献】特表2012-523199(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B7/24-7/26
H04L51/00-51/58
67/00-67/75
H04M3/00
3/16-3/20
3/38-3/58
7/00-7/16
11/00-11/10
H04W4/00-99/00
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェアによって実行される、コンピュータによって実現される方法であって、前記方法は前記データ処理ハードウェアに動作を実行させ、前記動作は、
キャリアプロバイダの加入者に関連付けられるモバイルデバイスから要求を受信することを含み、前記要求は、前記モバイルデバイスの電話番号を使用して、前記モバイルデバイスにリンクされるコンパニオンデバイスについて前記キャリアプロバイダとの音声サービスを確立するように前記データ処理ハードウェアに要求し、前記要求は、前記モバイルデバイスの加入者識別子を含み、前記加入者識別子は、国際携帯機器加入者識別情報(IMSI)を含み、
前記動作はさらに、
前記モバイルデバイスの前記加入者識別子に基づいて前記コンパニオンデバイスを認証することと、
前記モバイルデバイスの前記加入者識別子に対応するセッションイニシエーションプロトコル(SIP)クレデンシャルを取得することと、
前記コンパニオンデバイスについて、前記キャリアプロバイダのインターネットプロトコルマルチメディアサブシステム(IMS)に前記SIPクレデンシャルを登録することと、
前記モバイルデバイスの前記電話番号を前記コンパニオンデバイスにリンクすることと、
前記SIPクレデンシャルを使用して、前記コンパニオンデバイスと前記IMSとの間に音声サービスを確立することを含む、方法。
【請求項2】
前記動作はさらに、前記SIPクレデンシャルを前記コンパニオンデバイスに登録した後、トランスポート層セキュリティ接続を介して、SIPシグナリングによって、前記コンパニオンデバイスからのメディアデータを前記キャリアプロバイダの前記IMSに、通信することを含む、請求項1に記載の方法。
【請求項3】
前記コンパニオンデバイスについて、前記キャリアプロバイダのインターネットプロトコルマルチメディアサブシステム(IMS)に前記SIPクレデンシャルを登録することは、ネットワークインターフェイスプロキシにおいて前記SIPクレデンシャルを登録することを含む、請求項2に記載の方法。
【請求項4】
前記ネットワークインターフェイスプロキシは、前記コンパニオンデバイスから前記SIPシグナリングを受信し、前記SIPシグナリングおよびリアルタイムトランスポートプロトコル(RTP)を前記キャリアプロバイダの前記IMSに転送する、請求項3に記載の方法。
【請求項5】
前記RTPは、セキュアRTPに対応し、かつ、データグラムトランスポート層セキュリティ(DTLS)に基づく鍵交換を含む、請求項4に記載の方法。
【請求項6】
前記動作はさらに、
前記キャリアプロバイダの前記加入者に関連付けられる前記モバイルデバイスから第2の要求を受信することを含み、前記第2の要求は、前記モバイルデバイスにリンクされる1つ以上の付加的なコンパニオンデバイスについて前記キャリアプロバイダとの音声サービスを確立するように前記データ処理ハードウェアに要求し、前記第2の要求は、前記モバイルデバイスの前記加入者識別子を含み、
前記動作はさらに、
前記1つ以上の付加的なコンパニオンデバイスおよび前記コンパニオンデバイスを組み合わされたコンパニオンデバイスに集合させることを含む、請求項2~5のいずれか1項に記載の方法。
【請求項7】
前記メディアデータを通信することは、前記コンパニオンデバイスから受信される前記メディアデータを、前記キャリアプロバイダの前記IMSのためのエンハンスドボイスサービス(EVS)またはアダプティブマルチレート(AMR)にトランスコーディングすることを含む、請求項2~5のいずれか1項に記載の方法。
【請求項8】
前記メディアデータを通信することは、ネットワークアドレス変換のためのセッショントラバーサルユーティリティ(STUN)、ネットワークアドレス変換(NAT)トラバーサル、または、インタラクティブコネクティビティエスタブリッシュメント(ICE)を使用するメディア接続によって、前記メディアデータを通信することを含む、請求項2~5のいずれか1項に記載の方法。
【請求項9】
前記モバイルデバイス上で実行されるアプリケーションは、前記加入者についての認証トークンを生成することによって前記要求を生成する、請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記コンパニオンデバイスについて、前記IMSに前記SIPクレデンシャルを登録することは、サードパーティ登録サーバと通信することを含む、請求項1~9のいずれか1項に記載の方法。
【請求項11】
システムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアとを含み、前記メモリハードウェアは、命令を格納しており、前記命令は、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに動作を行わせ、
前記動作は、
キャリアプロバイダの加入者に関連付けられるモバイルデバイスから要求を受信することを含み、前記要求は、前記モバイルデバイスの電話番号を使用して、前記モバイルデバイスにリンクされるコンパニオンデバイスについて前記キャリアプロバイダとの音声サービスを確立するように前記データ処理ハードウェアに要求し、前記要求は、前記モバイルデバイスの加入者識別子を含み、前記加入者識別子は、国際携帯機器加入者識別情報(IMSI)を含み、
前記動作はさらに、
前記モバイルデバイスの前記加入者識別子に基づいて前記コンパニオンデバイスを認証することと、
前記モバイルデバイスの前記加入者識別子に対応するセッションイニシエーションプロトコル(SIP)クレデンシャルを取得することと、
前記コンパニオンデバイスについて、前記キャリアプロバイダのインターネットプロトコルマルチメディアサブシステム(IMS)に前記SIPクレデンシャルを登録することと、
前記モバイルデバイスの前記電話番号を前記コンパニオンデバイスにリンクすることと、
前記SIPクレデンシャルを使用して、前記コンパニオンデバイスと前記IMSとの間に音声サービスを確立することを含む、システム。
【請求項12】
前記動作はさらに、前記SIPクレデンシャルを前記コンパニオンデバイスに登録した後、トランスポート層セキュリティ接続を介して、SIPシグナリングによって、前記コンパニオンデバイスからのメディアデータを前記キャリアプロバイダの前記IMSに通信することを含む、請求項11に記載のシステム。
【請求項13】
前記コンパニオンデバイスについて、前記キャリアプロバイダのインターネットプロトコルマルチメディアサブシステム(IMS)に前記SIPクレデンシャルを登録することは、ネットワークインターフェイスプロキシにおいて前記SIPクレデンシャルを登録することを含む、請求項12に記載のシステム。
【請求項14】
前記ネットワークインターフェイスプロキシは、前記コンパニオンデバイスから前記SIPシグナリングを受信し、前記SIPシグナリングおよびリアルタイムトランスポートプロトコル(RTP)を前記キャリアプロバイダの前記IMSに転送する、請求項13に記載の
システム。
【請求項15】
前記RTPは、セキュアRTPに対応し、かつ、データグラムトランスポート層セキュリティ(DTLS)に基づく鍵交換を含む、請求項14に記載のシステム。
【請求項16】
前記動作はさらに、
前記キャリアプロバイダの前記加入者に関連付けられる前記モバイルデバイスから第2の要求を受信することを含み、前記第2の要求は、前記モバイルデバイスにリンクされる1つ以上の付加的なコンパニオンデバイスについて前記キャリアプロバイダとの音声サービスを確立するように前記データ処理ハードウェアに要求し、前記第2の要求は、前記モバイルデバイスの前記加入者識別子を含み、
前記動作はさらに、
前記1つ以上の付加的なコンパニオンデバイスおよび前記コンパニオンデバイスを組み合わされたコンパニオンデバイスに集合させることを含む、請求項12~15のいずれか1項に記載のシステム。
【請求項17】
前記メディアデータを通信することは、前記コンパニオンデバイスから受信される前記メディアデータを、前記キャリアプロバイダの前記IMSのためのエンハンスドボイスサービス(EVS)またはアダプティブマルチレート(AMR)にトランスコーディングすることを含む、請求項12~15のいずれか1項に記載のシステム。
【請求項18】
前記メディアデータを通信することは、ネットワークアドレス変換のためのセッショントラバーサルユーティリティ(STUN)、ネットワークアドレス変換(NAT)トラバーサル、または、インタラクティブコネクティビティエスタブリッシュメント(ICE)を使用するメディア接続によって、前記メディアデータを通信することを含む、請求項12~15のいずれか1項に記載のシステム。
【請求項19】
前記モバイルデバイス上で実行されるアプリケーションは、前記加入者についての認証トークンを生成することによって前記要求を生成する、請求項11~18のいずれか1項に記載のシステム。
【請求項20】
前記コンパニオンデバイスについて、前記IMSに前記SIPクレデンシャルを登録することは、サードパーティ登録サーバと通信することを含む、請求項11~19のいずれか1項に記載のシステム。
【請求項21】
請求項1~10のいずれか1項に記載の方法をコンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、ユーザネットワークインターフェイスプロキシを通じたキャリア統合に関する。
【背景技術】
【0002】
背景
歴史的に、音声通話サービスは、回線交換ネットワークを介して提供されてきた。しかしながら、ネットワークが発達するにつれて、音声通話サービスは、インターネットプロトコル(IP: internet protocol)パケット交換ネットワーク(packet-switched network)を利用するように進歩している。たとえば、Voice over IP(VoIP)は、IPネットワークを介して音声通信およびマルチメディアセッションを送達する。パケット交換ネットワークにより、音声通話サービスは、シグナリング、音声信号のデジタル化、および、(たとえば、符号化機能による)マルチメディアのトランスポートを伴い得る。スマートデバイスおよびマルチメディアデバイスといったユーザデバイスが革新し続けているので、これらのデバイスについて、キャリアプロバイダのネットワーク、特に、IPマルチメディアサブシステムネットワークとの音声通話サービスの統合に対処する必要性が存在し、および/または、当該音声通話サービスの統合を簡素化する必要性が存在する。
【発明の概要】
【0003】
概要
本開示の一局面は、ユーザネットワークインターフェイスプロキシを通じたキャリア統合のための方法を提供する。当該方法は、データ処理ハードウェアにおいて、キャリアプロバイダの加入者に関連付けられるモバイルデバイスから要求を受信することを含む。要求は、モバイルデバイスにリンクされるコンパニオンデバイスについてキャリアプロバイダとの音声サービスを確立するようにデータ処理ハードウェアに要求する。要求は、モバイルデバイスの加入者識別子を含む。要求を受信することに応答して、上記方法は、データ処理ハードウェアが、モバイルデバイスの加入者識別子に基づいてコンパニオンデバイスを認証することと、データ処理ハードウェアが、モバイルデバイスの加入者識別子に対応するセッションイニシエーションプロトコル(SIP: session initiation protocol
)クレデンシャルを取得することと、データ処理ハードウェアが、ネットワークインターフェイスプロキシにおいて、コンパニオンデバイスについてSIPクレデンシャルを登録することとを含む。ネットワークインターフェイスプロキシは、キャリアプロバイダのインターネットプロトコルマルチメディアサブシステム(IMS: internet protocol multimedia subsystem)およびコンパニオンデバイスと通信する。上記方法はさらに、データ処理ハードウェアが、SIPクレデンシャルを使用して、ネットワークインターフェイスプロキシを通じてコンパニオンデバイスとIMSとの間に音声サービスを確立することを含む。
【0004】
本開示の実現例は、以下の随意の特徴のうちの1つ以上を含んでもよい。いくつかの実現例では、上記方法は、SIPクレデンシャルをコンパニオンデバイスに登録した後、トランスポート層セキュリティ接続を介して、SIPシグナリングによって、コンパニオンデバイスからのメディアデータをキャリアプロバイダのIMSに、データ処理ハードウェアから通信することをさらに含む。いくつかの例では、ネットワークインターフェイスプロキシは、コンパニオンデバイスからSIPシグナリングを受信し、SIPシグナリングおよびリアルタイムトランスポートプロトコル(RTP)をキャリアプロバイダのIMS
に転送する。これらの例では、RTPは、セキュアRTPに対応し得、かつ、データグラムトランスポート層セキュリティ(DTLS: datagram transport layer security)に
基づく鍵交換を含み得る。メディアデータを通信することは、コンパニオンデバイスから受信されるメディアデータを、キャリアプロバイダのIMSのためのエンハンスドボイスサービス(EVS: enhanced voice services)またはアダプティブマルチレート(AM
R: adaptive multi-rates)にトランスコーディングすることを含み得る。いくつかの実現例では、メディアデータを通信することは、ネットワークアドレス変換のためのセッショントラバーサルユーティリティ(STUN: sessional traversal utilities for network address translation)、ネットワークアドレス変換(NAT: network address translation)、または、インタラクティブコネクティビティエスタブリッシュメント(ICE: interactive connectively establishment)を使用するメディア接続によって、メディアデータを通信することを含む。
【0005】
コンパニオンデバイスからキャリアプロバイダのIMSにメディアデータを通信することを含む実現例では、上記方法はさらに、データ処理ハードウェアにおいて、キャリアプロバイダの加入者に関連付けられるモバイルデバイスから第2の要求を受信することを含み得る。ここで、第2の要求は、モバイルデバイスの加入者識別子を含んでおり、モバイルデバイスにリンクされる1つ以上の付加的なコンパニオンデバイスについてキャリアプロバイダとの音声サービスを確立するようにデータ処理ハードウェアに要求する。第2の要求を受信した後、上記方法はさらに、データ処理ハードウェアが、1つ以上の付加的なコンパニオンデバイスおよびコンパニオンデバイスを組み合わされたコンパニオンデバイスに集合させることを含む。ここで、組み合わされたコンパニオンデバイスは、単一のトランスポート層セキュリティ接続を介してネットワークインターフェイスプロキシを通じてキャリアプロバイダのIMSと通信するように構成される。
【0006】
いくつかの例では、加入者識別子は、国際携帯機器加入者識別情報(IMSI: international mobile subscriber identity)を含む。いくつかの実現例では、モバイルデバイス上で実行されるアプリケーションは、加入者についての認証トークンを生成することによって要求を生成する。これらの実現例では、認証トークンは、加入者のモバイルデバイスに関連付けられる電話番号をコンパニオンデバイスにリンクするように構成される。
【0007】
ネットワークインターフェイスプロキシは、随意に、1つより多いコンパニオンデバイスについての登録を管理するように構成されてもよい。ここで、ネットワークインターフェイスプロキシによって管理される登録は、キャリアプロバイダのIMSについて、移動局国際加入者ディレクトリ番号(MSISDN: mobile station international subscriber directory number)ごとの単一のSIPレジスタを含む。
【0008】
本開示の別の局面は、ユーザネットワークインターフェイスプロキシを通じたキャリア統合のためのシステムを提供する。当該システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、命令を格納しており、当該命令は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を行わせ、当該動作は、キャリアプロバイダの加入者に関連付けられるモバイルデバイスから要求を受信することを含む。要求は、モバイルデバイスにリンクされるコンパニオンデバイスについてキャリアプロバイダとの音声サービスを確立するようにデータ処理ハードウェアに要求する。要求は、モバイルデバイスの加入者識別子を含む。要求を受信することに応答して、上記動作はさらに、モバイルデバイスの加入者識別子に基づいてコンパニオンデバイスを認証することと、モバイルデバイスの加入者識別子に対応するセッションイニシエーションプロトコル(SIP)クレデンシャルを取得することと、ネットワークインターフェイスプロキシにおいて、コンパニオンデバイスについてSIPクレデンシャルを登録することとを含む。ネットワークインターフェイスプロキシ
は、キャリアプロバイダのインターネットプロトコルマルチメディアサブシステム(IMS)およびコンパニオンデバイスと通信する。上記動作はさらに、SIPクレデンシャルを使用して、ネットワークインターフェイスプロキシを通じてコンパニオンデバイスとIMSとの間に音声サービスを確立することを含む。
【0009】
本開示の実現例は、以下の随意の特徴のうちの1つ以上を含んでもよい。いくつかの実現例では、上記動作はさらに、SIPクレデンシャルをコンパニオンデバイスに登録した後、トランスポート層セキュリティ接続を介して、SIPシグナリングによって、コンパニオンデバイスからのメディアデータをキャリアプロバイダのIMSに通信することを含む。いくつかの例では、ネットワークインターフェイスプロキシは、コンパニオンデバイスからSIPシグナリングを受信し、SIPシグナリングおよびリアルタイムトランスポートプロトコル(RTP)をキャリアプロバイダのIMSに転送する。これらの例では、RTPは、セキュアRTPに対応し得、かつ、データグラムトランスポート層セキュリティ(DTLS)に基づく鍵交換を含み得る。メディアデータを通信することは、コンパニオンデバイスから受信されるメディアデータを、キャリアプロバイダのIMSのためのエンハンスドボイスサービス(EVS)またはアダプティブマルチレート(AMR)にトランスコーディングすることを含み得る。いくつかの実現例では、メディアデータを通信することは、ネットワークアドレス変換のためのセッショントラバーサルユーティリティ(STUN)、ネットワークアドレス変換(NAT)トラバーサル、または、インタラクティブコネクティビティエスタブリッシュメント(ICE)を使用するメディア接続によって、メディアデータを通信することを含む。
【0010】
コンパニオンデバイスからキャリアプロバイダのIMSにメディアデータを通信することを含む実現例では、上記動作はさらに、キャリアプロバイダの加入者に関連付けられるモバイルデバイスから第2の要求を受信することを含み得る。ここで、第2の要求は、モバイルデバイスの加入者識別子を含んでおり、モバイルデバイスにリンクされる1つ以上の付加的なコンパニオンデバイスについてキャリアプロバイダとの音声サービスを確立するようにデータ処理ハードウェアに要求する。第2の要求を受信した後、上記動作はさらに、1つ以上の付加的なコンパニオンデバイスおよびコンパニオンデバイスを組み合わされたコンパニオンデバイスに集合させることを含む。ここで、組み合わされたコンパニオンデバイスは、単一のトランスポート層セキュリティ接続を介してネットワークインターフェイスプロキシを通じてキャリアプロバイダのIMSと通信するように構成される。
【0011】
いくつかの例では、加入者識別子は、国際携帯機器加入者識別情報(IMSI)を含む。いくつかの実現例では、モバイルデバイス上で実行されるアプリケーションは、加入者についての認証トークンを生成することによって要求を生成する。これらの実現例では、認証トークンは、加入者のモバイルデバイスに関連付けられる電話番号をコンパニオンデバイスにリンクするように構成される。
【0012】
ネットワークインターフェイスプロキシは、随意に、1つより多いコンパニオンデバイスについての登録を管理するように構成されてもよい。ここで、ネットワークインターフェイスプロキシによって管理される登録は、キャリアプロバイダのIMSについて、移動局国際加入者ディレクトリ番号(MSISDN)ごとの単一のSIPレジスタを含む。
【0013】
本開示の1つ以上の実現例の詳細は、添付の図面および以下の説明において記載される。他の局面、特徴、および利点は、説明および図面ならびに請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0014】
【
図1】例示的なネットワークインターフェイスプロキシ環境の概略図である。
【
図2A】ネットワークインターフェイスプロキシ環境内の例示的なネットワークインターフェイスプロキシの概略図である。
【
図2B】ネットワークインターフェイスプロキシ環境内の例示的なネットワークインターフェイスプロキシの概略図である。
【
図3】ネットワークインターフェイスプロキシを実現する方法のための動作の例示的な構成のフロー図である。
【
図4】本明細書において記載されるシステムおよび方法を実現するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0015】
さまざまな図面における同様の参照符号は、同様の要素を示す。
【0016】
詳細な説明
図1は、ネットワークインターフェイスプロキシ環境100の例である。ネットワークインターフェイスプロキシ環境100は、音声通話サービスのためのエンドポイントとして、少なくとも1つの一次デバイス110および少なくとも1つのコンパニオンデバイス120(たとえば、その所有者またはユーザ)に関連付けられる加入者10を含む。ここで、エンドポイント110,120は、キャリア301のサービスに加入する加入者10がユーザネットワークインターフェイス(UNI: user network interface)プロキシ200を介してキャリア301のインフラストラクチャと通信することを可能にする。エンドポイント110,120は、一般的に、デバイスを指すか、または、デバイス上にホストされるアプリケーション(たとえば、ブラウザ)を指す。より特定的には、これらのデバイスは、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)またはユーザデバイス(たとえば、音声通信および/またはマルチメディアデバイス)であり得る。たとえば、
図1は、モバイルデバイスとして一次デバイス110を示し、音声通話サービス(たとえば、オーディオ、ビデオ、またはマルチメディアデータ能力)を有するように構成されるユーザデバイスとしてコンパニオンデバイス120を示す。一次デバイス110およびコンパニオンデバイス120のそれぞれは、データ処理ハードウェア112,122およびメモリハードウェア114,124を含む。メモリハードウェア114,124は、データ処理ハードウェア112,122と通信し、命令を格納し、当該命令は、データ処理ハードウェア112,122によって実行されると、データ処理ハードウェア112,122に1つ以上の動作を実行させる。
図1は、1つよりも多い一次デバイス110,110a~nおよび1つのコンパニオンデバイス120を示すが、加入者10は、キャリア301のネットワーク(たとえば、
図2Aおよび
図2Bのネットワーク320)とともに、任意の数の一次デバイス110および任意の数のコンパニオンデバイス120を使用してもよい。したがって、コンパニオンデバイス120の数は、一次デバイス110の数と無関係であり得る。たとえば、1つの一次デバイス110は、4つのコンパニオンデバイス120を有し得る。
【0017】
エンドポイント(たとえば、一次デバイス110またはコンパニオンデバイス120)の音声通話サービスは、パケット交換ネットワークに亘って通信されることが可能である任意のタイプのメディアデータを含み得る。換言すれば、エンドポイントは、キャプチャされたオーディオ、ビデオ、マルチメディア、テキスト(たとえば、メッセージング)などを通信し得る。たとえば、各エンドポイント(たとえば、一次デバイス110またはコンパニオンデバイス120)は、加入者10のために音声通話サービスを行うよう、オーディオキャプチャデバイス(たとえば、マイクロフォン)および/またはビデオキャプチャデバイス(たとえば、カメラ)を含み得る。通話に関連付けられるメディアを通信するために、エンドポイント110,120は、UNIプロキシ200を通じてキャリア301と通信するためにさまざまなプロトコルを有するように構成され得る。これらのプロトコルは、認証プロトコル、信号プロトコル、トランスポートプロトコルなどを含み得る。
【0018】
いくつかの実現例では、一次デバイス110は、加入者10に代わってキャリア301に登録されるデバイスを指す。加入者10は、一次デバイス110により通話を行うことが可能であり得るが、それにもかかわらず、キャリア301のネットワーク(たとえば、ネットワーク320)を介して一次デバイス110以外のデバイスにより通話を行うことを好むまたは望む場合がある。これは、加入者10がネットワークを通じて通信することが可能なデバイスをより多く取得するにつれて、ますます当てはまり得る。一次デバイス110以外のデバイスにより通話するために、加入者10は、音声サービスのための二次デバイスとしてコンパニオンデバイス120をキャリア301と統合し得る。換言すれば、コンパニオンデバイス120は、キャリア301との加入者のアカウント上の一次デバイス110に関連付けられる加入者10の付加的なデバイスまたは二次デバイスを指す。ここで、キャリア301とのデバイスの統合とは、キャリア301のネットワーク(たとえば、ネットワーク320)を用いて音声通話サービスまたは通話マルチメディアサービスを行い得る、キャリア301のオーソライズされたデバイス/ユーザとして認識されるようにデバイスを構成することを指す。
【0019】
いくつかの実現例では、加入者10は、コンパニオンデバイス120を一次デバイス110にリンクする。ここで、リンクするとは、キャリア301が、キャリア301のネットワーク320(たとえば、IPマルチメディアサブシステム(IMS: IP multimedia subsystem)または単純にキャリアIMSコア(Carrier IMS Core))を使用して通信す
るようにオーソライズされているといずれかのデバイスを識別し得るように、コンパニオンデバイス120を一次デバイス110と関連付けることを指す。たとえば、一次デバイス110は、加入者10のための認証プロシージャを生成することが可能なアプリケーション116(すなわち、データ処理ハードウェア112上で実行/ランされる)を含む。いくつかの例では、アプリケーション116は、加入者のデバイス110,120のいずれかに代わって、キャリア301との統合のために電話番号(たとえば、移動局国際加入者ディレクトリ番号(MSISDN))を指定することを担う。さらに、アプリケーション116は、音声サービスがキャリア301と統合されることを可能にするために、UNIプロキシ200に要求130を送ることを担い得る。いくつかの実現例では、加入者10のすべてのエンドポイント110,120は、UNIプロキシ200を通じてキャリア301と統合するよう同じ電話番号を使用する。
【0020】
いくつかの例では、コンパニオンデバイス120を通じて音声サービス(たとえば、音声通話)を実装およびアクティベートするために、アプリケーション116は、エンタイトルメントプロシージャ(entitlements procedure)をトリガし得る。エンタイトルメントプロシージャは、エンドポイントまたはエンドポイントのユーザが、キャリア301との音声サービスに対する資格が付与されるか、または、音声サービスに加入されることを保証し得る。いくつかの実現例では、エンタイトルメントプロシージャはさらに、コンパニオンデバイス120がキャリア301のIPマルチメディアサブシステム(IMS)ネットワーク320(たとえば、
図2Aおよび
図2B)に登録することを可能にするために、キャリア301からセッションイニシエーションプロトコル(SIP)クレデンシャル140を抽出する。本明細書において使用されるように、「IMS320」および「IMSネットワーク320」という用語は相互交換可能に使用される。ひとたび登録されると、コンパニオンデバイス120は、キャリア301により音声通話サービスを実行および/または受信し得る。
【0021】
いくつかの構成では、エンドポイント110,120は、ネットワーク160を介してリモートシステム150を通じてUNIプロキシ200と通信する。たとえば、UNIプロキシ200は、加入者10にアクセス可能なネットワーク環境(たとえば、分散システムまたはクラウド)においてリモートにホストされる。たとえば、UNIプロキシ200
は、加入者10にアクセス可能である(たとえば、エンドポイント110,120にリモートにアクセス可能である)ウェブベースのアプリケーションであり得る。リモートシステム150においてホストされることによって、UNIプロキシ200は、リモートシステム150のコンピューティングリソース152を使用して機能し得る。これらのコンピューティングリソース152は、リモートデータ処理ハードウェア154(たとえば、サーバ)およびリモートメモリハードウェア156(たとえば、メモリハードウェアにおいてホストされるリモートデータベース)を含み得る。他の構成では、UNIプロキシ200は、コンパニオンデバイス120に位置するデータ処理ハードウェア122が、キャリア301のIMSネットワーク320とコンパニオンデバイス120との間の直接的な通信を可能にするためにUNIプロキシ200の機能を実行し得るように、コンパニオンデバイス120と統合される。たとえば、このような構成では、コンパニオンデバイス120は、IMS(すなわち、IMSクライアント)を有するように構成される。
【0022】
UNIプロキシ200は、エンドユーザ機器(UE: user equipment)(たとえば、IR.51)によってサポートされる従来のネットワークを模倣することによって、キャリア301のネットワーク(たとえば、ネットワーク320)に接続するように機能する。従来のネットワークを模倣することにより、UNIプロキシ200は、キャリア301の加入者10についてのデバイス管理を簡素化する。UNIプロキシ200により、加入者10は、キャリア301とのデバイス互換性の懸念なしに、キャリア301のネットワーク(たとえば、ネットワーク320)を使用して、多くのエンドポイント110,120をスケーリングすることが可能であり得る。したがって、エンドポイント110,120は、キャリア301との音声サービスのためのエンドポイント110,120の機能に影響を及ぼすことなく、加入者レベルで更新、置換、再構成などが行われ得る。いくつかの例では、UNIプロキシ200は、キャリア301が見た場合に各エンドポイント110,120を識別不能にすることによって、プライバシーおよび/またはエンドポイントセキュリティを向上することが可能である。換言すれば、UNIプロキシ200は、UNIプロキシ200を介してキャリア301と通信する各デバイスを同様に見せ得る(たとえば、一次デバイス110は、コンパニオンデバイス120と同一であるように現れる)。いくつかの実現例では、逆に、キャリア301は、加入者10のエンドポイントに影響を及ぼすことなく、UNIプロキシ200と連携して変更を行い得る。
【0023】
図2Aおよび
図2Bは、UNIプロキシ200、ならびに、ネットワークインターフェイスプロキシ環境100内における加入者10のエンドポイントとキャリア301との間のその関係の例である。UNIプロキシ200は、エンタイトラ(entitler)210と、セッションイニシエーションプロトコル(SIP)プロキシ220と、メディアプロキシ230とを含む。UNIプロキシ200を使用して、エンドポイント110,120は、キャリア301のネットワーク320を使用して通話を終了するように構成され得る。UNIプロキシ200の機能を例示するために、
図2Aおよび
図2Bは、キャリア301のためのネットワーク320を示す。電気通信サービスプロバイダ(キャリアプロバイダとも称される)は、加入者10に音声通話サービスを提供するために、しばしば独自のネットワークインフラストラクチャを有するキャリアネットワークを使用する。
【0024】
ここで、キャリア301は、エンタイトルメントシステム311およびIMSネットワーク320(キャリアIMSコア320とも称される)を含むように示される。IMSネットワーク320は、一般的に、パケット交換ネットワークのための統合されたサービスアーキテクチャを提供することが意図されるIPマルチメディアサブシステム(IMS)を指す。IMSネットワーク320はしばしば、マルチメディアデータが通信されることを可能にするよう、アプリケーション層、制御層ならびにアクセスおよびトランスポート層を含むいくつかの層上で動作する。キャリア301は、エンタイトルメントシステム311およびIMSネットワーク320を含むように示されているが、他のコンポーネント
および/またはインフラストラクチャが、キャリア301とエンドポイント110,120との間のインターフェイスとしてのUNIプロキシ200の機能を変更することなく、キャリア301に追加またはキャリア301から除去されてもよい。
【0025】
図2Aを参照して、エンタイトラ210は、認証プロシージャおよびエンタイトルメントプロシージャを実行するように構成される。エンタイトラ210は、一次デバイス110にリンクされるコンパニオンデバイス120についてキャリア301と音声サービスを確立する要求130を受信する。要求130は、たとえば、MSISDN、IMSパブリックユーザ識別情報(IMPU: IMS public user identity)、または、国際携帯機器加入者識別情報(IMSI)といった加入者識別子132を含む。いくつかの実現例では、アプリケーション116は、一次デバイス110からの加入者識別子132を有する要求130を通信する。他の実現例では、コンパニオンデバイス120は、一次デバイス110との通信に基づいて要求130を開始し得る。いくつかの例では、要求130は、UNIプロキシ200について加入者10を識別するために、認証クレデンシャルとして、(たとえば、アプリケーション116によって生成される)認証トークン134をさらに含む。認証トークン134は、オープン認証(OAuth)トークン、ワンタイムパスワード(たとえば、SMS OPT)としてのメッセージ、または、拡張認証プロトコル(E
AP: extensible authentication protocol)(たとえば、認証および鍵共有メカニズム(authentication and key agreement mechanism)(EAP-AKA))であり得る。付加的または代替的には、認証トークン134は、加入者10の一次デバイス110(たとえば、モバイルデバイス)に関連付けられる電話番号をコンパニオンデバイス120にリンクする。
【0026】
要求130に基づいて、エンタイトラ210は、キャリア301と通信するエンタイトルメントプロシージャを実行する。エンタイトルメントプロシージャを開始するために、エンタイトラ210は、要求130をキャリア301に通信する。たとえば、
図2Aは、要求130を受信するエンタイトルメントサーバ312を示す。ここで、エンタイトルメントサーバ312において、キャリアネットワーク320はさらに、キャリア301においてエンタイトルメントプロシージャを支援するために、認証、オーソライゼーションおよびアカウンティング(AAA: authentication, authorization and accounting)サーバ314ならびに/または情報技術(IT: information technology)/ビジネスサポートシステム(BSS: business support system)316を含み得る。いくつかの例では
、エンタイトラ210およびキャリア301(たとえば、エンタイトルメントサーバ312)は、エンタイトルメントアプリケーションプログラミングインターフェイス(API: application programming interface)を介して通信する。
【0027】
エンタイトラ210からの要求130により、エンタイトルメントサーバ312は、加入者識別子132に基づいて認証を確認する。たとえば、エンタイトルメントサーバ312は、加入者識別子132がキャリア301の既知の加入者についての識別子(たとえば、エンタイトルメントサーバ312またはキャリア301の別のコンポーネントに格納される)と一致すると決定する。キャリア301が要求130を認証すると、UNIプロキシ200は、加入者識別子132(たとえば、一次デバイス110の加入者識別子132)に対応するSIPクレデンシャル140を受信または取得し得る。いくつかの実現例では、アプリケーション116は、SIPクレデンシャル140を受信し、SIPクレデンシャル140をUNIプロキシ200(たとえば、UNIプロキシ200のSIPプロキシ220)に提供する。ここで、アプリケーション116またはUNIプロキシ200は、コンパニオンデバイス120の認証が成功したことを示すようSIPクレデンシャル140を受信する。いくつかの構成では、UNIプロキシ200またはアプリケーション116は、コンパニオンデバイス120がキャリア301によって認証されたことを示すインジケータとして、コンパニオンデバイス120についてのアクセストークン117を生
成し、コンパニオンデバイス120に代わってSIP登録を促進する。
【0028】
図2Bを参照して、SIPクレデンシャル140により、UNIプロキシ200は、コンパニオンデバイス120をキャリア301に登録する。コンパニオンデバイス120をキャリア301に登録することは、UNIプロキシ200を通じてコンパニオンデバイス120とキャリア301との間に(たとえば、IMSネットワーク320により)音声サービスを確立することである。コンパニオンデバイス120の登録は、UNIプロキシ200およびキャリア301の両方が、コンパニオンデバイス120が、キャリア301の音声サービスを使用するように確立および許可されていることを知ることを可能にし得る。
【0029】
いくつかの例では、UNIプロキシ200は、SIPプロキシ220がコンパニオンデバイス120とキャリア301との間の通信を確立し得るように、SIPプロキシ220においてSIPクレデンシャル140を登録する。たとえば、SIPプロキシ220は、登録を実行するために、SIPクレデンシャル140および任意の関係するデータを格納するデータベースを含む。ここで、UNIプロキシ200は、たとえば、各一意の加入者識別子132がキャリア301にとって同様のもののように現れ、キャリア301にいかなる付加的な影響も引き起こし得ないように、エンドポイントに代わって、キャリア301に関係する登録を制御および代理する。換言すれば、(たとえば、SIPプロキシ220における)UNIプロキシ200は、コンパニオンデバイス120に代わって登録を管理する。いくつかの例では、UNIプロキシ200は、(たとえば、キャリア301へのネットワークフローを制御または最適化するために)加入者識別子132(たとえば、MSISDNまたはIMPU)当たり1つのSIPレジスタのみが一度にキャリア301のIMSネットワーク320にリレーされるように、登録を管理する。いくつかの実現例では、コンパニオンデバイス120といったエンドポイントは、ひとたび登録されると、切断することを決定するまで、キャリア301に登録されたままである。他の実現例では、UNIプロキシ200は、オンデマンドで、エンドポイントがキャリア301と接続および/または切断するようにエンドポイントを管理する。
【0030】
引き続き
図2Bを参照して、コンパニオンデバイス120についてSIPクレデンシャル140を登録した後、UNIプロキシ200のSIPプロキシ220は、IMSネットワーク320(たとえば、キャリアIMSコアとして示される)と通信するように構成される。いくつかの例では、SIPプロキシ220とキャリア301との間のインターフェイスは標準的なGmインターフェイスである。従来、Gmインターフェイスは、SIPユーザ機器(UE)またはVoIPゲートウェイとプロキシコールセッションコントロールファンクション(P-CSCF: proxy-call session control function)との間のメッ
セージの交換をサポートするインターフェイスを指す。したがって、Gmインターフェイスは、登録、認証、暗号化、およびセッション制御のためにUEとIMSネットワーク320との間の接続を可能にする。UNIプロキシ200の場合、Gmインターフェイス222は、IMSネットワーク320のP-CSCF322と、UEではなくSIPエンドポイント(たとえば、一次デバイス110またはコンパニオンデバイス120)との間の接続を可能にする。いくつかの構成では、
図2Bによって示されるように、SIPプロキシ220は、Gmインターフェイス222を通じてトランスポート層セキュリティ(TLS: transport layer security)接続を介してSIPシグナリング223によってエンドポイントからP-CSCF322に通信する。代替的には、キャリア301は、ローカル通信インターフェイス(LCI: local communication interface)を使用して、インタ
ーコネクションボーダコントロールファンクション(IBCF: interconnection border
control function)によりSIPプロキシ220とインターフェイス接続することを選
択し得る。いずれの構成においても、IMSネットワーク320のP-CSCF322またはIBCFは、サービングコールステートコントロールファンクション(S-CSCF
: serving call state control function)324と、たとえば電話通信アプリケーショ
ンサーバ(TAS: telephony application server)326およびサードパーティ登録サーバ(third party registration server)(HSS)328といったサーバ326,3
28と通信し得る。
【0031】
いくつかの例では、UNIプロキシ200は、SIPプロキシ220とのSIPシグナリング223と、メディアプロキシ230とのメディアデータ233(たとえば、マルチメディアデータ)とを転送するように構成される。たとえば、メディアプロキシ230は、リアルタイムトランスポート(RTP)プロトコルのようなネットワークプロトコル133を通じて、コンパニオンデバイス120からマルチメディアデータ233(たとえば、オーディオおよび/またはビデオ)を受信し、メディアプロキシ接続232を通じてIMSネットワーク320にマルチメディアデータ233を転送する。いくつかの例では、メディアプロキシ接続232は、IMSネットワーク320においてIMSアクセスゲートウェイ330と通信するように構成される。一般的に言うと、IMSアクセスゲートウェイ330は、インバウンドおよび/またはアウトバウンドメディアストリーム(すなわち、メディアデータ)に関連付けられる(たとえば、開始および終了パーティの)アドレスが正しいことを保証する(たとえば、ネットワークアドレス変換(NAT)機能に非常に類似している)。いくつかの実現例では、メディアプロキシ230は、メディアプロキシ接続232を通じてメディアデータのメディア暗号化のためにセキュアRTP(sRTP: secure RTP)を使用する。これらの実現例では、メディア暗号化は、データグラムトランスポート層セキュリティ(DLTS)を使用する鍵交換を含み得る。代替的には、メディア暗号化は、簡略化されたデータ暗号化規格(S-DES: simplified data encryption standard)を使用し得る。
【0032】
UNIプロキシ200はさらに、エンドポイントとキャリア301との間でメディアデータ233を通信する際に、NATトラバースをサポートし得る。いくつかの例では、UNIプロキシ200は、キャリア301との接続経路を確立するためにインタラクティブコネクティビティエスタブリッシュメント(ICE)を使用する。たとえば、ICEは、加入者10のためのメディアデータ233を通信するために、NATのためのセッショントラバーサルユーティリティ(STUN)またはSTUNサーバを使用する。いくつかの例では、STUNサーバは、エンドポイントにおける加入者10が、IPアドレスに関係する情報と、メディア接続を確立するために使用されるNATのタイプとを発見することを可能にする。
【0033】
いくつかの構成では、(たとえば、メディアプロキシ230における)UNIプロキシ200は、エンドポイント(たとえば、一次デバイス110またはコンパニオンデバイス120)から受信されるメディアデータをトランスコードするように構成される。いくつかの例では、UNIプロキシ200は、G.711、G.722、および/または、Opusといったメディアオプションをサポートする。いくつかの実現例では、UNIプロキシ200は、同じコーデック内で複数の許可可能なビットレートをサポートする。たとえば、UNIプロキシ200は、エンドポイントから受信されるメディアをトランスコードするために、アダプティブマルチレートナローバンド(AMR-NB: adaptive multi-rate narrow band)またはアダプティブマルチレートワイドバンド(AMR-WB: adaptive multi-rate wide band)といったアダプティブマルチレートを使用する。付加的または代替的には、UNIプロキシ200は、エンハンスドボイスサービス(EVS)といった高精細音声コーデックをサポートする。たとえば、UNIプロキシ200は、EVS帯域とAMR帯域との両方で動作する。いくつかの構成では、UNIプロキシ200は、処理することなく、メディアデータをキャリア301に直接的に提供する。
【0034】
UNIプロキシ200がメディアデータサポートサービス(たとえばトランスコーディ
ング)を提供することによって、UNIプロキシ200は、エンドポイント110,120とキャリア301との間のコーデックの使用および/またはコーデックサポートを簡素化し得る。対照的に、エンドポイントが個々にコーデックをサポートする場合(たとえば、各マルチメディアデバイスが、所与のコーデックをライセンスする場合)、ライセンス料は、エンドポイントごとのベースでは、高価になる可能性がある。UNIプロキシ200におけるライセンス管理は、加入者10がより少ないライセンスを利用すること、および/または、より多くのデバイスにわたってより多くのコーデックをサポートすることを可能にし得る。換言すれば、エンドポイント(または各エンドポイント)ではなく、UNIプロキシ200が、ライセンスを取得および/または実現する。
【0035】
いくつかの例では、UNIプロキシ200は、キャリア301の加入者10に関連付けられる一次デバイス110から第2の要求130を受信する。ここで、第2の要求130は、一次デバイス110にリンクされる1つ以上の付加的なコンパニオンデバイスについて音声サービスを確立する。第1の要求130と同様に、第2の要求130は、一次デバイス110の加入者識別子132を含む。この例では、UNIプロキシ200は、1つ以上のコンパニオンデバイス120およびコンパニオンデバイス120を組み合わされたコンパニオンデバイスに集合させるように構成され、UNIプロキシ200は、組み合わされたコンパニオンデバイス(または1つより多いコンパニオンデバイス120)を、組み合わされたコンパニオンデバイスが単一のTLS接続123を介して通信されるように管理する。
【0036】
いくつかの実現例では、UNIプロキシ200は、エンドポイントについての登録データを抽出する。登録データにより、UNIプロキシ200は、音声通話サービスが加入者10について未だアクティブである時を検証し得る。したがって、このステップは、キャリア301のネットワーク320を用いて通話が行われる時にエンドポイントが登録されていることを確認する。
【0037】
図3は、UNIプロキシ200と音声サービスを確立する方法300のための動作の例示的な構成の例である。動作302において、方法300は、キャリア301の加入者10に関連付けられるモバイルデバイス(たとえば、一次デバイス110)から要求130を受信する。ここで、要求130は、モバイルデバイス110にリンクされるコンパニオンデバイス120についてキャリア301との音声サービスの確立を要求し、かつ、モバイルデバイスの加入者識別子132を含む。動作304において、方法300は、モバイルデバイスの加入者識別子132に基づいてコンパニオンデバイス120を認証する。動作306において、方法300は、モバイルデバイスの加入者識別子132に対応するセッションイニシエーションプロトコル(SIP)クレデンシャル140を取得する。動作308において、方法300は、UNIプロキシ200において、コンパニオンデバイス120についてSIPクレデンシャル140を登録する。UNIプロキシ200は、キャリア301のインターネットプロトコルマルチメディアサブシステム(IMS)ネットワーク320およびコンパニオンデバイス120と通信する。動作310において、方法300は、SIPクレデンシャル140を使用して、UNIプロキシ200を通じて、コンパニオンデバイス120とIMSネットワーク320との間で音声サービスを確立する。
【0038】
図4は、本明細書において記載されるシステム(たとえば、UNIプロキシ200、一次デバイス110および/またはコンパニオンデバイス120)と方法(たとえば、方法300)とを実現するために使用され得る例示的なコンピューティングデバイス400の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および、他の適切なコンピュータといったさまざまな形態のデジタルコンピュータを表すように意図される。ここで示されるコンポーネント、それらの接続および関係、ならびに、それら
の機能は、例示的であることのみを意味し、本明細書において記載および/または請求される発明の実現例を限定することを意味していない。
【0039】
コンピューティングデバイス400は、プロセッサ(たとえば、データ処理ハードウェア)410と、メモリ(たとえば、メモリハードウェア)420と、ストレージデバイス(たとえば、メモリハードウェア)430と、メモリ420および高速拡張ポート450に接続する高速インターフェイス/コントローラ440と、低速バス470およびストレージデバイス430に接続する低速インターフェイス/コントローラ460とを含む。コンポーネント410、420、430、440、450および460の各々は、さまざまなバスを使用して相互接続され、共通のマザーボード上にマウントされ得るか、または、適切なように他の態様でマウントされ得る。プロセッサ410は、コンピューティングデバイス400内での実行のための命令を処理し得、当該命令は、高速インターフェイス440に結合されるディスプレイ480のような外部入力/出力デバイス上にグラフィカルユーザインターフェイス(GUI)のためのグラフィカル情報を表示するために、メモリ420内に格納される命令またはストレージデバイス430上に格納される命令を含む。他の実現例では、複数のプロセッサおよび/または複数のバスが、適切なように、複数のメモリおよび複数のタイプのメモリとともに使用され得る。さらに、複数のコンピューティングデバイス400が接続されてもよく、各デバイスは、(たとえば、サーババンク、ブレードサーバのグループ、または、マルチプロセッサシステムとしての)必要な動作の部分を提供する。
【0040】
メモリ420は、コンピューティングデバイス400内において非一時的に情報を格納する。メモリ420は、コンピュータ読取可能媒体、揮発性メモリユニット、または、不揮発性メモリユニットであり得る。非一時的なメモリ420は、コンピューティングデバイス400による使用のために一時的または永続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を格納するために使用される物理的デバイスであり得る。不揮発性メモリの例は、フラッシュメモリと、リードオンリメモリ(ROM)/プログラマブルリードオンリメモリ(PROM: programmable read-only memory)/消去可能プログラマブルリードオンリメモリ(EPROM: erasable programmable read-only memory)/電子的に消去可能プログラマブルリードオンリメモリ(
EEPROM: electronically erasable programmable read-only memory)(たとえば
、ブートプログラムのようなファームウェアに典型的に使用される)とを含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM: random access memory)と、ダイナミックランダムアクセスメモリ(DRAM: dynamic random access memory)と、スタティックランダムアクセスメモリ(SRAM: static random access
memory)と、相変化メモリ(PCM: phase change memory)と、ディスクまたはテープとを含むが、これらに限定されない。
【0041】
ストレージデバイス430は、コンピューティングデバイス400のためのマスストレージデバイスを提供可能である。いくつかの実現例では、ストレージデバイス430は、コンピュータ読取可能媒体である。さまざまな異なる実現例では、ストレージデバイス430は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイであり得る。付加的な実現例では、コンピュータプログラムプロダクトは、情報キャリアにおいて有形的に具現化される。コンピュータプログラムプロダクトは、実行されると、上述の方法のような1つ以上の方法を実行する命令を含む。情報キャリアは、メモリ420、ストレージデバイス430、または、プロセッサ410上のメモリといったコンピュータ読取可能媒体またはマシン読取可能媒体である。
【0042】
高速コントローラ440は、コンピューティングデバイス400のための帯域幅集中的動作を管理する一方、低速コントローラ460は、より低い帯域幅集中的動作を管理する。このような動作の割り当ては単に、例示である。いくつかの実現例では、高速コントローラ440は、メモリ420に結合され、(たとえば、グラフィックプロセッサまたはアクセラレータを通じて)ディスプレイ480に結合され、かつ、さまざまな拡張カード(図示せず)を受け入れ得る高速拡張ポート450に結合される。いくつかの実現例では、低速コントローラ460は、ストレージデバイス430および低速拡張ポート490に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート490は、キーボード、ポインティングデバイス、スキャナ、または、スイッチもしくはルータといったネットワーキングデバイスのような1つ以上の入力/出力デバイスに、たとえばネットワークアダプタを通じて、結合され得る。
【0043】
コンピューティングデバイス400は、図に示されるように、多くの異なる形態で実現されてもよい。たとえば、標準的なサーバ400aとして実現されてもよく、そのようなサーバ400aのグループにおいて複数回実現されてもよく、ラップトップコンピュータ400bとして実現されてもよく、または、ラックサーバシステム400cの部分として実現されてもよい。
【0044】
本明細書において記載されるシステムおよび技術のさまざまな実現例は、デジタル電子回路および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/または、それらの組み合わせにおいて実現され得る。これらのさまざまな実現例は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムにおける実現例を含み得る。
【0045】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても既知である)は、プログラマブルプロセッサのためのマシン命令を含み、かつ、高レベル手続プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/または、アセンブリ/マシン言語で実現され得る。本明細書において使用されるように、「マシン読取可能媒体」および「コンピュータ読取可能媒体」という用語は、マシン読取可能信号としてマシン命令を受け取るマシン読取可能媒体を含む、マシン命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラムプロダクト、非一時的コンピュータ読取可能媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「マシン読取可能信号」という用語は、マシン命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0046】
本明細書において記載されるプロセスおよびロジックフローは、入力データに対して動作するとともに出力を生成することによって機能を実行するために1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され得る。プロセスおよびロジックフローはさらに、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった専用ロジック回路によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサとを含む。一般的に、プロセッサは、リードオン
リメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般的に、コンピュータはさらに、たとえば、磁気ディスク、光磁気ディスクまたは光ディスクといった、データを格納するための1つ以上のマスストレージデバイスを含むか、または、当該マスストレージデバイスからデータを受信するか、もしくは、当該マスストレージデバイスにデータを伝達するか、もしくは、その両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するのに好適なコンピュータ読取可能媒体は、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイスと、たとえば内部ハードディスクまたは取外し可能ディスクといった磁気ディスクと、光磁気ディスクと、CDROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用ロジック回路によって補われる得るか、または、専用ロジック回路に組み込まれ得る。
【0047】
ユーザとのインタラクションを提供するために、本開示の1つ以上の局面は、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンといった、ユーザに対して情報を表示するためのディスプレイデバイスと、随意に、ユーザがコンピュータに入力を提供し得るキーボードおよびたとえばマウスまたはトラックボールといったポインティングデバイスとを有するコンピュータ上で実現され得る。ユーザとのインタラクションを提供するために、他の種類のデバイスも同様に使用され得、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックといった任意の形態の感覚フィードバックであり得、ユーザからの入力は、音響入力、スピーチ入力、または触覚入力を含む任意の形態で受信され得る。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、かつ、当該デバイスからドキュメントを受信することによって、ユーザとインタラクションし得、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、当該ウェブブラウザにウェブページを送信することによってユーザとインタラクションし得る。
【0048】
多くの実現例が記載された。しかしながら、本開示の精神および範囲から逸脱することがなければ、さまざまな修正が行われ得ることが理解されるであろう。したがって、他の実現例は添付の請求の範囲内である。