(57)【特許請求の範囲】
【請求項１】
コンピュータが実施する方法であって、
アプリケーションコンポーネントからドメイン名を有するネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
プロセッサ回路を使用して、前記ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、前記複数のゼロレーティング書き換えルールはデータストアから取得され、前記複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられており、
前記ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、前記ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するステップと、前記ネットワークリソースと一致するゼロレーティング書き換えルールは、前記ネットワークリソースに関する前記ドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応しており、
特定されたゼロレーティング書き換えルールを使用して、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換するステップと、前記ゼロレーティングのネットワーク要求は、前記ネットワーク要求から前記ネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含んでおり、
ネットワークインタフェースコントローラを使用してゼロレーティングのネットワーク要求を実行するステップとを含む方法。
【請求項２】
前記ネットワークリソースはネットワークサーバ上にホストされており、前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較することは、前記ネットワークリソースに対するドメイン名と前記複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含み、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含み、前記ゼロレーティングのネットワーク要求を実行することは、前記ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む、請求項１に記載の方法。
【請求項３】
前記ネットワークリソースはウェブリソースを含み、前記ネットワーク要求は前記ウェブリソースに関する非ゼロレーティングのユニフォームリソースロケータを含み、前記ゼロレーティングのネットワーク要求は、非ゼロレーティングのユニフォームリソースロケータに基づいて生成されたゼロレーティングのユニフォームリソースロケータを含み、前記ゼロレーティングのユニフォームリソースロケータは、ゼロレーティングのウェブサーバを決定する、請求項１に記載の方法。
【請求項４】
前記アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、前記ネットワークリソースをゼロレーティングすることができるか否かを決定するステップであって、前記ゼロレーティングチェック要求は、前記ネットワーク要求を受信する前に受信される、前記決定するステップと、
前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、
前記ゼロレーティング書き換えルールを特定することに基づいて前記ネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知するステップとを含む請求項１に記載の方法。
【請求項５】
前記複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信するステップであって、前記複数のゼロレーティング書き換えルールは、ネットワークアクセスコンポーネントによって維持され、前記ゼロレーティングのサーバは、ネットワークアクセスコンポーネントの初期化中の前記複数のゼロレーティング書き換えルールの初期取得に関して前記ネットワークアクセスコンポーネントとともに事前設定される、請求項３に記載の方法。
【請求項６】
ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信するステップと、
前記ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行するステップとを含む請求項１に記載の方法。
【請求項７】
装置であって、
モバイルデバイス上のプロセッサ回路と、
複数のゼロレーティング書き換えルールを格納するように動作するデータストアと、
前記モバイルデバイス上のアプリケーションコンポーネントからドメイン名を有するネットワークリソースへのアクセスのためのネットワーク要求を受信し、前記ネットワークリソースを前記データストアから取得した前記複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースに一致するゼロレーティング書き換えルールを特定し、前記複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられており、前記ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、前記ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定し、前記ネットワークリソースと一致するゼロレーティング書き換えルールは、前記ネットワークリソースに関する前記ドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応しており、特定されたゼロレーティング書き換えルールを使用して前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換し、前記ゼロレーティングのネットワーク要求は、前記ネットワーク要求から前記ネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含んでおり、前記ゼロレーティングのネットワーク要求を実行するように前記プロセッサ回路上で動作するネットワークアクセスコンポーネントとを備える装置。
【請求項８】
前記ネットワークリソースはネットワークサーバ上にホストされており、前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較することは、前記ネットワークリソースに対するドメイン名と前記複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含み、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含み、前記ゼロレーティングのネットワーク要求を実行することは、前記ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む、請求項７に記載の装置。
【請求項９】
前記ネットワークアクセスコンポーネントは、前記アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、前記ネットワークリソースをゼロレーティングすることができるか否かを決定し、ここで、前記ゼロレーティングチェック要求は、前記ネットワーク要求を受信する前に受信され、前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定し、前記ゼロレーティング書き換えルールを特定することに基づいて前記ネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知するように動作する、請求項７に記載の装置。
【請求項１０】
前記ネットワークアクセスコンポーネントは、前記複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信するように動作する、請求項７に記載の装置。
【請求項１１】
前記ゼロレーティングのサーバは、ネットワークアクセスコンポーネントの初期化中の前記複数のゼロレーティング書き換えルールの初期取得に関して前記ネットワークアクセスコンポーネントとともに事前設定される、請求項１０に記載の装置。
【請求項１２】
前記ネットワークアクセスコンポーネントは、ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信し、前記ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行するように動作する、請求項７に記載の装置。
【請求項１３】
命令を含む少なくとも１つのコンピュータ読み取り可能な記憶媒体であって、前記命令は実行時にシステムに
アプリケーションコンポーネントからドメイン名を有するネットワークリソースへのアクセスのためのネットワーク要求を受信し、
前記ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定し、前記複数のゼロレーティング書き換えルールはデータストアから取得され、前記複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられており、
前記ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、前記ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定し、前記ネットワークリソースと一致するゼロレーティング書き換えルールは、前記ネットワークリソースに関する前記ドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応しており、
特定されたゼロレーティング書き換えルールを使用して、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換し、前記ゼロレーティングのネットワーク要求は、前記ネットワーク要求から前記ネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含んでおり、
ゼロレーティングのネットワーク要求を実行することを行わせる、コンピュータ読み取り可能な記憶媒体。
【請求項１４】
前記ネットワークリソースはネットワークサーバ上にホストされており、前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較することは、前記ネットワークリソースに対するドメイン名と前記複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含み、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含み、前記ゼロレーティングのネットワーク要求を実行することは、前記ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む、請求項１３に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１５】
前記アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、前記ネットワークリソースをゼロレーティングすることができるか否かを決定し、ここで、前記ゼロレーティングチェック要求は、前記ネットワーク要求を受信する前に受信され、
前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定し、
前記ゼロレーティング書き換えルールを特定することに基づいて前記ネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知することをシステムに行わせる更なる命令を含む、請求項１３に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１６】
前記複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信し、
ゼロレーティングのサーバを用いて前記複数のゼロレーティング書き換えルールを所定のスケジュールで更新することをシステムに行わせる更なる命令を含む請求項１３に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１７】
ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信し、
前記ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行することシステムに行わせる更なる命令を含む請求項１３に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１８】
コンピュータが実施する方法であって、
アプリケーションコンポーネントからドメイン名を有するネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
前記ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、前記複数のゼロレーティング書き換えルールはデータストアから取得され、前記複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられており、
前記ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、前記ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するステップと、前記ネットワークリソースと一致するゼロレーティング書き換えルールは、前記ネットワークリソースに関する前記ドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応しており、
特定されたゼロレーティング書き換えルールを使用して、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換するステップと、前記ゼロレーティングのネットワーク要求は、前記ネットワーク要求から前記ネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含んでおり、
ゼロレーティングのネットワーク要求を実行するステップと
を含む方法。
【請求項１９】
前記ネットワークリソースはウェブリソースを含み、前記ネットワーク要求は前記ウェブリソースに関する非ゼロレーティングのユニフォームリソースロケータを含み、前記ゼロレーティングのネットワーク要求は、非ゼロレーティングのユニフォームリソースロケータに基づいて生成されたゼロレーティングのユニフォームリソースロケータを含み、前記ゼロレーティングのユニフォームリソースロケータは、ゼロレーティングのウェブサーバを決定する、請求項１８に記載の方法。
【請求項２０】
前記アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、前記ネットワークリソースをゼロレーティングすることができるか否かを決定するステップであって、前記ゼロレーティングチェック要求は、前記ネットワーク要求を受信する前に受信される、前記決定するステップと、
前記ネットワークリソースを前記複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、
前記ゼロレーティング書き換えルールを特定することに基づいて前記ネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知するステップとを含む請求項１８または１９に記載の方法。
【請求項２１】
前記複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信するステップを含む請求項１８乃至２０のいずれか１項に記載の方法。
【請求項２２】
前記複数のゼロレーティング書き換えルールは、ネットワークアクセスコンポーネントによって維持され、前記ゼロレーティングのサーバは、ネットワークアクセスコンポーネントの初期化中の前記複数のゼロレーティング書き換えルールの初期取得に関して前記ネットワークアクセスコンポーネントとともに事前設定される、請求項２１に記載の方法。
【請求項２３】
ゼロレーティングのサーバを用いて前記複数のゼロレーティング書き換えルールを所定のスケジュールで更新するステップを含む請求項１８乃至２２のいずれか１項に記載の方法。
【請求項２４】
ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信するステップと、
前記ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行するステップとを含む請求項１８乃至２３のいずれか１項に記載の方法。
【請求項２５】
コンピュータが実施する方法であって、
アプリケーションコンポーネントからネットワークサーバ上にホストされたネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
前記ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップであって、プロセッサ回路を使用して、前記ネットワークリソースに対するドメイン名と複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含む前記特定するステップと、
特定されたゼロレーティング書き換えルールを使用して、前記ネットワーク要求を前記ネットワークリソースに対するゼロレーティングのネットワーク要求に変換するステップであって、特定されたゼロレーティング書き換えルールを使用して、前記ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含む前記変換するステップと、
ネットワークインタフェースコントローラを使用してゼロレーティングのネットワーク要求を実行するステップであって、ネットワークインタフェースコンポーネントを使用して、前記ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む前記実行するステップとを含む方法。
【請求項２６】
コンピュータが実施する方法であって、
アプリケーションコンポーネントからドメイン名を有するネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
前記ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、前記ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、前記複数のゼロレーティング書き換えルールはデータストアから取得され、前記複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられている、前記特定するステップと、
プロセッサ回路を使用して、前記ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、前記ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するステップと、
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換するステップであって、前記ゼロレーティングのネットワーク要求は、前記ネットワーク要求に関するドメイン名を置き換えるゼロレーティングのドメイン名を含む、前記変換するステップと、
ネットワークインタフェースコンポーネントを使用して、前記ゼロレーティングのネットワーク要求を実行するステップとを含む方法。
【請求項２７】
実行時に請求項１８乃至２６のいずれか１項に記載の方法を実行するように動作可能なソフトウェアを実施形態化した１つまたは複数のコンピュータ読み取り可能な非一時的記憶媒体。
【請求項２８】
システムであって、１つまたは複数のプロセッサと、前記プロセッサに接続され、前記プロセッサによって実行可能な命令を含む少なくとも１つのメモリとを備え、前記プロセッサは、前記命令の実行時に、請求項１８乃至２６のいずれか１項に記載の方法を実行するように動作可能である、システム。
【請求項２９】
コンピュータプログラムであって、前記コンピュータプログラムは、データ処理システム上で実行されるときに前記データ処理システムに請求項１８乃至２６のいずれか１項に記載の方法を実行させるように動作可能である、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
セルラー電話事業者は、セルラー加入者にセルラーデータ通信を提供し得る。例えば、スマートフォンおよび他のモバイルデバイスは、ウェブページを取得するためにセルラーネットワーク上で使用されるウェブブラウザを実行する。さらに、モバイルデバイスに予めインストールされているか、またはユーザがインストールし得る多くのアプリケーションは、セルラーデータ通信を使用して、インターネット上で利用可能なリソースなどのリモートデータにアクセスする。これらのアプリケーションのいくつかは、従来のウェブアクセスとは異なるデータアクセスであっても、データアクセスのためにウェブ要求（ハイパーテキストトランスポートプロトコルセキュア（ＨＴＴＰＳ）などのハイパーテキストトランスポートプロトコル（ＨＴＴＰ）や関連プロトコルに準拠する要求）を使用し得る。例えば、ソーシャルネットワーキングアプリケーションは、ソーシャルネットワークの使用のためにカスタマイズされたスマートフォンインタフェースを提示し、ＨＴＴＰまたはＨＴＴＰＳ要求を使用してカスタマイズされたスマートフォンインタフェース上に提示されたデータを取得する。
【０００２】
セルラー電話事業者は、セルラー加入者に無料で、または制限なく無料でセルラーデータ通信を提供しない。代わりに、セルラー加入者は、電話会社のセルラーネットワークで使用する帯域幅に対して請求される。しかしながら、セルラーアクセスの中には、「ゼロレーティング」のものもある。ゼロレーティングのセルラーアクセスは、セルラー加入者のプランまたはプリペイド購入に含まれ得る上限ありの無料のセルラーデータ通信には寄与しない。たとえその加入者が割り当てられた、またはプリペイドのセルラーデータアクセスの制限量を超えていても、またはそのような割り当て済み、またはプリペイドのセルラーデータアクセスが存在しない場合でも、ゼロレーティングのセルラーアクセスは、セルラー加入者に対する料金が発生しない。ゼロレーティングのセルラーアクセスは、アクセスされる特定のネットワークに依存し、セルラー電話事業者は、セルラー加入者がゼロレーティングのアクセスを有する１つまたは複数のネットワークアドレス（例えば、インターネットプロトコル（ＩＰ）アドレス等）のリストを有する。このリストはセルラー電話事業者によって異なる場合がある。
【発明の概要】
【０００３】
以下は、本明細書に記載されるいくつかの新規な実施形態の基本的な理解を提供するための簡略化した概要を提示する。この要約は広範な概要ではなく、極めて重要な要素／重要な要素を特定すること、またはその範囲を説明することを意図したものではない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして、いくつかの概念を簡略化した形で提示することである。
【０００４】
様々な実施形態は、一般に、ネットワークリソース要求をゼロレーティングのネットワーク要求に変換する技術に向けられている。いくつかの実施形態は、特に、要求の宛先をネットワークリソースのゼロレーティングのソースに置き換えることによって、セルラーネットワーク上のネットワークリソース要求をゼロレーティングに変換する技術に向けられている。一実施形態では、例えば、装置は、データストアおよびネットワークアクセスコンポーネントを備える。データストアは、複数のゼロレーティング書き換えルールを格納するように動作する。ネットワークアクセスコンポーネントは、モバイルデバイス上のアプリケーションコンポーネントからネットワークリソースへのアクセスのためのネットワーク要求を受信し、ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースに一致するゼロレーティング書き換えルールを特定し、特定されたゼロレーティング書き換えルールを使用してネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換し、ゼロレーティングのネットワーク要求を実行するように動作可能である。他の実施形態が記載され、特許請求の範囲に含まれる。
【０００５】
前述の目的および関連する目的を達成するために、以下の説明および添付の図面に関連して、いくつかの例示的な態様を本明細書で説明する。これらの態様は、本明細書に開示された原理を実施することができ、そのすべての態様および均等物が請求される主題の範囲内にあることが意図される様々な方法を示す。他の利点および新規な特徴は、図面と併せて考慮すると、以下の詳細な説明から明らかとなる。
【０００６】
本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲に開示されている。１つの請求項のカテゴリー、例えば、方法において記載された特徴は、別の請求項のカテゴリー、例えば、システムにおいても同様に請求される。添付の特許請求の範囲に記載された従属性または請求項の参照は、形式的な理由のためにのみ選択される。しかしながら、請求項およびその特徴の任意の組合せが開示され、かつ添付されている従属関係に関係なく請求することができるように、以前の請求項（特に多数項従属）への意図的な参照から生じる主題は同様に請求することができる。特許請求の範囲において請求することができる主題は、添付の請求項に記載されている特徴の組合せだけでなく、特許請求の範囲内の他の特徴の組合せをも含み、特許請求の範囲に記載された各特徴は、請求項の他の特徴または特許請求の範囲における他の特徴の組合せと組合せることができる。さらに、本明細書に記載または図示された実施形態および特徴のうちのいずれかは、別個の請求項および／または本明細書に記載または図示される任意の実施形態または特徴との任意の組合せにおいて請求することができる。
【０００７】
本発明による一実施形態において、コンピュータが実施する方法は、
アプリケーションコンポーネントからネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
プロセッサ回路を使用して、ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換するステップと、
ネットワークインタフェースコントローラを使用してゼロレーティングのネットワーク要求を実行するステップとを含む。
【０００８】
本発明による更なる実施形態では、本発明による方法または上記の実施形態のいずれかにおいて、ネットワークリソースはウェブリソースを含み、ネットワーク要求は、ウェブリソースに関する非ゼロレーティングのユニフォームリソースロケータを含む。ゼロレーティングのネットワーク要求は、非ゼロレーティングのユニフォームリソースロケータに基づいて生成されたゼロレーティングのユニフォームリソースロケータを含み、ゼロレーティングのユニフォームリソースロケータは、ゼロレーティングのウェブサーバを決定する。
【０００９】
本発明による更なる実施形態において、ネットワークリソースはネットワークサーバ上にホストされており、ネットワークリソースを複数のゼロレーティング書き換えルールと比較することは、ネットワークリソースに対するドメイン名と複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含み、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含み、ゼロレーティングのネットワーク要求を実行することは、ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む。
【００１０】
本発明による更なる実施形態において、ゼロレーティングのネットワーク要求は、ネットワーク要求からネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含み、方法は、
複数のゼロレーティング書き換えルールをデータストアから取得するステップであって、複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられている、取得するステップと、
ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するステップとをさらに含み、ネットワークリソースと一致するゼロレーティング書き換えルールは、ネットワークリソースに関するドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応している。
【００１１】
本発明による更なる実施形態において、方法は、
アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、ネットワークリソースをゼロレーティングすることができるか否かを決定するステップであって、ゼロレーティングチェック要求は、ネットワーク要求を受信する前に受信される、決定するステップと、
ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定するステップと、
ゼロレーティング書き換えルールを特定することに基づいてネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知するステップとを含む。
【００１２】
本発明による更なる実施形態において、方法は、複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信するステップを含む。
本発明による更なる実施形態において、方法では、複数のゼロレーティング書き換えルールは、ネットワークアクセスコンポーネントによって維持され、ゼロレーティングのサーバは、ネットワークアクセスコンポーネントの初期化中の複数のゼロレーティング書き換えルールの初期取得に関してネットワークアクセスコンポーネントとともに事前設定される。
【００１３】
本発明による更なる実施形態において、方法は、
ゼロレーティングのサーバを用いて複数のゼロレーティング書き換えルールを所定のスケジュールで更新するステップを含む。
【００１４】
本発明による更なる実施形態において、方法は、
ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信するステップと、
ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行するステップとを含む。
【００１５】
本発明による更なる実施形態において、方法は、
アプリケーションコンポーネントからネットワークサーバ上にホストされたネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
プロセッサ回路を使用して、ネットワークリソースに対するドメイン名と複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定するステップと、
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えるステップと、
ネットワークインタフェースコンポーネントを使用して、ゼロレーティングのネットワークサーバにネットワークリソースを要求するステップとを含む。
【００１６】
本発明による更なる実施形態において、方法は、
アプリケーションコンポーネントからネットワークリソースへのアクセスのためのネットワーク要求を受信するステップと、
複数のゼロレーティング書き換えルールをデータストアから取得するステップであって、複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられている、取得するステップと、
プロセッサ回路を使用して、ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するステップと、
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換するステップであって、ゼロレーティングのネットワーク要求は、ネットワーク要求に関するドメイン名を置き換えるゼロレーティングのドメイン名を含む、変換するステップと、
ネットワークインタフェースコンポーネントを使用して、ゼロレーティングのネットワーク要求を実行するステップとを含む。
【００１７】
ネットワークリソースはネットワークサーバ上にホストされている。
ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定することは、プロセッサ回路を使用して、ネットワークリソースに対するドメイン名と複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含む。
【００１８】
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含む。
【００１９】
ゼロレーティングのネットワーク要求を実行することは、ネットワークインタフェースコンポーネントを使用して、ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む。
【００２０】
ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定することは、プロセッサ回路を使用して、ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定することを含む。
【００２１】
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換することを含み、ゼロレーティングのネットワーク要求は、ネットワーク要求に関するドメイン名を置き換えるゼロレーティングのドメイン名を含む。
【００２２】
ゼロレーティングのネットワーク要求を実行することは、ネットワークインタフェースコンポーネントを使用して、ゼロレーティングのネットワーク要求を実行することを含む。
【００２３】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、装置は、
モバイルデバイス上のプロセッサ回路と、
複数のゼロレーティング書き換えルールを格納するように動作するデータストアと、
モバイルデバイス上のアプリケーションコンポーネントからネットワークリソースへのアクセスのためのネットワーク要求を受信し、ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースに一致するゼロレーティング書き換えルールを特定し、特定されたゼロレーティング書き換えルールを使用してネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換し、ゼロレーティングのネットワーク要求を実行するようにプロセッサ回路上で動作するネットワークアクセスコンポーネントとを備える。
【００２４】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、本発明によるか、上述の実施形態のいずれかによる装置では、ネットワークリソースはネットワークサーバ上にホストされており、ネットワークリソースを複数のゼロレーティング書き換えルールと比較することは、ネットワークリソースに対するドメイン名と複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含み、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含み、ゼロレーティングのネットワーク要求を実行することは、ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む。
【００２５】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、本発明によるか、上述の実施形態のいずれかによる装置では、ゼロレーティングのネットワーク要求は、ネットワーク要求からネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含み、ネットワークアクセスコンポーネントは、複数のゼロレーティング書き換えルールをデータストアから取得し、ここで、複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられており、ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するように動作し、ネットワークリソースと一致するゼロレーティング書き換えルールは、ネットワークリソースに関するドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応している。
【００２６】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、本発明によるか、上述の実施形態のいずれかによる装置では、ネットワークリソースはウェブリソースを含み、ネットワーク要求は、ウェブリソースに関する非ゼロレーティングのユニフォームリソースロケータを含む。ゼロレーティングのネットワーク要求は、非ゼロレーティングのユニフォームリソースロケータに基づいて生成されたゼロレーティングのユニフォームリソースロケータを含み、ゼロレーティングのユニフォームリソースロケータは、ゼロレーティングのウェブサーバを決定する。
【００２７】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、装置では、ネットワークアクセスコンポーネントが、アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、ネットワークリソースをゼロレーティングすることができるか否かを決定し、ここで、ゼロレーティングチェック要求は、ネットワーク要求を受信する前に受信され、ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定し、ゼロレーティング書き換えルールを特定することに基づいてネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知するように動作する。
【００２８】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、装置では、ネットワークアクセスコンポーネントが、複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信するように動作する。
【００２９】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、装置では、ゼロレーティングのサーバが、ネットワークアクセスコンポーネントの初期化中の複数のゼロレーティング書き換えルールの初期取得に関してネットワークアクセスコンポーネントとともに事前設定される。
【００３０】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、装置では、ネットワークアクセスコンポーネントが、ゼロレーティングのサーバを用いて複数のゼロレーティング書き換えルールを所定のスケジュールで更新するように動作する。
【００３１】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、装置では、ネットワークアクセスコンポーネントが、ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信し、ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行するように動作する。
【００３２】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、少なくとも１つのコンピュータ読み取り可能な記憶媒体は、命令を含み、命令は実行時にシステムに
アプリケーションコンポーネントからネットワークリソースへのアクセスのためのネットワーク要求を受信し、
ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定し、
特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換し、
ゼロレーティングのネットワーク要求を実行することを行わせる。
【００３３】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、本発明によるか、上述の実施形態のいずれかによるコンピュータ読み取り可能な記憶媒体では、ネットワークリソースはネットワークサーバ上にホストされており、ネットワークリソースを複数のゼロレーティング書き換えルールと比較することは、ネットワークリソースに対するドメイン名と複数のゼロレーティング書き換えルールに対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定することを含み、ネットワーク要求をネットワークリソースに対するゼロレーティングのネットワーク要求に変換することは、ネットワーク要求に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含み、ゼロレーティングのネットワーク要求を実行することは、ゼロレーティングのネットワークサーバにネットワークリソースを要求することを含む。
【００３４】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、本発明によるか、上述の実施形態のいずれかによるコンピュータ読み取り可能な記憶媒体では、ゼロレーティングのネットワーク要求は、ネットワーク要求からネットワークリソースに関するドメイン名を置き換えるゼロレーティングのドメイン名を含み、コンピュータ読み取り可能な記憶媒体は、
複数のゼロレーティング書き換えルールをデータストアから取得するステップであって、複数のゼロレーティング書き換えルールの各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられている、取得するステップと、
ネットワークリソースに関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、ネットワークリソースに関するドメイン名と一致する複数のゼロレーティング書き換えルールのうちの１つのゼロレーティング書き換えルールを特定するステップとを実行時にシステムに行わせる更なる命令を含み、ネットワークリソースと一致するゼロレーティング書き換えルールは、ネットワークリソースに関するドメイン名と一致するものとして特定するゼロレーティング書き換えルールに対応している。
【００３５】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、本発明によるか、上述の実施形態のいずれかによるコンピュータ読み取り可能な記憶媒体では、ネットワークリソースはウェブリソースを含み、ネットワーク要求は、ウェブリソースに関する非ゼロレーティングのユニフォームリソースロケータを含む。ゼロレーティングのネットワーク要求は、非ゼロレーティングのユニフォームリソースロケータに基づいて生成されたゼロレーティングのユニフォームリソースロケータを含み、ゼロレーティングのユニフォームリソースロケータは、ゼロレーティングのウェブサーバを決定する。
【００３６】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、コンピュータ読み取り可能な記憶媒体は、アプリケーションコンポーネントからゼロレーティングチェック要求を受信して、ネットワークリソースをゼロレーティングすることができるか否かを決定し、ここで、ゼロレーティングチェック要求は、ネットワーク要求を受信する前に受信され、
ネットワークリソースを複数のゼロレーティング書き換えルールと比較して、ネットワークリソースと一致するゼロレーティング書き換えルールを特定し、
ゼロレーティング書き換えルールを特定することに基づいてネットワークリソースがゼロレーティング可能であることをアプリケーションコンポーネントに通知することをシステムに行わせる更なる命令を含む。
【００３７】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、コンピュータ読み取り可能な記憶媒体は、複数のゼロレーティング書き換えルールをゼロレーティングのサーバから受信することをシステムに行わせる更なる命令を含む。
【００３８】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、コンピュータ読み取り可能な記憶媒体は、ゼロレーティングのサーバを用いて複数のゼロレーティング書き換えルールを所定のスケジュールで更新することをシステムに行わせる更なる命令を含む。
【００３９】
特許請求の範囲にも記載されている、本発明による更なる実施形態において、コンピュータ読み取り可能な記憶媒体は、ゼロレーティングのサーバからゼロレーティングアクセスセキュリティトークンを受信し、
ゼロレーティングアクセスセキュリティトークンを使用してゼロレーティングのネットワーク要求を実行することシステムに行わせる更なる命令を含む。
【００４０】
本発明による更なる実施形態において、ソフトウェアを実施形態化した１つまたは複数のコンピュータ読み取り可能な非一時的記憶媒体は、実行時に本発明によるか、上述の実施形態のいずれかによる方法を実行するように動作可能である。
【００４１】
本発明による更なる実施形態において、システムは、１つまたは複数のプロセッサと、プロセッサに接続され、プロセッサによって実行可能な命令を含む少なくとも１つのメモリとを備え、プロセッサは、命令の実行時に、本発明によるか、上述の実施形態のいずれかによる方法を実行するように動作可能である。
【００４２】
本発明による更なる実施形態において、好ましくはコンピュータ読み取り可能な非一時的記憶媒体を含むコンピュータプログラム製品は、データ処理システム上で実行されるときに本発明によるか、上述の実施形態のいずれかによる方法を実行するように動作可能である。
【図面の簡単な説明】
【００４３】
【図１】ゼロレーティング変換システムの実施形態を示す図。
【図２】ゼロレーティングチェック要求が実行されるゼロレーティング変換システムの実施形態を示す図。
【図３】ゼロレーティング書き換えルールおよびゼロレーティングアクセスセキュリティトークンがダウンロードされるゼロレーティング変換システムの実施形態を示す図。
【図４】図１のゼロレーティング変換システムの論理フローの実施形態を示す図。
【図５】図１のゼロレーティング変換システムに関する集中型システムの実施形態を示す図。
【図６】図１のゼロレーティング変換システムに関する分散型システムの実施形態を示す図。
【図７Ａ】図１のゼロレーティング変換システムに関する第２の論理フローの実施形態を示す図。
【図７Ｂ】図７のゼロレーティング変換システムに関する第３の論理フローの実施形態を示す図。
【図７Ｃ】図７のゼロレーティング変換システムに関する第４の論理フローの実施形態を示す図。
【図８】コンピューティングアーキテクチャの一実施形態を示す図。
【図９】通信アーキテクチャの一実施形態を示す図。
【発明を実施するための形態】
【００４４】
様々な実施形態は、ネットワークリソースに対するネットワーク要求を受信し、そのネットワーク要求を同じネットワークリソースに対するゼロレーティングのネットワーク要求に変換するように動作するネットワークアクセスコンポーネントに関する技術に向けられる。ネットワークアクセスコンポーネントは、アプリケーションとのセルラーデータアクセスを使用するコストを最小限に抑えるようにスマートフォン上のアプリケーションに対するネットワークアクセスを管理する。例えば、アプリケーションは、ソーシャルネットワーキングサービスのようなインターネットベースのサービスのためのアプリケーションに対応する。インターネットベースのサービスは、１つまたは複数のセルラー電話事業者（ｃｅｌｌｕｌａｒ  ｃａｒｒｉｅｒ）とゼロレーティングのサーバのサブセットを維持し、例えば、インターネットベースのサービスは、セルラー電話事業者と地理的に近接し、潜在的にはセルラー電話事業者と同じ場所に位置するサーバをゼロレーティングする。しかしながら、アプリケーションのセルラーデータアクセスは、インターネットベースのサービスのウェブフロントエンドに向けられ、このウェブフロントエンドは、利益を受けるであろうユーザに対してゼロレーティングのリソースへのリンクを返すように構成されていない。さらに、インターネットベースのサービスのウェブフロントエンドがゼロレーティングのリソースへのリンクを返すように設定されている場合、個々のセルラー電話事業者に基づいてユーザによってリソースが異なる可能性があるため、ウェブフロントエンドは、各ユーザに対して、その特定のユーザに対してどのリソースがゼロレーティングであるのかを知る必要がある。
【００４５】
その代わりに、アプリケーションは、インターネットベースのサービスから受信されるリソースに対するユニフォームリソースロケータ（ＵＲＬ）を、特定のセルラー電話事業者とゼロレーティングであるソース（例えば、サーバ）から取得されるように自動的に変換するように設けられる。アプリケーションは、ルールのリストをダウンロードし、各ルールはそれに一致するパターンを有する。ルールがＵＲＬと一致する場合、ルールは、受信したＵＲＬから新しいＵＲＬを生成するための変換を指定し、新しいＵＲＬがゼロレーティングのサーバを決定する。このルールのリストは、ユーザのセルラー電話事業者に対して特別に調整され得る。ユーザに提供されるルールの特定のリストは、ユーザのセルラー電話事業者に対応するように選択される。したがって、アプリケーションは、アプリケーションのセルラーデータアクセスによってユーザに対して生成されたセルラーデータ料金を最小限に抑えるように試みる。その結果、実施形態は、アプリケーションを使用することの価格妥当性を向上し、それにより、ユーザによるアプリケーションの使用を増加させることができる。
【００４６】
ここで図面を参照するが、全体を通して同様の構成要素を参照するために同様の参照番号が使用されている。以下の説明では、説明のために、その完全な理解を提供するために、多くの具体的な詳細を述べる。しかしながら、新規な実施形態は、これらの特定の詳細なしに実施することができることは明らかである。他の例では、その説明を容易にするために、周知の構造およびデバイスがブロック図の形態で示されている。その意図は、特許請求の範囲に記載された主題と一致するすべての修正、均等物および代替物をカバーするためである。
【００４７】
図１は、ゼロレーティング変換システム１００のブロック図を示す。一実施形態では、ゼロレーティング変換システム１００は、１つまたは複数のコンポーネントを含むアプリケーション１２０を有するコンピュータ実施型システムを備える。アプリケーション１２０は、ソフトウェアアプリケーションを含み、ソフトウェアアプリケーションのコンポーネントは、クライアントデバイス１１０上で動作し、かつクライアントデバイス１１０のデータストア１４０を使用するソフトウェアモジュールを含む。特定のトポロジにおいて要素の数が限られているが、ゼロレーティング変換システム１００は、所与の実施に対して所望されるように、代替のトポロジにおいてより多くまたはより少ない要素を含むことができることが理解されよう。
【００４８】
本明細書で使用される「ａ」および「ｂ」および「ｃ」および類似の記号は、任意の正の整数を表す変数であることが意図されていることに留意されたい。したがって、例えば、実施例がａ＝５の値を設定する場合、コンポーネント１２２−ａの完全なセットは、コンポーネント１２２−１，１２２−２，１２２−３，１２２−４，および１２２−５を含む。実施形態はこれに関して限定されない。
【００４９】
ゼロレーティング変換システム１００は、アプリケーション１２０を備える。アプリケーション１２０は、ユーザに代わってセルラーデータアクセスを実行するように構成され得る。アプリケーション１２０は、実行するために十分な情報を有して、ゼロレーティングリソースを使用するために、セルラーデータアクセスを構築するように構成される。アプリケーション１２０は、アプリケーションコンポーネント１３０およびネットワークアクセスコンポーネント１６０を備える。アプリケーション１２０は、これらのコンポーネントに限定されないことが理解されるであろう。
【００５０】
クライアントデバイス１１０は、セルラー電話事業者によってサービスされるモバイルデバイスを含む。クライアントデバイス１１０のためのセルラー電話事業者は、ネットワーク通信事業者（ｎｅｔｗｏｒｋ  ｃａｒｒｉｅｒ）１７０であってもよい。セルラー電話事業者以外のネットワーク通信事業者が、記載された実施形態に関連して使用されてもよいことが理解されよう。
【００５１】
アプリケーション１２０は、アプリケーションコンポーネント１３０を備える。アプリケーションコンポーネント１３０は、アプリケーション１２０のユーザ向けタスクを実行するように構成される。例えば、アプリケーション１２０がインターネットベースのサービスのアプリケーションである場合、アプリケーションコンポーネント１３０は、ユーザに対してネットワークリソースを表示することができる。アプリケーションコンポーネント１３０は、ネットワークアクセスコンポーネント１６０を使用してユーザ用に表示するためのネットワークリソースの取得を開始する。アプリケーションコンポーネント１３０は、ネットワーク要求１３５をネットワークアクセスコンポーネント１６０に提出し、ネットワーク要求１３５は、ネットワークリソース１８０に対するアクセス用の要求である。
【００５２】
クライアントデバイス１１０は、データストア１４０を備えることができる。データストア１４０は、複数のゼロレーティング書き換えルール１５０を格納することができる。データストア１４０は、クライアントデバイス１１０にデータを格納するための任意の既知の技術または技術を含むことができる。
【００５３】
ネットワークリソース１８０は、非ゼロレーティングのホスティングサーバ１９５およびゼロレーティングのホスティングサーバ１９０などの、１つまたは複数のインターネットアクセス可能なサーバによって提供され得るインターネットアクセス可能なリソースを含む。非ゼロレーティングのホスティングサーバ１９５は、クライアントデバイス１１０のネットワーク通信事業者１７０によってゼロレーティングされていないネットワークリソース１８０のソースを含む。ゼロレーティングのホスティングサーバ１９０は、クライアントデバイス１１０のネットワーク通信事業者１７０によってゼロレーティングされているネットワークリソース１８０のソースを含む。ネットワークリソース１８０がネットワーク要求１３５に応答して取得される限り、アプリケーションコンポーネント１３０は、ネットワークリソース１８０が非ゼロレーティングのホスティングサーバ１９５またはゼロレーティングのホスティングサーバ１９０から取得されるかどうかに関して不可知である。ネットワークリソース１８０は、複数のサーバによってホストされてもよく、複数のサーバの中で、非ゼロレーティングのホスティングサーバ１９５およびゼロレーティングのホスティングサーバ１９０の両方によってホストされてもよい。
【００５４】
アプリケーション１２０は、ネットワークアクセスコンポーネント１６０を備える。ネットワークアクセスコンポーネント１６０は、クライアントデバイス１１０上のアプリケーションコンポーネント１３０からネットワークリソース１８０へのアクセスのためのネットワーク要求１３５を受信し、ネットワークリソース１８０と複数のゼロレーティング書き換えルール１５０とを比較して、ネットワークリソース１８０と一致するゼロレーティング書き換えルールを特定し、特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求をネットワークリソース１８０に対するゼロレーティングのネットワーク要求１６５に変換し、ゼロレーティングのネットワーク要求１６５を実行するように構成されている。すべてのネットワーク要求が、要求されたサーバからの応答を促すわけではないが、ゼロレーティングのホスティングサーバ１９０は、ゼロレーティングのネットワーク要求１６５への応答を返し、ネットワークアクセスコンポーネント１６０は、応答を受信してそれをアプリケーションコンポーネント１３０に渡すように動作する。ある場合には、ネットワークリソース１８０のゼロレーティングのソースがネットワークアクセスコンポーネント１６０に知られていない場合がある。複数のゼロレーティング書き換えルール１５０は、ネットワークリソース１８０を包含するルールを含まなくてもよく、この場合、ネットワークアクセスコンポーネント１６０は、非ゼロレーティングのホスティングサーバ１９５からネットワークリソース１８０を要求することがある。
【００５５】
ある場合には、ネットワークリソース１８０はウェブリソースを含み得る。ネットワークリソース１８０は、ウェブページを含み得る。ネットワークリソース１８０は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル、ＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル、ＸＨＴＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）ファイル、またはウェブページの本文を構成するための他のファイルを含み得る。ネットワークリソース１８０は、ジョイントフォトグラフィックエキスパートグループ（ＪＰＥＧ）ファイル、グラフィックインターチェンジフォーマット（ＧＩＦ）ファイル、ポータブルネットワークグラフィックス（ＰＮＧ）ファイル、または任意の他のタイプの画像ファイルなどの画像ファイルを含み得る。ネットワークリソース１８０は、任意の種類のウェブリソースを含み得る。例えば、アプリケーションコンポーネント１８０は、ウェブページをロードし、ページの本体を構成するＨＴＭＬファイル、ページの外観及びフォーマットを記述するカスケードスタイルシート（ＣＳＳ）ファイル、及び画像ファイルを含む複数のメディアファイルを要求する。ネットワークアクセスコンポーネント１６０は、それらのリソースの各々に対する要求を受信し、複数のゼロレーティング書き換えルール１５０を各々のリソースに適用して、それらをリソースのゼロレーティングのソースに変換し、ゼロレーティングのリソースを要求する。
【００５６】
ネットワークアクセスコンポーネント１６０は、ネットワークアクセス可能なリソースの場所を指定するためのＵＲＬまたは他の技術によって参照され得る任意のネットワークリソースを受信し、変換し、要求するように動作する。このように、ネットワークリソース１８０がウェブリソースを含む場合、ネットワーク要求１３５は、非ゼロレーティングのＵＲＬからウェブリソースを取得する要求を含み、ネットワークアクセスコンポーネント１６０は、ウェブリソースに対して非ゼロレーティングのＵＲＬと一致すると特定されたゼロレーティング書き換えルールを使用して、非ゼロレーティングのＵＲＬをウェブリソースに対するゼロレーティングのＵＲＬに変換するように動作する。
【００５７】
ネットワークリソース１８０は、非ゼロレーティングのホスティングサーバ１９５などのネットワークサーバ上でホストされ得る。ネットワークリソース１８０は、ゼロレーティングのホスティングサーバ１９０などのゼロレーティングのネットワークサーバ上でホストされ得る。ネットワークリソース１８０を複数のゼロレーティング書き換えルール１５０と比較することは、ネットワークリソース１８０のドメイン名を、複数のゼロレーティング書き換えルール１５０の複数のドメイン名タグと照合して、ドメイン名と一致する複数のドメイン名タグのうちの１つのドメイン名タグに関連付けられたゼロレーティング書き換えルールを特定することを含む。ネットワークリソース１８０に関するドメイン名は、ネットワークリソース１８０のＵＲＬの一部であってもよい。ドメイン名タグは、ドメイン名と照合されるドメイン名パターンを含み得る。ドメイン名タグは、複数のドメイン名がタグと一致することを示すワイルドカード文字やその他の記号が含み得る。たとえば、ドメイン名タグ「＊．ｆａｃｅｂｏｏｋ．ｃｏｍ」は、「ｆａｃｅｂｏｏｋ．ｃｏｍ」で終わる任意のドメイン名と一致する。
【００５８】
ネットワーク要求１３５をゼロレーティングのネットワーク要求１６５に変換することは、ネットワーク要求１３５に関するドメイン名を、ゼロレーティングのホスティングサーバなどのゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換えることを含む。ゼロレーティングのネットワーク要求１６５は、ネットワーク要求１３５からネットワークリソース１８０に関するドメイン名を置き換えるゼロレーティングのドメイン名を含む。したがって、ゼロレーティングのネットワーク要求１６５を実行することは、ゼロレーティングのネットワークサーバからのネットワークリソース１８０を要求することを含む。ネットワークリソース１８０は、ＵＲＬによって表されてもよい。ネットワーク要求１３５をゼロレーティングのネットワーク要求１６５に変換することは、ＵＲＬにおけるネットワーク要求１３５のドメイン名を、マッチング用のゼロレーティング書き換えルールに従ってゼロレーティングのドメイン名に置き換えることを含むことができる。
【００５９】
ネットワークアクセスコンポーネント１６０は、複数のゼロレーティング書き換えルール１５０をデータストア１４０から取得するように動作し、複数のゼロレーティング書き換えルール１５０の各々は、複数のドメイン名パターンのうちの１つのドメイン名パターンと関連している。ドメイン名パターンは、標準の文字列、テキストフィールド、または１つまたは複数のドメイン名を表す他のデータエンコーディングを含み得る。ドメイン名パターンは、ワイルドカード文字を使用して、ドメイン名パターンを複数の異なるドメイン名と一致させることができるようにしてもよい。ネットワークアクセスコンポーネント１６０は、ネットワークリソース１８０に関するドメイン名を複数のドメイン名パターンの１つまたは複数と比較して、ネットワークリソース１８０に関するドメイン名に一致する複数のゼロレーティング書き換えルール１５０のうちのゼロレーティング書き換えルールを特定する。ネットワークリソース１８０に対してゼロレーティング書き換えルールを一致させるネットワークアクセスコンポーネント１６０は、ネットワークリソースに関するドメイン名に一致するものとして特定するゼロレーティング書き換えルールに対応する。
【００６０】
ゼロレーティング変換システム１００は、ユーザがゼロレーティング変換システム１００によって記録されるか、あるいは例えば、適切なプライバシー設定を設定することにより他のシステム（サードパーティシステム）と共有される動作をオプトインするか、オプトアウトすることを可能にする認証サーバ（または他の適切なコンポーネント（複数可））を含み得る。ユーザのプライバシー設定は、ユーザに関連するどの情報が記録されるか、ユーザに関連する情報がどのように記録されるか、ユーザに関連する情報がいつ記録されるか、ユーザに関連する情報をだれが記録したか、ユーザに関連する情報をだれと共有しているのか、どのような目的でユーザに関連する情報が記録または共有されるのかを決定し得る。認証サーバまたは他の認証コンポーネントは、アプリケーション１２０および／またはネットワーク通信事業者１７０のユーザの１つまたは複数のプライバシー設定を、ブロック、データハッシング、匿名化、または他の適切な技術を適宜適用することによって実施するように使用することができる。
【００６１】
ゼロレーティングのネットワーク要求１６５を実行するなどのネットワークトラフィックを交換することは、ネットワークインタフェースコントローラ（ＮＩＣ）を介してネットワークトラフィックを送信および受信することを含む。ＮＩＣは、クライアントデバイス１１０などのコンピュータデバイスをコンピュータネットワークに接続するハードウェアコンポーネントを備える。ＮＩＣは、ソフトウェアアプリケーションがＮＩＣにアクセスして使用することを可能にするソフトウェアネットワークインタフェースと関連付けられてもよい。ネットワークトラフィックは、データリンクを介して送信される信号としてコンピュータネットワークを介して受信されてもよい。ネットワークトラフィックは、これらの信号を捕捉し、それらを解釈することによって受信される。ＮＩＣは、コンピュータネットワークを介してネットワークトラフィックを受信し、ネットワークインタフェースのアプリケーションプログラミングインタフェース（ＡＰＩ）を使用してソフトウェアアプリケーションにアクセス可能なメモリストレージにネットワークトラフィックを転送することができる。
【００６２】
図２は、ゼロレーティング変換システム１００の第２のブロック図を示す。図２に示す実施形態において、ゼロレーティングチェック要求２３５は、ネットワーク要求１３５を行う前に、アプリケーションコンポーネント１３０によってネットワークアクセスコンポーネント１６０に対して行われる。
【００６３】
ゼロレーティングチェック要求２３５は、ネットワークリソース１８０に関するＵＲＬなどのネットワークリソース１８０をゼロレーティング書き換えルール１５０と比較して、ネットワークリソース１８０を、ゼロレーティングのホスティングサーバ１９０のようなゼロレーティングのソースから取得することができるかどうかを判定するためにネットワークアクセスコンポーネント１６０に対して行われる要求である。複数のゼロレーティング書き換えルール１５０の各々は、トリガーするパターンを含む。ネットワーク要求１３５などのネットワーク要求と共に使用される場合、このパターンは、ゼロレーティングのネットワーク要求１６５をネットワークアクセスコンポーネント１６０によって自動的に実行されるゼロレーティングのネットワーク要求１６５に変換するように使用される関連する変換を取得するために特定のルールを特定するために使用される。ゼロレーティングチェック要求２３５と共に使用される場合、このパターンは、ゼロレーティングチェック要求２３５によって特定されたリソースが転送されるようにゼロレーティングチェック要求２３５が特定のルールと一致するかどうかを判定するために使用される。変換自体は、ゼロレーティングチェック要求２３５のネットワークリソース１８０上で実行されず、ゼロレーティングチェック要求２３５に応答してネットワーク通信事業者１７０上で実行される要求でもない。したがって、アプリケーションコンポーネント１３０は、特定のネットワークリソース１８０がゼロレーティングのソースから要求されているかどうかを判定するために、ゼロレーティングチェック要求２３５を生成する。
【００６４】
ネットワークアクセスコンポーネント１６０は、アプリケーションコンポーネント１３０にゼロレーティングチェック応答２４５を送信する。ゼロレーティングチェック応答２４５は、ゼロレーティングチェック要求２３５によって参照されたネットワークリソース１８０をゼロレーティングホスティングサーバ１９０などのゼロレーティングのソースから取得することができるかどうかのアプリケーションコンポーネント１３０に対する指標を含む。ゼロレーティングチェック応答２４５は、ネットワークリソース１８０に対して提供されたＵＲＬと一致するパターンを含むルールなど、ゼロレーティング書き換えルール１５０がネットワークリソース１８０と一致するルールを含むかどうかのアプリケーションコンポーネント１３０に対する指標を含む。
【００６５】
アプリケーションコンポーネント１３０は、ネットワーク要求１３５を作成するためのアプリケーション１２０に対するユーザ要求に応答して、ゼロレーティングチェック要求２３５を実行するように動作する。例えば、ユーザは、アイコン、画像、またはセグメントを選択するか、リンクをたどるか、そうでなければロードされるか、またはアクセスされるＵＲＬを選択し得る。アプリケーションコンポーネント１３０は、ユーザ要求に応答して、ネットワークアクセスコンポーネント１６０にゼロレーティングチェック要求２３５を送信して、ネットワーク通信事業者１７０によるユーザの帯域幅コストを発生することなく、ユーザ要求が実行され得るかどうかを判定する。
【００６６】
ゼロレーティングチェック応答２４５が、ネットワークアクセスコンポーネント１６０で実行された場合、ネットワーク要求１３５をゼロレーティングのネットワーク要求１６５に変換され得ることを示す場合、アプリケーションコンポーネント１３０は、ネットワークアプリケーション１２０のユーザに問い合せることなく、ネットワークリソース１８０に対するネットワーク要求１３５を自動的に実行する。ゼロレーティングチェック応答２４５が、ネットワーク要求１３５がゼロレーティングのネットワーク要求１６５に変換され得ないことを示す場合（ゼロレーティング書き換えルール１５０がネットワーク要求１３５をゼロレーティングのネットワーク要求１６５に変換するためのルールを含んでいない場合）、アプリケーションコンポーネント１３０は、ネットワークリソース１８０にアクセスすることによってネットワーク通信事業者１７０によって帯域幅料金が発生することをユーザに通知する。アプリケーションコンポーネント１３０は、アプリケーション１２０のユーザに、可能性のある帯域幅料金を通知し、引き続きネットワークリソース１８０にアクセスすることを望んでいるかどうかを尋ねるダイアログを表示する。ユーザがネットワークリソース１８０にアクセスすることを望んでいることをダイアログを介して示した場合、アプリケーションコンポーネント１３０は、それに応答して、ネットワーク通信事業者１７０によって潜在的に料金が発生する、非ゼロレーティングのホスティングサーバ１９５から取得されるネットワークリソース１８０を用いるネットワーク要求１３５を実行する。
【００６７】
図２に示されているように、ゼロレーティングのネットワーク要求１６５および未変換のネットワーク要求１３５を含むネットワーク要求は、クライアントデバイス１１０の通信コンポーネント２６０を使用して、ネットワークアクセスコンポーネント１６０によって実行される。は、クライアントデバイス１１０のオペレーティングシステムのソフトウェアコンポーネントを含み、セルラー通信コンポーネントなどの１つまたは複数のハードウェアコンポーネントを含み、かつソフトウェアコンポーネントおよびハードウェアコンポーネントの組合せを含み得る。例えば、通信コンポーネント２６０は、クライアントデバイス１１０に設けられ、クライアントデバイス１１０のオペレーティングシステムおよびファームウェアによって管理される。通信コンポーネント２６０は、ネットワーク通信事業者１７０を介してセルラー通信を実行する際に使用するためにクライアントデバイス１１０のオペレーティングシステムを介してアプリケーション１２０およびそのネットワークアクセスコンポーネント１６０にアクセス可能である。
【００６８】
ネットワークアクセスコンポーネント１６０は、クライアントデバイス１１０のオペレーティングシステムのＴＣＰ／ＩＰネットワークのアプリケーションプログラミングインタフェース（ＡＰＩ）を介して伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）通信を実行する。ネットワークアクセスコンポーネント１６０は、クライアントデバイス１１０のオペレーティングシステムのＵＤＰ／ＩＰネットワークＡＰＩを介して、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ）通信を実行する。ネットワークアクセスコンポーネント１６０は、クライアントデバイス１１０のオペレーティングシステムのＡＰＩ介して通信を実行し、ＯＳは、通信コンポーネント２６０を介して通信内容を送信する。
【００６９】
ネットワーク通信事業者１７０は、ネットワーク要求１３５またはゼロレーティングのネットワーク要求１６５などの要求を受信し、その要求の宛先をゼロレーティングの宛先のリストと比較して、その要求がゼロレーティングであるか、またはクライアントに請求すべきかを判定する。クライアントデバイス１１０から受信した要求が、ＩＰアドレスによって指定され、かつインデックス付けされたゼロレーティングの宛先のリストにある場合、その要求は、クライアントに対して特定の帯域幅料金が発生しない。クライアントデバイス１１０から受信された要求がゼロレーティングの宛先のリストにない場合、ネットワーク通信事業者１７０は、要求を送信し、該当する場合は応答を受信する際に使用される帯域幅に関して、将来の月次請求に対する見込み、または利用可能な帯域幅またはプリペイド量の残高を低下させるなどのように、ユーザのアカウントに請求する。
【００７０】
図３は、ゼロレーティング変換システム１００の第３のブロック図を示す。図３に図示された実施形態では、複数のゼロレーティング書き換えルール１５０およびゼロレーティングアクセスセキュリティトークン３７０が、ネットワークアクセスコンポーネント１６０によって、ゼロレーティングのアプリケーションサポートサーバ３９０からダウンロードされる。
【００７１】
ネットワークアクセスコンポーネント１６０は、ネットワーク要求をゼロレーティングのネットワーク要求に変換するためのゼロレーティング書き換えルール１５０を使用して、どのネットワーク要求をゼロレーティングのネットワーク要求に変換するのかを決定する。しかしながら、ゼロレーティング書き換えルール１５０がこのタスクを正確に実行する限りにおいて、ゼロレーティング書き換えルール１５０は、クライアントデバイス１１０のネットワーク通信事業者１７０のゼロレーティングのソース（例えば、ネットワークアドレス）の実際のリストと一致しなければならない。このように、ゼロレーティング書き換えルール１５０は、適切に機能するためには、クライアントデバイス１１０に対するネットワーク通信事業者１７０に固有でなければならず、常に最新の状態に保たれなければならない。したがって、アプリケーション１２０は、既に構成されたゼロレーティング書き換えルール１５０がモバイルアプリ配信サービスを介して配信されるなど、ゼロレーティング書き換えルール１５０のセットを単に出荷することはできず、かつ動作を通して同じ複数のゼロレーティング書き換えルールを使用するのを単純に継続することはできない。
【００７２】
代わりに、アプリケーション１２０は、ゼロレーティング書き換えルール１５０をゼロレーティングのアプリケーションサポートサーバ３９０から取得するように動作する。ゼロレーティングのアプリケーションサポートサーバ３９０は、クライアントデバイス１１０がネットワーク要求のゼロレーティング変換を実行する際などのゼロレーティングサポート機能をクライアントデバイス１１０に提供する。ゼロレーティングのアプリケーションサポートサーバ３９０は、特に、アプリケーション１２０のプロバイダに関連付けられ得る。例えば、アプリケーション１２０が、特にソーシャルネットワーキングサービスを使用するアプリケーションなどのインターネットサービス特定アプリケーションである場合、インターネットサービスは、ゼロレーティング書き換えルールをアプリケーション１２０のユーザに提供するための１つまたは複数のゼロレーティングのアプリケーションサポートサーバを提供する。ゼロレーティングのアプリケーションサポートサーバ３９０は、複数のゼロレーティング書き換えルールを維持することができ、特定の複数のゼロレーティング書き換えルールは、ゼロレーティングのアプリケーションサポートサーバ３９０によってサポートされている各ネットワーク通信事業者に関連付けられ、ネットワーク通信事業者１７０に関連付けられているゼロレーティング書き換えルール１５０は、１つのそのような関連付けを含む。
【００７３】
このため、アプリケーション１２０は、ルール要求３４０をゼロレーティングのアプリケーションサポートサーバ３９０に送信し、ルール要求３４０に応じたゼロレーティング書き換えルール１５０を受信する。ルール要求３４０は、ゼロレーティングのアプリケーションサポートサーバ３９０がクライアントデバイス１１０に適切な特定のゼロレーティング書き換えルール１５０を特定することができるようにするなど、ゼロレーティングのアプリケーションサポートサーバ３９０がクライアントデバイス１１０に対するネットワーク通信事業者１７０を特定するのに十分なアプリケーション１２０によって提供される情報を含む。代替的に、ゼロレーティングのアプリケーションサポートサーバ３９０は、ゼロレーティングのアプリケーションサポートサーバ３９０へのルール要求３４０の配信の１つまたは複数の態様に基づいて、クライアントデバイス１１０によって使用されるネットワーク通信事業者１７０を推測し得る。例えば、ルール要求３４０は、ネットワーク通信事業者１７０を特定するためにゼロレーティングのアプリケーションサポートサーバ３９０が特定するネットワーク通信事業者１７０のゲートウェイを介して配信される。ゼロレーティングのアプリケーションサポートサーバ３９０は、ルール要求３４０を受信し、クライアントデバイス１１０に関連するネットワーク通信事業者１７０を決定し、ネットワークアクセスコンポーネント１６０に応じてゼロレーティング書き換えルール１５０を送信する。ゼロレーティング書き換えルール１５０をアプリケーションサポートサーバ３９０から受信すると、ネットワークアクセスコンポーネント１６０は、将来の使用のためにゼロレーティング書き換えルール１５０をデータストア１４０に格納する。
【００７４】
ゼロレーティングのアプリケーションサポートサーバ３９０は、それ自体がネットワーク通信事業者１７０とゼロレーティングであってもよい。ゼロレーティングのアプリケーションサポートサーバ３９０のプロバイダおよび保守管理者は、クライアントに対してゼロレーティングとなるようにネットワーク通信事業者１７０と契約し、認証し、あるいは調整する。
【００７５】
ゼロレーティングのアプリケーションサポートサーバ３９０は、ネットワークアクセスコンポーネント１６０の初期化中に、複数のゼロレーティング書き換えルール１５０の初期取得に関してネットワークアクセスコンポーネント１６０ともに事前設定される。アプリケーション１２０は、インターネットベースのサービスとのインストール、最初の起動、または最初の認証においていくつかの初期化動作を実行する。これらの初期化動作のうちの１つは、ゼロレーティング書き換えルール１５０とともにネットワークアクセスコンポーネント１６０を初期化することである。ネットワークアクセスコンポーネント１６０は、ネットワークアクセスコンポーネントと事前設定されたアドレス（ＵＲＬ、ドメイン、またはＩＰアドレス）を使用して、ゼロレーティングのアプリケーションサポートサーバ３９０とコンタクトしてルール要求３４０を実行し、それに応じたゼロレーティング書き換えルール１５０を受け取る。これは、ゼロレーティングのアプリケーションサポートサーバ３９０が最初にアプリケーション１２０に知られている唯一のゼロレーティングサーバであり、受信したゼロレーティング書き換えルール１５０が、アプリケーション１２０にゼロレーティングのソースを用いてより全般的なネットワークタスクを実行することができるようにするブートストラッププロセスに対応している。
【００７６】
アプリケーション１２０はまた、ゼロレーティングのアプリケーションサポートサーバ３９０を使用して、自身をネットワーク通信事業者１７０に関する最新のゼロレーティング書き換えルール１５０に定期的に更新する。アプリケーション１２０は、ルール要求３４０を用いてゼロレーティングのアプリケーションサポートサーバ３９０と所定のスケジュールでコンタクトし、ゼロレーティング書き換えルール１５０を受信し、ゼロレーティング書き換えルール１５０をデータストア１４０に格納する。この所定のスケジュールは、例えば、２４時間のスケジュールを含む。いくつかの実施形態では、ユーザによってアプリケーション１２０がフォアグラウンド化されているなど、アプリケーション１２０がユーザによって実行されているときにのみ、ネットワークアクセスコンポーネント１６０は、この更新を実行する。この場合、ゼロレーティング書き換えルール１５０の最後の取得から所定のスケジュールによって定義された少なくとも最小時間が経過しているという判定に基づいて、ネットワークアクセスコンポーネント１６０は更新を行う。他の実施形態では、アプリケーション１２０がバックグラウンド化されている場合でも更新を実行してもよい。
【００７７】
いくつかの実施形態では、ゼロレーティングのホスティングサーバ１９０は、ゼロレーティングのネットワーク要求１６５などのゼロレーティングのネットワーク要求に応答するか、処理するか、そうでなければゼロレーティングのネットワーク要求を許容し、そのような要求にはゼロレーティングアクセスセキュリティトークン３７０が伴う。ゼロレーティングであるホスティングサーバ１９０は、ネットワーク通信事業者１７０と同意するゼロレーティングのホスティングサーバ１９０のプロバイダと対応し得る。場合によっては、この同意は、通常、クライアントデバイス１１０のユーザに適用されるであろう料金、または何らかの他の形式の帯域幅に基づく料金をカバーするなど、ゼロレーティングのホスティングサーバ１９０のプロバイダに対する料金を請け負うこととなる。このため、ゼロレーティングのホスティングサーバ１９０のプロバイダは、ゼロレーティングのホスティングサーバ１９０へのアクセスを制限することによって有益となり得る。例えば、ゼロレーティングのホスティングサーバ１９０のプロバイダは、ゼロレーティングのホスティングサーバ１９０のプロバイダによって提供されるインターネットベースのサービスに固有のアプリケーション１２０のユーザによるゼロレーティングのホスティングサーバ１９０へのアクセスを許可し、例えば、サービスに対するウェブフロントエンドを使用してインターネットベースのサービスにアクセスするユーザに対するゼロレーティングのホスティングサーバ１９０へのアクセスを許可しないことを選択することがある。
【００７８】
いくつかの実施形態では、ネットワークアクセスコンポーネント１６０はトークン要求３６０を送信し、ゼロレーティングアクセスセキュリティトークン３７０を受信する。場合によっては、ゼロレーティングアクセスセキュリティトークン３７０は、アプリケーション１２０がインターネットベースのサービスを認証している場合にのみ受信し得る。ゼロレーティングアクセスセキュリティトークン３７０は、例えば、インターネットベースのサービスに対するクライアントデバイス１１０のユーザのユーザ識別子のハッシュなど、インターネットベースのサービスに対するアカウントに一意的に関連付けられてもよい。いくつかの実施形態では、ゼロレーティングのアプリケーションサポートサーバ３９０がアプリケーション１２０の初期化の時点でアプリケーション１２０に知られているゼロレーティングのサーバであるので、トークン要求３６０は、ゼロレーティングのアプリケーションサポートサーバ３９０に送信され、ゼロレーティングアクセスセキュリティトークン３７０はゼロレーティングのアプリケーションサポートサーバ３９０から受信される。他の実施形態では、トークン要求３６０は、ゼロレーティングであってもなくてもよく、インターネットベースのサービスのプロバイダによって維持された別のサーバに送信され、ゼロレーティングアクセスセキュリティトークン３７０がそのサーバから受信されてもよい。ネットワークアクセスコンポーネント１６０は、ゼロレーティングアクセスセキュリティトークン３７０を受信すると、ゼロレーティングアクセスセキュリティトークン３７０をデータストア１４０に格納する。ゼロレーティングアクセスセキュリティトークン３７０は、アプリケーション１２０に対する全体的なセキュリティトークンであってもよく、かつインターネットベースのサービスとの他のインタラクションに使用することが可能である。場合によっては、ゼロレーティングのネットワーク要求の一部のみが、ゼロレーティングのアクセスセキュリティトークン３７０を使用し、他のゼロレーティングのネットワーク要求は、認証の証明の実行が必要とされない。例えば、ゼロレーティング書き換えルール１５０の第１の部分は、ゼロレーティングのアプリケーションサポートサーバ３９０を維持するインターネットベースのサービスのプロバイダに対応し、ゼロレーティング書き換えルール１５０の第２の部分は、インターネットベースのリソースの他のプロバイダに対応してもよい。ゼロレーティングアクセスセキュリティトークン３７０は、第１の部分と共にのみ使用され、第２の部分は、アクセスのためにセキュリティトークンを必要とさらないか、または自身を別個のセキュリティトークンまたは他の認証の証明用として使用してもよい。
【００７９】
開示されたアーキテクチャの新規な態様を実行するための例示的な方法を表す一組のフローチャートが本明細書に含まれる。説明の簡略化のために、例えばフローチャートまたはフロー図の形で本明細書に示される１つまたは複数の方法が一連の動作として示され説明されているが、いくつかの動作は、それに従って、本明細書に示され記載された動作とは異なる順序でおよび／または他の動作と同時に起こりうるので、動作の順序によって制限されない。例えば、当業者であれば、方法は、状態図のような一連の相互関係のある状態または事象として代替的に表すことができることが理解および認識されるであろう。さらに、方法に示されたすべての動作が新規の実施に必要とされることはない。
【００８０】
図４は、論理フロー４００の一実施形態を示す。論理フロー４００は、本明細書で説明する１つまたは複数の実施形態によって実行される動作の一部または全部を表し得る。
論理フロー４００は、ブロック４１０で開始される。これは、ネットワークアクセスコンポーネント１６０に対応する論理の開始、待ち状態を退出するネットワークアクセスコンポーネント１６０、またはネットワークアクセスコンポーネント１６０を、ネットワーク要求１３０を受信し、処理するポジションに置く他の動作に対応する。次に、論理フロー４００は、ブロック４２０に進む。
【００８１】
論理フロー４００は、ブロック４２０で要求を受信する。これは、ネットワークアクセスコンポーネント１６０に要求を提供するために使用されるＡＰＩを含む。これは、アプリケーション１２０が、ネットワーク要求やゼロレーティングチェック要求などの要求の実行を担う一部の論理に入ることに対応する。論理フロー４００は次にブロック４３０に進む。
【００８２】
論理フロー４００は、ブロック４３０で要求がゼロレーティング変換チェック用であるかどうかを判定する。要求がゼロレーティング変換チェックである場合、論理フロー４００はブロック４４０に進む。そうでなければ、論理フロー４００はブロック４６０に進む。
【００８３】
論理フロー４００は、ブロック４４０において要求をゼロレーティング書き換えルール１５０に対してチェックする。要求をゼロレーティング書き換えルール１５０と比較して、要求によって要求されるネットワークリソース１８０を特定するドメインまたはＵＲＬとのマッチングを行うこと等により、ルールのどれが要求と一致するのかを判定する。論理フロー４００は次にブロック４５０に進む。
【００８４】
論理フロー４００は、ブロック４５０においてチェック結果を要求元に返す。要求元は、論理フロー４００を実行するアプリケーション１２０の別のコンポーネント、機能ユニット、論理ユニット、スレッド、または他の要素に対応する。新しい要求が開始されるまで、チェック結果を返す本来の処理などように、論理フロー４００を終了してもよい。
【００８５】
論理フロー４００は、ブロック４６０で要求をゼロレーティング書き換えルールに対してチェックする。要求をゼロレーティング書き換えルール１５０と比較して、要求によって要求されるネットワークリソース１８０を特定するドメインまたはＵＲＬルールとのマッチングを行うこと等によりルールのどれが要求と一致するかどうかを判定する。論理フロー４００は次にブロック４７０に進む。
【００８６】
論理フロー４００は、ブロック４７０で要求がゼロレーティング可能であるかどうかに基づいて分岐する。要求がゼロレーティングの書き換えルール１５０によってゼロレーティングとすることができる場合、論理フロー４００はブロック４８０に進む。そうでなければ、論理フロー４００はブロック４９０に進む。
【００８７】
論理フロー４００は、ブロック４８０において、要求をゼロレーティングのソースを使用するように変換する。ネットワークリソース１８０は、２つ以上のソースを備え、ソースの一部は、ネットワーク通信事業者１７０とともにゼロレーティングである。ゼロレーティング書き換えルール１５０は、要求のドメイン、ＵＲＬ、または他のアドレスコンポーネントをゼロレーティングのソースとなるように変換するために使用される。論理フローは、ブロック４９０に進む。
【００８８】
論理フロー４００は、ブロック４９０で要求を送信する。要求を送信するステップは、クライアントデバイス１１０の通信コンポーネント２６０を使用してセルラー信号を介して要求をネットワーク通信事業者１７０に送信し、ネットワーク通信事業者１７０がインターネット経由で要求をサーバに送信することを含む。これは、クライアントデバイス１１０のネットワークＡＰＩを動作させることによって実行される。要求がゼロレーティング書き換えルール１５０によってゼロレーティングのソースを使用するように変換される場合、ゼロレーティングのホスティングサーバ１９０が要求の受信者となる。要求がゼロレーティング書き換えルール１５０によってゼロレーティングのソースを使用するように変換されない場合、非ゼロレーティングのホスティングサーバ１９５が要求の受信者となる。論理フロー４００はその後終了する。論理フロー４００は、アプリケーション１２０の論理フローの別の要素に、成功した送信の指標を返してもよい。論理フロー４００は、この指標を終了の本来の処理として返すことができる。
【００８９】
実施形態は、この例に限定されない。
図５は、集中型システム５００のブロック図を示す。集中型システム５００は、完全に単一のサーバデバイス５２０内のような単一のコンピューティングエンティティ内のゼロレーティング変換システム１００のための構造および／または動作の一部または全部を装備している。
【００９０】
サーバデバイス５２０は、ゼロレーティング変換システム１００のために情報を受信し、処理し、送信することができる任意の電子デバイスを含む。電子デバイスの例は、超モバイルデバイス、モバイルデバイス、携帯情報端末（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話、デジタル電話、セルラー電話、電子ブックリーダー、ハンドセット、一方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバ、サーバアレイまたはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブアプライアンス、分散型コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家庭用電化製品、プログラマブル民生用電子機器、ゲームデバイス、テレビジョン、デジタルテレビジョン、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せを含む。実施形態はこれに限定されない。
【００９１】
サーバデバイス５２０は、処理コンポーネント５３０を使用して、ゼロレーティング変換システム１００の処理動作または処理ロジックを実行する。処理コンポーネント５３０は、様々なハードウェア要素、ソフトウェア要素、またはその両方の組合せを含むことができる。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路要素（トランジスタ、抵抗器、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含む。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインタフェース、アプリケーションプログラミングインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはそれらの任意の組合せを含む。実施形態がハードウェア要素および／またはソフトウェア要素を使用して具体化されるかどうかを決定することは、所望の計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、および他の設計上または性能上の制約等の任意の数のファクタに従って所与の具体化に対して所望されるように変化し得る。
【００９２】
サーバデバイス５２０は、通信コンポーネント５４０を使用して、ゼロレーティング変換システム１００のための通信動作または通信ロジックを実行する。通信コンポーネント５４０は、パケット交換ネットワーク（例えば、インターネットなどの公衆ネットワーク、企業イントラネットなどのプライベートネットワークなど）、回線交換ネットワーク（例えば、公衆交換電話網）、またはパケット交換ネットワークと回線交換ネットワークとの組合せ（適切なゲートウェイとトランスレータを使用する）で使用するのに適した技術のような公知の通信技術および通信プロトコルを実施し得る。通信コンポーネント５４０は、１つまたは複数の通信インタフェース、ネットワークインタフェース、ネットワークインタフェースカード（ＮＩＣ）、無線機、無線送信機／受信機（トランシーバ）、有線および／または無線通信媒体、物理的コネクタ、およびその他を含み得る。限定ではなく一例として、通信メディア５１２，５２２は有線通信媒体および無線通信媒体を含む。有線通信媒体の例は、ワイヤ、ケーブル、金属リード線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペア線、同軸ケーブル、光ファイバ、伝搬信号などを含む。無線通信媒体の例は、音響、無線周波数（ＲＦ）スペクトル、赤外線および他の無線媒体を含む。
【００９３】
サーバデバイス５２０は、ゼロレーティングのアプリケーションサポートサーバ３９０およびゼロレーティングのホスティングサーバ１９０を備える。サーバデバイス５２０は、メディア５１２を介して送信される信号５１４を使用してネットワーク通信事業者１７０と通信する。ネットワーク通信事業者１７０と通信するサーバデバイス５２０は、クライアントデバイス１１０などのクライアントへの記憶および最終的な配信のために、ネットワーク通信事業者１７０からゼロレーティング書き換えルール１５０を受信するゼロレーティングのアプリケーションサポートサーバ３８０を備える。メディア５１２を介して送信される信号５１４は、クライアントデバイス１１０に対するゼロレーティングのアプリケーションサポートサーバ３９０およびゼロレーティングのホスティングサーバ１９０の動作の実行などのために、クライアントデバイス１１０とサーバデバイス５２０との間の通信を含む。
【００９４】
クライアントデバイス１１０は、セルラーブロードキャストを使用して送信されたセルラー信号５３４を使用して、ネットワーク通信事業者１７０と通信する。クライアントデバイス１１０は、セルサイト５５０に接続するためにセルラー送信を使用するセルラー通信コンポーネント５６０を備える。セルサイト５５０は、ネットワーク通信事業者１７０によって提供され、そのインフラストラクチャの一部であってもよいことは理解されよう。セルラー通信コンポーネント５６０は、図２を参照して説明した通信コンポーネント２６０に対応している。クライアントデバイス１１０は、クライアントデバイス１１０がロケーション間、したがってセルラーサイト間で遷移するときに、アプリケーション１２０の様々な用途で様々なセルラーサイトに接続することができることが理解されよう。信号５３４は、ネットワーク通信事業者１７０、サーバデバイス５２０によってホストされるゼロレーティングのアプリケーションサポートサーバ３９０およびゼロレーティングのホスティングサーバ１９０と通信するとともに、インターネットを介してアクセス可能なサーバ、クライアント、および他のコンピューティングデバイスなどの、ネットワーク通信事業者１７０を介してアクセス可能な他のサーバ、クライアント、およびコンピューティングデバイスと通信するためにクライアントデバイス１１０によって使用される。
【００９５】
図６は、分散型システム６００のブロック図を示す。分散型システム６００は、ゼロレーティング変換システム１００の構造および／または動作の部分を複数のコンピューティングエンティティに亘って分散する。分散型システム６００の例は、限定なしで、クライアント−サーバアーキテクチャ、３階層アーキテクチャ、Ｎ階層アーキテクチャ、密結合またはクラスタ型アーキテクチャ、ピアツーピアアーキテクチャ、マスタ−スレーブアーキテクチャ、共有データベース・アーキテクチャ、およびその他のタイプの分散型システムを含む。実施形態はこれに限定されない。
【００９６】
分散型システム６００は、クライアントデバイス１１０と、サーバデバイス６２０，６７０，６８０とを備える。一般に、クライアントデバイス１１０とサーバデバイス６２０，６７０，６８０は、図５を参照して説明したようなサーバデバイス５２０と同じか、または類似のものである。例えば、クライアントデバイス１１０およびサーバデバイス６２０，６７０および６８０は、それぞれ、図５を参照して説明したような処理コンポーネント５３０および通信コンポーネント５４０とそれぞれ同じまたは類似の処理コンポーネント６３０および通信コンポーネント６４０を含む。別の例では、デバイス１１０，６２０，６７０および６８０は、通信コンポーネント６４０を介して通信信号６１４を使用して通信メディア６１２上で通信することができる。クライアントデバイス１１０は、セルサイト６５０にブロードキャストされるセルラー信号６３４と、メディア６２２を介してネットワーク通信事業者１７０に送信される信号６２４とによってメディア６１２にブリッジされる。セルサイト６５０は、ネットワーク通信事業者１７０によって提供され、かつネットワーク通信事業者１７０のインフラストラクチャの一部であってもよいことが理解されよう。
【００９７】
サーバデバイス６２０は、説明した実施形態に従って様々な方法を実行するように動作する１つまたは複数のサーバプログラムを備えるか、または用いる。一実施形態では、例えば、サーバデバイス６２０は、ゼロレーティングのアプリケーションサポートサーバ３５０を備える。このため、サーバデバイス６２０とクライアントデバイス１１０との間の通信は、クライアントがゼロレーティング書き換えルール１５０およびゼロレーティングアクセスセキュリティトークン３７０を要求して受信することに対応する。
【００９８】
サーバデバイス６７０は、説明した実施形態に従って様々な方法を実行するように動作する１つまたは複数のサーバプログラムを備えるか、または用いる。一実施形態では、例えば、サーバデバイス６７０は、ゼロレーティングのホスティングサーバ１５０を備える。このため、サーバデバイス６７０とクライアントデバイス１１０との間の通信は、クライアントがネットワークリソース１８０をゼロレーティング通信として要求し受信することに対応する。
【００９９】
サーバデバイス６８０は、説明された実施形態に従って様々な方法を実行するように動作する１つまたは複数のサーバプログラムを備えるか、または用いる。一実施形態では、例えば、サーバデバイス６８０は、非ゼロレーティングのホスティングサーバ１９５を備える。このため、サーバデバイス６７０とクライアントデバイス１１０との間の通信は、クライアントがネットワークリソース１８０を非ゼロレーティングの通信として要求し受信することに対応する。
【０１００】
図７Ａは、論理フロー７００の一実施形態を示す。論理フロー７００は、本明細書に記載された１つまたは複数の実施形態によって実行される動作の一部または全部を表す。
図７に示す図示された実施形態において、論理フロー７００は、ブロック７０２において、アプリケーションコンポーネント１３０からネットワーク要求１３５を受信する。ネットワーク要求１８０は、ネットワークリソース１８０へのアクセスのためのものである。
【０１０１】
論理フロー７００は、ブロック７０４において、ネットワークリソース１８０を複数のゼロレーティング書き換えルール１５０と比較して、ネットワークリソース１８０と一致するゼロレーティング書き換えルールを特定する。
【０１０２】
論理フロー７００は、ブロック７０６において、特定されたゼロレーティング書き換えルールを使用してネットワーク要求１８０をネットワークリソース１８０のためのゼロレーティングのネットワーク要求１６５に変換する。
【０１０３】
論理フロー７００は、ブロック７０８において、ゼロレーティングのネットワーク要求１６５を実行する。
図７Ｂは、論理フロー７１０の一実施形態を示す。論理フロー７１０は、本明細書に記載された１つまたは複数の実施形態によって実行される動作の一部または全部を表す。
【０１０４】
図７に示す図示された実施形態において、論理フロー７１０は、ブロック７１２において、アプリケーションコンポーネント１３０からネットワーク要求１３５を受信する。ネットワーク要求１３５は、ネットワークサーバ上にホストされたネットワークリソース１８０へのアクセスのためのものである。
【０１０５】
論理フロー７１０は、ブロック７１４において、プロセッサ回路を使用して、ネットワークリソース１８０に対するドメイン名と複数のゼロレーティング書き換えルール１５０に対する複数のドメイン名タグとのマッチングを行って、ドメイン名と一致する複数のドメイン名タグのうちのドメイン名タグに関連するゼロレーティング書き換えルールを特定する。
【０１０６】
論理フロー７１０は、ブロック７１６において、特定されたゼロレーティング書き換えルールを使用して、ネットワーク要求１３５に関するドメイン名をゼロレーティングのネットワークサーバに対応するゼロレーティングのドメイン名に書き換える。
【０１０７】
論理フロー７１０は、ブロック７１８において、ネットワークインタフェースコンポーネントを使用して、ゼロレーティングのネットワークサーバにネットワークリソース１８０を要求する。
【０１０８】
図７Ｃは、論理フロー７２０の一実施形態を示す。論理フロー７２０は、本明細書に記載された１つまたは複数の実施形態によって実行される動作の一部または全部を表す。
図７に示すように、論理フロー７２０は、ブロック７２２において、アプリケーションコンポーネント１３０からネットワーク要求１３５を受信する。ネットワーク要求１３５はネットワークリソース１８０へのアクセスのためのものである。
【０１０９】
論理フロー７２０は、ブロック７２４において、複数のゼロレーティング書き換えルール１５０をデータストア１４０から取得する。複数のゼロレーティング書き換えルール１５０のそれぞれは、複数のドメイン名パターンのうちの１つのドメイン名パターンに関連付けられている。
【０１１０】
論理フロー７２０は、ブロック７２６において、プロセッサ回路を使用して、ネットワークリソース１８０に関するドメイン名を複数のドメイン名パターンのうちの１つまたは複数のドメイン名パターンと比較して、ネットワークリソース１８０に関するドメイン名と一致する複数のゼロレーティング書き換えルール１５０のうちの１つのゼロレーティング書き換えルールを特定する。
【０１１１】
論理フロー７２０は、ブロック７２８において、特定されたゼロレーティング書き換えルールを使用してネットワーク要求１８０をネットワークリソース１８０に関するゼロレーティングのネットワーク要求１６５に変換する。ゼロレーティングのネットワーク要求１６５は、ネットワーク要求１３５に関するドメイン名を置き換えるゼロレーティングのドメイン名を含む。
【０１１２】
論理フロー７２０は、ブロック７３０において、ネットワークインタフェースコンポーネントを使用してゼロレーティングのネットワーク要求１６５を実行する。
実施形態は、これらの例に限定されない。
【０１１３】
図８は、以前に説明されたような様々な実施形態の実装に適した例示的なコンピューティングアーキテクチャ８００の実施形態を示す。一実施形態では、コンピューティングアーキテクチャ８００は、電子デバイスの一部を含むことも、電子デバイスの一部として実装することもできる。電子デバイスの例は、数ある中でも、図８を参照して説明されたものを含み得る。実施形態は、この内容に限定されない。
【０１１４】
この出願で使用される場合、「システム」および「コンポーネント」という用語は、コンピュータ関連の実体、ハードウェア、ハードウェアとソフトウェアの組み合せ、ソフトウェアまたは実行中のソフトウェアを指すことを意図し、その例は、例示的なコンピューティングアーキテクチャ８００によって提供される。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で実行しているプロセス、プロセッサ、ハードディスクドライブ、複数の記憶ドライブ（光学記憶媒体および磁気記憶媒体のうちの少なくとも一方の）、オブジェクト、実行可能なもの、実行スレッド、プログラムおよびコンピュータのうちの少なくとも一つであり得る。例示として、サーバ上で実行しているアプリケーションとサーバの両方がコンポーネントであり得る。１つまたは複数のコンポーネントは、実行プロセスおよびスレッド内のうちの少なくとも一方に存在し得、コンポーネントは、１つのコンピュータ上にローカライズすることおよび２つ以上のコンピュータ間で分散させることのうちの少なくとも一方を行うことができる。さらに、コンポーネントは、オペレーションを連係させるため、様々なタイプの通信媒体によって互いに通信可能に結合することができる。連係は、単方向または双方向の情報交換を伴い得る。例えば、コンポーネントは、通信媒体上で伝達される信号の形態で情報を伝達することができる。情報は、様々な信号線に割り当てられた信号として実装することができる。そのような割り当てでは、各メッセージは信号である。しかし、更なる実施形態は、その代替として、データメッセージを使用することができる。そのようなデータメッセージは、様々な接続間で送信することができる。例示的な接続は、並列インタフェース、直列インタフェースおよびバスインタフェースを含む。
【０１１５】
コンピューティングアーキテクチャ８００は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、振動子、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント、電源など、様々な共通のコンピューティング要素を含む。しかし、実施形態は、コンピューティングアーキテクチャ８００による実装に限定されない。
【０１１６】
図８に示されるように、コンピューティングアーキテクチャ８００は、処理ユニット８０４、システムメモリ８０６およびシステムバス８０８を備える。処理ユニット８０４は、これらに限定されないが、エーエムディー（ＡＭＤ）（登録商標）、アスロン（Ａｔｈｌｏｎ）（登録商標）、デュロン（Ｄｕｒｏｎ）（登録商標）およびオプテロン（Ｏｐｔｅｒｏｎ）（登録商標）プロセッサや、アーム（ＡＲＭ）（登録商標）アプリケーション、埋め込みセキュアプロセッサや、アイビーエム（ＩＢＭ）（登録商標）およびモトローラ（Ｍｏｔｏｒｏｌａ）（登録商標）ドラゴンボール（ＤｒａｇｏｎＢａｌｌ）（登録商標）およびパワーピーシー（ＰｏｗｅｒＰＣ）（登録商標）プロセッサや、アイビーエム（ＩＢＭ）（登録商標）およびソニー（Ｓｏｎｙ）（登録商標）セル（Ｃｅｌｌ）プロセッサや、インテル（Ｉｎｔｅｌ）（登録商標）セレロン（Ｃｅｌｅｒｏｎ）（登録商標）、コアツーデュオ（Ｃｏｒｅ（２）Ｄｕｏ）（登録商標）、アイテニアム（Ｉｔａｎｉｕｍ）（登録商標）、ペンティアム（Ｐｅｎｔｉｕｍ）（登録商標）、ジオン（Ｘｅｏｎ）（登録商標）およびエックススケール（ＸＳｃａｌｅ）（登録商標）プロセッサや、同様のプロセッサを含む、様々な市販のプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット８０４として使用することができる。
【０１１７】
システムバス８０８は、これらに限定されないが、処理ユニット８０４に対するシステムメモリ８０６を含む、システムコンポーネントのためのインタフェースを提供する。システムバス８０８は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス（メモリコントローラの有無に関わらず）、周辺機器用バスおよびローカルバスにさらに相互接続することができるいくつかのタイプのバス構造のいずれかであり得る。インタフェースアダプタは、スロットアーキテクチャを介してシステムバス８０８に接続することができる。スロットアーキテクチャの例は、これらに限定されないが、アクセラレイティッドグラフィックスポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、カードバス（Ｃａｒｄ  Ｂｕｓ）、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ：（Ｅｘｔｅｎｄｅｄ）Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ニューバス（ＮｕＢｕｓ）、周辺構成要素相互接続（拡張）（ＰＣＩ（Ｘ）：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（Ｅｘｔｅｎｄｅｄ））、ピーシーアイエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）、ＰＣメモリカード国際協会（ＰＣＭＣＩＡ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）および同様のものを含み得る。
【０１１８】
コンピューティングアーキテクチャ８００は、製造の様々な物品を含むことも、実装することもできる。製造の物品は、論理を格納するためのコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、取り外し可能型または取り外し不可能型メモリ、消去可能型または消去不可能型メモリ、書き込み可能型または書き換え可能型メモリなどを含む、電子データの格納が可能ないかなる有形の媒体も含み得る。論理の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行コード、静的コード、動的コード、オブジェクト指向コード、視覚的コードおよび同様のものなど、任意の適切なタイプのコードを使用して実装される実行可能なコンピュータプログラム命令を含み得る。また、実施形態は、非一時的なコンピュータ可読媒体内または非一時的なコンピュータ可読媒体上に含まれる命令として少なくとも部分的に実装することもでき、本明細書で説明されるオペレーションの性能を可能にするため、１つまたは複数のプロセッサが命令を読み取り、実行することができる。
【０１１９】
システムメモリ８０６は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、同期型ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラム可能型ＲＯＭ（ＰＲＯＭ）、消去・プログラム可能型ＲＯＭ（ＥＰＲＯＭ）、電気的消去・プログラム可能型ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、ポリマーメモリ、例えば、強誘電性ポリマーメモリ、オボニックメモリ、相変化または強誘電体メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ）メモリ、磁気または光カード、デバイスのアレイ、例えば、独立ディスクの冗長アレイ（ＲＡＩＤ：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ））および情報の格納に適した他の任意のタイプの記憶媒体など、１つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含み得る。図８に示される実施形態では、システムメモリ８０６は、不揮発性メモリ８１０および揮発性メモリ８１２のうちの少なくとも一方を含み得る。基本入力／出力システム（ＢＩＯＳ）は、不揮発性メモリ８１０に格納することができる。
【０１２０】
コンピュータ８０２は、内部（または外部）のハードディスクドライブ（ＨＤＤ）８１４、取り外し可能型磁気ディスク８１８から読み取るかまたは取り外し可能型磁気ディスク８１８に書き込むための磁気フロッピーディスク（登録商標）ドライブ（ＦＤＤ）８１６、および、取り外し可能型光ディスク８２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）から読み取るかまたは取り外し可能型光ディスク８２２に書き込むための光ディスクドライブ８２０を含む、１つまたは複数の低速メモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含み得る。ＨＤＤ  ８１４、ＦＤＤ  ８１６および光ディスクドライブ８２０は、ＨＤＤインタフェース８２４、ＦＤＤインタフェース８２６および光学式ドライブインタフェース８２８のそれぞれによってシステムバス８０８に接続することができる。外部のドライブ実装形態のためのＨＤＤインタフェース８２４は、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）およびＩＥＥＥ１３９４インタフェース技術の少なくとも１つまたは両方を含み得る。
【０１２１】
ドライブおよび関連コンピュータ可読媒体は、データの揮発性記憶装置および不揮発性記憶装置のうちの少なくとも一方、データ構造、コンピュータ実行可能命令などを提供する。例えば、オペレーティングシステム８３０、１つまたは複数のアプリケーションプログラム８３２、他のプログラムモジュール８３４およびプログラムデータ８３６を含む、多くのプログラムモジュールは、ドライブおよびメモリユニット８１０、８１２に格納することができる。一実施形態では、１つまたは複数のアプリケーションプログラム８３２、他のプログラムモジュール８３４およびプログラムデータ８３６は、例えば、ゼロレーティング変換システム１００の様々なアプリケーションおよびコンポーネントのうちの少なくとも一方を含み得る。
【０１２２】
ユーザは、１つまたは複数の有線／無線入力デバイス、例えば、キーボード８３８およびポインティングデバイス（マウス８４０など）を通じて、コンピュータ８０２にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロホン、赤外線（ＩＲ）リモートコントロール、無線周波数（ＲＦ）リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックスタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン（例えば、容量性および抵抗性など）、トラックボール、トラックパッド、センサ、スタイラスおよび同様のものを含み得る。これらのおよび他の入力デバイスは、多くの場合、システムバス８０８と結合された入力デバイスインタフェース８４２を通じて処理ユニット８０４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインタフェースなどの他のインタフェースによって接続することもできる。
【０１２３】
また、モニタ８４４または他のタイプの表示デバイスも、ビデオアダプタ８４６などのインタフェースを介してシステムバス８０８に接続される。モニタ８４４は、コンピュータ８０２の内部または外部にあり得る。モニタ８４４に加えて、コンピュータは、通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【０１２４】
コンピュータ８０２は、リモートコンピュータ８４８などの１つまたは複数のリモートコンピュータへの有線通信および無線通信のうちの少なくとも一方を介して、論理接続を使用して、ネットワーク接続環境で動作することができる。リモートコンピュータ８４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテインメント器具、ピアデバイスまたは他の共通のネットワークノードであり得、通常、コンピュータ８０２に関連して説明される要素の多くまたはすべてを含むが、簡潔にするため、メモリデバイス／記憶装置８５０のみが示されている。描写される論理接続は、ローカルエリアネットワーク（ＬＡＮ）８５２およびより大きなネットワーク（例えば、広域ネットワーク（ＷＡＮ）８５４）のうちの少なくとも一方への有線／無線接続性を含む。そのようなＬＡＮおよびＷＡＮネットワーク環境は、オフィスや会社ではありふれたものであり、イントラネットなどの企業規模のコンピュータネットワークを促進し、そのすべては、例えば、インターネットなどのグローバル通信ネットワークに接続することができる。
【０１２５】
ＬＡＮネットワーク環境で使用される際、コンピュータ８０２は、有線通信ネットワークインタフェースおよび無線通信ネットワークインタフェースのうちの少なくとも一方またはアダプタ８５６を通じてＬＡＮ  ８５２に接続される。アダプタ８５６は、ＬＡＮ  ８５２への有線通信および無線通信のうちの少なくとも一方を促進することができ、ＬＡＮ  ８５２もまた、アダプタ８５６のワイヤレス機能性との通信のためにその上に配置されたワイヤレスアクセスポイントを含み得る。
【０１２６】
ＷＡＮネットワーク環境で使用される際、コンピュータ８０２は、モデム８５８を含むか、ＷＡＮ  ８５４上の通信サーバに接続されるか、または、例えば、インターネットによってなど、ＷＡＮ  ８５４上での通信を確立するための他の手段を有する。内部または外部の有線デバイスおよび無線デバイスのうちの少なくとも一方であり得るモデム８５８は、入力デバイスインタフェース８４２を介してシステムバス８０８に接続される。ネットワーク接続環境では、コンピュータ８０２またはその一部に関連して描写されるプログラムモジュールは、リモートメモリデバイス／記憶装置８５０に格納することができる。示されるネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることが認識されよう。
【０１２７】
コンピュータ８０２は、無線通信で動作するように配置された無線デバイスなど、ＩＥＥＥ８０２ファミリ規格を使用して有線および無線デバイスまたは実体と通信するように動作し得る（例えば、ＩＥＥＥ８０２．８無線変調技法）。これは、数ある中でも、少なくともＷｉ−Ｆｉ（またはワイヤレスフィディリティ）、ＷｉＭａｘおよびブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）ワイヤレス技術を含む。したがって、通信は、従来のネットワークまたは単に少なくとも２つのデバイス間のアドホック通信と同様に、事前に定義された構造であり得る。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ８０２．８ｘ（ａ、ｂ、ｇ、ｎなど）と呼ばれる無線技術を使用して、安全で、信頼できる、高速のワイヤレス接続性を提供する。Ｗｉ−Ｆｉネットワークは、互いに、インターネットに、そして、有線ネットワーク（ＩＥＥＥ８０２．３関連の媒体および機能を使用する）にコンピュータを接続するために使用される。
【０１２８】
図９は、以前に説明されるような様々な実施形態の実装に適した例示的な通信アーキテクチャ９００のブロック図を示す。通信アーキテクチャ９００は、送信機、受信機、トランシーバ、ラジオ、ネットワークインタフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源など、様々な共通の通信要素を含む。しかし、実施形態は、通信アーキテクチャ９００による実装に限定されない。
【０１２９】
図９に示されるように、通信アーキテクチャ９００は、１つまたは複数のクライアント９０２およびサーバ９０４を含む。クライアント９０２は、クライアントデバイス９１０を実装することができる。サーバ９０４は、サーバデバイス９５０を実装することができる。クライアント９０２およびサーバ９０４は、クッキーおよび関連状況情報のうちの少なくとも一方などのそれぞれのクライアント９０２およびサーバ９０４にローカルに情報を格納するために使用することができる１つまたは複数のそれぞれのクライアントデータストア９０８およびサーバデータストア９１０に動作的に接続される。
【０１３０】
クライアント９０２およびサーバ９０４は、通信フレームワーク９０６を使用して互いの間で情報を伝達することができる。通信フレームワーク９０６は、いかなる周知の通信技法およびプロトコルも実装することができる。通信フレームワーク９０６は、パケット交換網（例えば、インターネットなどのパブリックネットワーク、企業イントラネットなどのプライベートネットワークなど）、回路交換網（例えば、公衆交換電話網）またはパケット交換網と回路交換網の組合せ（適切なゲートウェイおよび変換器を備える）として実装することができる。
【０１３１】
通信フレームワーク９０６は、通信ネットワークを受け入れたり、通信ネットワークと通信したり、通信ネットワークに接続したりするように構成された様々なネットワークインタフェースを実装することができる。ネットワークインタフェースは、入出力インタフェースの特殊な形態と見なすことができる。ネットワークインタフェースは、これらに限定されないが、直接接続、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）（例えば、厚い、薄い、ツイストペアの１０／１００／１０００ベースティー（Ｂａｓｅ  Ｔ）および同様のもの）、トークンリング、ワイヤレスネットワークインタフェース、セルラネットワークインタフェース、ＩＥＥＥ８０２．１１ａ−ｘネットワークインタフェース、ＩＥＥＥ８０２．１６ネットワークインタフェース、ＩＥＥＥ８０２．２０ネットワークインタフェースおよび同様のものを含む、接続プロトコルを使用することができる。さらに、複数のネットワークインタフェースは、様々な通信ネットワークタイプと関わり合うために使用することができる。例えば、複数のネットワークインタフェースは、放送、マルチキャストおよびユニキャストネットワーク上での通信を可能にするために使用することができる。処理要件がより大きな速度および容量を規定していれば、プール、負荷平衡およびそうでなければクライアント９０２およびサーバ９０４に必要とされる通信帯域幅の増加に対して、分散型ネットワークコントローラアーキテクチャを同様に使用することができる。通信ネットワークは、これらに限定されないが、直接相互接続、保護されたカスタム接続、プライベートネットワーク（例えば、企業イントラネット）、パブリックネットワーク（例えば、インターネット）、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット上のノードとしてのミッションの運用（ＯＭＮＩ：Ｏｐｅｒａｔｉｎｇ  Ｍｉｓｓｉｏｎｓ  ａｓ  Ｎｏｄｅｓ  ｏｎ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ）、広域ネットワーク（ＷＡＮ）、ワイヤレスネットワーク、セルラーネットワークおよび他の通信ネットワークを含む、有線ネットワークおよび無線ネットワークのいずれか１つおよびそれらの組合せであり得る。
【０１３２】
いくつかの実施形態は、「一実施形態」または「実施形態」という表現（それらの派生語も同様）を使用して説明することができる。これらの用語は、実施形態に関連して説明される特定の特徴、構造または特性が少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な場所での「一実施形態では」という記載の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。さらに、いくつかの実施形態は、「結合される」および「接続される」という表現（それらの派生語も同様）を使用して説明することができる。これらの用語は、必ずしも互いに同義語となることを意図するとは限らない。例えば、いくつかの実施形態は、２つ以上の要素が互いに直接、物理的または電気的に接触していることを示すため、「接続される」または「結合される」という用語を使用して説明することができる。しかし、「結合される」という用語は、２つ以上の要素が互いに直接接触していないが、依然として互いに協働または相互作用することも意味する。
【０１３３】
本明細書で使用される表記および専門用語の一般的な参照により、本明細書の詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示されてもよい。これらの手順の説明および表現は、当業者によって、当業者が自らの作業の内容を当業者に最も効果的に伝えるために使用される。
【０１３４】
手順は、ここでは、一般的に、望ましい結果を導く動作の自己一貫したシーケンスであると考えられる。これらの処理は、物理量の物理的操作を必要とするものである。通常、必ずしも必要ではないが、これらの量は、記憶、転送、結合、比較、およびその他の処理が可能な電気信号、磁気信号または光信号の形態をとる。これらの信号をビット、値、要素、記号、文字、項、数字などと呼ぶことは、主に一般的な使用のために時には都合がよいことが分かる。しかしながら、これらの用語および類似の用語は全て、適切な物理量と関連しており、これらの量に適用される便利なラベルに過ぎないことに留意すべきである。
【０１３５】
さらに、実行される操作は、人間のオペレータによって実行される操作に一般に関連する加算または比較のような用語で呼ばれることが多い。１つまたは複数の実施形態の一部を形成する本明細書に記載された動作のいずれかにおいて、人間のオペレータのそのような能力は、必要でなく、またはほとんどの場合望ましいものではない。むしろ、操作は機械操作である。様々な実施形態の動作を実行するのに有用な機械には、汎用デジタルコンピュータまたは類似の装置が含まれる。
【０１３６】
様々な実施形態は、これらの動作を実行するための装置またはシステムにも関する。この装置は、必要とされる目的のために特別に構成することができ、またはコンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピュータを含むことができる。本明細書に提示された手順は、特定のコンピュータまたは他の装置に固有のものではない。様々な汎用機械が、本明細書の教示に従って記述されたプログラムと共に使用されてもよく、または必要な方法ステップを実行するためにより特殊化された装置を構築することが好都合であることが分かる。与えられた説明から、これらのさまざまな機械に必要な構造が明らかとなる。
【０１３７】
本開示の要約書は、読者が技術的な開示の本質を素早く確かめられるようにするために提供されることが強調される。本開示の要約書は、請求項の範囲または意味を解釈または制限するためには使用されないことを理解の上で提出される。それに加えて、前述の詳細な説明では、本開示の合理化を図る目的で、様々な特徴が単一の実施形態でまとめられることが分かる。本開示のこの方法は、特許請求される実施形態が各請求項で明白に列挙されるより多くの特徴を必要とするという意図を反映するものと解釈してはならない。むしろ、以下の請求項が反映するように、発明対象物は、単一の開示される実施形態のすべての特徴に満たないことにある。したがって、以下の請求項は、これにより、詳細な説明に組み込まれ、各請求項は、別々の実施形態として自立している。「第１の」、「第２の」、「第３の」などの用語は、単にラベルとして使用され、それらの対象に対する数的要件を課すことを意図しない。
【０１３８】
上記で説明されるものには、開示されるアーキテクチャの例が含まれる。当然ながら、コンポーネントおよび方法論のうちの少なくとも一方の想定されるあらゆる組合せを説明することは可能ではないが、当業者であれば、多くの更なる組合せおよび置換が可能であることを認知することができる。それに従って、新規のアーキテクチャは、添付の請求項の技術思想および範囲内に収まるそのようなすべての代替形態、変更形態および変形形態を包含することが意図される。
【図１】
0006417046.tif 000002
【図２】
0006417046.tif 000003
【図３】
0006417046.tif 000004
【図４】
0006417046.tif 000005
【図５】
0006417046.tif 000006
【図６】
0006417046.tif 000007
【図７Ａ】
0006417046.tif 000008
【図７Ｂ】
0006417046.tif 000009
【図７Ｃ】
0006417046.tif 000010
【図８】
0006417046.tif 000011
【図９】
0006417046.tif 000012