(58)【調査した分野】(Int.Cl.,DB名)
前記受信されたデータの前記少なくとも一部を匿名化するステップと、クライアントデバイスから受信されるデータの前記ログ内に前記匿名化されたデータを記録するステップとをさらに含む、請求項1に記載の方法。
機密データは、連絡先情報、バックグラウンド音声データ、個人識別情報、所定のトランスクリプションキーワード、および地理的座標のうちの1つまたは複数を含む、請求項1に記載の方法。
【発明の概要】
【課題を解決するための手段】
【0003】
一実施形態によれば、本明細書は、例えば、ASR等の認識システムにユーザが提示するデータのうちの機密情報(Sensitive Information)を識別するためのプロセスであり、機密情報が消去される前に、認識システムの後続の反復によって使用される、例えば光学認識モデル、音響モデル、または言語モデルである認識器モデルをトレーニングするためにその情報を使用するためのプロセスを説明する。その際に、認識システムのさらなる反復は、機密情報の収集または記録に関して、全ての適切なデータプライバシースキームに適合しながらも、より正確に、類似の機密情報を含む提示されたデータを認識することができる。
【0004】
いくつかの態様では、本明細書で説明される主題は、方法で具現化されてよく、当該方法は、自動音声認識部を含むシステムによって、クライアントデバイスからデータを受信する動作と、受信されたデータの少なくとも一部が推定機密データ(Likely Sensitive Data)であることを判定する動作とを含んでよく、機密データは、クライアントデバイスから受信されるデータのログの中に記録されることなく、システムによって消去されるデータであるか、または受信の所定期間内にシステムにより削除されるデータである。追加の動作は、受信されたデータの前記少なくとも一部が消去される前に、受信されたデータの前記少なくとも一部を、自動音声認識部のための認識モデルをトレーニングするモデルトレーニングエンジンに提供することを含んでよい。さらなる動作は、受信されたデータの前記少なくとも一部が提供された後に、受信されたデータの前記少なくとも一部を消去することを含んでよい。
【0005】
他の変形例では、コンピュータ記録デバイス上に符号化された前記方法の動作を実行するように構成される、対応するシステム、装置、およびコンピュータプログラム含む。
【0006】
これらの、およびその他の変形例は、それぞれ、下記の特徴をうちの1つまたは複数を任意に含む。例えば、いくつかの実施形態において、受信されたデータは、音声データ、トランスクリプションデータ、およびコンテキストメタデータ(Contextual Metadata)のうちの1つまたは複数を含む。ある態様では、前記所定期間はデフォルトの期間よりも短く、機密ではなさそうだと判定されたデータはこのデフォルトの期間後に消去される。
【0007】
いくつかの態様では、受信されたデータの少なくとも一部が推定機密データであることを判定することを含む動作は、受信されたデータの前記少なくとも一部を複数の分類器に提供することであって、複数の分類器の各分類器は、異なる機密データの種類に関連付けられる、ことと、受信されたデータの前記少なくとも一部が、特定の機密データの種類に関連付けられるものとして、ある信頼性しきい値(Confidence Threshold)を上回ることの表示を、特定の機密データの種類に関連付けられる特定の分類器から受信することとを含む。いくつかの実施形態では、機密データの各種類は、関連付けられる消去についての所定期間を有する。
【0008】
ある態様では、動作は、受信されたデータの前記少なくとも一部を匿名化すること、およびクライアントデバイスから受信されるデータのログの中に匿名化されたデータを記録することを含む。いくつかの実施形態では、動作は、モデルトレーニングエンジンから、更新された認識モデルを受信すること、更新された認識モデルを自動音声認識部に提供すること、および更新された認識モデルを使用して、後に受信される音声データを認識することを含む。
【0009】
いくつかの態様において、機密データは、連絡先情報、バックグラウンド音声データ、個人識別情報、所定のトランスクリプションキーワード、および地理的座標のうちの1つまたは複数を含む。
【0010】
有利な実施形態において、下記の特徴のうちの1つまたは複数を含んでもよい。音声認識モデルが適合されることになる、いくつかの静的な発話、または例えば新しい電話からのクエリ、新しいノイズ状態、もしくは新しいアクセントであるデータセットがあることを想定することに代えて、説明される音声認識技術は、音声録音がログに入るときに、連続的なループにおいて常にトレーニングを行ってもよい。これは、正確に発話を認識するために必要な一定の音声発話および/またはコンテキスト情報が、ログ可能ではないかもしれない、および例えば数秒、数分、数日等ですぐにシステムから除去される必要があるかもしれないという課題を解決する。本明細書で説明される技術を用いて、モデルトレーニングは、分散型の逆伝播ニューラルネットワークトレーニングの実施に従ってよい。選択およびトランスクリプションアルゴリズムは、プロダクション設定に組み込まれてもよく、データポイントは、ログ内にデータが到達したときにリアルタイムでトレーニングサーバに送り込まれてもよい。ログを取ることが最小限に抑えられなければならない、またはログが一時的なストレージ内で実行されなければならないということを困難な法的環境が要求する市場において、説明される技術は、潜在的に、大規模な音声認識システムがよりうまく動作することを可能にする。
【0011】
本明細書で説明される主題の1つまたは複数の実施の詳細は、以下の添付の図面および記載において説明される。主題のその他の潜在的な特徴、態様、および利点は、明細書、図面、および特許請求の範囲から明らかになるだろう。
なお、種々の図面における類似の参照番号および記号表示は、類似の構成要素を示すものである。
【発明を実施するための形態】
【0013】
音声認識のための音響モデルをトレーニングすることは、例えば、数百、または数千ものマシンである相当な計算資源を消費するアルゴリズムを伴うものであり、良い品質を得るためには、例えば1週間またはそれ以上の非常に長い時間を要する。いくつかのトレーニング方法では、音声データの録音を常に保存することができることが想定され、これは、ユーザのプライバシー制限を伴うケースでなくてよい。プライバシー機微(Privacy-Sensitive)なプロダクション設定では、音声データは時として、ログすることが不可能なことあり、または短い期間でのみログすることが可能なことがある。時として、発話をより正確に文字に起こすために必要な追加のコンテキスト情報は、ログすることが不可能である。
【0014】
例えば、「ジョンにテキストメッセージを送信して」等の音声動作のための連絡先認識は、認識が行われたときに、ユーザの所有する連絡先が音声認識部に知らされる必要があり得る。この情報は、プロダクションクエリが入るときにアクセス可能であってよいが、ユーザの連絡先データベースを記録することは、様々なプライバシー上の懸念(Privacy Implication)が含まれ得る。時としてそのようなコンテキスト情報は、大きな音声認識の品質利益を可能にし得る。つまり、全ての法上の、およびセキュリティ上の基準を満たしつつも、音声認識および分析環境内においてそのような情報を取り扱うための、非ログコンテキスト情報を使用することが望ましい。従って、そのようなデータを音声認識および分析環境においてどのように取り扱い、記録し、または処理するかということにおける1つまたは複数の制限の対象である機密データのための高品質音声認識を提供するための向上した技術、システム、および方法の必要性が存在している。
【0015】
よって、本開示は、自動音声認識のための音響モデルをトレーニングする際に機密データを使用するための技術を説明する。例えば、機密データは、クライアントデバイスから受信されるデータのログに記録されることなく、システムによって消去されるデータであってよい。他の例では、機密データは、受信の所定期間内でシステムにより消去されるデータであってよい。この技術は、音声認識中の機密データの識別を含む。識別された機密データが削除される前に、データは、自動音声認識部をトレーニングするために使用されてよい。機密データは、例えば、データの音声内容内の機密情報、または音声内容のコンテキストに関連する機密情報を含むことができる。
【0016】
図1は、例示的な音声認識システム100の図である。ユーザ102は、認識およびトランスクリプションのための音声処理システム106に発話104を提示する。この例では、ユーザ102によって提示される発話104が、「私はボブ・スミスです。私のクレジットカードの番号は、01-234です。」というフレーズである。ユーザ102は、例えば、モバイルコンピューティングデバイス、タブレットコンピュータ、装着型コンピュータ、eブックリーダ、ラップトップコンピュータ等のコンピューティングデバイス112に発話104を伝える。コンピューティングデバイス112は、例えば、音声認識入力を伴うテキストエディタ、フリーフォーム入力を伴う検索バー、またはその他の適切なプログラムを実行していてよい。コンピューティングデバイス112は、例えば、発話104を符号化する、波形のデータファイル、音声ファイル、またはその他のデータタイプである音声データアイテム108aを含む音声認識リクエスト107を生成してよい。
【0017】
音声認識リクエスト107は、コンテキストデータ108bも含んでよい。コンテキストデータ108bは、例えば、発話104中にユーザ102がアクセスしていたアプリケーションもしくはウェブページに関連付けられる情報、ユーザ102の地理的座標、ユーザ102の連絡先リストに関連付けられる情報、またはその他のコンテキスト情報等であるコンテキスト情報を含んでよい。コンテキストデータ108bのその他の例は、リクエスト107のメタデータ、例えば、性別、年齢、アクセント、またはその他の特徴であるユーザ102の生体的な特徴、ノイズ状態、ユーザの所在する国/地域、および対話状況(Dialog State)を含む。ある場合では、音声認識リクエスト107は、機密データを含んでよい。コンピューティングデバイス112は、音声処理システム106にリクエスト107を送信してよい。
【0018】
音声処理システム106は、発話104に関連付けられる音声認識リクエスト107を受信し、リクエスト107を分析し、発話104のテキストトランスクリプション110を生成するシステムである。一般的に、テキストトランスクリプション110は、リクエスト107の発話の内容である、音声認識部の最有力候補を示す文字列またはその他のテキスト表現を含んでよい。トランスクリプション110は、コンピューティングデバイス112、またはその他のシステムもしくはプログラムに送信されてよい。音声処理システム106は、リアルタイム、または例えば、何十ミリ秒、何百ミリ秒、もしくはその他の時間期間である準リアルタイムで、ユーザ102にトランスクリプション110を送信してよい。
【0019】
一般に、音声処理システム106等のシステムは、大規模なユーザ母体内の複数のユーザからの音声認識リクエスト107を受信し得る。音声認識装置システムは、各リクエスト107に応答して、音声認識部によりリクエスト107について実行される1つまたは複数の認識処理のテキスト結果110を生成してよい。明確さのために単一のユーザ102が示されているが、音声認識部は、例えば、何万ものより大規模な数のユーザからリクエスト107を受信してよく、受信されたリクエスト107のいくつか、または全てを並列的に処理してよく、他のリクエスト107が受信および処理される間に各ユーザにはテキスト結果110を提供する。
【0020】
さらに、音声認識装置システムは、音声認識タスクを実行するための任意の種類の適切なシステムであってよい。例えば、音声認識装置は、異なるサービス、タスク、またはアプリケーションのための仮想マシンまたはジョブをもホスティングしている大規模な分散コンピューティング環境上で動作する仮想マシンまたはジョブのグループによって構成されてもよい。いくつかの実施形態では、音声認識装置は、サーバもしくはサービスの大規模システムの構成要素であってもよいし、またはいくつかの製品またはサービスと共に提供される多くのサービスのうちの1つのみであってもよい。
【0021】
例示的な音声処理システム106は、コンピューティングデバイス112から音声認識リクエスト107を受信するフロントエンド114を含む。フロントエンド114は、例えば、音声認識リクエスト107を受信し、処理のためにリクエスト107のデータの準備を行ってよい。フロントエンド114は、機密情報識別部116にリクエスト107を送信してよい。機密情報識別部116は、リクエスト内のデータの少なくとも一部が推定機密データであるか否かを判定するためにリクエスト107を分析してよい。
【0022】
機密情報識別部116は、リクエスト107内の推定機密データの種類を識別してよい。推定機密データは、音声データ108aおよび/またはコンテキストデータ108bに含まれ得る。機密情報識別部116は、推定機密情報について、音声データ108a内に存在するバックグラウンド音声を分析してよい。例えば、バックグラウンド音声は、ユーザの位置、ユーザ以外の話者を識別する情報、またはその他の推定機密情報を含んでよい。
【0023】
機密情報識別部116は、クレジットカード情報、銀行口座情報、合計金額、またはその他の推定機密金融情報である推定機密金融情報を識別してよい。機密情報識別部116は、例えば、ユーザの連絡先リスト上の人物、電話番号、Eメールアドレス、またはその他の推定機密連絡先情報であるユーザ連絡先情報も識別してよい。機密情報識別部116は、氏名、社会保障番号(Social Security Number)、住所、電話番号、またはその他の推定機密個人情報である推定機密個人情報を識別してよい。識別可能な機密データの例示的な種類が存在し、他の実施形態では、その他の機密データの種類が識別されてよい。例えば、他の情報は、全地球測位システム(GPS)座標等の位置情報、モバイル電話情報、ワイヤレスアクセス情報、ウェブページ情報、またはその他の情報もしくはデータを含んでよい。
【0024】
機密情報識別部116は、1つまたは複数の機密データ分類器118a〜eを含んでよく、各分類器a〜eは、異なる機密データの種類に関連付けられる。例えば、上記された機密データの各種類は、関連付けられる分類器を有してよい。各分類器は、リクエスト107の少なくとも一部が、その分類器に関連付けられる機密データを含むことの表示を提供してよい。例えば、分類器は、リクエスト107が、その分類器の関連付けられる機密データの種類に関連付けられるある信頼性しきい値(Confidence Threshold)を超える機密データ包含の尤度を有することの表示を提供してよい。
【0025】
図1に示される例を参照すると、機密情報識別部116は、リクエスト107内のいくつかの推定機密情報を識別している。バックグラウンド音声分類器118aは、バックグラウンド音声が機密情報を含んでいるようであると識別している。例えば、バックグラウンド音声は、ユーザ102が病院内に位置していることを示す音声を含んでよい。クレジットカード分類器118bは、発話104の音声データ108aが、推定機密クレジットカード情報、つまりクレジットカード番号「01-234」を含んでいることを識別している。一方で、ユーザ連絡先リスト分類器118cは、音声データ108aが、ユーザの連絡先リストについて推定機密情報を含んでいないことを判定している。個人情報分類器118dは、推定機密個人情報、つまり氏名「ボブ・スミス」を識別している。分類器118eで示されるその他の分類器は、その他の機密データの種類を判定してよい。
【0026】
機密情報識別部116は、リクエスト107のデータの一部、または全てをトレーニングエンジン118に送信してよい。ある場合では、リクエスト107のデータの一部、または全ては、フロントエンド114によって直接トレーニングエンジン118に送信される。トレーニングエンジン118は、自動音声認識装置、例えば自動音声認識部120によって使用され得る認識モデルをトレーニングする構成要素である。
【0027】
トレーニングエンジン118は、音声データ108aおよびコンテキストデータ108bの一部または全てを使用して、音声認識モデルを生成するか、または既存の音声モデルを更新してよい。場合によっては、音声データ108aを伴うコンテキストデータ108bの使用は、音声データ108aの単独の使用よりも、より正確な音声認識モデルを可能にすることができる。音声認識モデルは、トレーニングエンジン118と自動音声認識部120を接続する矢印119により
図1で示されるように、自動音声認識部に提供されてよい。この方法では、トレーニングエンジン118は、任意の推定機密データが消去される前に、推定機密データを含む、リクエスト107からの受信されたデータを使用することが可能である。
【0028】
リクエスト107のデータの一部または全てが自動音声認識部120に送信されてもよい。自動音声認識部120は、トレーニングエンジン118によって提供される音声認識モデルを使用して、音声データ108aのトランスクリプト110を生成する。トランスクリプト110は、コンピューティングデバイス112に提供される。
【0029】
リクエスト107のデータの一部または全ては、機密情報マネージャ122にも送信される。さらに、機密情報信号123が、機密情報識別部116から機密情報マネージャ122に送信されてよい。トランスクリプト110は、機密情報マネージャ122にも提供されてよい。機密情報信号123は、例えば、リクエスト107および/またはトランスクリプト110のどの部分が機密情報を含むようであるかを示してよい。機密情報信号123は、分類器118a〜eからの表示に基づいてよい。機密情報信号123に基づき、機密情報マネージャ122は、リクエスト107および/またはトランスクリプト110のどの部分がログされるべきであり、どの部分がログされるべきではないかを判定してよい。ログされるべきではないリクエスト107および/またはトランスクリプト110の一部は、例えば、消去されてよい。場合によっては、機密情報マネージャ122は、リクエストデータ107および/またはトランスクリプト110を匿名化してよい。例えば、トランスクリプト「私はボブ・スミスです」は、「私は〔氏名〕です」に匿名化されてよい。その他の匿名化技術も可能である。機密情報マネージャ122は、リクエスト107および/またはトランスクリプト110の一部を、記録のためのロガー124に提供してよい。
【0030】
図2は、自動音声認識部をトレーニングするための例示的なプロセス200を示すフローチャートである。例示的なプロセス200は、例えば、音声認識システム100の一部または全てによって実施されてよい。202において、クライアントデバイスからのデータが、自動音声認識部を含むシステムによって受信される。例えば、データは、波形のデータファイル、音声ファイル、もしくは発話を符号化するその他のデータタイプ、発話に関連付けられるメタデータ、トランスクリプションデータ、および/または発話に関連付けられるコンテキストデータを含んでよい。クライアントデバイス、ポータブルコンピュータ、スマートフォン、または以前で説明されたその他のクライアントデバイスであってよい。音声認識部は、音声データのトランスクリプションを生成する際に、例えば音響モデル、言語モデル、またはその他の種類の音声認識部の構成要素である1つまたは複数の音声認識部の構成要素を使用してよい。音声認識部の構成要素の1つまたは複数は、ニューラルネットワークを基礎とするものであってよい。
【0031】
204で、受信されたデータの少なくとも一部は、機密データであるようだと判定される。ある場合では、機密データは、クライアントデバイスから受信されるデータのログに記録されることなく、システムによって消去されるデータである。ある場合では、機密データは、連絡先情報、バックグラウンド音声データ、個人識別情報、所定のトランスクリプションキーワード、または地理的位置のうちの1つまたは複数を含んでよい。機密データは、受信の所定期間内にシステムにより消去されるデータであってもよい。例えば、この所定期間はデフォルトの期間よりも短くてよく、機密ではなさそうだと判定されたデータはこのデフォルトの期間後に消去される。いくつかの実施形態では、機密データの各種類は、消去について関連付けられる所定期間を有する。
【0032】
受信されたデータの少なくとも一部が推定機密データを含むことを判定することは、受信されたデータの少なくとも一部を1つまたは複数の分類器に提供することを含んでよい。各分類器は、機密データの異なる種類に関連付けられてよい。特定の機密データの種類に関連付けられる特定の分類器は、受信されたデータが、その特定の機密データの種類に関連付けられることの表示を生成してよい。
【0033】
206において、受信されたデータの少なくとも一部が消去される前に、受信されたデータの少なくとも一部は、自動音声認識部のための認識モデルをトレーニングするモデルトレーニングエンジンに提供される。受信されたデータの少なくとも一部は、音声データおよび/またはコンテキストデータであってよい。いくつかの実施形態では、自動音声認識部は、モデルトレーニングエンジンから更新された認識モデルを受信してよい。更新された認識モデルは、後に受信される音声データを認識するために、自動音声認識部によって使用されてよい。
【0034】
208において、受信されたデータの少なくとも一部がモデルトレーニングエンジンに提供された後に、受信されたデータの少なくとも一部が消去される。いくつかの実施形態では、受信されたデータの少なくとも一部が匿名化されてよく、匿名化されたデータは、クライアントデバイスから受信されるデータのログに記録されてよい。
【0035】
図3は、例示的な音声認識システム300の図である。システム300は、例えば、
図1に示される音声認識システム100、または
図2に示されるプロセスで実施されてよい。音声認識システム300は、プライバシー機密データ302を含む。プライバシー機密データ302は、音声認識リクエストであってよい。プライバシー機密データ302は、コンテキスト情報304および音声データ306を含んでよい。
【0036】
プライバシー機密データ302の一部は、ログ可能であると判定されることがある。例えば、プライバシー機密データ302の一部が、機密情報を含まないことがあり、その一部はログ可能であってよい。その他の例では、プライバシー機密データ302の一部は匿名化されてもよい。プライバシー機密データのログ可能な部分は、記録のためにロガー308に提供されてよい。いくつかの実施形態では、ロガー308は、個別の音声ストレージ310aおよび個別のコンテキストストレージ310bを含む。例えば、音声ストレージ310aは、音声データ306を記録してよく、コンテキストストレージは、コンテキストデータ304を記録してよい。いくつかの実施形態では、音声データ306は、コンテキストデータ304とは別に記録されない。
【0037】
プライバシー機密データの一部または全ては、例示的なモデルトレーニング部312に提供されてよい。モデルトレーニング部312は、例えば、音声認識部のためのトレーニングエンジンであってよい。いくつかの実施形態では、プライバシー機密データ302は、消去の前に、トレーニングのために一度だけ使用され、新たなプライバシー機密データ302が、連続的にモデルトレーニング部312に提供される。モデルトレーニング部312は、1つまたは複数の構成要素を含んでよい。例えば、モデルトレーニング部312は、314aに示されるように、ヒューリスティックベースのデータ選択を使用して、プライバシー機密データ302からのトレーニングデータを選択してよい。モデルトレーニング部312は、例えば、314bに示されるように、候補モデルを生成するために、ミニバッチトレーニング(Minibatch Training)技術、およびトレーニングループ技術を使用してよい。候補モデルが、314cに示されるように、ベストパフォーマンスを有するモデルを識別するために、検査および分析されてよい。モデルトレーニング部312は、その他の構成要素を含んでもよく、またはその他の技術を使用してもよい。
【0038】
音声モデル316は、モデルトレーニング部312からプロダクション音声認識サーバ318に提供されてよい。プロダクション音声認識サーバ318は、クライアントデバイスから音声認識リクエストを受信することができ、1つまたは複数の音声モデル316を使用して、音声トランスクリプションをクライアントデバイスに提供し返すことができる。この方法では、プライバシー機密データ保持に関連するシステムの任意のポリシーを維持しつつも、音声モデル316は、プライバシー機密データ302およびモデルトレーニング部312を使用して、連続的に更新されることが可能である。
【0039】
図4は、本明細書で説明する技術を実施するために使用することができる、コンピューティングデバイス400の例示、およびモバイルコンピューティングデバイスの例示を示す。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータ等の種々の形態のデジタルコンピュータを表すことが意図されている。モバイルコンピューティングデバイスは、パーソナルデジタルアシスタント、セルラ電話、スマートフォン、およびその他の類似のコンピューティングデバイス等の種々の形態のモバイルデバイスを表すことが意図されている。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、例示することのみを意図されており、本明細書において説明され、および/または請求されている発明の実施を制限することを意図されていない。
【0040】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記録デバイス406、メモリ404および高速拡張ポート410に接続する高速インターフェイス408、ならびに低速拡張ポート414および記録デバイス406に接続する低速インターフェイス412を備える。プロセッサ402、メモリ404、記録デバイス406、高速インターフェイス408、高速拡張ポート410、および低速インターフェイス412の各々は、種々のバスを使用して相互接続され、共通のマザーボード上に取り付けられてもよいし、または適切にその他の方法で取り付けられてもよい。プロセッサ402は、コンピューティングデバイス400内で、実行のための命令を処理することができ、当該命令は、高速インターフェイス408に結合されているディスプレイ416等の、外部入力/出力デバイス上にGUIのグラフィック情報を表示するために、メモリ404内に、または記録デバイス406上に、格納されている命令を含む。その他の実施では、複数のプロセッサおよび/または複数のバスが、適宜、複数のメモリおよび複数の種類のメモリとともに使用されてよい。また、複数のコンピューティングデバイスが、例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして、必要な動作の一部を提供する各デバイスと接続されてよい。
【0041】
メモリ404は、コンピューティングデバイス400内の情報を格納する。いくつかの実施形態では、メモリ404は、1つまたは複数の揮発性メモリユニットである。いくつかの実施形態では、メモリ404は、1つまたは複数の不揮発性メモリユニットである。メモリ404は、磁気ディスクまたは光ディスク等のコンピュータ可読媒体のその他の形態のものとすることもできる。
【0042】
記録デバイス406は、コンピューティングデバイス400のための大容量ストレージを提供することもできる。いくつかの実施形態では、記録デバイス406は、ストレージエリアネットワークまたは他の構成のデバイスを含む、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはデバイスアレイ等のコンピュータ可読媒体であるか、またはそのようなコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報キャリアにおいて明確に具現化されうる。コンピュータプログラム製品は、実行されると上記で説明したような1つまたは複数の方法を実行する命令も包含することができる。コンピュータプログラム製品は、メモリ404、記録デバイス406、またはプロセッサ402上のメモリ等の、コンピュータまたは機械可読な媒体において明確に具現化されることも可能である。
【0043】
高速インターフェイス408は、コンピューティングデバイス400に対する帯域幅を集中的に使用する動作を管理する一方で、低速インターフェイス412は、帯域幅を集中的に使用する程度の低いオペレーションを管理する。機能のこのような割り振りは例示的なものにすぎない。いくつかの実施形態では、高速インターフェイス408は、例えば、グラフィックスプロセッサまたはアクセラレータを介してメモリ404、ディスプレイ416に結合されるとともに、種々の拡張カード(図示せず)を受け入れることができる高速拡張ポート410に結合される。この実施では、低速インターフェイス412は、記録デバイス406および低速拡張ポート414に結合される。種々の通信ポート(例えば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet(登録商標))を含み得る、低速拡張ポート414は、キーボード、ポインティングデバイス、スキャナ、または例えば、ネットワークアダプタを介して、スイッチまたはルーター等のネットワーキングデバイス等の1つまたは複数の入力/出力デバイスに結合することができる。
【0044】
コンピューティングデバイス400は、図に示されるように、数多くの異なる形態で実施されてよい。例えば、標準サーバ420として、またはそのようなサーバのグループで何倍もの数で実施されてよい。さらに、ラップトップコンピュータ422等のパーソナルコンピュー内で実施されてもよい。また、ラックサーバシステム424の一部としても実施することができる。代替的に、コンピューティングデバイス400からの構成要素をモバイルコンピューティングデバイス450等のモバイルデバイス(図示せず)内の他の構成要素と組み合わせてもよい。そのようなデバイスのそれぞれは、コンピューティングデバイス400およびモバイルコンピューティングデバイス450のうちの1つまたは複数を包含してよく、システム全体が、互いに通信する複数のコンピューティングデバイスで構成されてよい。
【0045】
モバイルコンピューティングデバイス450は、数ある中でも、プロセッサ452、メモリ464、ディスプレイ454等の入力/出力デバイス、通信インターフェイス466、およびトランシーバ468を備える。モバイルコンピューティングデバイス450は、追加のストレージを提供するためにマイクロドライブまたは他のデバイス等の記録デバイスを備えてもよい。プロセッサ452、メモリ464、ディスプレイ454、通信インターフェイス466、およびトランシーバ468の各々は、様々なバスを使用して相互接続され、これらの構成要素のうちのいくつかは、共通マザーボード上に取り付けられるか、または適切な他の方法で取り付けられてよい。
【0046】
プロセッサ452は、メモリ464内に記録されている命令を含む、モバイルコンピューティングデバイス450内の命令を実行することができる。プロセッサは、個別の、および複数の、アナログおよびデジタルプロセッサを含むチップのチップセットとして実施されてよい。プロセッサは、例えば、ユーザインターフェイスの制御、モバイルコンピューティングデバイス450によるアプリケーション実行、モバイルコンピューティングデバイス450によるワイヤレス通信等の、モバイルコンピューティングデバイス450の他のコンポーネントの調整を提供してよい。
【0047】
プロセッサ452は、制御インターフェイス458およびディスプレイ454に結合されているディスプレイインターフェイス456を介してユーザと通信することができる。ディスプレイ454は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイまたはOLED(有機発光ダイオード)ディスプレイ、またはその他の適切なディスプレイ技術であってよい。ディスプレイインターフェイス456は、グラフィックおよび他の情報をユーザに提示するようにディスプレイ454を駆動するための適切な回路を備えてよい。制御インターフェイス458は、ユーザからコマンドを受け取り、それらをプロセッサ452に送るために変換してよい。加えて、外部インターフェイス462は、プロセッサ452と通信するように構成され、モバイルコンピューティングデバイス450と他のデバイスとの近距離通信を行うことを可能にする。外部インターフェイス462は、例えば、いくつかの実施形態における有線通信、または他の実施における無線通信を行うことができ、複数のインターフェイスが使用されてもよい。
【0048】
メモリ464は、モバイルコンピューティングデバイス450内の情報を記録する。メモリ464は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実施することができる。拡張メモリ474も、例えば、SIMM(シングルインラインメモリモジュール)カードインターフェイスを含み得る、拡張インターフェイス472を介して提供され、モバイルコンピューティングデバイス450に接続され得る。このような拡張メモリ474は、モバイルコンピューティングデバイス450に対する付加的な記録領域を設けることができるか、またはモバイルコンピューティングデバイス450のためのアプリケーションまたは他の情報を記録することもできる。特に、拡張メモリ474は、上記のプロセスを実行するか、または補助する命令を含んでよく、またセキュア情報も含んでよい。したがって、例えば、拡張メモリ474は、モバイルコンピューティングデバイス450に対するセキュリティモジュールとして提供されてよく、モバイルコンピューティングデバイス450の安全な使用を可能にする命令でプログラムされてよい。それに加えて、安全なアプリケーションは、SIMMカードを介して、ハッキングできない形でSIMMカード上に識別情報を配置する等、付加情報とともに提供されてもよい。
【0049】
メモリは、例えば、後述のように、フラッシュメモリおよび/またはNVRAMメモリ(非不揮発性ランダムアクセスメモリ)が挙げられる。いくつかの実施形態では、コンピュータプログラム製品は、情報キャリアで明確に具現化される。コンピュータプログラム製品は、実行されると上記のような1つまたは複数の方法を実行する命令を含む。コンピュータプログラム製品は、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリ等のコンピュータ可読媒体または機械可読媒体であってよい。いくつかの実施形態では、コンピュータプログラム製品は、例えば、トランシーバ468または外部インターフェイス462を介して伝搬信号内で受信されてよい。
【0050】
モバイルコンピューティングデバイス450は、必要に応じ、デジタル信号処理回路を備え得る通信インターフェイス466を介して無線で通信することができる。通信インターフェイス466は、特に、GSM(登録商標) (Global System for Mobile communications)音声電話、SMS(Short Message Service)、EMS(Enhanced Messaging Service)、またはMMS(Multimedia Messaging Service)メッセージング、CDMA(Code Division Multiple Access)、TDMA(Time Division Multiple Access)、PDC(Personal Digital Cellular)、WCDMA(登録商標)(Wideband Code Division Multiple Access)、CDMA2000、またはGPRS(General Packet Radio Service)等の、様々なモードまたはプロトコルでの通信を提供してよい。そのような通信は、例えば、無線周波トランシーバ468を介して行うことができる。それに加えて、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)等を使用して、近距離通信を実行することができる。それに加えて、GPS(全地球測位システム)受信機モジュール470は、追加のナビゲーションおよび位置関係無線データをモバイルコンピューティングデバイス450に送ることができ、これはモバイルコンピューティングデバイス450上で実行するアプリケーションによって適宜使用され得る。
【0051】
モバイルコンピューティングデバイス450は、オーディオコーデック460を使用して音声で通信してもよく、オーディオコーデック460は、ユーザから発話情報を受信し、それを使用可能なデジタル情報に変換することができる。オーディオコーデック460は、さらに、例えばモバイルコンピューティングデバイス450のハンドセットのスピーカー等を介して、ユーザに対する可聴音を発生することができる。このような音声は、音声電話からの音声を含んでもよいし、例えば、音声メッセージ、音楽ファイル等である記録された音声を含んでもよいし、または、モバイルコンピューティングデバイス450上で動作するアプリケーションによって生成される音声も含んでよい。
【0052】
モバイルコンピューティングデバイス450は、図に示されているように、数多くの異なる形態で実施されてよい。例えば、セルラ電話480として実施されてよい。また、スマートフォン382、パーソナルデジタルアシスタント、または他の類似のモバイルデバイスの一部として実施することもできる。
【0053】
本明細書で説明されているシステムおよび技術の様々な実施は、デジタル電子回路、集積回路、専用設計ASIC(特定用途向け集積回路)、コンピュータのハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組合せで実現されてよい。これらの様々な実施は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送るように結合された、特定の、または一般的な用途であってよい、少なくとも1つのプログラム可能なプロセッサを備えるプログラム可能なシステム上で実行可能であり、および/または解釈可能である1つまたは複数のコンピュータプログラムによる実施を含んでよい。
【0054】
プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られるこれらのコンピュータプログラムは、プログラム可能なプロセッサ用の機械語命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械語で実装されうる。本明細書で使用されているように、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械語命令を受け取る機械可読媒体を含む、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用されるコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用される信号を指す。
【0055】
ユーザと情報のやり取りを行うために、本明細書で説明されるシステムおよび技術は、ユーザに情報を表示するための表示デバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)、ならびにユーザがコンピュータに入力を提供するために使用可能なキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上で実施することができる。他の種類のデバイスも、ユーザと情報をやり取りするために使用されてよく、例えば、ユーザに返されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってよく、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信されてよい。
【0056】
本明細書で説明されるシステムおよび技術は、例えばデータサーバとしてのバックエンド構成要素を含む、または例えばアプリケーションサーバであるミドルウェア構成要素を含む、または例えば、ユーザが本明細書で説明されているシステムおよび技術の実施とやり取りを行うのに使用されるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータであるフロントエンド構成要素を含むコンピューティングシステム、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せで実施することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)によって相互接続されてよい。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【0057】
コンピューティングシステムは、クライアントおよびサーバを含んでよい。クライアントおよびサーバは、一般に、互いに遠隔に位置しており、典型的には、通信ネットワークを介して情報のやり取りを行う。クライアントとサーバとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバ関係を有することによって発生する。
【0058】
多くの実施形態が説明されてきた。しかしながら、本開示の主旨および範囲から逸脱することなく様々な修正を加えることができることは理解されるであろう。 それに加えて、図に示されている論理の流れは、所望の結果を得るために、図示されている特定の順序、またはシーケンシャルな順序を必要としない。それに加えて、他のステップを与えるか、または説明されている流れからステップを取り除くこともでき、また他のコンポーネントを説明されているシステムに追加するか、または説明されているシステムから取り除くことができる。したがって、他の実施形態は、請求項の範囲内に収まる。