(57)【要約】  システムは、命令を格納するよう構成されたメモリを含むコンピューティングデバイスを含む。さらに、システムは、イメージングデバイスにおいて、イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ又は複数のファイルを受信するステップを含む動作を実行するための命令を実行するプロセッサを含む。少なくとも１つのファイルは、ネットワークアセットのテキストコンテンツを提示するためのデータを含む。また、動作は、ネットワークアセットの一部と、ネットワークアセットの該部分に対応するテキストコンテンツとをイメージングデバイスのディスプレイ上に提示するステップを含む。さらに、動作は、ネットワークアセットの一部及び対応するテキストコンテンツが提示されている間、ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示可能かどうかを決定するための動作をイメージングデバイスにおいて実行するステップを含む。【選択図】図２
2018508059.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス実装方法であって、
イメージングデバイスにおいて、前記イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ又は複数のファイルを受信するステップであって、前記ファイルのうちの少なくとも１つは、前記ネットワークアセットのテキストコンテンツを提示するためのデータを含む、ステップと、
前記ネットワークアセットの一部と、前記ネットワークアセットの前記一部に対応するテキストコンテンツとを前記イメージングデバイスの前記ディスプレイ上に提示するステップと、
前記ネットワークアセットの前記一部及び前記対応するテキストコンテンツが提示されている間、前記ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、前記イメージングデバイスに存在するフォントの文字を使用して前記ディスプレイ上に提示可能かどうかを決定するための動作を前記イメージングデバイスにおいて実行するステップとを含む、方法。
【請求項２】
前記ファイルのうちの少なくとも１つは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するためのフォントの文字のセットを表すデータを含む、請求項１に記載のコンピューティングデバイス実装方法。
【請求項３】
前記ファイル内の前記フォントの文字のセットは、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項２に記載のコンピューティングデバイス実装方法。
【請求項４】
前記フォントの文字のセット及び前記フォントの文字のセット内に含まれる各フォントの文字は、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項１に記載のコンピューティングデバイス実装方法。
【請求項５】
前記ネットワークアセットの少なくとも１つの他の部分を提示するための動作を実行するステップは、前記イメージングデバイスにおいて１つ又は複数の他のファイルを受信するステップを含み、前記他のファイルのうちの少なくとも１つは、前記ネットワークアセットの前記他の部分のテキストコンテンツを提示するための他のフォントの文字のセットを表すデータを含む、請求項１に記載のコンピューティングデバイス実装方法。
【請求項６】
前記イメージングデバイスにおいて前記１つ又は複数の他のファイルが受信される前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる他のフォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項５に記載のコンピューティングデバイス実装方法。
【請求項７】
前記ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツを、前記イメージングデバイスに存在するフォントの文字を使用して前記ディスプレイ上に提示することができないと判断された場合、他のフォントの文字のセットに対するリクエストを開始するための動作が実行され、前記他のフォントの文字のセットがリクエストされる前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる各フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項１に記載のコンピューティングデバイス実装方法。
【請求項８】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォ
ントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字を含む、請求項２に記載のコンピューティングデバイス実装方法。
【請求項９】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、該フォントの所定の頻繁に使用される文字を含む、請求項２に記載のコンピューティングデバイス実装方法。
【請求項１０】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字、及び該フォントの所定の頻繁に使用される文字を含む、請求項２に記載のコンピューティングデバイス実装方法。
【請求項１１】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、静的ＵＲＬによって表される、請求項２に記載のコンピューティングデバイス実装方法。
【請求項１２】
前記ネットワークアセットを表す前記１つ又は複数のファイルは、前記イメージングデバイスに存在する前記フォントの文字のセットに基づき、送信のために選択される、請求項１に記載のコンピューティングデバイス実装方法。
【請求項１３】
前記ネットワークアセットを表す前記１つ又は複数のファイルは、コンテンツ配信ネットワークコンポーネントによって提供される、請求項１に記載のコンピューティングデバイス実装方法。
【請求項１４】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、フォントサービスプロバイダから提供される、請求項２に記載のコンピューティングデバイス実装方法。
【請求項１５】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、広告パブリッシャーから提供される、請求項２に記載のコンピューティングデバイス実装方法。
【請求項１６】
ネットワークアセットを表す前記１つ又は複数のファイルを受信するステップは、フォントサービスプロバイダ及び広告パブリッシャーにおいて実行される動作に基づく、請求項１に記載のコンピューティングデバイス実装方法。
【請求項１７】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、データ伝送時間を低減するためにＢａｓｅ６４を使用して符号化される、請求項２に記載のコンピューティングデバイス実装方法。
【請求項１８】
前記ソフトウェアエージェントは、静的機能及び動的機能を提供するための部分を含む、請求項３に記載のコンピューティングデバイス実装方法。
【請求項１９】
前記ネットワークアセットの一部は広告を含む、請求項１に記載のコンピューティングデバイス実装方法。
【請求項２０】
前記ソフトウェアエージェントは、フォントサービスプロバイダ、広告パブリッシャー、又は前記ネットワークアセットを表す前記１つ又は複数のファイルによって前記イメージングデバイスに提供される、請求項３に記載のコンピューティングデバイス実装方法。
【請求項２１】
前記ネットワークアセットの前記一部を前記イメージングデバイスの前記ディスプレイ上に提示するステップは、前記ネットワークアセットの前記一部に対応する前記テキストコンテンツを提示するのに適切なフォントの文字が前記イメージングデバイスに存在するまで、提示を遅延するステップを含む、請求項１に記載のコンピューティングデバイス実装方法。
【請求項２２】
コンピューティングデバイスを含むシステムであって、
前記コンピューティングデバイスは、
命令を記憶するように構成されたメモリと、
前記命令を実行して動作を実行するプロセッサであって、前記動作は、
イメージングデバイスにおいて、前記イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ又は複数のファイルを受信するステップであって、前記ファイルのうちの少なくとも１つは、前記ネットワークアセットのテキストコンテンツを提示するためのデータを含む、ステップと、
前記ネットワークアセットの一部と、前記ネットワークアセットの前記一部に対応するテキストコンテンツとを前記イメージングデバイスの前記ディスプレイ上に提示するステップと、
前記ネットワークアセットの前記一部及び前記対応するテキストコンテンツが提示されている間、前記ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、前記イメージングデバイスに存在するフォントの文字を使用して前記ディスプレイ上に提示可能かどうかを決定するための動作を前記イメージングデバイスにおいて実行するステップとを含む、プロセッサとを含むシステム。
【請求項２３】
前記ファイルのうちの少なくとも１つは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するためのフォントの文字のセットを表すデータを含む、請求項２２に記載のシステム。
【請求項２４】
前記ファイル内の前記フォントの文字のセットは、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項２３に記載のシステム。
【請求項２５】
前記フォントの文字のセット及び前記フォントの文字のセット内に含まれる各フォントの文字は、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項２２に記載のシステム。
【請求項２６】
前記ネットワークアセットの少なくとも１つの他の部分を提示するための動作を実行するステップは、前記イメージングデバイスにおいて１つ又は複数の他のファイルを受信するステップを含み、前記他のファイルのうちの少なくとも１つは、前記ネットワークアセットの前記他の部分のテキストコンテンツを提示するための別のフォントの文字のセットを表すデータを含む、請求項２２に記載のシステム。
【請求項２７】
前記イメージングデバイスにおいて前記１つ又は複数の他のファイルが受信される前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる他のフォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項２６に記載のシステム。
【請求項２８】
前記ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツを、前記イメージングデバイスに存在するフォントの文字を使用して前記ディスプレイ上に提示することができないと判断された場合、他のフォントの文字のセットに対するリクエストを
開始するための動作が実行され、前記他のフォントの文字のセットがリクエストされる前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる各フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項２２に記載のシステム。
【請求項２９】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字を含む、請求項２３に記載のシステム。
【請求項３０】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、該フォントの所定の頻繁に使用される文字を含む、請求項２３に記載のシステム。
【請求項３１】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字、及び該フォントの所定の頻繁に使用される文字を含む、請求項２３に記載のシステム。
【請求項３２】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、静的ＵＲＬによって表される、請求項２３に記載のシステム。
【請求項３３】
前記ネットワークアセットを表す前記１つ又は複数のファイルは、前記イメージングデバイスに存在する前記フォントの文字のセットに基づき、送信のために選択される、請求項２２に記載のシステム。
【請求項３４】
前記ネットワークアセットを表す前記１つ又は複数のファイルは、コンテンツ配信ネットワークコンポーネントによって提供される、請求項２２に記載のシステム。
【請求項３５】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、フォントサービスプロバイダから提供される、請求項２３に記載のシステム。
【請求項３６】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、広告パブリッシャーから提供される、請求項２３に記載のシステム。
【請求項３７】
ネットワークアセットを表す前記１つ又は複数のファイルを受信するステップは、フォントサービスプロバイダ及び広告パブリッシャーにおいて実行される動作に基づく、請求項２２に記載のシステム。
【請求項３８】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、データ伝送時間を低減するためにＢａｓｅ６４を使用して符号化される、請求項２３に記載のシステム。
【請求項３９】
前記ソフトウェアエージェントは、静的機能及び動的機能を提供するための部分を含む、請求項２４に記載のシステム。
【請求項４０】
前記ネットワークアセットの一部は広告を含む、請求項２２に記載のシステム。
【請求項４１】
前記ソフトウェアエージェントは、フォントサービスプロバイダ、広告パブリッシャー
、又は前記ネットワークアセットを表す前記１つ又は複数のファイルによって前記イメージングデバイスに提供される、請求項２４に記載のシステム。
【請求項４２】
前記ネットワークアセットの前記一部を前記イメージングデバイスの前記ディスプレイ上に提示するステップは、前記ネットワークアセットの前記一部に対応する前記テキストコンテンツを提示するのに適切なフォントの文字が前記イメージングデバイスに存在するまで、提示を遅延するステップを含む、請求項２２に記載のシステム。
【請求項４３】
処理装置によって実行可能な命令を格納する１つ又は複数のコンピュータ可読媒体であって、前記命令が実行されると、前記処理装置は、
イメージングデバイスにおいて、前記イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ又は複数のファイルを受信するステップであって、前記ファイルのうちの少なくとも１つは、前記ネットワークアセットのテキストコンテンツを提示するためのデータを含む、ステップと、
前記ネットワークアセットの一部と、前記ネットワークアセットの前記一部に対応するテキストコンテンツとを前記イメージングデバイスの前記ディスプレイ上に提示するステップと、
前記ネットワークアセットの前記一部及び前記対応するテキストコンテンツが提示されている間、前記ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、前記イメージングデバイスに存在するフォントの文字を使用して前記ディスプレイ上に提示可能かどうかを決定するための動作を前記イメージングデバイスにおいて実行するステップとを含む動作を実行する、コンピュータ可読媒体。
【請求項４４】
前記ファイルのうちの少なくとも１つは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するためのフォントの文字のセットを表すデータを含む、請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記ファイル内の前記フォントの文字のセットは、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項４４に記載のコンピュータ可読媒体。
【請求項４６】
前記フォントの文字のセット及び前記フォントの文字のセット内に含まれる各フォントの文字は、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項４３に記載のコンピュータ可読媒体。
【請求項４７】
前記ネットワークアセットの少なくとも１つの他の部分を提示するための動作を実行するステップは、前記イメージングデバイスにおいて１つ又は複数の他のファイルを受信するステップを含み、前記他のファイルのうちの少なくとも１つは、前記ネットワークアセットの前記他の部分のテキストコンテンツを提示するための別のフォントの文字のセットを表すデータを含む、請求項４４に記載のコンピュータ可読媒体。
【請求項４８】
前記イメージングデバイスにおいて前記１つ又は複数の他のファイルが受信される前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる他のフォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項４７に記載のコンピュータ可読媒体。
【請求項４９】
前記ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツを、前記イメージングデバイスに存在するフォントの文字を使用して前記ディスプレイ上に提示することができないと判断された場合、他のフォントの文字のセットに対するリクエストを開始するための動作が実行され、前記他のフォントの文字のセットがリクエストされる前
に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる各フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能である、請求項４３に記載のコンピュータ可読媒体。
【請求項５０】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字を含む、請求項４４に記載のコンピュータ可読媒体。
【請求項５１】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、該フォントの所定の頻繁に使用される文字を含む、請求項４４に記載のコンピュータ可読媒体。
【請求項５２】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字、及び該フォントの所定の頻繁に使用される文字を含む、請求項４４に記載のコンピュータ可読媒体。
【請求項５３】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、静的ＵＲＬによって表される、請求項４４に記載のコンピュータ可読媒体。
【請求項５４】
前記ネットワークアセットを表す前記１つ又は複数のファイルは、前記イメージングデバイスに存在する前記フォントの文字のセットに基づき、送信のために選択される、請求項４３に記載のコンピュータ可読媒体。
【請求項５５】
前記ネットワークアセットを表す前記１つ又は複数のファイルは、コンテンツ配信ネットワークコンポーネントによって提供される、請求項４３に記載のコンピュータ可読媒体。
【請求項５６】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、フォントサービスプロバイダから提供される、請求項４４に記載のコンピュータ可読媒体。
【請求項５７】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、広告パブリッシャーから提供される、請求項４４に記載のコンピュータ可読媒体。
【請求項５８】
ネットワークアセットを表す前記１つ又は複数のファイルを受信するステップは、フォントサービスプロバイダ及び広告パブリッシャーにおいて実行される動作に基づく、請求項４３に記載のコンピュータ可読媒体。
【請求項５９】
前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、データ伝送時間を低減するためにＢａｓｅ６４を使用して符号化される、請求項４４に記載のコンピュータ可読媒体。
【請求項６０】
前記ソフトウェアエージェントは、静的機能及び動的機能を提供するための部分を含む、請求項４５に記載のコンピュータ可読媒体。
【請求項６１】
前記ネットワークアセットの一部は広告を含む、請求項４３に記載のコンピュータ可読
媒体。
【請求項６２】
前記ソフトウェアエージェントは、フォントサービスプロバイダ、広告パブリッシャー、又は前記ネットワークアセットを表す前記１つ又は複数のファイルによって前記イメージングデバイスに提供される、請求項４５に記載のコンピュータ可読媒体。
【請求項６３】
前記ネットワークアセットの前記一部を前記イメージングデバイスの前記ディスプレイ上に提示するステップは、前記ネットワークアセットの前記一部に対応する前記テキストコンテンツを提示するのに適切なフォントの文字が前記イメージングデバイスに存在するまで、提示を遅延するステップを含む、請求項４３に記載のコンピュータ可読媒体。
【請求項６４】
前記ソフトウェアエージェントは、所定の場所のための静的識別子によって取得可能である、請求項３に記載のコンピューティングデバイス実装方法。
【請求項６５】
前記ソフトウェアエージェントは、所定の場所のための静的識別子によって取得可能である、請求項２４に記載のシステム。
【請求項６６】
前記ソフトウェアエージェントは、所定の場所のための静的識別子によって取得可能である、請求項４５に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２０１４年１２月１７日に出願された米国特許出願第６２／０９３，１３９号、２０１４年１２月１９日に出願された米国特許出願第６２／０９４，６３２号、及び２０１５年１月２１日に出願された米国特許出願第１４／６０１，７６３号について、３５ＵＳＣ§１１９（ｅ）に規定される優先権を主張し、これらの文献の全内容が、参照により本明細書に組み込まれる。
【技術分野】
【０００２】
本明細書は、フォントサブセットの管理、及び、プリンタやコンピュータデバイス等のイメージングデバイスへのネットワークを介したフォントサブセットの供給の管理に関する。
【背景技術】
【０００３】
インターネット等のコンピュータネットワークによって提供される、絶え間なく拡張する接続性において、テキスト、グラフィックス、オーディオ、ビデオ等の様々な種類のコンテンツが、コンピューティングデバイス上に提示されるアセットに含まれ得る（例えばドキュメント、プレゼンテーション、ウェブサイト、ウェブページ等）。このようなコンテンツを有するアセットの提示は、見る者により楽しい視聴体験を提供し、情報のより効率的な伝達を援助する。しかしながら、この技術の急速な拡大は、かかるコンテンツが途切れずに提示されることを必ずしも許容しない。ユーザデバイスの性能の問題や、ネットワーク帯域、スループット等は提示を妨げ、視聴者のコンテンツを見る能力を制限する可能性がある。
【発明の概要】
【０００４】
本明細書に記載されるシステム及び技術は、アセットコンテンツを適時に提供し、アセットの提示における遅延を低減することに関する。コンテンツの効率的な提供に加えて、アセットの最初の部分（例えば、１ページ目、ウェブページ等）を提示するために、所定のフォント情報のセットがイメージングデバイス（例えば、プリンタ、コンピュータデバイス等）に提供され得る。この静的なフォント情報セットを提供することにより、初期コンテンツを視聴者に迅速に提示することができ、これにより、初期部分が視聴されている間に他の動作（例えば、アセットの他の部分を提示するためのフォント情報を得る）を実行するための追加の時間を提供することができる。例えば、ウェブサイトを提示するために必要とされる１つ又は複数のフォントが、イメージングデバイス（例えば、タブレットコンピューティングデバイス）において入手できない可能性がある。必要なフォント情報を効率的に提供するために、ウェブサイトの一部（例えば、オープニングウェブページ）を提示するための所定のフォントの文字（ｆｏｎｔ  ｃｈａｒａｃｔｅｒｓ）のサブセットを最初にイメージングデバイスに提供することができる。これらの所定のサブセット（例えば、最も頻繁に使用される文字を含む）は、完全に最適ではないが、その部分が見られている間に他の動作を実行するための時間を提供することができる。さらに、初期部分を迅速に提示することにより（最初の部分が見られている間に他の動作を実行できるようにするために）、視聴者が、選択されたアセットの提示が開始するのを待っている間に不満を覚える可能性は低くなる。さらに、初期提示までの遅延を低減することによって、提示されるコンテンツ（例えば、製品、サービスなどの広告）に対する視聴者の関心とともに、視聴体験が改善され得る。
【０００５】
一側面では、コンピューティングデバイス実装方法は、イメージングデバイスにおいて、イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ
又は複数のファイルを受信するステップを含む。少なくとも１つのファイルは、ネットワークアセットのテキストコンテンツを提示するためのデータを含む。また、この方法は、ネットワークアセットの一部と、ネットワークアセットの該部分に対応するテキストコンテンツとをイメージングデバイスのディスプレイ上に提示するステップを含む。さらに、この方法は、ネットワークアセットの一部及び対応するテキストコンテンツが提示されている間、ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示可能かどうかを決定するための動作をイメージングデバイスにおいて実行するステップを含む。
【０００６】
実装形態は、以下の特徴のうちの１つ又は複数を含むことができる。前記ファイルのうちの少なくとも１つは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するためのフォントの文字のセットを表すデータを含み得る。前記ファイル内の前記フォントの文字のセットは、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。前記フォントの文字のセット及び前記フォントの文字のセット内に含まれる各フォントの文字は、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。ネットワークアセットの少なくとも１つの他の部分を提示するための動作を実行するステップは、１つ又は複数の他のファイルをイメージングデバイスで受信するステップを含むことができる。前記他のファイルのうちの少なくとも１つは、前記ネットワークアセットの前記他の部分のテキストコンテンツを提示するための他のフォントの文字のセットを表すデータを含み得る。前記イメージングデバイスにおいて前記１つ又は複数の他のファイルが受信される前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる他のフォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示され得ないと判断された場合、別のフォントの文字のセットに対するリクエストを開始する動作が実行され得る。前記他のフォントの文字のセットがリクエストされる前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる各フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、該フォントの所定の頻繁に使用される文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字、及び該フォントの所定の頻繁に使用される文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、静的ＵＲＬによって表され得る。前記ネットワークアセットを表す前記１つ又は複数のファイルは、前記イメージングデバイスに存在する前記フォントの文字のセットに基づき、送信のために選択され得る。前記ネットワークアセットを表す前記１つ又は複数のファイルは、コンテンツ配信ネットワークコンポーネントによって提供され得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、フォントサービスプロバイダから提供され得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、広告パブリッシャーから提供され得る。ネットワークアセットを表す前記１つ又は複数のファイルを受信するステップは、フォントサービスプロバイダ及び広告パブリッシャーにおいて実行される動作に基づき得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、データ伝送時間を低減するためにＢａｓｅ６４を使用して符号化（ｅｎｃｏｄｅｄ）され得る。前記
ソフトウェアエージェントは、静的機能及び動的機能を提供するための部分を含み得る。ネットワークアセットの一部は、広告又は他のタイプのコンテンツを含み得る。前記ソフトウェアエージェントは、フォントサービスプロバイダ、広告パブリッシャー、又は前記ネットワークアセットを表す前記１つ又は複数のファイルによって前記イメージングデバイスに提供され得る。前記ネットワークアセットの前記一部を前記イメージングデバイスの前記ディスプレイ上に提示するステップは、前記ネットワークアセットの前記一部に対応する前記テキストコンテンツを提示するのに適切なフォントの文字が前記イメージングデバイスに存在するまで、提示を遅延するステップを含み得る。ソフトウェアエージェントは、所定の場所のための静的識別子によって取得可能であってもよい。
【０００７】
他の側面では、システムは、命令を格納するよう構成されたメモリを含むコンピューティングデバイスを含む。システムは、イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ又は複数のファイルをイメージングデバイスにおいて、受信するステップを含む動作を実行するための命令を実行するプロセッサも含む。少なくとも１つのファイルは、ネットワークアセットのテキストコンテンツを提示するためのデータを含む。また、動作は、ネットワークアセットの一部と、ネットワークアセットの該部分に対応するテキストコンテンツとをイメージングデバイスのディスプレイ上に提示するステップを含む。さらに、動作は、ネットワークアセットの一部及び対応するテキストコンテンツが提示されている間、ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示可能かどうかを決定するための動作をイメージングデバイスにおいて実行するステップを含む。
【０００８】
実装形態は、以下の特徴のうちの１つ又は複数を含むことができる。前記ファイルのうちの少なくとも１つは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するためのフォントの文字のセットを表すデータを含み得る。前記ファイル内の前記フォントの文字のセットは、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。前記フォントの文字のセット及び前記フォントの文字のセット内に含まれる各フォントの文字は、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。ネットワークアセットの少なくとも１つの他の部分を提示するための動作を実行するステップは、１つ又は複数の他のファイルをイメージングデバイスで受信するステップを含むことができる。前記他のファイルのうちの少なくとも１つは、前記ネットワークアセットの前記他の部分のテキストコンテンツを提示するための他のフォントの文字のセットを表すデータを含み得る。前記イメージングデバイスにおいて前記１つ又は複数の他のファイルが受信される前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる他のフォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示され得ないと判断された場合、別のフォントの文字のセットに対するリクエストを開始する動作が実行され得る。前記他のフォントの文字のセットがリクエストされる前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる各フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、該フォントの所定の頻繁に使用される文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示する
ために必要な各フォントの文字、及び該フォントの所定の頻繁に使用される文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、静的ＵＲＬによって表され得る。前記ネットワークアセットを表す前記１つ又は複数のファイルは、前記イメージングデバイスに存在する前記フォントの文字のセットに基づく送信のために選択され得る。前記ネットワークアセットを表す前記１つ又は複数のファイルは、コンテンツ配信ネットワークコンポーネントによって提供され得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、フォントサービスプロバイダから提供され得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、広告パブリッシャーから提供され得る。ネットワークアセットを表す前記１つ又は複数のファイルを受信するステップは、フォントサービスプロバイダ及び広告パブリッシャーにおいて実行される動作に基づき得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、データ伝送時間を低減するためにＢａｓｅ６４を使用して符号化され得る。前記ソフトウェアエージェントは、静的機能及び動的機能を提供するための部分を含み得る。ネットワークアセットの一部は、広告又は他のタイプのコンテンツを含み得る。前記ソフトウェアエージェントは、フォントサービスプロバイダ、広告パブリッシャー、又は前記ネットワークアセットを表す前記１つ又は複数のファイルによって前記イメージングデバイスに提供され得る。前記ネットワークアセットの前記一部を前記イメージングデバイスの前記ディスプレイ上に提示するステップは、前記ネットワークアセットの前記一部に対応する前記テキストコンテンツを提示するのに適切なフォントの文字が前記イメージングデバイスに存在するまで、提示を遅延するステップを含み得る。ソフトウェアエージェントは、所定の場所のための静的識別子によって取得可能であってもよい。
【０００９】
他の側面では、１つ又は複数のコンピュータ可読媒体は処理装置によって実行可能な命令を格納し、前記命令が実行されると、前記処理装置は、イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表す１つ又は複数のファイルを前記イメージングデバイスで受信するステップを含む動作を実行する。前記ファイルのうちの少なくとも１つは、前記ネットワークアセットのテキストコンテンツを提示するためのデータを含む。また、動作は、ネットワークアセットの一部と、ネットワークアセットの該部分に対応するテキストコンテンツとをイメージングデバイスのディスプレイ上に提示するステップを含む。さらに、動作は、ネットワークアセットの一部及び対応するテキストコンテンツが提示されている間、ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示可能かどうかを決定するための動作をイメージングデバイスにおいて実行するステップを含む。
【００１０】
実装形態は、以下の特徴のうちの１つ又は複数を含むことができる。前記ファイルのうちの少なくとも１つは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するためのフォントの文字のセットを表すデータを含み得る。前記ファイル内の前記フォントの文字のセットは、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。前記フォントの文字のセット及び前記フォントの文字のセット内に含まれる各フォントの文字は、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。ネットワークアセットの少なくとも１つの他の部分を提示するための動作を実行するステップは、１つ又は複数の他のファイルをイメージングデバイスで受信するステップを含むことができる。前記他のファイルのうちの少なくとも１つは、前記ネットワークアセットの前記他の部分のテキストコンテンツを提示するための他のフォントの文字のセットを表すデータを含み得る。前記イメージングデバイスにおいて前記１つ又は複数の他のファイルが受信される前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる他の
フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示され得ないと判断された場合、別のフォントの文字セットに対するリクエストを開始する動作が実行され得る。前記他のフォントの文字のセットがリクエストされる前に、前記他のフォントの文字のセット及び前記他のフォントの文字のセット内に含まれる各フォントの文字が、前記イメージングデバイスによって実行されるソフトウェアエージェントによって特定可能であり得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、該フォントの所定の頻繁に使用される文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、前記ネットワークアセットの前記一部のテキストコンテンツを提示するために必要な各フォントの文字、及び該フォントの所定の頻繁に使用される文字を含み得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、静的ＵＲＬによって表され得る。前記ネットワークアセットを表す前記１つ又は複数のファイルは、前記イメージングデバイスに存在する前記フォントの文字のセットに基づく送信のために選択され得る。前記ネットワークアセットを表す前記１つ又は複数のファイルは、コンテンツ配信ネットワークコンポーネントによって提供され得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、フォントサービスプロバイダから提供され得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するフォントのセットを表す前記データは、広告パブリッシャーから提供され得る。ネットワークアセットを表す前記１つ又は複数のファイルを受信するステップは、フォントサービスプロバイダ及び広告パブリッシャーにおいて実行される動作に基づき得る。前記ネットワークアセットの前記一部のテキストコンテンツを提示するための前記フォントの文字のセットは、データ伝送時間を低減するためにＢａｓｅ６４を使用して符号化され得る。前記ソフトウェアエージェントは、静的機能及び動的機能を提供するための部分を含み得る。ネットワークアセットの一部は、広告又は他のタイプのコンテンツを含み得る。前記ソフトウェアエージェントは、フォントサービスプロバイダ、広告パブリッシャー、又は前記ネットワークアセットを表す前記１つ又は複数のファイルによって前記イメージングデバイスに提供され得る。前記ネットワークアセットの前記一部を前記イメージングデバイスの前記ディスプレイ上に提示するステップは、前記ネットワークアセットの前記一部に対応する前記テキストコンテンツを提示するのに適切なフォントの文字が前記イメージングデバイスに存在するまで、提示を遅延するステップを含み得る。ソフトウェアエージェントは、所定の場所のための静的識別子によって取得可能であってもよい。
【００１１】
上記及び他の側面及び特徴、並びにこれらの様々な組み合わせは、方法、装置、システム、機能を実行するための手段、プログラム製品、及び他の方法として表現され得る。
【００１２】
他の特徴及び利点が、明細書および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】図１は、提示のためにイメージングデバイスに提供され得る例示的なコンテンツを示す。
【図２】図２は、インターネットベースのコンピュータネットワークのブロック図である。
【図３】図３は、フォントサブセット管理のためにイメージングデバイスに提供されるファイルを示す。
【図４】図４は、イメージングデバイスへのフォントサブセット送信を示す。
【図５】図５は、フォントサブセット管理のためのネットワークコンポーネントを示す。
【図６】図６は、フォントサブセットの例を示す。
【図７】図７は、フォントサブセット管理のための動作の例示的なフローチャートである。
【図８】図８は、本明細書に記載される技術を実施するために使用され得る例示的なコンピュータデバイス及びモバイルコンピュータデバイスを示す。
【発明を実施するための形態】
【００１４】
図１を参照して、様々な種類のアセットが提示のために生成され得る。例えば、ドキュメント、プレゼンテーション等のアセットが、コンピューティングデバイス（例えば、コンピュータシステム、スマートフォン等）によってローカル又はリモートで生成されることができ、又は、ネットワークアセット（例えば、ウェブページ１００）がリモートで生成され、インターネット（又は別の種類のコンピュータネットワーク）を介してアクセス可能であり得る。ウェブページ１００のようなネットワークアセットは、適切な識別情報（例えば、ＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ））をウェブブラウザ又は他の種類のアセット提供者に供給することによってアクセスされ得る。例えば、一度アクセスされると、ウェブアセットがパッケージ化され、提示のために対応するアセットプロバイダからイメージングデバイス（例えば、コンピューティングデバイス、プリンタ等）に送信され得る。図示の例では、ウェブページ１００のコンテンツは、テキスト及びグラフィックスを含む誕生日パーティー招待状を含み、特定のＵＲＬ（すなわち、ｗｗｗ．ｉｎｖｉｔｅ．ｃｏｍ）からアクセスすることができる。さらに、ウェブページ１００の一部は、招待の題目（ｓｕｂｊｅｃｔ）に関連するコンテンツ（例えば、誕生日ケーキを販売するケーキショップ）の広告１０２を含む。多くの場合、ウェブページ上の同一の場所（ｒｅａｌ  ｅｓｔａｔｅ）に複数の広告が順番に提示され得る（例えば、ぱっと現れて視聴者の注意を引く）。目を引くウェブページを提供するために、招待状と広告は異なる書体を提供する複数のフォントを使用し、それぞれがスタイリッシュな文字又はグリフ（ｇｌｙｐｈｓ）を提供すると考えられる。一般的に、そのようなテキスト及び類似するグラフィックを提示するためには、通常、フォントセットを含む様々な種類のフォントファミリ（Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ、Ａｒｉａｌ等）が使用され得り、例えば、レギュラー、イタリック体、イタリック体、太字体、太字イタリック体等が含まれ得る。一般に、各フォントはグリフと呼ばれる個別の文字形状のセットを含み、グリフは一般的に、フォントに関連付けられた様々なデザインフィーチャ（例えば、ジオメトリ、線の太さ、セリフ（ｓｅｒｉｆｓ）、サイズ等）を共有する。かかるフォントを表すために、１つ又は複数の技術を利用することができる。例えば、直線と曲線を用いてグリフの境界を規定するアウトラインベース表現を採用することができる。かかるフォントは、（例えば、様々なイメージングデバイスで提示するために）様々なサイズに拡張可能（ｓｃａｌａｂｌｅ）であり得り、また、１つ又は複数のフォーマットで表現され得る。例えば、拡張可能なアウトラインフォントは、多くの言語の様々な活字記号をサポート可能なデータ構造を含むフォーマットで表現され得る。
【００１５】
生成されたアセット（例えば、電子ドキュメント、プレゼンテーション等）は、提示のためにイメージングデバイスに提供され得る。例えば、１つ又は複数の電子ドキュメント（例えば、ＭＳ−Ｗｏｒｄドキュメント、ＭＳ−ＰｏｗｅｒＰｏｉｎｔプレゼンテーション、ＭＳ−Ｅｘｃｅｌファイル、ＰＤＦ（ｐｏｒｔａｂｌｅ  ｄｏｃｕｍｅｎｔ  ｆｏｒｍａｔ）ファイル等）が、イメージングデバイス（例えば、プリンタ、コンピューティングデバイス等）に提供され得る（例えば、ローカルコンピューティングデバイスから直接送信される、電子メールプロトコル等の１つ又は複数のプロトコルを使用して遠隔送信される等）。また、生成されたアセットにリモートアクセスされてもよい。例えば、アクセスされると、１つ又は複数のコンテンツプロバイダは、ネットワークアセット（例えば、
ウェブページ１００）のコンテンツをイメージングデバイスに提供する技術を使用し得る。この構成では、ウェブページ１００は、異なる技術を利用し得る１つ又は複数のアセットファイル１０４で表現され得る。例えば、１つ又は複数のアセットファイル１０４は、アセットを提示するための命令を含むハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルと、ＨＴＭＬファイルによって提示されるアセットに関する提示セマンティクス（ｓｅｍａｎｔｉｃｓ）を提供するカスケーディングスタイルシート（ＣＳＳ）ファイルとを含むことができる。ＨＴＭＬ、ＣＳＳ、ＸＭＬ用のＷ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）規格及び他の規格等の規格を実装して、電子コンテンツを表示可能な様々な種類のイメージングデバイス（例えばコンピュータシステム、タブレットコンピューティングデバイス、スマートフォン、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）、ハンドヘルドコンピュータ、セットトップボックス、ＨＵＤ（ヘッドアップディスプレイ）、インターネット機器等）上にウェブページ１００が適切に表示され得る。このような電子コンテンツの表示は他の形態を取ってもよく、例えば、プリンタのようなイメージングデバイスがウェブページ１００のハードコピー提示を生成してもよい。
【００１６】
１つ又は複数のアセットファイル１０４は、ウェブページのテキストを表示するために使用される１つ又は複数のフォントを参照し得る。例示のために、招待に関連する情報（例えば、時間、日付、場所、イベントの説明、及びメニュー）を提供するために、５つの異なるフォントがウェブページ１００で使用されるものとする。テキスト情報の各部分にどのフォントが対するかを受信側イメージングデバイスが知ることができるよう、アセットファイル１０４は各フォントを呼び出す（例えば、「Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ」フォントで日付を提示する）。アセットファイル１０４に含まれる命令を受信して実行する際、受信側イメージングデバイスは、テキストを提示するために必要なフォントをローカルに取り出すことができる。しかし、アセットファイル１０４とともに供給されるフォント情報が各文字を提示するのに十分でない場合が生じ得る。例えば、アセットで使用されるフォントの文字がイメージングデバイスにローカルに存在しない場合がある。かなりの数のイメージングデバイス（例えば、プリンタ、コンピュータシステム等）は、ウェブページの表示に必要とされる可能性がある各フォントのすべての文字をローカルに格納することができないおそれがある。限られたリソース（例えば、メモリ）及び絶え間ない新たなフォントタイプの創作のため、イメージングデバイスはあらゆるフォントでテキストを表示する準備ができないおそれがある。異なる言語に関連付けられたフォントは、多くのイメージングデバイスがすべてのフォントタイプを格納できないという問題を悪化させる。中国語、日本語、韓国語などの言語は、数万（例えば、１０，０００超）のアルファベット文字を使用する可能性があり、１つの言語の文字を格納するために１ＭＢから２０ＭＢのメモリが要求されるおそれがある。このようなメモリ要求は、特に、より弱いオンボードメモリを備えたイメージングデバイス（例えば、プリンタ、携帯電話など）の場合、実用的ではない。そのような状況において、一部のデバイスからは、コンテンツを提示するためにフォント代替技術を使用することができる。例えば、デバイスは、アセットに含まれているがデバイスには存在しないフォントについて、（見た目に基づいて）最も近いフォントによって置き換えることができる。
【００１７】
イメージングデバイスにローカルにすべての潜在的なフォントタイプを格納するというロジックに従って、少数のフォントについてであっても完全な文字セットを格納することは、セットから少数の文字だけが必要な場合（例えば、特定のウェブページ又は他の種類のアセットを提示するために）は、非効率的であり得る。図示の例を参照すると、イベントの日付を提示するには比較的少ない数の「Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ」フォントの文字が必要であり（例えば、「Ａ」、「ｐ」、「ｒ」、「ｉ」、「ｌ」、「２」、「０」、「ｔ」、及び「ｈ」）、完全なフォントの文字セットを送信及び保存することは、イメージングデバイスのメモリの不適当な使用と考えることができ、可能性があるユーザ言
語（例えば、英語、中国語、日本語など）ごとに完全な文字セットが保存されている場合には、確実にそうである。さらに、フォント転送に必要な時間及び帯域幅の消費も問題をもたらし得る。例えば、中国語、日本語、韓国語などの言語に関連付けられたフォントの完全な文字セットを転送するには、かなりの帯域幅と転送時間が必要とされ得る。
【００１８】
大きな文字セットを含むそのようなデータの送信も、アセットの視聴経験を妨げるおそれがある。例えば、受信側イメージングデバイスでそのようなデータが受信されるのを待つことは、アセットの提示を著しく遅延させ、末端視聴者を苛立たせる可能性がある。図に示されるように、ウェブページ１００によってイメージングデバイスを提示するために、６つの完全なフォントの文字セット１０６、１０８、１１０、１１２、１１４がアセットファイル１０４と共に提供される。かなりの数のフォントの文字がアセットの送信を遅くすることに加えて（例えば、各文字セットの配信が受信側とソースによって交渉される必要がある場合がある）、各フォントセットを処理することにより、アセットの提示がさらに遅れることがある。例えば、受信側イメージングデバイスは、複数の広告のそれぞれをウェブページの同じ部分にある期間にわたって周期的に提示するために必要なフォントの文字を特定して選択し得る。したがって、さらなる遅延が生じ得り、これは、最初に提示されないアセットの一部（例えば、後に提示される広告）が準備される中で、ウェブページを見るのを待っている末端視聴者をさらにいらだたせるおそれがある。
【００１９】
場合によっては、アセットファイルとともにフォントセットが提供されず、デバイスがローカルに存在するフォントを使用してアセットを提示することがある。例えば、アセットファイル１０４が提供されたプリンタ１１８は、アセットファイル内に特定されるが、プリンタから欠落しているフォントを置換することができる。欠落している各フォントを最も近いフォントで置き換えることによって、プリンタは出力を作成することを試み得る。しかし、同様の情報が提示され得るとしても、アセットの全体的な外観及びスタイルが犠牲になる可能性がある。この具体例では、プリンタ１１８は、ウェブページ１００内のオリジナル選択フォントの代わりに（プリンタに保存された）ローカルフォントの文字を含むアセットのプリントアウト１２０を生成する。この例では、プリントアウトは、プリントアウト１２０において提示されるテキストの各行について、同じ代替フォント（Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ）を使用した。よって、プリントアウト１２０には、オリジナルのウェブページ１００の全体的な外観及びスタイルがない。
【００２０】
アセットの静的部分（例えば、提示されるイベントの時間、日付などの変化しない部分）への影響に加えて、欠落するフォントは、時間とともに変化するアセットの部分にも影響を及ぼす可能性がある。例えば、周期的に提示される広告のうちの１つ又は複数が、オリジナルの設計通りに現れない可能性がある。図示されるように、ウェブページ１００の右下部分に挿入される初期広告１０２が（所定の期間の後に）サイクルアウトされ、プリントアウト１２０が作成される際、別の広告１２２が同じ場所に提示され得る。この別の広告１２２のフォントの文字をプリンタ１１８が有さない場合、代替フォントが同様に利用され得り、より魅力的でない広告が生成されるおそれがある。
【００２１】
イメージングデバイスから欠落している適切なフォント情報を提供する１つ又は複数の技術が実装され得る。例えば、特定のフォントの各文字を表すデータを（アセットとともに）送信する代わりに、フォントの文字の一部（サブセットと呼ばれる）を送信して、アセットの最初の部分を提示するのに必要な時間を短縮することができる（例えば、複数ページのウェブサイトのオープニングウェブページ）。このようなフォントサブセットを利用すると、より少ないフォントデータが配信されるので、データ伝送を改善することもできる。したがって、広告及び他のコンテンツの搭載所要時間が低減され、これにより、広告の有効性が向上する可能性がある（例えば、動的に変化する広告、複数ページのウェブサイト上に提示される広告など）。図示の例を参照すると、フォントの文字セット１０４
〜１１２の各々を、アセットファイル１０４とともに、又はファイルを受信した後すぐに提供され得る著しくより小さいフォントサブセットに置き換えることができる。さらに、各フォントサブセットに含まれる文字の選択は、提示時間の速度を上げ、視聴体験を改善することができる。
【００２２】
図２を参照すると、コンピューティング環境２００は、タブレットのディスプレイによって提示されるターゲットウェブアセット（例えば、ウェブサイト）を特定するためにユーザが対話（ｉｎｔｅｒａｃｔ）可能なタブレットコンピュータデバイス２０２を含む。例えば、ユーザが１つ又は複数のウェブページをターゲットにするために、ウェブブラウザ２０４又は同様なソフトウェアアプリケーションがタブレット２０２によって実行され得る。特定される際、ウェブブラウザ２０４の動作は、インターネット２０６を介して、（例えば、複数のページを含み得る）ターゲットウェブサイトの１つ又は複数のウェブアセットソース２０８ａ、ｂ、ｃにコンテンツを要求することを含み得る。図示のように、この具体例では、ウェブページソース２０８ａにウェブページがリクエストされ、ソースからインターネット２０６を介してタブレットデバイス２０２に、対応するアセットファイル２１０（例えば、ＨＴＭＬファイル、ＣＳＳファイルなど）が送信される。ある構成では、１つ又は複数のウェブアセットファイル２１０は、アセットを提示するための命令を含むハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルと、ＨＴＭＬファイルによって提供されるアセットに関する提示セマンティクスを提供するカスケーディングスタイルシート（ＣＳＳ）ファイルとを含む。一部の構成では、複数のソースからコンテンツ、ファイルなどが提供されてもよい。例えば、ウェブサイトのウェブページはウェブアセットソース２０８ａによって提供される一方、１つ又は複数の広告が広告パブリッシャー２０８ｂ（「アドパブリッシャー」と呼ばれる）によって提供されてもよい。このようなマルチソース構成では、アセットとともに提示するために、様々なタイプの広告を提供することができる。例えば、静的な広告、又は時間の経過とともに動的に変化する広告がアドパブリッシャー２０８ｂによって提供されてもよい。
【００２３】
この構成では、コンピューティング環境２００は、さらに、ターゲットアセットを提示するタブレットコンピューティングデバイス２０２にフォント情報（例えば、フォントサブセット）を提供するフォントサービスプロバイダ２１４を含む。タブレットデバイス２０２のニーズに対応するために、所定のフォントサブセット、新しく作成されたフォントサブセットなどがフォントサービスプロバイダ２１４によって提供され得る。説明のために、この例では、適切なフォント情報をイメージングデバイス（例えば、タブレット２０２）に提供するためにフォントファイル２１６が使用されるが、他の技術を使用することもできる。フォントサブセットなどのフォント情報の提供に加えて、フォントサービスプロバイダ２１４は他の動作を実行してもよい。例えば、フォントサブセット生成と共に、フォントサービスプロバイダ２１４は、リクエストを出しているコンピューティングデバイスに完全なフォントの文字のセットが提供されるべきか否かを決定可能であり得る。例えば、フォントサービスプロバイダ２１４は所定の規則を使用することにより、フォントサブセットを送るべきか否かを決定することができる。このような規則の１つは、完全な中国語文字セットの大きなサイズを理由に、特定の言語（例えば、中国語）に関連付けられたフォントの文字のセットについてサブセットが作成されるべきであることを示し得る。かかる決定には静的な規則を使用することができるが、サブセット決定は動的に実行されてもよい。
【００２４】
適切なフォント情報（例えば、サブセット）を提供するために、フォントサービスプロバイダ２１４は、通常、フォントサービスプロバイダに関してローカル又はリモートで格納され得る１つ又は複数のフォントライブラリへのアクセスを必要とする。図中、フォントライブラリ２１８は、記憶装置２２０（例えば、１つ又は複数のハードドライブ、ＣＤ−ＲＯＭなど）にオンサイトで記憶されているものとして示されている。サーバ２２２に
よってアクセス可能なフォントライブラリ２１８は、適切なフォント情報（例えば、完全なフォントセット、フォントサブセットなど）を生成するために使用され得る。単一の記憶装置２２０に格納されているものとして示されているところ、フォントサービスプロバイダ２１４は、（例えば、異なるフォントスタイル、言語などの）アクセス可能なフォントセットの集合を保持するために、多数の記憶技術及びデバイスを使用することができる。また、フォントサービスプロバイダ２１４は、必要な情報を収集するために別々の場所でフォント情報（例えば、フォントセット）にアクセスしてもよい。例えば、フォント、フォントの文字、フォントサブセットなどを特定する際、サーバ２２２を使用して、（例えば、インターネット２０６を介して）フォントサービスプロバイダ２１４の外部の１つ又は複数のソースから必要な情報が収集され得る。
【００２５】
フォント情報（例えば、完全なフォントセット、フォントサブセットなど）を生成し、イメージングデバイス（例えば、タブレット２０２）に提供することに加えて、フォントサービスプロバイダ２１４は、他の機能を提供することができる。例えば、将来のリクエストのために、特定のアセット（例えば、ウェブページ及びウェブサイト）に関連するフォント及びフォントサブセットが追跡（ｔｒａｃｋｅｄ）されてもよい。あるシナリオでは、特定のウェブページを提示するために、１つ又は複数のフォントサブセット（例えば、フォントファイル２１６に含まれる）が作成され得る。フォントサブセットとウェブページとの間の関連性は、（例えば、サーバ２２２によって）特定されて後の検索のために記憶されてもよい。したがって、将来、（例えば、別のコンピューティングデバイス上で）ウェブページを提示するために必要なサブセットが迅速に特定され、リクエストを出しているコンピューティングデバイスに提供される。ある構成では、フォントデータベース２２４がフォントサービスプロバイダ２１４（例えば、記憶装置２２０）に記憶され、フォントデータベース２２４は、例えばウェブページとフォントサブセット（フォント）との間の様々な関連付けを表す記録を含む。
【００２６】
一部の構成では、フォントサービスプロバイダ２１４の機能（又は一部）は、１つ又は複数の他のコンポーネントによって提供されてもよい。例えば、フォント情報（例えば、フォントサブセット）の提供は、広告パブリッシャー２０８ｂ又は他のシステムコンポーネントによって実行されてもよい。広告パブリッシャー２０８ｂは、動的に変化する広告コンテンツを含み得る広告を管理することに加えて、イメージングデバイス（例えば、タブレットコンピューティングデバイス２０２など）において広告を提示するために必要な１つ又は複数のフォントの文字サブセットを含むフォントファイルを送信する等の１つ又は複数の技術を使用して、フォント情報を提供し得る。同様に、ウェブアセットソース２０８ａなどの他のコンポーネントが、フォントサブセットの作成、配信、記憶、管理などのフォントサービスプロバイダの機能を実行することができる。
【００２７】
図３を参照して、送信される特定のフォントサブセットを決定する１つ又は複数の技術が使用され得る。多くの場合、単一のサブセット又は少数の（ａ  ｆｅｗ）サブセットが、ウェブサイトのウェブページなどのアセットのテキストに関するニーズをサポートすることができる。したがって、場合によっては、文字が予め選択され、フォントサブセットが予め定められ得る。これらのサブセットに含める文字の決定は、様々な選択技術に基づ気得る。例えば、かかるアセット（例えば、ウェブページ）において過去に使用され、頻繁に現れる文字は、類似のアセット（例えば、他のウェブページ）などの他のアセットの提示をサポートするサブセットに含めることができる。ラテンアルファベットに基づく英語のような西洋のスクリプトの場合、これらのフォントの頻繁に使用される文字が（例えば、フォントサービスプロバイダ２１４で）分類され、アセットの提示をサポートするために最初に提供され得る。頻繁に出現する文字の使用と同様に、他のタイプの選択基準を使用することもできる。例えば、アセット（例えば、ウェブページ、広告など）によって使用されている文字そのものをフォントサブセットに挿入することができる。よって、必
要な各フォントの文字が、アセットを提示するためにイメージングデバイスに送信される。一部の構成では、これらの文字そのものは、アセットによって最初に使用される文字に対応する。例えば、ウェブサイトの最初のウェブページによって使用される文字は、第１のフォントサブセット（タブレット２０２に提供される）に含まれ、他のウェブページ（例えば、ウェブサイトの第２のウェブページ）において使用される文字は、１つ又は複数の後続するフォントサブセットに含まれ得る。一部の構成では、使用される文字そのものと、頻繁に使用されるフォントの文字との組み合わせが、イメージングデバイスに提供される初期フォントサブセットに含まれてもよい。典型的には、そのようなフォントサブセットは、フォントサービスプロバイダ（図２に示すフォントサービスプロバイダ２１４など）によって作成、管理、送信などされる。しかし、他のソース（例えば、アセットソース、アドパブリッシャーなど）が同様に、かかるサブセットを管理して受信側イメージングデバイスに送信してもよい。
【００２８】
かかるフォントサブセットを送信するために１つ又は複数の技術を使用することができる。例えば、初期フォントサブセット（例えば、頻繁に使用される文字、必要とされる文字そのもの、出現の可能性が高い文字と必要とされる文字そのものの組み合わせなどを含む）がイメージングデバイス（例えば、タブレット２０２）に提供され得る。この例に示されるように、アセットファイル２１０は、初期フォントサブセットへのアクセスを提供するＨＴＭＬファイル及びＣＳＳファイル（ＨＴＭＬ／ＣＳＳ  ３００と示される）を含む。例えば、初期フォントサブセットにアクセスするためにＨＴＭＬ／ＣＳＳ３００にＵＲＬを含めることができる。さらに、他の機能とともに、アセットを提示するためにイメージングデバイスが必要とするフォントの文字を決定するために、実行可能な命令がアセットファイル２１０（または別の１つ又は複数のファイル）によって提供されてもよい（アセットファイル２１０の中に表される）。例えば、アセットが必要とする個々のフォント、フォントの文字等を特定し、これらのフォント、フォントの文字等のうちの１つ又は複数がタブレットコンピュータデバイス２０２から欠落している（例えば、メモリ、ローカルストレージデバイスなどに存在しない）かどうかを判定することが可能なソフトウェアエージェント３０２が含まれ得る。図示の例では、ソフトウェアエージェント３０２は、実行されると、提示されるアセットのドキュメントオブジェクトモデル（ＤＯＭ）３０４をチェックするＪａｖａＳｃｒｉｐｔ命令で実現することができる。ＤＯＭ３０４は、アセットファイル２１０によって表されるアセットの要素のツリー構造表現と考えることができる。アセットが提示のために準備されているときにＤＯＭツリー３０４をチェックすることによって、エージェント３０２は、アセットによって使用されるフォントの文字コードなどの情報が欠落しているかどうかを判定することができる。フォント情報が欠落していると判定された場合、ソフトウェアエージェント３０２単独で、又はタブレットコンピューティングデバイス２０２（場合によっては他のコンピューティングデバイス）と協働して、例えば、欠落しているフォントを特定するための情報を収集するために、１つ又は複数の動作が実行され得る。例えば、ソフトウェアエージェント３０２は、アセットを提示するために提供される初期フォントサブセットを超える適切なフォントサブセットを得るために送られるリクエストを開始することができる。
【００２９】
ソフトウェアエージェントは、不足しているフォント情報を決定するための命令を含むとともに、（例えば、フォントサービスプロバイダ２１４から）タブレットデバイス２０２に潜在的に提供され得るフォントサブセットを特定するデータを含む（又はデータへのアクセスが提供される）。提供され得るフォントサブセットの認識に加えて、ソフトウェアエージェント３０２によって取得可能なデータにおいて、潜在的サブセットに含まれる各文字が特定され得る。したがって、ソフトウェアエージェント３０２は、初期フォントサブセットに含まれるフォントの文字（例えば、ＨＴＭＬ／ＣＳＳ３００から取得可能）、及び、後続のフォントサブセットとして送信され得る他のフォントサブセットに含まれるフォントの文字を認識する。この情報を用いて、ソフトウェアエージェント３０２は、
アセットを提示するために必要な特定の１つ又は複数のフォントサブセットを効率的に特定することができる。ある構成では、文字コードが初期フォントサブセットに存在しないと判定されると、ソフトウェアエージェントは、ソフトウェアエージェントが認識している他の所定のフォントサブセットのうちの１つによって、これらの欠落した文字コードのいずれかが提供され得るか否かを判定することができる。特定されると、そのような後続のフォントサブセットを取得するために、１つ又は複数の技術が使用され得る。例えば、１つ又は複数のこのような他のサブセットが特定される場合、ソフトウェアエージェント３０２は、必要なフォントの文字を提供するために適切なフォントサブセットが取得されるよう、情報をＤＯＭツリー３０４に挿入する動作を実行することができる。欠落しているフォントの文字の特定は、初期アセット部分（例えば、ウェブサイトの最初のウェブページ）の提示においても起こり得る。例えば、ソフトウェアエージェント３０２は、イメージングデバイスに存在するフォントの文字によっては適切な文字が網羅されないことを決定し得る（例えば、１つ又は複数の必要なフォントの文字が初期フォントサブセット、イメージングデバイスのローカルストレージ等から欠落している）。欠落しているフォントの文字の決定に応じて、ソフトウェアエージェント３０２は、必要な各フォントの文字を適切にサポートするために、１つ又は複数のサブセットのリクエストを（例えば、フォントサービスプロバイダに）送信することを開始し得る。一部の構成では、ソフトウェアエージェント３０２は、欠けているフォントの文字を特定し、サブセットを動的に生成することをリクエストし得る。ソフトウェアエージェントは、一部の構成では、必要な文字サポートを得るための特定のサブセットを特定し得る。必要なフォントの文字が得られている間、イメージングデバイスは、フォントの文字データを受け取る準備をする動作を実行してもよい。例えば、アセットの最初の部分の提示は、必要なフォントの文字がイメージング装置に存在するまで延期されてもよい。したがって、ソフトウェアエージェント３０２によって開始されたリクエストが満たされるまで（例えば、フォントサービスプロバイダが、欠落しているフォントの文字を送信するまで）、アセットはイメージングデバイス上に表示されない可能性がある。
【００３０】
このようなソフトウェアエージェントは、実質的に自律的に実行可能なソフトウェアモジュールと考えることができる。例えば、タブレットコンピューティングデバイス２０２に提供されると、ソフトウェアエージェント３０２は、ユーザインタラクション（ｉｎｔｅｒａｃｔｉｏｎ）をさほど要さずに動作することができる。いくらか柔軟に動作することにより、ソフトウェアエージェントは、アセット提示に必要なフォント、フォントの文字、文字コードなどを適応的に特定し、このフォント情報を、（例えば、フォントサービスプロバイダ２１４によって）提供され得る所定のフォントサブセットのフォントデータと比較することができる。ＤＯＭツリーを操作するなどの他の機能も、ソフトウェアエージェントによって同様に実行されてもよい。また、ソフトウェアエージェント３０２は、かかる決定を行うためにＤＯＭツリー３０４を調査するのと同様に、必要なフォント情報を特定するために、アセットファイル２１０（例えば、ＨＴＭＬファイル、ＣＳＳファイルなど）の他の部分にいくらか持続性の態様でアクセス（例えば、スキャン）することができる。ソフトウェアエージェント３０２は、実質的に連続的にその動作を実行し得る。１つ又は複数のソースがソフトウェアエージェントを提供してもよい。例えば、ウェブサイトの１つ又は複数のサーバ等のアセットソース（例えば、ウェブアセットソース２０８ａ）がエージェント、エージェントへのアクセス等を提供し得る。また、フォントサービスプロバイダがソフトウェアエージェントのソースでもあってもよく、例えば、フォントサービスプロバイダでリクエストを受信すると、エージェントが提供され得る。他のタイプのソースがエージェントを提供してもよい。例えば、広告パブリッシャー（例えば、図２に示すアドパブリッシャー２０８ｂ）、イメージングデバイスにおける広告の提示を援助するためにエージェントを提供し得る。一部の構成では、対応するソースにおいてソフトウェアエージェントにアクセスするために、変化しない（例えば、静的な）識別子を使用することができる。例えば、静的なユニフォームリソースロケータ（ＵＲＬ）が、ソー
ス（例えば、フォント・サービス・プロバイダ）に位置するソフトウェアエージェントに割り当てられ得る。複数のソースがソフトウェアエージェントを提供する状況では、ソフトウェアエージェントの対応する部分へのアクセスを提供するために、各ソースにおいて静的ＵＲＬを使用することができる。あるアーキテクチャでは、ソフトウェアエージェントは、ソース（例えば、フォントサービスプロバイダ、アドパブリッシャーなど）における静的ＵＲＬによって提供され、ソフトウェアエージェントのためのデータを得るために、静的ＵＲＬに関連するデータフラグメント（例えば、ハッシュパラメータ）が使用されてもよい。ソフトウェアエージェント（例えば、ＪａｖａＳｃｒｉｐｔで実装される）は、他のファイル、データなどへのアクセスを得るために（例えば、他のＪａｖａＳｃｒｉｐｔファイルをダウンロードするために）使用され得る。このようなエージェントは、イメージングデバイスで実行される機能と協働して動作することができる。例えば、ウェブブラウザ動作が、フォントサービスプロバイダによって提供されるネットワークアセット（例えば、ＨＴＭＬ／ＣＳＳファイル）の１つ又は複数のファイルに含まれるＪａｖａＳｃｒｉｐｔコードから実行されるエージェント動作とともに動作し得る。視聴経験を向上させるために（そして、視聴者のいらだちを軽減するために）、ソフトウェアエージェント３０２の一部の動作は、アセットの一部の提示と並行して実行されてもよい。例えば、最初のフォントサブセット（ウェブサイトのオープニングウェブページを提示するのに必要なフォントの文字そのものを含む）がアセットの該当部分を提示するために使用される間に、ソフトウェアエージェントは、他の部分（例えば、ウェブサイトの後続のウェブページ）を提示するのに必要な１つ又は複数の他のフォントサブセットを識別し、バックグラウンドで取得することができる。フォントサブセット、サブセットに含まれる文字などを認識するソフトウェアエージェント３０２は、初期サブセットによって提供される文字以外に必要とされる他のサブセットを取得し得る（例えば、フォントサービスプロバイダ２１４から）。したがって、１つの部分（例えば、ウェブサイトのオープニングウェブページ）が提示されている間に並行して、１つ又は複数の後続サブセットを取得することができ、それにより、アセットを提示するための追加文字を収集するが、アセットの部分を提示における遅延に起因する視聴者のいらだちを低減することができる。
【００３１】
図４を参照すると、一連の動作は、タブレットコンピューティングデバイス２０２が、アセットを提示するために並行して動作を実行する様子を図式的に示す。グラフィック４００に関連する動作に関して、（ウェブブラウザ２０４を介して）提示されるアセットが選択されると、フォントサービスプロバイダ２１４に位置するサーバ２２２からタブレットコンピューティングデバイス２０２に初期フォントサブセット４０２が提供される（矢印４０４によって示されるように）。受信後、初期フォントサブセット４０２はウェブブラウザ２０４のキャッシュ（ｃａｃｈｅ）４０６に記憶され、これにより、初期フォントサブセットに比較的迅速にアクセスすることができる（そして、近い将来にサブセットを再度ダウンロードする必要がなくなる）。アセットの最初の部分（例えば、ターゲットウェブサイトの最初のウェブページ、初期広告など）を効率的に提示するために、初期フォントサブセットの内容は、この初期部分を提示するために必要な文字そのものを表す文字データを含み得る。この構成では、この初期フォントサブセット４０２の内容は予め準備されており、サブセットは（フォントサービスプロバイダ２１４）におけるサブセットコレクション４０８に格納され、必要に応じてアクセスすることができる。サブセットを管理するために、この例では、フォントサブセットデータベース４１０が使用され、適切なサブセットをコレクション４０８から取り出すことができる。初期フォントサブセット４０２として使用される場合、フォントサブセットデータベース４１０は、サブセットを、アセットの初期部分（例えば、オープニングウェブページ）に関連するものとして特定することができる。効率性は下がるが、一部の構成では、アセットの最初の部分を提示するための適切なフォントの文字を提供するために、初期フォントサブセットが動的に生成されてもよい。例えば、必要な文字そのもののフォントサブセットを予め定める代わりに、（例えば、アセットファイルを提供される）ソフトウェアエージェントは、アセットのＤ
ＯＭツリーを調査し、必要なフォントの文字を特定し、そのサブセットの生成及び送信のリクエストを開始することができる（フォントサービスプロバイダ２１４のサーバ２２２に対して）。
【００３２】
一部の構成では、この予め定められたフォントサブセット（静的と見なすことができる）は、アセット（又はアセットの一部）を表すデータとともに提供される。例えば、初期フォントサブセット４０２は、対象のアセットのＨＴＭＬファイル及びＣＳＳファイル（例えば、ＨＴＭＬ／ＣＳＳファイル３００）とともに送信することができる。初期フォントサブセットがアセットの最初の部分を提示するのに必要なフォントの文字そのものを含む場合、ソフトウェアエージェントは、この最初の部分を提示するために欠けている文字をチェックする必要はない。むしろ、ソフトウェアエージェントは、最初の部分が提示されている間、アセットの他の部分を提示するのに必要なフォントの文字のチェックに集中することができる。
【００３３】
前述したように、初期サブセットは、アセットの最初の部分（例えば、オープニングウェブページ、初期広告など）によって必要とされるフォントの文字そのものを含むことができる。アセットファイルを提供されるソフトウェアエージェントは、この初期サブセットの内容を認識している（例えば、データにアクセスすることによってサブセット及び含まれている文字を特定することができる）。一部の構成では、初期フォントサブセットに他の文字セットが含まれていてもよい。例えば、頻繁に使用される文字（又は発生する可能性が高い文字）として特定されるフォントの文字が含まれてもよく、場合によっては、これらの頻繁に使用される文字が、初期アセット部分に必要なフォントの文字そのものと組み合わせて提供されてもよい。したがって、初期アセット部分を遅滞なく提示するよう、フォントの文字が最初に提供され、さらに、後に提示されるアセット部分のためのフォントの文字が提供され得る。そのような頻繁に使用される文字を特定するために、１つ又は複数の技術を使用することができる。例えば、具体的な文字（例えば、文字「ｅ」）の履歴使用データを使用して、初期サブセットのメンバーシップが定められてもよい。類似するアセット（例えば、特定の種類のウェブサイト、広告などで使用される文字）に対するキャラクターの使用頻度を、メンバーシップの規定に使用することも可能である。フォントの文字サブセットを定めるにあたり、他のタイプの選択基準、ファクタなどが利用されてもよい。
【００３４】
初期フォントサブセット４０２がキャッシュ４０６に存在し、アセットの初期部分を提示するために使用されている状況において、ソフトウェアエージェントは、アセットの他の部分を提示するために適切な文字情報がタブレット２０２に存在するか否かを判断することができる。例えば、ソフトウェアエージェントがアセットのＤＯＭツリーを調査することによって、必要なフォントの文字が欠落しているか否かを判断することができる。追加の文字が必要な場合、ソフトウェアエージェントは、必要なフォント情報を取得するための動作を実行し得る。例えば、ソフトウェアエージェントは、必要に応じて１つ又は複数の適切なフォントサブセットが取得できるよう、アセットのＤＯＭツリーを操作し得る。このようなＤＯＭツリーの操作は、ｊＱｕｅｒｙ動作を使用する等、１つ又は複数の技術によって実行され得る。上記と同様に、ソフトウェアエージェントは、呼び出し可能なフォントサブセット及びサブセットの文字を認識及び特定することができるので、大きな助けを要することなく後続のサブセットを特定することができる。一部の例では、グラフィック４０１に示すように、ソフトウェアエージェントは、（矢印４１４で示すように）フォントサービスプロバイダ２１４のサーバ２２２へのリクエスト４１２の送信を開始することができる。フォントサービスプロバイダに格納されたフォントサブセット２１８が認識されているところ、ソフトウェアエージェントからの要求は、他のアセット部分を提示するのに必要なフォントの文字を含む１つ又は複数のサブセットを特定するデータを含み得る。リクエストが提供されると、（矢印４１８によって示されるように）後続フォン
トサブセット４１６がタブレットコンピューティングデバイス２０２に送信される。
【００３５】
１つ又は複数のタイプのイベントが、１つ又は複数の後続フォントサブセットのためのリクエスト４１２の送信（又は実行される他の動作）のきっかけとなり得る。例えば、イメージングデバイス（例えば、タブレットコンピューティングデバイス２０２）のユーザとの異なるインタラクションが、アセットの他の部分のための後続フォントサブセットの収集を開始し得る。あるシナリオでは、タブレットデバイス上に提示されるべきウェブページの上側部分にあるテキストのために初期フォントサブセットが提供され得る。あるユーザインタラクション（例えば、スクロールコントロール、提示されたページの別の部分を動かす動作など）が、まだデバイスのディスプレイ上に提示されていないページの他の部分のためのリクエスト送信を開始し得る。他のタイプのインタラクションがきっかけのイベントであってもよい。例えば、ユーザーがディスプレイ上のある場所（例えば、ディスプレイの境界）上にポインティングデバイスを配置する（例えば、グラフィカルカーソルをホバリングする）ことによって、リクエスト送信が開始されてもよい。提示されるコンテンツにおける変更が、１つ又は複数の後続フォントサブセットのためのリクエスト送信のきっかけとなってもよい。例えば、ソフトウェアエージェント（例えば、ソフトウェアエージェント３０２）又は他のタイプのプロセスが、提示コンテンツの潜在的変化を監視することができる。広告を提示するなどのアプリケーションでは、（ディスプレイの一部に提示される）広告を切り替えることにより、ユーザは、多くの広告を素早く見ることができる（また、視聴者の目を引くことができる可能性がある）。広告の変更は、ユーザインタラクション（例えば、提示された広告の上でポインティングデバイスをクリックすること）によっても起こり得る。このような場合、イベントハンドラなどのプロセスが（例えば、ソフトウェアエージェント、スタンド・アローン・ソフトウェア・アプリケーションなどに組み込まれる）、広告提示の変化を検知し（例えば、「フラッシュ広告」、ユーザインタラクションなどを検出）、ソフトウェアエージェントと協力して（例えば、ソフトウェアエージェントに通知する）、後続のフォントサブセットが必要であることを検知し、適切な動作を開始し得る（例えば、リクエストを送信する）。ある構成では、イベントハンドラは、提示されるアセットのＨＴＭＬに関連する要素を監視して、要素のいずれかにおけるコンテンツの潜在的変化を検知することができる。
【００３６】
かかる後続フォントサブセットに含まれる文字は、様々なファクタに基づ気得る。例えば、後続フォントサブセット４１６において、１つ又は複数の完全なフォントの文字のセットが送られてもよい。フォントの文字が既にロードされ、デバイスによって使用されている状況において、完全なフォントサブセットをバックグラウンドでロードすることができ、よって、アセットの最初の部分の提示には大きく影響しない。後に送信されるフォントサブセットは、それぞれの文字が以前に送信された（例えば、初期フォントサブセット４０２において提供された）フォントサブセットで欠落している文字であるよう作成され、これにより、送信の冗長性を低減することができる。
【００３７】
完全なフォントセットを送る代わりに、他のタイプの後続フォントサブセットが送信されてもよい。例えば、リクエスト４１２は、以前に送信された頻出文字のフォントサブセットとは異なる、二番目の頻度のフォントの文字のセットを含むサブセットを特定し得る。このようなフォントサブセット（二番目の頻度のフォントの文字のサブセット）を受け取ると、ソフトウェアエージェントは、アセットのＤＯＭツリーを調べて、アセットによって使用される追加のフォントの文字のうち、まだデバイス上に存在しないものがあるかどうかを判断し得る。決定された文字がまだ欠落している場合、タブレットコンピューティングデバイス２０２からフォントサービスプロバイダ２１４にさらなるリクエストが送信され得る。したがって、先に供給されたサブセットがアセットを提示するために使用されている間に、フォントサブセットがバックグラウンドで漸増するよう提供され得る。このような漸増フォントサブセット技術として利用可能な例は、２００９年６月２２日に出
願された米国特許出願第１２／４５７，７９２号（“Ｆｏｎｔ  Ｄａｔａ  Ｓｔｒｅａｍｉｎｇ”）に記載されており、参照によりその全体が本明細書に組み込まれる。
【００３８】
一部の例では、初期フォントサブセットによって提供されるフォントの文字がすでにデバイスに存在する（そして、再送されるべきではない）ことを前提に、後続フォントサブセット４１６は、アセットの別の部分を提示するために必要なフォントの文字そのものを含むことができる。このようなシナリオは、アセットの後続部分に必要なフォントの文字が既知の場合に発生し得る。例えば、ウェブページは、最初、１つのフォントの文字サブセットを必要とする１つの広告を提示し得る。ある期間（例えば、数秒）の経過後、第１の広告の代わりに別の広告がウェブページ上に提示され得る。この第２の広告は、最初に提供されたフォントの文字の一部を使用するものの、追加の文字も必要とし得る。第２の広告は既知であるので（例えば、タブレットデバイスに送信される前に広告パブリッシャーによって特定される）、第２の広告を提示するのに必要なフォントの文字のみを含むように、後続フォントサブセットを決定及び準備することができる（初期フォントサブセットが既にデバイスに存在することを前提に）。したがって、後続フォントサブセットは、他のアセット部分を提示するのに必要なフォントの文字そのもののみを含むことができる。場合によっては、必要に応じて、必要なフォントの文字そのもののみを含むフォントサブセットが生成され得る。例えば、リクエスト４１２が（例えば、第２の広告を提示するために）必要な文字を特定し、その時点で、フォントサービスプロバイダ２１４のサーバ２２２によってサブセットが生成されてもよい。
【００３９】
他の例では、後続フォントサブセットは、フォントの文字のセットの組み合わせを含むことができる。例えば、サブセットは、初期フォントサブセットがすでにタブレットコンピューティングデバイスに存在することを前提に、初期フォントサブセットから欠落している文字と、最も頻繁に発生する文字とを含むことができる。ある例示的なシナリオでは、初期フォントサブセット４０２は、ウェブサイトの第１のウェブページを提示するために必要な文字そのものを含むことができる。デバイス２０２に提供され、第１のウェブページを提示するために使用されている間、リクエスト４１２がサーバ２２２に送信され、２つのサブセット、すなわち、ウェブサイトの第２のページを提示するための（初期フォントサブセットには存在しない）フォントの文字を含むサブセット、及び最も頻繁に出現するフォントの文字（同様に、初期フォントサブセットには存在しない）を含むサブセットが特定され得る。この２つの文字セットの組み合わせを含むことにより、後続フォントサブセット４１６は、第２のウェブページを提示するために必要な文字そのものを提供するだけでなく、デバイスに存在するフォントの文字を漸次的に補給し、過去に頻繁に使用されたフォントの文字が他のウェブページに再度使用されると推測することによって、他のウェブページを効率的に提示することを可能にする。
【００４０】
図５を参照して、ユーザーデバイスがフォントサブセットを管理する動作（例えば、所定のサブセットを初期フォントサブセットとして特定する、後続フォントサブセットを特定する）を実行することに加えて、デバイスにかかるフォントサブセットを効率的に提供するために他の技術が使用されてもよい。例えば、ネットワーク環境５００のような様々なネットワークアーキテクチャが、フォントサブセットの使用を最適化するために利用されてもよい。図示されるように、様々なタイプの記憶装置が、アクセス及び使用を援助するために、フォントサブセットを戦略的に格納することができる。上記したように、アセット（例えば、ウェブサイトのウェブページ）の部分提示等の動作のための比較的素早いアクセスのために、ユーザデバイス（例えば、タブレットコンピューティングデバイス２０２）に位置する１つ又は複数のキャッシュ（例えば、ウェブブラウザ２０４のキャッシュ４０６）がフォントサブセットを保存し得る。一部のアーキテクチャでは、格納されたサブセットの可用性が高くなるよう、高性能スキームを使用するコンテンツデリバリネットワーク（ＣＤＮ）などのネットワーク技術を採用することができる。一般的に、ＣＤＮ
は、１つ又は複数のネットワーク（例えば、インターネット２０６）に接続された複数のデータセンターに配備された大規模なサーバの分布であり得る。サーバは、一般的に複数の場所に分散している（ＣＤＮの）ノードに含まれる。このようなノードを使用することにより、ＣＤＮは、フォントサブセットのロード時間を短縮するとともに、フォントサブセット及び他のタイプのコンテンツのグローバルな利用可能性を増大させることができる。ＣＤＮに含まれるノードの数は、各ノードに存在するサーバの数とともに変化することができ、比較的小さなネットワークから、数千のノードを含むことができるグローバルネットワークまで考えられる。図示されるように、ＣＤＮサーバ５０２、５０４、５０６、５０８のコレクションが様々な場所に分散され、インターネット２０６に接続されている。各ＣＤＮサーバは、１つ又は複数のキャッシュ（ＣＤＮサーバ５０２に含まれるキャッシュ５１０によって図示されている）を含む。これらのＣＤＮサーバのキャッシュに様々なフォントサブセットを格納することにより、タブレットコンピューティングデバイス２０２などのユーザデバイスは、初期フォントサブセットなどの１つ又は複数のフォントサブセットへのアクセスを比較的早く取得し、受け取ることができる。フォントサブセットに加えて、様々な広告を表すデータなどの他のタイプのコンテンツが、迅速なアクセスのためにＣＤＮサーバによって格納されてもよい。
【００４１】
また、フォントサブセット及び他のタイプのコンテンツの送信、格納などのために他のネットワーキングアーキテクチャを使用することも可能である。例えば、リモートサーバ５１２によって図示されるように、より効率が悪いリモート配置されたサーバを利用することができる。ＣＤＮノードと比較すると、このようなデバイスは、他のデバイス及び位置（例えば、タブレットコンピューティングデバイス２２０）にデータを提供するのがより遅いと考えられる。このようなリモートサーバは、クラウドコンピューティングアーキテクチャのコンポーネントであり得り、フォント配布のための次善のネットワークスキームを使用し得る。例えば、フォントサービスプロバイダ、広告パブリッシャーなどのエンティティは、様々な機能のためにそのようなサーバを使用する可能性があり、よって、ＣＤＮノードなどのデータ配信のために調整されていない可能性がある。このようなリモートサーバは、通常、所定のフォントサブセット又は他のコンテンツ（例えば、過去に生成された広告）を格納するために使用されない可能性がある。むしろ、これらのデバイスは主に、コンテンツの作成などの他のタスクに使用され得る。例えば、必要なサブセットが以前に生成されていない場合、リモートサーバ５１２（フォントサービスプロバイダに位置し得る）を使用して、サブセットを動的に生成することができる。生成されたサブセットは、リクエストを出しているデバイス（例えば、タブレットコンピューティングデバイス２０２）に送信され得る。ウェブブラウザ２０４のキャッシュ４０６に格納されると、このサブセットは迅速にアクセス可能である。さらに、新たに生成されたウェブサイトが、ＣＤＮノードに存在するサーバ５０２、５０４、５０６、５０８の１つ又は複数のキャッシュに格納されてもよい。したがって、ネットワーク環境５００によって、異なるレベルのコンテンツ利用可能性を提供する複数のタイプのアクセスポイントが提供される。データの格納に加えて、ネットワーク環境５００によって他の機能が提供されてもよい。例えば、ＣＤＮノード、リモートサーバ５１２などの１つ又は複数のコンポーネントによって、環境内の複数の場所に重複したフォントサブセットが格納されているかどうかをチェックする（そして、それらを削除する）動作が実行されてもよい。また、イメージングデバイスに存在するソフトウェアエージェント（例えば、ＪａｖａＳｃｒｉｐｔ）を更新する動作が含まれてもよい。フォントサブセットが変更されたり、新しいサブセットが作成されたり、削除されたりする状況において、所定のフォンサブセット、サブセットに含まれるフォントの文字等に関して適応性を維持するために、ソフトウェアエージェントを更新する必要がある。
【００４２】
アーキテクチャ設計と同様に、フォントサブセットの送信を援助するために他の技術を使用することができる。例えば、異なるデータ伝送スキームが利用されてもよい。例えば
、初期フォントサブセットが１つの形式を使用する一方、後続サブセットは異なる形式を使用してもよい（あるいは、場合によっては同等な形式）。多くの場合、初期フォントサブセットは、リクエストを出すイメージングデバイスによって受信されたアセットファイルにおいて特定される。例えば、初期フォントサブセットは、タブレットコンピューティングデバイス２０２に提供されるＣＳＳファイル又はＨＴＭＬファイルに埋め込むことができる。フォントサブセットを埋め込むために、１つ又は複数の技術を適用することができる。例えば、ＡＳＣＩＩフォーマットのバイナリデータを表すＢａｓｅ６４などの符号化方式を使用することができる。このようなバイナリデータをＢａｓｅ６４を使用して埋め込むと、ファイルのサイズが大きくなる可能性がある（例えば、埋め込まれたバイナリデータのためにＣＳＳファイルのサイズが大きくなる可能性がある）。しかし、このようなデータを埋め込んでも、ファイルのサイズが大きく増加することはない。さらに、送信されるファイルの数を減らすことで、データ送信時間を短縮することができる。通常、ネットワークを介して送信される各ファイルの送信者と受信者の間で交渉が行われる。多くの場合、この交渉を実行するのに必要な時間は、ファイルサイズの増加に起因する遅延よりもはるかにデータ伝送プロセスを遅らせる。このように、多数のファイルにおける送信交渉に起因してもたらされる長い遅延よりむしろ、（例えファイルサイズが増大しても）少数のファイルにおける送信交渉に起因する短い遅延がもたらされる。しかし、より多くのファイルを送信することによって、フォントサブセット送信が改善され得る状況が起こり得る。このようなファイルは、バイナリファイル、テキストファイル（例えば、Ｂａｓｅ６４表現を含む）などを含み得る。データ変換技術を使用して、データをある形式から別の形式に変換してもよく、例えば、バイナリデータがテキスト表現に変換されてもよい。さらに、使用されるネットワークアーキテクチャに基づき、サブセットファイルは、１つ又は複数のソースから提供され得る。例えば、初期フォントサブセットファイルはフォントサービスプロバイダ、広告パブリッシャー等によって提供され得る一方、かかるファイルは、あるソース（例えば、フォントサービスプロバイダ）から、エンドユーザデバイス（例えば、タブレットコンピューティングデバイス２０２）にフォントサブセットを供給する前にファイルを変換する別のソース（例えば、広告パブリッシャー）に送信されてもよい。異なる伝送方式、アーキテクチャなどを使用することにより、初期及び後続フォントサブセットの伝送を最適化することができる。
【００４３】
データ伝送及び効率性をさらに最適化するために、他のフォーマット技法を利用することもできる。例えば、フォントサブセットにアクセスするために、変化しない（例えば、静的な）識別子を使用することができる。ある構成では、静的なユニフォームリソースロケータ（ＵＲＬ）を各フォントサブセット（ＣＤＮ、フォントサービスプロバイダ内に格納されている）に割り当てることができる。ＵＲＬの不変な性質は、さまざまな利点を提供し得る。例えば、識別子の定常的な性質は、誤った識別子が使用される可能性又は誤ったフォントサブセットが提供される可能性を低減する。通常、１つ又は複数のパラメータに基づき時間とともに変化する動的ＵＲＬと比較して、静的ＵＲＬは有効性を維持し、通常、最初に割り当てられたフォントサブセット（又は他のコンテンツ）を提供しながら、長期にわたって使用可能である。
【００４４】
イメージングデバイスへのフォントサブセットの送信を援助するために、他の技術が使用されてもよい。例えば、その全体が参照により本明細書に援用される米国特許出願第１３／６２９，５９３号（“Ｎｅｔｗｏｒｋ  Ｂａｓｅｄ  Ｆｏｎｔ  Ｍａｎａｇｅｍｅｎｔ  ｆｏｒ  Ｉｍａｇｉｎｇ  Ｄｅｖｉｃｅｓ”）に記載されているように、（例えば、接続されたネットワークの）環境条件、データ伝送特性（例えば、チャネル容量など）などを（例えば、イメージングデバイス、リモートサーバなどによって）監視し、データ伝送のために使用してもよい。データ伝送を最適化するために、様々なファイルタイプ、構造なども利用され得る。例えば、バイナリデータファイル、テキストベースファイルなどが、フォントサブジェクトを送信するために使用され得る。場合によっては、バイナリフ
ァイルが送信され、イメージングデバイスにおいて受信された後、含まれるデータがテキストに変換されてもよい。他の構成では、他の形式（例えば、テキストファイル、ＪａｖａＳｃｒｉｐｔファイルなど）で送信されるファイルがフォントサブセット送信のために使用されてもよい。
【００４５】
上述したように、次善なフォントサブセット（例えば、必要とされる文字そのもののサブセットではなく頻繁に使用されるフォントの文字のサブセット）を使用することによって、イメージングデバイスによって必要とされる前に、サブセットを準備して格納することができる（例えば、イメージング装置のブラウザキャッシュ、素早くアクセス可能なＣＤＮのキャッシュ等）。したがって、使用前に数百又は数千ものフォントサブセットを作成して（迅速なアクセスのために）保存することができる。さらに、最も使用される可能性が高いフォントの文字を含めることによって、必要とされる各文字がイメージングデバイスに提供される初期サブセットに存在する確率が高まる。一部の構成では、初期サブセットにフォントの文字が提供された後、初期サブセットに存在しない必要なフォントの文字が動的に取得され得る。例えば、１つ又は複数のサブセットを受信して残りの文字を得るために、１つ又は複数のリクエストがイメージングデバイスによって送信され得る。状況によっては、ソフトウェアエージェントは、必要とされる追加のフォントサブセットを特定することができる。他の状況では、リクエストが必要なフォントの文字を特定し、サブセットが動的に生成され（例えば、フォントサービスプロバイダにおいて）、要求しているイメージングデバイスに送信され得る。さらに、冗長性を最小限に抑えつつ、必要に応じてフォントの文字を漸増的に得るために、両技術を別々に、協調させて、又は他の技法とともに等の態様で使用することができる。
【００４６】
図６を参照して、最初に送られるフォントサブセットは、アセットにおいて最も使用される可能性が高い様々な文字を含むことができる。一部の構成では、最初に送られるフォントサブセットは、含まれる文字に関して比較的基本的なものであってもよい。図示されるように、基本サブセット６００は、フォントについて最も頻繁に使用される比較的少数の文字及び記号を含む。より広範なサブセットが最初に送信されてもよい。例えば、基本サブセットの文字とともに、アセットにおいてそれほど頻繁に使用されない追加文字を含む拡張フォントサブセット６０２が送信されてもよい。送信される初期フォントサブセットを決定する１つ又は複数の技術が使用され得る。例えば、イメージングデバイスに提供されるソフトウェアエージェント（例えば、ＪａｖａＳｃｒｉｐｔコード）が、提示されるアセットをレビューして（例えば、アセットのＤＯＭツリーを調査する）アセットによって最初に使用される（例えば、ウェブサイトの最初のウェブページ上の）文字を決定することができる。送信される可能性があるサブセットが認識されるところ、ソフトウェアエージェントは、配信される適切な基本フォントサブセット、又はより拡張されたフォントサブセットを特定することができる。様々な機構によって、ソフトウェアエージェントがそのような決定をするのを援助することができる。例えば、提示されるアセットのテキストコンテンツに基づいて１つ又は複数のフラグ（例えば、言語フラグ）が設定され、ソフトウェアエージェントは、フラグの条件に基づいて適切なフォントサブセットを特定してもよい。例えば、比較的基本的かつ静的なフォントサブセットが最初に送信され、次に本質的に静的である拡張フォントサブセットが送信されてもよい。このような基本的フォントサブセット及び拡張フォントサブセットは他の条件に依存してもよく、例えば、どの文字が基本的サブセット及び拡張サブセットに含まれるべきかの決定において、言語（例えば、英語、中国語など）がファクタとなってもよい。
【００４７】
相対的に準最適なフォントの文字のサブセットを送信することによってアセットの提示を補助する他の技術が使用されてもよい。例えば、最初のサブセットが提供された後に、１つ又は複数の文字の欠落が発見され得る。このようなシナリオは動的な広告において、（必要なフォントの文字がすべて存在する）１つの広告から（１つ又はいくつかのフォン
トの文字が存在しない可能性のある）別の広告に切り替わるときに生じ得る。リクエスト及びダウンロード可能な潜在的フォントサブセットが認識されるところ、イメージングデバイスのソフトウェアエージェントは、１つ又は複数の欠落文字を含む最小のサブセットを決定することを試み得る。状況によっては、ソフトウェアエージェントは、完全に異なるフォントのサブセットが最適であると判断し得る（例えば、正しいフォントで欠落している文字を含む比較的小さなサブセットが事前に準備されておらず、該当文字を含む別のフォントの特定されたサブセットがＣＤＮノードから素早く取得することができる）。そのような場合、異なるフォントのサブセットが取得されてもよい。ソフトウェアエージェントは、ローカルに格納されたフォント及びフォントサブセットの中から探すこともできる。例えば、あるフォントの文字が最初の（または後続の）フォントサブセット内に見つからない場合、イメージングデバイスのシステムに格納された別のフォント（例えば、タブレットコンピュータデバイスのシステムメモリ内のフォールバックフォント）にアクセスして、欠落している１つ又は複数の文字を取得してもよい。したがって、ソフトウェアエージェントは、限られた数の欠落文字を取得するために異なるフォントに切り替えることが最適であると判断し、特定の文字についてこの異なるフォントを使用するためにアセットのＤＯＭツリーを調整し得る。ローカルに存在しているフォントの使用は、アセットの様々な部分の提示のためにも利用され得る。例えば、イメージングデバイスに存在するフォールバックフォントが認識されるところ、例えば、アセットを提示するために本来企図されていた１つ又は複数の他のフォントの代わりに、ローカルフォントを使用するようにアセットを調整することができる（例えば、そのＤＯＭツリーを操作する）。同様に、フォント又は他の条件がフォントの切り替えを起こし得り、同様に、提示の効率性が向上され得る。
【００４８】
適切なフォントサブセットの選択と同様に、イメージングデバイスの環境に基づき、異なる実行可能命令が選択されてもよい。例えば、イメージングデバイスによって実行されるブラウザに基づき、異なるＪａｖａＳｃｒｉｐｔが提供されてもよい。したがって、使用されるブラウザに応じて、異なるソフトウェアエージェントが提供され得る。ある構成では、複数のタイプのブラウザと動作するマルチセグメントＪａｖａＳｃｒｉｐｔが生成されてもよい（例えば、ブラウザごとにセグメント）。ブラウザタイプが知られると（例えば、ブラウザを実行するイメージングデバイスとの通信を介して）、ＪａｖａＳｃｒｉｐｔの適切なセグメントを特定し、ＪａｖａＳｃｒｉｐｔの残りのセグメントを除去することができる。ブラウザが必要とするＪａｖａＳｃｒｉｐｔの部分だけを選択的に提供することによって、必要なメモリを減らし、データ伝送を増やすことができる。
【００４９】
性能を向上させるために、１つ又は複数の他の技術を使用することもできる。例えば、パフォーマンスを最適化するために、ソフトウェアエージェントの機能が他のプロセスに分散されてもよい。ある構成では、アセット部分（例えば、ウェブサイトのページ）を監視する、適切なフォントが存在するかどうかを判断するなどの動作を実行するために、ＪａｖａＳｃｒｉｐｔの一部がブラウザ（又は各ブラウザタイプ）に組み込まれ得る。この部分はむしろ静的なコア機能と考えることができ、一度提供され、必要に応じて何度も実行可能である。機能のより動的に変化する部分（例えば、時間依存性、アセット内容依存性など）は、必要に応じて提供する（例えば、ダウンロードする）ことができる。例えば、フォント自体と同様に、初期静的フォントサブセットの数は、ネットワークを介したそれらの分布とともに経時的に増加し得る（例えば、異なる広告のためのＣＤＮノードに格納されるなど）。したがって、そのような動的に変化する情報を管理するために、１つ又は複数のファイル（例えば、ＪａｖａＳｃｒｉｐｔファイル）がイメージングデバイスに送信され、フォントサブセット及び関連情報に関する適切な更新が提供され得る。このようなコア部分及び動的部分を利用するために、上記の技術を用いることができる。例えば、これらの部分、これらの部分によって使用されるデータ等にアクセスするために、静的識別子（例えば、静的ＵＲＬ）が使用されてもよい。
【００５０】
図７を参照すると、フローチャート７００は、イメージングデバイスによって実行されるプロセス（例えば、図３に示されるエージェント３０２）の動作を表す。このような動作は、典型的には、単一のコンピューティングデバイス（例えば、タブレットコンピューティングデバイス２０２）によって実行されるが、複数のコンピューティングデバイスによって動作が実行されてもよい。単一のサイト（例えば、イメージングデバイスの位置）で実行されることに加えて、動作の実行が２つ以上の場所に分散されもよい。
【００５１】
実行される動作は、イメージングデバイスにおいて、イメージングデバイスのディスプレイ上に提示可能なネットワークアセットを表示する１つ又は複数のファイルを受信するステップ７０２を含み得る。少なくとも１つのファイルは、ネットワークアセットのテキストコンテンツを提示するためのデータを含む。例えば、タブレットコンピューティングデバイスが、１つ又は複数のソースからネットワークアセット（例えば、ウェブサイト、ウェブページなど）などのアセットを表すデータを受信することができる。また、動作は、ネットワークアセットの一部と、ネットワークアセットの該部分に対応するテキストコンテンツとをイメージングデバイスのディスプレイ上に提示するステップ７０４を含む。例えば、ウェブサイトの最初の部分（例えば、ウェブサイトのオープニングページ）のテキストコンテンツが提示され得る。さらに、動作は、ネットワークアセットの一部及び対応するテキストコンテンツが提示されている間、ネットワークアセットの少なくとも１つの他の部分のテキストコンテンツが、イメージングデバイスに存在するフォントの文字を使用してディスプレイ上に提示可能かどうかを決定するための動作をイメージングデバイスにおいて実行するステップ７０６を含む。例えば、アセットの最初の部分が提示されている間、イメージングデバイスによって実行されるソフトウェアエージェントが、ウェブサイトの後続部分（他のウェブページ）を提示するために追加のフォントサブセットが必要かどうかを並列して判断することができる。必要なフォントサブセットに対する応答を開始できると同時に、ソフトウェアエージェントは必要なサブセットを特定することができる。
【００５２】
図８は、本明細書に記載される技術を実施するために使用され得る例示的なコンピュータデバイス８００及び例示的なモバイルコンピュータデバイス８５０の例を示す。例えば、ソフトウェアエージェント３０２（図３に示される）の動作の一部又は全てが、コンピュータデバイス８００及び／又はモバイルコンピュータデバイス８５０によって実行されてもよい。コンピューティングデバイス８００は、例えば、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータを含む様々な形態のデジタルコンピュータを表す。コンピューティングデバイス８５０は、例えば、パーソナルデジタルアシスタント、タブレットコンピューティングデバイス、携帯電話、スマートフォン、及び他の同様のコンピューティングデバイスを含む、様々な形態のモバイルデバイスを表す。ここに示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は単なる例に過ぎず、本文献で記載及び／又は請求される技術の実装を限定するものではない。
【００５３】
コンピューティングデバイス８００は、プロセッサ８０２、メモリ８０４、記憶装置８０６、メモリ８０４及び高速拡張ポート８１０に接続する高速インターフェース８０８、並びに低速バス８１４及び記憶装置８０６に接続する低速インターフェース８１２を含む。コンポーネント８０２、８０４、８０６、８０８、８１０、及び８１２はそれぞれ、様々なバスを使用して相互接続され、共通のマザーボード上に、又は他の適切な方法で実装され得る。プロセッサ８０２は、コンピューティングデバイス８００において実行される命令を処理することができる。命令は、例えば、高速インターフェース８０８に結合されたディスプレイ８１６を含む外部入出力装置上のＧＵＩ用のグラフィカルデータを表示するための、メモリ８０４又は記憶装置８０６に格納された命令を含む。他の実施形態では
、複数のメモリ及びタイプのメモリとともに、複数のプロセッサ及び／又は複数のバスを適宜に使用することができる。また、複数のコンピューティングデバイス８００が接続され、各デバイスが必要な動作の部分を提供してもよい（例えば、サーババンク、ブレードサーバのグループ、又はマルチプロセッサシステムとして）。
【００５４】
メモリ８０４は、コンピューティングデバイス８００内にデータを格納する。一実施形態では、メモリ１３０４は１つ又は複数の揮発性メモリユニットである。他の実施形態では、メモリ８０４は１つ又は複数の不揮発性メモリユニットである。また、メモリ８０４は、例えば、磁気ディスク又は光ディスクを含む他の形態のコンピュータ可読媒体であってもよい。メモリ８０４は非一時的であってもよい。
【００５５】
記憶装置８０６は、コンピューティングデバイス８００のために大容量ストレージを提供することができる。一実施形態では、記憶装置８０６は、例えば、フロッピーディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置、フラッシュメモリ又は他の同様なソリッドステートメモリ装置、又はストレージエリアネットワーク又は他の構成内の複数のデバイス等のデバイスアレイ等を含むコンピュータ可読媒体であり得り、又はかかる構成を含み得る。コンピュータプログラム製品がデータキャリアとして具現化されてもよい。また、コンピュータプログラム製品は、実行されると、例えば上記方法等の１つ又は複数の方法を実行する命令を含むことができる。データキャリアは、例えば、メモリ８０４、記憶装置８０６、プロセッサ８０２上のメモリなどを含む、コンピュータ又は機械可読媒体である。
【００５６】
高速コントローラ８０８は、コンピューティングデバイス８００のために帯域幅を消費する（ｂａｎｄｗｉｄｔｈ−ｉｎｔｅｎｓｉｖｅ）動作を管理し、低速コントローラ８１２は、帯域幅をさほど消費しない動作を管理する。このような機能の割り当ては一例に過ぎない。一実施形態では、高速コントローラ８０８は、メモリ８０４、ディスプレイ８１６（例えば、グラフィックプロセッサ又はアクセラレータを介して）、及び、様々な拡張カード（不図示）を受け入れることができる高速拡張ポート８１０に結合される。この実装では、低速コントローラ８１２は、記憶装置８０６及び低速拡張ポート８１４に結合される。様々な通信ポート（例えば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、イーサネット、無線イーサネット）を含み得る低速拡張ポートは、例えば、キーボード、ポインティングデバイス、スキャナ、又は、例えばネットワークアダプタを介してスイッチ若しくはルータを含むネットワーキングデバイスを含む１つ又は複数の入出力デバイスに結合され得る。
【００５７】
コンピューティングデバイス８００は、図示されるように、いくつかの異なる形態で実装することができる。例えば、標準サーバ８２０として実装することもできるし、そのようなサーバのグループとして実装することもできる。また、ラックサーバシステム８２４の一部として実装することもできる。加えて又は代わりに、例えば、ラップトップコンピュータ８２２を含むパーソナルコンピュータに実装することができる。一部の例では、コンピューティングデバイス８００からのコンポーネントが、例えばデバイス８５０を含むモバイルデバイス（不図示）内の他のコンポーネントと組み合わされてもよい。このようなデバイスは、それぞれ、１つ又は複数のコンピューティングデバイス８００、８５０を含み得り、システム全体は、互いに通信する複数のコンピューティングデバイス８００、８５０から構成され得る。
【００５８】
コンピューティングデバイス８５０は、プロセッサ８５２、メモリ８６４、例えばディスプレイ８５４、通信インターフェース８６６、及びトランシーバ８６８等を含む入出力デバイスを含む。さらに、デバイス８５０には、追加ストレージを提供するために、例えばマイクロドライブ又は他の装置を含む記憶装置を設けることもできる。コンポーネント
８５０、８５２、８６４、８５４、８６６、及び８６８はそれぞれ、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかが共通のマザーボード上に実装されたり、又は他の適切な方法で実装され得る。
【００５９】
プロセッサ８５２は、メモリ８６４に格納された命令を含む、コンピューティングでビアス８５０内の命令を実行することができる。プロセッサは、別個の複数のアナログ及びびデジタルプロセッサを含む複数のチップのチップセットとして実装することができる。プロセッサは、例えば、デバイス８５０の他のコンポーネントの調整のために、例えば、ユーザインターフェースの制御、デバイス８５０によって実行されるアプリケーション、及びデバイス８５０による無線通信等を提供することができる。
【００６０】
プロセッサ８５２は、制御インターフェース８５８、及びディスプレイ８５４に結合されたディスプレイインターフェース８５６を介してユーザと通信することができる。ディスプレイ８５４は、例えば、ＴＦＴ  ＬＣＤ（Ｔｈｉｎ−Ｆｉｌｍ−Ｔｒａｎｓｉｓｔｏｒ  Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）若しくはＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ、又は他の適切なディスプレイ技術とすることができる。ディスプレイインターフェース８５６は、ディスプレイ８５４を駆動してユーザにグラフィカルデータ及び他のデータを提示するための適切な回路を含み得る。制御インターフェース８５８は、ユーザからコマンドを受け取り、プロセッサ８５２への提出のためにそれらを変換することができる。さらに、デバイス８５０が他のデバイスと近距離通信できるよう、外部インターフェース８６２はプロセッサ８４２と通信することができる。外部インターフェース８６２は、例えば、一部の実装形態では有線通信を提供し、また、他の実装形態では無線通信を提供し得り、複数のインターフェースも使用することも可能である。
【００６１】
メモリ８６４は、コンピューティングデバイス８５０内にデータを格納する。メモリ８６４は、１つ又は複数のコンピュータ可読媒体、１つ又は複数の揮発性メモリユニット、又は１つ又は複数の不揮発性メモリユニットのうちの１つ又は複数として実装することができる。さらに、拡張メモリ８７４が提供され、例えば、ＳＩＭＭ（Ｓｉｎｇｌｅ  Ｉｎ
Ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）カードインターフェース等の拡張インターフェース８７２を介してデバイス８５０に接続され得る。このような拡張メモリ８７４は、デバイス８５０のための追加のストレージスペースを提供し、又はデバイス８５０のためのアプリケーション若しくは他のデータを保存し得る。具体的には、拡張メモリ８７４は、上述のプロセスを実行又は補完するための命令を含み得り、また、セキュアデータを含んでもよい。したがって、例えば、拡張メモリ８７４は、デバイス８５０のセキュリティモジュールとして提供することができ、デバイス８５０の安全な使用を可能にする命令でプログラミングされ得る。さらに、追加データとともに、セキュアアプリケーションがＳＩＭＭカードを介して提供されてもよく、例えば、ＳＩＭＭカード上にハッキングできない態様で識別データが設けられてもよい。
【００６２】
メモリは、例えば、後述するように、フラッシュメモリ及び／又はＮＶＲＡＭメモリを含むことができる。ある実施形態では、コンピュータプログラム製品がデータキャリアとして具現化されてもよい。コンピュータプログラム製品は、実行されると、例えば上記方法等の１つ又は複数の方法を実行する命令を含む。データキャリアは、例えば、メモリ８６４、拡張メモリ８７４、及び／又は、プロセッサ８５２上のメモリを含む、例えば、トランシーバ８６８又は外部インターフェース８６２を介して受け取り可能なコンピュータ可読媒体又は機械可読媒体である。
【００６３】
デバイス８５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェース８６６を介して無線で通信してもよい。通信インターフェース８６６は、例えば、ＧＳ
Ｍボイスコール、ＳＭＳ、ＥＭＳ、又はＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ、ＣＤＭＡ２０００、又はＧＰＲＳを含む様々なモード又はプロトコルの通信を提供することができる。このような通信は、例えば、無線周波数トランシーバ８６８を介して行うことができる。さらに、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ、又は他の同様なトランシーバ（不図示）を使用する等により、短距離通信が行われ得る。さらに、ＧＰＳ（グローバルポジショニングシステム）受信モジュール８７０は、デバイス８５０上で動作するアプリケーションによって適切に使用され得る、追加のナビゲーション及び位置関連無線データをデバイス８５０に提供することができる。カメラ、マイクロフォン、コンパス、アクセラレータ（姿勢検出用）などのセンサ及びモジュールがデバイスに含まれてもよい。
【００６４】
また、デバイス８５０は、ユーザからの発話データを受信し、それを使用可能なデジタルデータに変換することができるオーディオコーデック８６０を使用して、音声通信することができる。オーディオコーデック８６０は、同様に、例えば、デバイス８５０のハンドセット内のスピーカを通じて等の手段により、ユーザのために可聴音を生成することができる。このような音声は、音声電話からの音声を含むことができ、記録された音声（例えば、音声メッセージ、音楽ファイルなど）を含むことができ、また、デバイス８５０上で動作するアプリケーションによって生成される音声を含むことができる。
【００６５】
コンピューティングデバイス８５０は、図示されるように、いくつかの異なる形態で実装することができる。例えば、コンピュータデバイス８５０は携帯電話８８０として実施することができる。また、スマートフォン８８２、パーソナルデジタルアシスタント、又は他の同様のモバイルデバイスの一部として実施することもできる。
【００６６】
本明細書に記載されるシステム及び技術の様々な実装形態が、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、コンピュータハードウェア、ファームウェア、ソフトウェア、及び／又はこれらの組み合わせとして実現され得る。これらの様々な実装形態は、記憶システム、少なくとも１つの入力デバイス、及び少なくとも１つの出力デバイスとデータ及び命令を送受信できるよう結合された少なくとも１つのプログラム可能なプロセッサ等のプログラム可能なシステム上で実行及び／又は解釈可能な１つ又は複数のコンピュータプログラムとしての実装を含み得る。
【００６７】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとしても知られる）は、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型かつ／又はオブジェクト指向プログラミング言語で、及び／又はアセンブリ／機械言語で実装され得る。本明細書で使用する機械可読媒体及びコンピュータ可読媒体という用語は、機械命令を受信する機械可読媒体を含むプログラマブルプロセッサに機械命令及び／又はデータを供給するために使用されるコンピュータプログラム製品、装置及び／又はデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を指す。
【００６８】
ユーザとのインタラクションを提供するために、本明細書に記載されるシステム及び技術は、ユーザにデータを表示するための表示装置（例えば、ＣＲＴ（ブラウン管）又はＬＣＤ（液晶ディスプレイ）モニタ）、並びにユーザがコンピュータに入力を提供することを可能にするキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）を有するコンピュータ上に実装され得る。他の種類の装置を使用して、ユーザとのインタラクションを提供することもできる。例えば、ユーザに提供されるフィードバックは、感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック）の形態であり得り、ユーザからの入力は、音響、発話、又は触覚入力を含
む形態で受け取られ得る。
【００６９】
本明細書に記載されるシステム及び技術は、バックエンドコンポーネント（例えば、データサーバとして）を含むコンピューティングシステム、又はミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含むコンピューティングシステム、又はフロントエンドコンポーネントを含むコンピューティングシステム（例えば、ユーザが本明細書に記載されるシステム及び技術の実装形態とインタラクトすることを可能にするユーザーインターフェイス又はウェブブラウザを有するクライアントコンピュータ）、又はかかるバックエンド、ミドルウェア、又はフロントエンドコンポーネントの組み合わせを含むコンピュータシステム内に実装されてもよい。システムのコンポーネントは、デジタルデータ通信のある形態又は媒体（例えば、通信ネットワーク）によって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、及びインターネットが含まれる。
【００７０】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般的に互いに離れて位置しており、典型的には通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【００７１】
一部の実施態様では、本明細書に記載されるエンジンは、単一の又は組み合わされたエンジンに分離され、組み合わされ、又は組み込まれ得る。図示されるエンジンは、本明細書に記載されるシステムを、図示されるソフトウェアアーキテクチャに限定するものではない。
【００７２】
多数の実施形態が記載されてきた。しかし、本明細書に記載されるプロセス及び技術の趣旨及び範囲から逸脱することなく、様々な変更を行うことができることが理解されよう。さらに、図示される論理フローは、所望の結果を達成するために示された特定の順番又は逐次的な順番を必要としない。さらに、記載されるフローとは異なるステップが設けられたり、ステップが排除されてもよく、また、記載されたシステムに他のコンポーネントを追加したり、コンポーネントを排除したりすることも可能である。したがって、添付の特許請求の範囲には他の実施形態が含まれる。
【図１】
2018508059.tif 000003
【図２】
2018508059.tif 000004
【図３】
2018508059.tif 000005
【図４】
2018508059.tif 000006
【図５】
2018508059.tif 000007
【図６】
2018508059.tif 000008
【図７】
2018508059.tif 000009
【図８】
2018508059.tif 000010
【国際調査報告】
2018508059.tif 000011
2018508059.tif 000012