(57)【要約】  システムは、指令を保存するために構成されたメモリーを含むコンピューティングデバイスを含む。またこのコンピューティングデバイスは、イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信することを含む操作を行う指令を実行するためのプロセッサーも含む。リクエストは、アセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送られる。また操作は、イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別し、そしてアセットを表示するためにイメージングデバイスに識別したフォント情報を提供することを含む。【選択図】図１
2016506560.tif 000002
【特許請求の範囲】
【請求項１】
イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信する工程であって、このリクエストにはアセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送られる、該リクエストを受信する工程と；
イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別する工程と；そして
アセットを表示するために識別されたフォント情報をイメージングデバイスに提供する工程と；
を有するコンピューターにより実施される方法。
【請求項２】
前記適切な量のフォント情報を識別する工程が、１もしくは複数のフォントを識別する工程を含む請求項１に記載のコンピューターにより実施される方法。
【請求項３】
前記適切な量のフォント情報を識別する工程が、１もしくは複数のフォントを作成する工程を含む請求項１に記載のコンピューターにより実施される方法。
【請求項４】
適切な量のフォント情報が、アセットのテキストコンテンツに基づき１もしくは複数のフォントサブセットを含む請求項１に記載のコンピューターにより実施される方法。
【請求項５】
前記１もしくは複数の属性が、イメージングデバイスに不在の１もしくは複数のフォントを識別するための情報を含む請求項１に記載のコンピューターにより実施される方法。
【請求項６】
前記１もしくは複数の属性が、アセットに不在の１もしくは複数のフォントを識別するための情報を含む請求項１に記載のコンピューターにより実施される方法。
【請求項７】
前記１もしくは複数の属性が、アセットの構造を表す情報を含む請求項１に記載のコンピューターにより実施される方法。
【請求項８】
前記リクエストがまた、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の１もしくは複数の環境特性も含む請求項１に記載のコンピューターにより実施される方法。
【請求項９】
前記リクエストが、イメージングデバイスの少なくとも一つの能力を表す１もしくは複数の属性を含む請求項１に記載のコンピューターにより実施される方法。
【請求項１０】
前記リクエストが、イメージングデバイスの位置に関する地理情報を含む請求項１に記載のコンピューターにより実施される方法。
【請求項１１】
イメージングデバイスで１もしくは複数のアセットのテキストコンテンツを表すデータを受信する工程と；
１もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在であるかどうかを決定するために、テキストコンテンツを表示するデータを解析する工程と、；そして
１もしくは複数のアセットを表示するために不在のフォント情報をリクエストするためにフォントサービスプロバイダーにリクエストを送信する工程であって、このリクエストはユーザーの入力無しでフォントサービスプロバイダーに送信される、該リクエストを送信する工程と、；
を有するコンピューターにより実施される方法。
【請求項１２】
前記リクエストが、１もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別する請求項１１に記載のコンピューターにより実施される方法。
【請求項１３】
前記リクエストが、イメージングデバイスにより表示されることになる１もしくは複数のアセットに関連する情報を識別する請求項１１に記載のコンピューターにより実施される方法。
【請求項１４】
テキストコンテンツを表示するデータを解析する工程が、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する工程を含む請求項１１に記載のコンピューターにより実施される方法。
【請求項１５】
前記リクエストが、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する請求項１１に記載のコンピューターにより実施される方法。
【請求項１６】
指令を保存するために構成されたメモリーと：および
プロセッサーであって、
イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信し、このリクエストはアセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストがユーザーの入力無しでイメージングデバイスから送信され；
イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別し；そして
識別したフォント情報を、アセットを表示するためにイメージングデバイスに提供する；
ことを含む操作を行うための指令を実行するプロセッサーと：
を備えたコンピューティングデバイスを備えたシステム。
【請求項１７】
前記適切な量のフォント情報を識別することが、１もしくは複数のフォントを識別することを含む請求項１６に記載のシステム。
【請求項１８】
前記適切な量のフォント情報を識別することが、１もしくは複数のフォントを作成することを含む請求項１６に記載のシステム。
【請求項１９】
前記適切な量のフォント情報が、アセットのテキストコンテンツに基づく１もしくは複数のフォントサブセットを含む請求項１６に記載のシステム。
【請求項２０】
前記１もしくは複数の属性が、イメージングデバイスに不在の１もしくは複数のフォントを識別するための情報を含む請求項１６に記載のシステム。
【請求項２１】
前記１もしくは複数の属性が、アセットに不在の１もしくは複数のフォントを識別するための情報を含む請求項１６に記載のシステム。
【請求項２２】
前記１もしくは複数の属性が、アセットの構造を表す情報を含む請求項１６に記載のシステム。
【請求項２３】
前記リクエストが、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の１もしくは複数の環境特性も含む請求項１６に記載のシステム。
【請求項２４】
前記リクエストが、イメージングデバイスの少なくとも一つの能力を表す１もしくは複数の属性を含む請求項１６に記載のシステム。
【請求項２５】
前記リクエストが、イメージングデバイスの位置に関する地理情報を含む、請求項１６に記載のシステム。
【請求項２６】
指令を保存するために構成されたメモリーと：および
プロセッサーであって、
イメージングデバイスで１もしくは複数のアセットのテキストコンテンツを表すデータを受信し；
テキストコンテンツを表わすデータを解析して、１もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在であるかどうかを決定し；そして
１もしくは複数のアセットを表示するために不在のフォント情報をリクエストするためにフォントサービスプロバイダーにリクエストを送信し、このリクエストはユーザーの入力無しでフォントサービスプロバイダーに送信される；
ことを含む操作を行うための指令を実行するプロセッサーと：
を備えたコンピューティングデバイスを備えたシステム。
【請求項２７】
前記リクエストが、１もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別する請求項２６に記載のシステム。
【請求項２８】
前記リクエストが、イメージングデバイスにより表示されることになる１もしくは複数のアセットに関連する情報を識別する請求項２６に記載のシステム。
【請求項２９】
前記テキストコンテンツを表すデータの解析が、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することを含む請求項２６に記載のシステム。
【請求項３０】
前記リクエストが、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する請求項２６に記載のシステム。
【請求項３１】
プロセッシングデバイスにより実行可能な指令を保存し、そしてそのような実行でプロセッシングデバイスが：
イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信し、このリクエストは、アセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送信され；
イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別し；そして
アセットを表示するために、識別したフォント情報をイメージングデバイスに提供する；
ことを含む操作を行うようにする１もしくは複数のコンピューター可読媒体。
【請求項３２】
前記適切な量のフォント情報の識別が、１もしくは複数のフォントを識別することを含む請求項３１に記載のコンピューター可読媒体。
【請求項３３】
前記適切な量のフォント情報の識別が、１もしくは複数のフォントを作成することを含む請求項３１に記載のコンピューター可読媒体。
【請求項３４】
前記適切な量のフォント情報が、アセットのテキストコンテンツに基づく１もしくは複
数のフォントサブセットを含む請求項３１に記載のコンピューター可読媒体。
【請求項３５】
前記１もしくは複数の属性が、イメージングデバイスに不在の１もしくは複数のフォントを識別するための情報を含む請求項３１に記載のコンピューター可読媒体。
【請求項３６】
前記１もしくは複数の属性が、アセットに不在の１もしくは複数のフォントを識別するための情報を含む請求項３１に記載のコンピューター可読媒体。
【請求項３７】
前記１もしくは複数の属性が、アセットの構造を表す情報を含む請求項３１に記載のコンピューター可読媒体。
【請求項３８】
前記リクエストが、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の１もしくは複数の環境特性も含む請求項３１に記載のコンピューター可読媒体。
【請求項３９】
前記リクエストが、イメージングデバイスの少なくとも一つの能力を表す１もしくは複数の属性を含む請求項３１に記載のコンピューター可読媒体。
【請求項４０】
前記リクエストが、イメージングデバイスの位置に関する地理情報を含む請求項３１に記載のコンピューター可読媒体。
【請求項４１】
プロセッシングデバイスにより実行可能な指令を保存し、そしてそのような実行でプロセッシングデバイスが：
１もしくは複数のアセットのテキストコンテンツを表すデータをイメージングデバイスで受信し；
テキストコンテンツを表示するデータを解析して、１もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在であるかどうかを決定し；そして
１もしくは複数のアセットを表示するために不在のフォント情報をリクエストするために、フォントサービスプロバイダーにリクエストを送信し、このリクエストはユーザーの入力無しでフォントサービスプロバイダーに送信される；
ことを含む操作を行うようにする１もしくは複数のコンピューター可読媒体。
【請求項４２】
前記リクエストが、１もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別する請求項４１に記載のコンピューター可読媒体。
【請求項４３】
前記リクエストが、イメージングデバイスにより表示されることになる１もしくは複数のアセットに関連する情報を識別する請求項４１に記載のコンピューター可読媒体。
【請求項４４】
前記テキストコンテンツを表すデータの解析が、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することを含む請求項４１に記載のコンピューター可読媒体。
【請求項４５】
前記リクエストが、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する請求項４１に記載のコンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は３５ＵＳＣ§１２０の下、２０１２年１２月３日に出願された特許文献１の優先権を主張し、この内容は全部、引用により本明細書に編入する。
【０００２】
本記載はプリンター、コンピューティングデバイス等のようなイメージングデバイスにフォントおよび関連情報の配信を管理することに関する。
【背景技術】
【０００３】
インターネットのようなコンピューターネットワークにより提供される絶え間なく広がる接続性において、様々な種類のコンテンツ、例えばテキスト、グラフィック、オーディオ、ビデオ等を、コンピューティングデバイスまたは放送を使用して個人に表示するために、アセット（例えば文書、プレゼンテーション、ウェッブサイト、ウェッブページ等）に含むことができる。そのようなコンテンツをアセットに包含することは、閲覧者に、さらに楽しめる視聴体験を与えることができると同時に、情報のより効率的伝達を補助することができる。しかし技術は様々な種類のコンテンツのそのような急激な拡大とドラマチックなレイアウトを少しも拘束されずに常に与えることができるわけではない。デバイスの機能性、操作システム、ドライバーソフトウェア等が表示を妨害し、そして閲覧者がもともと書いた（ａｕｔｈｏｒｅｄ）コンテンツを見る能力を制限する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第１３／６９２，５９３号明細書
【発明の概要】
【０００５】
本明細書に記載するシステムおよび技術は、１もしくは複数のアセット（例えば電子文書、プレゼンテーション、ウェッブページ、ウェッブサイト等）を表示するために、適切な情報がイメージングデバイス（例えばプリンター、コンピューティングデバイス等）に存在しないことを識別することに関する。例えば１もしくは複数のフォントがイメージングデバイス（例えばプリンター）で利用できず、そしてもともと書いたようにアセット（１もしくは複数）を表示する（例えば印刷する）必要があると識別される。いったん識別されれば、必要なフォント情報がユーザーの入力無しでデバイスから送られたリクエストに応答してイメージングデバイスに提供される。そのようなフォント情報を絶え間ない様式で提供することにより、閲覧者は適切なフォント情報が配信されているイメージングデバイスに加わらなければならないことで気が散ったり、欲求不満になることはない。さらにプロセスにより気が散ることが無いので、閲覧者の体験は表示されるコンテンツ中の閲覧者の興味と共に改善され得る。
【０００６】
一つの態様では、コンピューターにより実施される方法は、イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信することを含む。このリクエストは、アセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送られる。またこの方法は、イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別し、そしてアセットを表示するために、識別したフォント情報をイメージングデバイスに提供することを含む。
【０００７】
実施には１もしくは複数の以下の特徴を含むことができる。適切な量のフォント情報の
識別は、１もしくは複数のフォントの識別を含むことができる。適切な量のフォント情報の識別は、１もしくは複数のフォントの作成を含むことができる。適切な量のフォント情報には、アセットのテキストコンテンツに基づき、１もしくは複数のフォントサブセットを含むことができる。１もしくは複数の属性は、イメージングデバイスに不在の１もしくは複数のフォントを識別するための情報を含むことができる。１もしくは複数の属性は、アセットに不在の１もしくは複数のフォントを識別するための情報を含むことができる。１もしくは複数の属性には、アセットの構造を表す情報を含むことができる。リクエストは、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の１もしくは複数の環境特性を含むことができる。リクエストはイメージングデバイスの少なくとも一つの能力を表す１もしくは複数の属性を含むことができる。リクエストはイメージングデバイスの位置に関する地理情報を含むことができる。
【０００８】
別の態様では、コンピューターにより実施される方法は、１もしくは複数のアセットのテキストコンテンツを表示するデータをイメージングデバイスで受信することを含む。この方法はまた、１もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在かどうかを決定するために、テキストコンテンツを表示するデータを解析し、そして１もしくは複数のアセットを表示するために不在のフォント情報をリクエストするようにフォントサービスプロバイダーにリクエストを送信することを含む。リクエストは、ユーザーの入力無しでフォントサービスプロバイダーに送信される。
【０００９】
実施は１もしくは複数の以下の特徴を含むことができる。リクエストは、１もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別することができる。リクエストは、イメージングデバイスにより表示されることになる１もしくは複数のアセットに関連する情報を識別することができる。テキストコンテンツを表すデータの解析は、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することを含むことができる。リクエストは１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することができる。
【００１０】
別の態様では、システムは指令を保存するために構成されたメモリーを含むコンピューティングデバイスを含む。またこのコンピューティングデバイスは、イメージングデバイスがアセットのテキストコンテンツを表示することができないことを示すイメージングデバイスからのリクエストを受信することを含む操作を行うための指令を実行するプロセッサー含む。リクエストは、アセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送られる。また操作は、イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別し、そしてアセットを表示するために、イメージングデバイスに識別したフォント情報を提供することを含む。
【００１１】
実施は１もしくは複数の以下の特徴を含むことができる。適切な量のフォント情報の識別は、１もしくは複数のフォントの識別を含むことができる。適切な量のフォント情報の識別は、１もしくは複数のフォントの作成を含むことができる。適切な量のフォント情報はアセットのテキストコンテンツに基づき、１もしくは複数のフォントサブセットを含むことができる。１もしくは複数の属性は、イメージングデバイスに１もしくは複数のフォントの不在を識別するための情報を含むことができる。１もしくは複数の属性は、アセットに１もしくは複数のフォントの不在を識別するための情報を含むことができる。１もしくは複数の属性には、アセットの構造を表す情報を含むことができる。リクエストは、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の１もしくは複数の環境特性を含むことができる。リクエストはイメージングデバイスの少なくとも一つの能力を表す１もしくは複数の属性を含むことができる。リクエストはイメージングデバイ
スの位置に関する地理情報を含むことができる。
【００１２】
別の態様では、システムは指令を保存するために構成されたメモリーを含むコンピューティングデバイスを含む。またこのコンピューティングデバイスは、１もしくは複数のアセットのテキストコンテンツを表すデータをイメージングデバイスで受信することを含む操作を行うための指令を実行するプロセッサー含む。また操作は、１もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在であるかどうかを決定するために、テキストコンテンツを表示するデータを解析し、そして１もしくは複数のアセットを表示するために不在のフォント情報をリクエストするために、フォントサービスプロバイダーにリクエストを送信することを含む。リクエストは、ユーザーの入力無しでフォントサービスプロバイダーに送信される。
【００１３】
実施には１もしくは複数の以下の特徴を含むことができる。リクエストは、１もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別することができる。リクエストは、イメージングデバイスにより表示されることになる１もしくは複数のアセットに関連する情報を識別することができる。テキストコンテンツを表すデータの解析は、１もしくは複数のアセットのテキストコンテンツに存在する各文字の識別を含むことができる。リクエストは１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することができる。
【００１４】
別の態様では、１もしくは複数のコンピューター可読媒体がプロセッシングデバイスにより実行可能な指令を保存し、そしてそのような実行でプロセッシングデバイスが操作を行うようにさせ、この操作には、イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信することを含む。このリクエストは、アセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無でイメージングデバイスから送信される。また操作には、イメージングデバイスがアセットを表示するために、受信した１もしくは複数の属性から適切な量のフォント情報を識別し、そしてアセットを表示するために、イメージングデバイスに識別したフォント情報を提供することを含む。
【００１５】
実施には１もしくは複数の以下の特徴を含むことができる。適切な量のフォント情報の識別は、１もしくは複数のフォントの識別を含むことができる。適切な量のフォント情報の識別は、１もしくは複数のフォントの作成を含むことができる。適切な量のフォント情報は、アセットのテキストコンテンツに基づき１もしくは複数のフォントサブセットを含むことができる。１もしくは複数の属性は、イメージングデバイスに１もしくは複数のフォントの不在を識別するための情報を含むことができる。１もしくは複数の属性は、アセットに１もしくは複数のフォントの不在を識別するための情報を含むことができる。１もしくは複数の属性には、アセットの構造を表す情報を含むことができる。またリクエストは、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の１もしくは複数の環境特性も含むことができる。リクエストはイメージングデバイスの少なくとも一つの能力を表す１もしくは複数の属性を含むことができる。リクエストはイメージングデバイスの位置に関する地理情報を含むことができる。
【００１６】
別の態様では、１もしくは複数のコンピューター可読媒体がプロセッシングデバイスにより実行可能な指令を保存し、そしてそのような実行でプロセッシングデバイスが操作を行うようにさせ、この操作には、１もしくは複数のアセットのテキストコンテンツを表すイメージングデバイスでデータを受信することを含む。また操作は、１もしくは複数のアセットのテキストコンテンツを表示するために、イメージングデバイスにフォント情報が不在であるかどうかを決定するために、テキストコンテンツを表すデータを解析し、そして１もしくは複数のアセットを表示するために、不在のフォント情報をリクエストするた
めに、フォントサービスプロバイダーにリクエストを送信することを含む。リクエストはユーザーの入力無しでフォントサービスプロバイダーに送信される。
【００１７】
実施には１もしくは複数の以下の特徴を含むことができる。リクエストは、１もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別することができる。リクエストは、イメージングデバイスにより表示されることになる１もしくは複数のアセットに関連する情報を識別することができる。テキストコンテンツを表すデータの解析は、１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することを含むことができる。リクエストは１もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することができる。
【００１８】
これらの、および他の態様および特徴およびそれらの様々な組み合わせは、機能、プログラム製品および他の方法を行うための方法、装置、システム、手段として表現すことができる。
【００１９】
他の特徴および利点は説明および特許請求の範囲から明白となるだろう。
【図面の簡単な説明】
【００２０】
【図１】表示用にイメージングデバイスに提供することができる例示のコンテンツを具体的に説明する。
【図２】インターネットに基づくコンピューターネットワークのブロック線図である。
【図３−４】フォント管理のためにフォントサービスプロバイダーに情報を送信するイメージングデバイスを具体的に説明する。
【図５】ソフトウェアエージェントへのリクエストおよび配信、ならびにフォントサービスプロバイダーからのフォント情報を具体的に説明する。
【図６】ウェブアセットを制作するための例示的ファイルである。
【図７−９】コード指令の例を具体的に説明する。
【図１０】フォントサービスマネージャーの操作の流れ図の一例である。
【図１１】ソフトウェアエージェントの操作の流れ図の一例である。
【図１２】ホストストレージ（ｈｏｓｔｅｄ  ｓｔｏｒａｇｅ）を提供し、そしてクライアントデバイスからホストストレージにアクセスするシステムの例を示すブロック線図である。
【図１３】本明細書に記載する技術を実施するために使用できるコンピューティングデバイスおよびモバイルコンピューティングデバイスの例を具体的に説明する。
【発明を実施するための形態】
【００２１】
詳細な説明
図１を参照にして、様々な種類のアセットを表示のために作成することができる。例えば文書、プレゼンテーションなどのアセットは、コンピューティングデバイス（例えばコンピューターシステム、スマートフォン等）によりローカルで、または遠隔で作成されることができ、あるいはウェブアセットのようなアセット（例えばウェブページ１００）も
遠隔で作成することができ、そしてインターネット（または他の種類のコンピューターネットワーク）を通してアクセスすることができる。そのようなウェブアセット様のウェブページ１００（例えばウェブページ、ウェブサイト等）は、適切な識別情報（例えばユニフォームリソースロケータ（ＵＲＬ））をウェブブラウザまたは他の種類のアセットプレゼンターに提供することによりアクセスすることができる。例えばいったんアクセスすれば、ウェブアセットはパッケージされ、そして対応するアセットのプロバイダーからイメージングデバイス（例えばコンピューティングデバイス、プリンター等）に表示のために送信されることができる。この説明する例では、ウェブページ１００のコンテンツは、テキストおよびグラフィックを含む誕生日パーティの招待状であり、そして特定のＵＲＬ（すなわちｗｗｗ．ｉｎｖｉｔｅ．ｃｏｍ）からアクセスすることができる。人目を引く招待状を提供するために、種々の書体を提供する多くのフォントが使用され、そのそれぞれがスタイル上の文字またはグリフを提供すると考えることができる。一般にそのようなテキストおよび類似のグラフィックを表示するために、一組のフォント、例えばレギュラー、イタリック、太字、太字イタリックなどを一般に含む様々な種類のフォントファミリー（例えばＴｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ、Ａｒｉａｌ等）を使用することができる。各フォントは一般にグリフと呼ばれる一組の個々の文字形を含み、そしてグリフは一般にフォントに関連する様々なデザインの特徴を共有する（例えば、幾何形状、ストローク厚、セリフ、サイズ等）。そのようなフォントを表すために１もしくは複数の技術を使用することができ、例えばグリフの境界を定めるために、どの線および曲線を使用するか、アウトラインに基づく表示を適合させることができる。そのようなフォントは、様々なサイズに寸法を定めることができ（例えば様々なイメージングデバイスにより表示するために）、そして１もしくは複数の形式で表示することができる。例えば寸法を変えることができるアウトラインフォントは、多くの言語の様々な印刷上のビジュアルシンボル（ｔｙｐｏｇｒａｐｈｉｃ  ｖｉｓｕａｌ  ｓｙｍｂｏｌ）を支援することができるデータ構造を含むフォーマットで表わされることができる。
【００２２】
いったん作成すれば、アセット（例えば電子文書、プレゼンテーション等）は、表示のためにイメージングデバイスに提供され得る。例えば１もしくは複数の電子文書（例えばＭＳ−Ｗｏｒｄ文書、ＭＳ−ＰｏｗｅｒＰｏｉｎｔプレゼンテーション、ＭＳ−Ｅｘｃｅｌファイル、ポータブルドキュメントフォーマット（ＰＤＦ）ファイル等）がイメージングデバイス（例えばプリンター）に提供され得る（例えばローカルコンピューティングデバイスから直接送信され、電子メールプロトコールのような１もしくは複数のプロトコールを使用して遠隔に送信される、など）。作成されたアセットはまた遠隔からアクセスすることができる。例えばいったんアクセスすれば、コンテンツのプロバイダーはウェブページ１００のコンテンツをイメージングデバイスに提供するために１もしくは複数の技術を使用することができる。この配置（ａｒｒａｎｇｅｍｅｎｔ）では、ウェブページ１００は、１もしくは複数の技術を使用することができる１もしくは複数のアセットファイル１０２で表すことができる。例えばアセットファイル１０２は、アセットを表示するための指令を含むハイパーテキストマークアップ言語（ＨＴＭＬ）ファイル、およびＨＴＭＬファイルにより表示されているアセットにプレゼンテーションセマンティックスを提供するカスケ−ディングスタイルシート（ＣＳＳ）ファイルを含む。ＨＴＭＬ、ＣＳＳ、ＸＭＬのためのワールドワイドウェブコンソーシアム（Ｗ３Ｃ）標準のような標準、および他の標準が実施されることができるので、ウェブページ１００は、電子コンテンツ（例えばコンピューターシステム、タブレット型コンピューティングデバイス、スマートフォン、携帯情報端末（ＰＤＡ）、ハンドヘルドコンピューター、セットトップボックス、ヘッドアップディスプレイ（ＨＵＤ）、インターネットアプライアンス等）を表示することができる様々な種類のイメージングデバイス上で正しくレンダリングされることができる。電子コンテンツを表示することと同時に、他の種類のイメージングデバイスをコンテンツのプレゼンテーションに使用することができる。例えばプリンター（例えばハードコピープレゼンテーション用）、および他の種類のデバイスを、ウェブページ１００のコンテンツ
の表示に使用することができる。
【００２３】
グラフィック（例えばこの例ではバースデイケーキのグラフィック）を提供することと共に、１もしくは複数のアセットファイルは、ウェブページ上のテキストをレンダリングするために使用する１もしくは複数のフォントを参照することができる。説明のために、この招待状に関連する情報を提供するために５個の異なるフォント（例えば時間、月日、場所、行事の説明およびメニュー）をこのウェブページ１００で使用する。このようにアセットファイル（１もしくは複数）１０２は、受信するイメージングデバイスが、どのフォントがテキスト情報の各部分（例えば「Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ」フォントで日時を表示する）に対応するのか分かるように、各フォントを呼び出す。アセットファイル（１もしくは複数）１０２に含まれる指令を受信し、そして実行すると、受信したイメージングデバイスはテキストを表示するために必要なフォントをローカルで取得することができる。しかしかなりの数のイメージングデバイス（例えばプリンター、コンピューターシステム等）が、ウェブページをレンダリングするために必要となる可能性がある各フォントのすべての文字をローカルに保存することはできないかもしれない。限られたリソース（例えばメモリー）および新たなフォントタイプの絶え間ない作成は、各種イメージングデバイスがテキストをありとあらゆるフォントで直ちに表示することを限定する可能性がある。異なる言語に関連するフォントは、多くのイメージングデバイスが全ての種類のフォントを提供できないという問題を増幅する。中国語、日本語、韓国語といった言語は、数万もの数になり得る（例えば１０，０００文字を越える）アルファベット文字を使用し、そして１つの言語の文字を保存するために１ＭＢ〜２０ＭＢのメモリーを必要とする。そのようなメモリーのニーズは、特にそれほど高くない本体搭載メモリーのイメージングデバイス（例えばプリンター、携帯電話等）は非現実的である。幾つかのデバイスから、フォント置換技術がコンテンツを表示するために採用できる。例えばあるデバイスは最も近い均等なフォント（外観に基づいて）を、アセットには含まれるがデバイスには無いフォントに置き換えることができる。
【００２４】
イメージングデバイスにローカルで保存される全ての種類の有望なフォントを有するという論理に従うと、わずか２，３のフォントに関して完全な文字組を保存することは、（例えば特定のウェブページまたは他の種類のアセットを表示するために）、２，３の文字だけがこの組から必要になる場合には非効率的となり得る。具体例を参照にすると、比較的少数の「Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ」フォォントの文字が、行事の月日を表示するために必要とされ（例えば“Ａ”，“ｐ”，“ｒ”，“ｉ”，“ｌ”，“２”，“０”，“ｔ”および“ｈ”）、そして確かにそれぞれ可能性のあるユーザーの言語（例えば、英語、中国語、日本語など）に関して完全な文字組が保存されるとすれば、完全なフォントの文字組を保存することはイメージングデバイスのメモリーの賢くない使用と考えることができる。さらにフォントを転送するために必要な時間は、帯域幅消費と一緒に懸念を与えることになる。例えば中国語、日本語および韓国語のような言語に関連するフォントの完全な文字組の転送には、かなりの帯域幅と転送時間が必要になる恐れがある。
【００２５】
ローカルメモリーの使用を浪費しないために、幾つかの通常の技術が受信したアセット（例えばＨＴＭＬファイル）に完全なフォントセットを提供するか、またはウェブページに関連するファイルの受信で必要なフォントの完全な文字組の検索を開始する。しかしそのような技術は、実際にはわずか２，３の文字がウェブページで使用される場合に、コンピューティングデバイスのメモリーをフォント文字の収集物でいっぱいにしてしまう可能性がある。例えば図に説明するように、イメージングデバイスでウェブページ１００を表示するために、完全なフォントの文字組１０４，１０６，１０８，１１０，１１２がアセットファイル（１もしくは複数）１０２と一緒に提供される。このようにウェブページ１００に使用される５つのフォントのそれぞれ可能な文字がイメージングデバイスに提供され、それによりイメージングデバイスのかなりの量のメモリーを消費する。デバイスの中
には完全なフォントセットを保存し、そして処理する能力を有することができるものもあるが、他には単にメモリーを有することができないデバイスもある。例えばこのデータ全てと仮定すると、タブレット型コンピューティングデバイス１１４は、ウェブページ１００を表示するためのメモリーまたは処理力を有することができるか、またはできない。
【００２６】
幾つかの状況では、フォントセットはアセットファイルで提供されることができず、そしてデバイスはアセットを表示するためにローカルに存在するフォントを使用することができる。例えばアセットファイル（１もしくは複数）１０２と仮定すると、プリンター１１６は、プリンターに存在しないアセットファイル（１もしくは複数）中で識別される任意のフォントを取り換えることができる。それぞれ存在しないフォントをそれに最も近いフォントに取り換えることにより、プリンターはアセットを表示しようと試みることができる。しかし類似の情報を表示できるが、アセットの全体像（ｏｖｅｒａｌｌ  ｌｏｏｋ）およびスタイルが犠牲になるかもしれない。この特定の例では、プリンター１１６は、ウェブページ１００でもともと選択したフォントに換えてローカルのフォント文字（プリンターに保存された）を含むアセットのプリントアウト１１８を作成する。この場合、プリントアウト１１８に表示されたテキストの各ラインについて、プリントアウトはその同じ置換フォント（Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ）を使用した。このようにプリントアウト１１８にはもとのウェブページ１００の全体像およびスタイルが存在しない。
【００２７】
イメージングデバイスに存在しない可能性がある適切なフォント情報を提供するために、１もしくは複数の技術を実施することができる。例えば配信されたアセットに基づき、アセットを表示するために必要な特定のフォント（１もしくは複数）を識別し、そしてどのフォント（１もしくは複数）がイメージングデバイスに存在しないのかの決定を実行することができる。存在しないフォント（１もしくは複数）を識別するために、不在（ｍｉｓｓｉｎｇ）フォント（１もしくは複数）の属性を識別し、そして適切なフォント情報を獲得し、そして情報をイメージングデバイスに提供するために使用することができる。そのような属性は、フォントの名前、不在フォント（１もしくは複数）に関連する１もしくは複数のメトリクス（例えばページ上のフットプリント、高さ、幅等）を含むことができる。アセットに関連する情報は、不在フォント（１もしくは複数）の識別にも使用でき、例えばアセットの情報（例えば文書中の行数、間隔、ウェブページ中の段落数、改ページ、行あたりの文字数等）をフォントの識別に使用することができる。デバイスの型やモデル、デバイスの機能および能力、デバイスにより実行されるソフトウェア（例えば操作システム、ウェブブラウザ、等）のようなデバイスの情報をフォントの識別に使用することができる。
【００２８】
環境属性もフォントの識別に使用することができる。例えば１もしくは複数の技術を使用してファイルの転送時間、帯域幅消費およびウェブページ１００のようなアセットを表示するための準備に必要なメモリースペースを減らすことができる。例えば各フォントについて完全な文字組を提供するというよりは、アセット（例えばウェブページ１００）に現れる文字のみを含むフォントサブセットを提供することができる。このようにファイル転送時間および帯域幅のニーズは減らされ、そしてデバイスのメモリーは保存されると同時に、適切なフォントの文字組がアセット表示用に提供される。説明する例を参考にして、各フォントの文字組１０４〜１１２は、アセットファイル（１もしくは複数）１０２により提供されることができる有意に小さいフォントサブセットに、すなわちこのファイルの比較的受信直後に交換されることができる。文字のスタイル上の外観に関するフォントサブセットに基づく転送時間および帯域幅ニーズの減少と同様に、異なる言語に関連するフォントサブセットを提供するための縮小（ｒｅｄｕｃｔｉｏｎ）も達成され得る。例えばウェブページがわずか３００の中国語の文字を含む場合、３００文字のみを含むように制限されたフォントサブセットを提供することがより効率的となり、これは転送されるフォントデータのサイズを約１０ＭＢから５０ＫＢに縮小することができる。幾つかのフォ
ントの文字組に関するサブセット（例えば中国語の文字組）を作成することができると同時に、他のフォントの文字組を完全な組で送信することができる場合もある。例えば完全なフォントセットに比較的少数の文字が含まれる場合（例えばラテン語の文字組）は、サブセットの制作および転送は、全部の文字組を転送するために必要な帯域幅または時間を有意に縮小することはない。ウェブページまたは他の種類のアセットを表示するために、コンピューティングデバイスに提供されるフォントの文字組のサイズを縮小すると共に、１もしくは複数の技術を実施してそのようなフォントサブセットをイメージングデバイス（例えばタブレット型コンピューティングデバイス１１４、プリンター１１６等）に効率的に提供することができる。例えばウェブページの表示と共に、ユーザーのコンピューティングデバイスは適切なフォントサブセットを識別するために使用され、そして引き続き識別されたサブセットをリクエストすることができる。
【００２９】
フォントの識別を補助することができる他の属性は、表示するアセットのソース、アセットの配信受信者に関する情報（例えばイメージングデバイスを操作する業務）等を含むことができる。例えばアセットソース、受信者等が位置する地域は、アセットを表示するために必要となり得る１もしくは複数のフォントの識別を補助することができる。業務およびソースの業務上の関係、受信者等も、１もしくは複数のエンティティに使用されるフォントを決定する要因となる属性となり得る。例えば特定のフォントが、アセットソース、受信者などの間の通信に幾分頻繁に使用される可能性がある。そのような情報は、アセット配信サイトまたはデバイス（例えばプリンター１１６）に存在しない１もしくは複数のフォントの識別を補助することができる。そのような属性をフォントの識別に使用することにより、フォント識別に必要とされるユーザーの入力はあるとしても少ない。例えば受信デバイスのユーザー（例えばタブレット型デバイス１１４のユーザー、プリンター１１６等）からの入力無しで操作を実行することができる。このように末端ユーザーは、フォントの識別を補助するための入力のリクエストにより気が散ったり、イライラしたりすることがなくなる。さらにユーザーの入力の必要性が無いので、フォントの識別操作は絶え間ない様式で起こり、しかもより効率的に実行されてデバイスに不在のフォントを識別することができる。
【００３０】
図２を参考にして、コンピューティング環境２００は、コンピューターシステムで表示される目的のウェブアセット（例えばウェブページ）を識別するために、ユーザーが対話することができる（例えばキーボードまたはマウスのようなポインティングデバイスを使用して）コンピューターシステム２０２を含む。例えばウェブブラウザ２０４または類似のソフトウェアアプリケーションは、ユーザーが１もしくは複数のウェブページを目的とするためにコンピューターシステム２０２により実行することができる。識別されたら、ウェブブラウザ２０４の操作には、インターネット２０６を介して、目的のウェブページ用（１もしくは複数）の１もしくは複数のウェブアセットソース２０８ａ，ｂ，ｃからコンテンツをリクエストすることを含むことができる。説明したように、この特定の例ではウェブページのページは、ウェブページソース２０８ａからリクエストされ、そして対応するアセットファイル（１もしくは複数）２１０（例えばＨＴＭＬファイル、ＣＳＳファイル等）がソースからインターネット２０６を介してコンピューターシステム２０２に送信される。一つの配置では、ウェブアセットファイル２１０は、アセットを表示するための指令を含むハイパーテキストマークアップ言語（ＨＴＭＬ）ファイル、およびＨＴＭＬにより表示されているアセットにプレゼンテーションセマンティックスを提供するカスケ−ディングスタイルシート（ＣＳＳ）ファイルを含む。
【００３１】
いったんアセットファイル（１もしくは複数）２１０が受信されれば、１もしくは複数の技術を実施してこのアセットにより使用される１もしくは複数のフォントがコンピューターシステム２０２に不在かどうかを決定することができる。例えば１もしくは複数のアセットファイル２１０（例えば、ＨＴＭＬファイル、ＣＳＳファイル等）をスキャンする
ためのコンピューターシステム２０２による操作を実行して、ファイル（１もしくは複数）により定められるウェブページに含まれる個々のフォント、フォント文字等を識別することができる。１つの配置では、コンピューターシステム２０２は、ソフトウェアエージェント２１２を実行して個々のフォント、フォントの文字等を識別し、そして１もしくは複数のこれらフォント、フォントの文字等がコンピューターシステム２０２に不在であるかどうかを決定することができる（例えばメモリー、ローカルのストレージデバイス等に無い）。フォント情報（例えば１もしくは複数のフォント、フォントの文字等）が不在であると決定した場合、１もしくは複数の操作（例えば不在のフォント（１もしくは複数）等を識別するための情報を集める）を、ソフトウェアエージェント単独で、またはコンピューターシステム２０２（および可能ならば他のコンピューティングデバイス）と共同して実行することができる。例えばソフトウェアエージェントは、アセット（例えば目的のウェブページ）を表示するために提供される適切なフォント情報を得るために送信されるリクエストを開始することができる。そのようなエージェントは、実質的に自律的様式で実行可能なソフトウェアモジュールと考えることができる。例えばコンピューターシステム２０２に提供されると、ソフトウェアエージェントは多数のユーザーとの対話無しに作動することができる。幾分柔軟な様式で操作することにより、ソフトウェアエージェントはウェブページのようなアセットの表示に必要なフォント、フォント文字等を適応状態で（ａｄａｐｔｉｖｅｌｙ）識別することができる。この特定の例では、ソフトウェアエージェント２１２は、ファイル（１もしくは複数）により呼び出されるフォント、フォント文字等を識別するために幾分持続的な様式でアセットファイル（１もしくは複数）２１０（例えばＨＴＭＬファイル、ＣＳＳファイル等）のコンテンツをスキャンする。例えばソフトウェアエージェントは実質的に連続的様式で実行することができる。幾つかの配置では、ソフトウェアエージェントはアセットファイル（１もしくは複数）２１０の極めて配信直後にユーザーのコンピューティングデバイス（例えばコンピューターシステム２０２）に提供される。このようにウェブページ、アプリケーションページ、ユーザーのインターフェイス等のようなウェブアセットは、文書が受信された時とほぼリアルタイムでスキャンされると認識する（ｐｅｒｃｅｉｖｅ）ことができる。
【００３２】
幾つかの配置では、ソフトウェアエージェント２１２の操作は１もしくは複数の条件が満たされること、１もしくは複数の事象が起こることなどにより開始され得る。例えばソフトウェアエージェント２１２は、１もしくは複数の事象が生じたことが適切に発信されるまで、アセットファイル（１もしくは複数）２１０のコンテンツを使用できない。一つの配置では、テキスト対スピーチアプリケーションのようなアプリケーションが、ソフトウェアエージェント２１２により使用される前にアセットファイル（１もしくは複数）２１０のコンテンツを処理することができる。例えばいったんウェブのアセットファイル（１もしくは複数）２１０（例えばＨＴＭＬファイル）のテキストコンテンツがテキスト対スピーチアプリケーションにより読み込まれれば（例えば音声スピーチへの変換のために）、１もしくは複数の信号が発信されて（または使用される他の種類の発信技術）、ウェブのアセットファイル（１もしくは複数）２１０がアクセスされ、そして使用できることをソフトウェアエージェント２１２に知らせることができる。
【００３３】
またコンピューティング環境２００は、コンピューターシステム２０２から不在フォント情報を受信し（例えばソフトウェアエージェント２１２の操作から）、そして目的アセットを表示するためにコンピューターシステムに配信される必要がある適切なフォント情報（例えば不在フォント、フォントの文字、フォントサブセット等）を決定するフォントサービスプロバイダー２１４を含む。幾つかの配置では、フォントサービスプロバイダーは、リクエストしているイメージングデバイス（例えばコンピューターシステム２０２）の必要性を指定する（ａｄｄｒｅｓ）ために新しいフォントを作成することができる。いったん作成されれば、フォント情報（例えばフォントファイル２１６として説明される）が準備され、そしてフォントサービスプロバイダー２１４によりリクエストしているイメ
ージングデバイス（例えばコンピューターシステム２０２）に送信される。幾つかの配置では、情報はフォント情報が必要な他のイメージングデバイス（例えば１もしくは複数の他のコンピューターシステム、プリンター等）に向けることができる。ソフトウェアエージェント２１２からのリクエストに含まれる情報に基づき適切なフォントを識別することと共に、フォントサービスプロバイダー２１４は他の操作を実行することができる。例えばフォントサービスプロバイダー２１４は、ソフトウェアエージェント２１２からの情報に基づき１もしくは複数のフォントサブセットを作成することを決定できる。さらにフォントサービスプロバイダー２１４は、リクエストしているコンピューティングデバイスに完全なフォントの文字組が提供されるべきかどうかを決定することもできる。例えばフォントサブセットが送信されるべきかどうかの決定に、所定の規則をフォントサービスプロバイダー２１４は使用することができる。そのような規則の１つは、特定の言語（例えば中国語）に関連するフォントの文字組が、大きいサイズの完全な文字組により作成されたサブセットを有するべきであることを示すことができる。またサブセットの決定は、動的様式で提供することもできる。例えば達成可能なファイル転送速度に基づき、サブセットが閾値より大きい文字組について作成されるようにファイルサイズの閾値（例えば２ＭＢ）を決定することができる。フォントの文字組のサイズが閾値より低い場合、ファイル転送速度は効率的範囲内と考えることができるので、全文字組が送信され得る。そのような閾値は、例えば達成可能な転送速度をモニタリングすることにより動的に調整することができ、この閾値は変更することができる。例えば達成可能な転送速度のレベルが下がれば、文字組のサブセットを作成するための閾値は対応して下げられる可能性がある（例えば２ＭＢから１ＭＢへ下げられる）。１もしくは複数の属性が転送速度を効率的範囲内であると決定する理由となり得る。例えばユーザーのコンピューティングデバイス（例えばリクエストにより提供される場合）、およびフォントサービスプロバイダーの地理上の位置は、サブセットが制作され、そして完全な文字組の代わりに送信されるべきかどうかの要因となり得る。フォントサービスプロバイダーおよびイメージングデバイスの双方が比較的近くに位置する場合（例えば双方とも米国東部）、比較的高い転送速度を達成でき、そして全文字組を送信することができる。イメージングデバイスがフォントサービスプロバイダーから離れている状況については（例えば１つは米国で、もう１つがインド）、フォントサービスプロバイダーは送信すべきフォントの文字組をサブセットにする決定を行うことができる。位置に基づく決定と同様に、１日のうちの時間、１年のうちの季節および他の一時的要因がフォントサービスプロバイダーにより使用されて、伝達のために識別された１もしくは複数のフォントの文字組のためにサブセットが作成される必要があるかどうかを決定することができる。フォントサブセットの決定に使用されることと同様に、そのような情報は、フォントサービスプロバイダー２１４により１もしくは複数のイメージングデバイス（例えば情報をリクエストしたコンピューターシステム２０２）に提供されることになる他の種類のフォント情報（例えば不在のフォント等）を識別するような他の決定のためにもフォントサービスプロバイダー２１４により使用されることができる。
【００３４】
幾つかの配置では、フォントサービスプロバイダー２１４は、他の情報（例えば実行されているブラウザ、使用されているコンピューティングデバイスの種類等）の識別とは一緒にローカルに存在しないフォントの文字の識別のために受信したファイル（例えばアセットファイル（１もしくは複数）２１０）をスキャンするような操作を行うため、ソフトウェアエージェントをコンピューティングデバイスに提供することもできる。このようにフォントサービスプロバイダー２１４はウェブページのソース２０８ａ，ｂ，ｃから独立して作動することができる。いったんユーザーのコンピューティングデバイスからリクエストが受信されれば、フォントプロバイダー２１４は情報を集めるためにリクエストしているデバイスに適切なエージェントソフトウェアを提供して、不在のフォント、フォントの文字等を識別し、そして修正措置を取るためにフォントサービスプロバイダー２１４に情報を提供することができる（例えばユーザーのコンピューティングデバイスに配信するための不在フォント、適切にサブセットされたフォント等のようなフォント情報を提供す
る）。フォントサービスプロバイダーにより提供されるエージェントは、他の機能も提供することができ、例えばエージェントは１もしくは複数の条件に基づき（例えば期限切れのライセンス、期限切れ等）、提供されたフォント、フォントのサブセットの削除を指令することができる。
【００３５】
不在フォント、文字等に関連するフォント情報を提供するために、コンピューターシステム２０２により提供される情報と一緒に（例えばソフトウェアエージェント２１２を介して）、フォントサービスプロバイダー２１４は一般に、フォントサービスプロバイダーからローカルまたは遠隔に保存されることができるフォントの１もしくは複数のライブラリーへのアクセスが必要である。図に表すように、フォント２１８のライブラリーはサイト上でストレージデバイス２２０（例えば１もしくは複数のハードドライブ、ＣＤ−ＲＯＭ等）に保存されていることを示す。サーバー２２２によりアクセス可能であるので、フォントライブラリー２１８は、ソフトウェアエージェントから提供される情報と一緒に使用されて適切なフォント情報（例えば完全なフォントセット、フォントサブセット等）を作成することができる。単一のストレージデバイス２２０に保存されていると説明される場合、フォントサービスプロバイダー２１４は多数の保存技術およびデバイスを使用してフォントのアクセス可能な組のコレクションを保持することができる（例えば種々のフォントスタイル、言語等について）。またフォントサービスプロバイダー２１４は、コンピューターシステム２０２（または他のコンピューティングデバイス）に必要な情報を集めるために、別の場所でフォント情報（例えばフォントセット）にアクセスすることができる。例えばコンピューターシステム２０２で１つ、または不在フォントを指定することが必要なフォント、フォントの文字、フォントサブセット等を識別すれば、サーバー２２２を使用して必要な情報をフォントサービスプロバイダー２１４に対して外部の１もしくは複数のソースから集めることができる（例えばインターネット２０６を介して）。
【００３６】
フォント情報（例えば完全なフォントの組、フォントサブセット等）を作成し、そしてそれらをリクエストしているイメージングデバイスへ提供することと一緒に、フォントサービスプロバイダー２１４は他の機能を提供することができる。例えば特定のアセット（例えばウェブページおよびウェブサイトのようなウェブアセット）に関連するフォントおよびフォントサブセットを、先々のリクエストに備えて追跡する（ｔｒａｃｋｅｄ）ことができる。１つの筋書きでは、１もしくは複数のフォントサブセット（例えばフォントファイル２１６に含まれる）を、（コンピューティングデバイス上の）特定のウェブページに表示するために作成することができる。フォントサブセットとウェブページとの間の関係を識別することができ（例えばサーバー２２２により）、そして後に検索するために保存することができる。このように将来（例えば別のコンピューティングデバイスで）ウェブページを表示するために必要なサブセットを迅速に識別し、そしてリクエストしているコンピューティングデバイスに提供することができる。１つの配置では、フォントデータベース２２４がフォントサービスプロバイダー２１４で保存され（例えばストレージデバイス２２０で）、そしてウェブページとフォントサブセット（およびフォント）との間の関連を表示する記録を含む。幾つかの場合では、この関係はフォントプロバイダー２１４に送られたリクエストにより提供された情報から（例えばソフトウェアエージェントから）識別される。ウェブページと適切なフォントサブセットとの間の関連は、ウェブページがユーザーに選択される前に保存することもできる（例えばウェブページソースにより提供される命令および情報に基づき）。同様にフォントサービスプロバイダー２１４は、他の種類の関連に関して操作（例えば追跡、記憶等）を行うことができる。例えば特定のイメージングデバイス（例えばプリンター、コンピューティングデバイス等）で頻繁に不在であるフォントを反映し、そして１もしくは複数のアセットを表示するために、イメージングデバイスに修正措置を提供するためのフォント情報（例えばフォントセット、フォントサブセット等）が必要となる可能性がある記録を保存することができる。環境特性（例えば処理、帯域幅等）、デバイスの情報（例えばデバイスの種類、操作システムの種類等
）、企業情報（例えば頻繁な業務連絡および連絡の種類のリスティング等）も、イメージングデバイスにより必要とされ得るフォント情報を決定するためにフォントサービスプロバイダー２１４により保存され得る。他の種類のアーキテクチャーおよびネットワーキング技術も、ソフトウェアエージェントおよびフォント情報（例えばフォントセット、サブセット等）をイメージングデバイスに提供するために実施して、ウェブアセット（例えばウェブページ、ウェブサイト等）のようなアセットを表示することができる。
【００３７】
幾つかの配置では、フォントサービスプロバイダーに提供される情報（例えば、必要なフォント、フォントサブセット等の識別および提供に）には、環境の特徴付けに関連する属性を含むことができる（例えばフォントプロバイダー２１４とイメージングデバイスとの間の通信リンク）。そのような情報は個別に、または他の情報、例えばウェブアセットのコンテンツから集めた情報と共同して使用することができる（例えばウェブアセットに含まれるフォント、フォントの文字等を識別するために、アセットファイル（１もしくは複数）２１０からスキャンされた情報）。他の提供される属性には、ウェブアセットの構造的属性（文書のレイアウトに関する情報、およびアセットに含まれる段落数、改ページ、アセットに存在する行あたりの文字数等のようなマトリックス）を含むことができる。属性には、アセットを表示するコンピューティングデバイス（例えばデバイスの種類、デバイスにより使用される操作システム、デバイスにより実行されるアプリケーション等）、デバイスの位置（例えば地理上の位置、例えばユーザーの母国語の識別を補助するために）、企業情報（例えばフォント情報がすでに同様の会社のデバイスに送信されたかどうかを決定するためのデバイスを所有する会社等）に関連する情報を含むことができる。多種類の情報を使用すると共に（例えば通信特性、ウェブアセットコンテンツ、地理上の位置等）、事前に保存した情報を適切なフォント情報（例えば一つのフォントサブセット、完全なフォントセット等）を決定するために使用して、１もしくは複数のイメージングデバイス（例えばコンピューターシステム２０２、タブレット型コンピューティングデバイス１１４、プリンター１１６）に提供することができる。例えば、データベース（例えばフォントデータベース２２４）からの情報を、そのような決定に使用することができる。他の種類の事前に保存した情報も使用でき、例えば事前に集めた通信特性（例えばリンクするためのデータ転送速度）、アセット属性（例えばウェブページ構造）、地理的情報、企業レベルの情報等も、決定を行うために使用できる。
【００３８】
これら様々なソースからの情報を個別に、または共同して使用することにより、適切なフォント情報（例えば１もしくは複数の不在フォント、１もしくは複数のフォントサブセット等）を識別するようになされ得る適切な決断が準備され、そしてフォントサービスプロバイダー２１４によりコンピューティングデバイス（例えばコンピューターシステム２０２）に送信されるべきである。決定に使用される属性は、比較的静的または動的と考えることができるが、例えばウェブアセットのコンテンツは比較的静的であることができ、環境特性（例えばフォントプロバイダーとクライアントデバイスとの間の通信リンクの特性）は、時間（例えば１日の中でデータ転送速度が変化する）および位置（例えばデータ転送速度は、異なる場所へ移動するクライアントデバイス、モバイル装置により変化する）で変動する可能性がある。この変動のため、１もしくは複数の技術を実施することができ、それで動的属性（例えば通信特性）に関して比較的最新の値を決定に使用できる。例えば１もしくは複数の環境特性（例えば通信リンク特性、クライアントデバイスの能力）をモニターし、そしてそのような決定で使用するために集めることができる。様々な種類のデータモニタリングおよび収集技術を実施することができ、例えば１もしくは複数の通信リンク特性は、受動的、能動的等にイメージングデバイス（例えばコンピューターシステム２０２）、フォントサービスプロバイダー２１４により、またはユーザーのデバイスとフォントサービスプロバイダーが共同して実行する操作により集められる。ユーザーのコンピューティングデバイスおよびフォントサービスプロバイダー２１４とは別の装置も実施することができる。情報は１もしくは複数のユーザーのコンピューティングデバイス
、フォントサービスプロバイダー２１４およびフォントの決定を補助する可能性がある他のデバイス間で交換することもでき（例えば不在フォントを識別し、フォントサブセットを作成するなど）、例えばユーザーのコンピューティングデバイス（例えばディスプレイ能力等）の特性は、フォントサービスプロバイダー２１４に提供することができる。このように様々な装置、通信リンク等に関連する環境特性は、そのようなフォントの決定に使用することができる。
【００３９】
図３を参照にして、図３００はイメージングデバイス（例えばコンピューターシステム２０２）に提供されるべき適切なフォント情報（例えば完全なフォントセット、フォントサブセット等）を決定するために、情報を集めるための幾つかの可能な操作を表す。この特定の配置では、フォントの決定のために、１もしくは複数の属性（例えば不在フォント情報、アセット構造情報、環境特性等）がイメージングデバイスにより集められ、そしてフォントサービスプロバイダー２１４に提供される。そのような属性収集を行うために、イメージングデバイス（例えばコンピューターシステム２０２）は、１もしくは複数の操作を実行することができ、例えば通信リンク３０２の１もしくは複数の特性が、コンピューターシステム２０２により測定され、そして処理のためにフォントサービスプロバイダー２１４に提供され得る。同様にアセット（例えばウェブページのようなウェブアセットのアセットファイル（１もしくは複数））からのコンテンツは、フォントサービスプロバイダー２１４に提供するために集めることができる。他の種類の属性も集められ、そして様々な実施を通して提供される。例えばこの配置では、環境モニター３０４がコンピューターシステム２０２により実行されて属性として環境特性情報を集める。イメージングデバイス（例えばコンピューターシステム２０２）はそのような環境特性を集めるように説明されると同時に、そのような操作は他の場所で、個別に、またはイメージングデバイスでの操作と組み合わせて実行することができる。例えば環境特性（例えば通信リンク３０２の）は、フォントサービスプロバイダー２１４により測定そして定量されることができる。１つの配置では、サーバー２２２はイメージングデバイスに送信すべき適切なフォント情報（例えばフォントセット、フォントサブセット）の決定を補助するために、通信リンクに関する情報を集めることができる。
【００４０】
属性を集めるこの例を続けると、環境特性の典型である様々な種類の情報を集めることができる。例えば幾つかの特性は、データを１もしくは複数のイメージングデバイス（例えばコンピューターシステム２０２）とフォントプロバイダー２１４との間で転送するための通信リンク（例えばリンク３０２）の能力を反映することができる。そのような特性は情報を転送する時間、速度等と関連し得る。通信リンク３０２の処理能力、帯域幅、伝達速度などは、環境モニター３０４により測定および定量することができる。情報の移動と共に、デバイス間（例えばコンピューターシステム２０２、サーバー２２２）の通信を樹立することも、提供されるフォント情報の決定用にモニターすることができる。例えば接続特性（例えば接続速度、帯域幅、ＨＴＴＰハンドシェイクレイテンシ等）、オーバーヘッド時間（例えばフォント情報に関するリクエストを送信し、そして処理するために必要な時間など）、コンピューターシステム２０２とサーバー２１４との間のデータ接続を樹立するために必要な時間を測定し（例えば環境モニター３０４により）、そしてフォントサービスプロバイダー２１４に提供することができる。１もしくは複数のイメージングデバイスとフォントサービスプロバイダー２１４との間の通信リンク３０２をわたる情報転送に関連する他の量を識別することができる。例えば１もしくは複数のイメージングデバイス（および／または中間のコンピューティングデバイス）および／またはフォントサービスプロバイダー２１４により使用されるプロトコール（例えばインターネットプロトコール（ＩＰ））を識別し、そしてフォントの決定に使用することができる。イーサネット、ＤＳＬ、Ｃａｂｌｅ、ＦＩＯＳは識別され得る幾つかのプロトコールタイプの例である。通信リンク３０２がワイヤード（ｗｉｒｅｄ）またはワイヤレス（ｗｉｒｅｌｅｓｓ）通信技術（例えばワイヤード、ワイヤレスアクセスポイント等）を含むかどうかも決定
の要因となり得る。デバイスのオプション、選択したサービス、接続オプションの範囲（ＧＰＲＳ／Ｅｄｇｅ、３Ｇ、４Ｇ等）もリンク能力における変化についてモニターすることができる。例えば想定される接続速度は比較的早いと考えることができるが（例えば３Ｇまたは４Ｇネットワ−クに接続するモバイルデバイス）、実際の信号強度および接続速度はそれでも時間で変動し、そしてデータ転送能力（例えばウェブページのダウンロード時間）およびユーザーの体験に悪影響を及ぼす恐れがある。
【００４１】
通信リンク３０２に関連した情報と同様に、他の種類の属性も集め、そしてサブセット決定のためにフォントサービスプロバイダー２１４に提供することができる。例えば１もしくは複数のイメージングデバイスの特性を提供することができる。そのような特性は、イメージングデバイス（例えばコンピューターシステム２０２、プリンター１１６）の表示能力（例えばスクリーンサイズおよび解像度のようなスクリーンの仕様、プリンターの種類）、処理（例えばデバイスが使用する操作システム、デバイスが実行するブラウザの種類）および保存能力等に関連する可能性があり、これらはデバイスに送信されるべき適切なフォント情報を決定するために（例えばデバイスに存在しないフォントを指定するために送られたフォント）、フォントサービスプロバイダー２１４により提供され、そして使用されることができる。そのようなデバイスの特性は、（例えば環境のモニター３０４、１もしくは複数のソフトウェアエージェントにより）デバイスでローカルに、（例えばフォントサービスプロバイダー２１４により）遠隔的に、またはローカルおよび遠隔操作の組み合わせにより識別することができる。
【００４２】
環境モニター３０４は１もしくは複数の配置で実施されて、イメージングデバイス（例えばコンピューターシステム２０２）でのモニタリング機能を提供することができる。例えば環境モニター３０４は、１もしくは複数の方法論（例えばフォントサービスプロバイダー２１４からダウンロードされるか、またはそれにより提供される）を介してコンピューターシステム２０２に提供することができる１もしくは複数のエージェント（例えば図２に示すエージェント２１２と同様の）として実施することができる。１もしくは複数のアプリケーション（例えばウェブブラウザ）も環境モニター３０４を実施することができる。情報を集めること（例えばフォントサービスプロバイダー２１４に提供されるべき）と共に、環境モニター３０４は、集めたデータおよび関連する情報についてデータを追跡し、および統計分析を行うような追加の機能を提供することができる。集め、そして処理した情報は次にフォントの決定および処理（例えばフォントのサブセット化を至適化するために）を補助するため、フォントサービスプロバイダー２１４に提供することができる。
【００４３】
動的に実行し、そしてそのようなフォントに基づく決定をするために（例えば不在フォントを供給し、適切なフォントサブセットを作成するなど）、１もしくは複数の技術がフォントサービスプロバイダー２１４により実施され得る。説明する例では、フォントサービスマネージャー３０６がサーバー２２２（フォントサービスプロバイダー２１４に位置する）により実行される。イメージングデバイス（１もしくは複数）からフォントサービスプロバイダー２１４に提供される情報（例えば環境特性的属性を他の属性と一緒に含むメッセージ３０８）から、フォントサービスマネージャー３０６は適切なフォント情報（例えばフォント情報ファイル３１０により表される）がイメージングデバイス（例えばコンピューターシステム２０２）に送信されるべきことを決定する。幾つかの配置では、フォント情報（例えば不在フォント、フォントサブセット等）が準備され、そして属性情報の配信に基づき送信される（例えばメッセージ３０８はフォントサービスプロバイダー２１４により受信される）。それまでに作成されたフォントセットおよびサブセットも、属性情報の配信に基づき送信されることができる。例えばこれまでに経験した条件、以前に提供されたアセットの構造属性などにより、１もしくは複数のフォント、フォントサブセット等を、１もしくは複数のイメージングデバイスに配信するために準備することができ
る。送信されると共に、準備されたフォント情報は他の場合（例えば同じアセットが別のイメージングデバイスで表示されることを目的とする場合、同様な環境特性が体験される場合など）に送信するためにも保存されることができ、これにより１もしくは複数のこれまでに準備したフォント、フォントサブセット等をフォントサービスプロバイダー２１４が再使用できるようになることにより効率が上がる。
【００４４】
フォントの決定を実行することに加えて（例えばイメージングデバイスに不在のフォント情報を識別し、そして準備する）、フォントサービスマネージャー３０６は他の種類の機能も提供することができる。例えばイメージングデバイスから提供されるデータをさらに処理し、そして保存することができる（例えば記憶装置２２０により）。幾つかの配置では、そのような処理には、例えば環境特性を予想するためのモデル、異なる種類のイメージングデバイスと以前に識別した不在フォントとの関連データベース等を開発することを含むことができる。例えば一定期間にわたる通信リンク３０２（例えば処理能力、帯域幅等）の１もしくは複数の特性を代表する受信したデータ（例えばイメージングデバイスから）に基づき、環境特性を予測するためのモデルを開発することができる（例えば特定時間の処理能力の予想）。またデータ処理は、種々の入力された考察に関して以前に行った決定（例えばフォント、フォントサブセット等を提供するために）のような情報を保管するためのレポートを作成する（そして保存する）ことも含むことができる。例えば特定のコンテンツ（例えばウェブアセット）を特定のイメージングデバイスに、そして特定の条件下（例えば通信リンクの処理能力）で表示するために、フォントサービスマネージャー３０６は特定のフォントのサブセッティング（またはそうではなくフォントの完全な文字組を提供すること）の決定に到達できる。この決定およびこの決定を導く条件を反映する情報を保存することにより、フォントサービスマネージャー３０６は条件が再度発生したことを認識すれば先々の決定を処理することができる。またフォントサービスマネージャー３０６はフォントを調整するための操作、例えば作成したテキストの明瞭性および可読性を改善するために、フォントを調整するための操作を実行することができる（例えば特定の操作システム、フォントエンジン、イメージングデバイスのスクリーン解像度、または印刷能力等についてフォントヒンティングを最適化する）。
【００４５】
図４を参照にして、フォントサービスプロバイダー２１４のフォントの決定が、動的に変化し得る様々な属性（例えばアセットを表示するためのイメージングデバイスの種類、クライアントデバイスの位置のような環境特性等）に依存する可能性があることを具体的に説明する図４００を表示する。図３と同様に、例えばイメージングデバイス（例えばプリンター）に不在のフォントセット（ストレージデバイス２２０から）のような状況に関して、１もしくは複数のフォントのサブセットを１もしくは複数のイメージングデバイスに提供するかどうかなどの決定は、サーバー２２２により実行されるフォントサービスマネージャー３０６により提供される。この特定の説明する例では、イメージングデバイスの位置がフォントサブセッティングに関する属性の決定として役立つ。例えばタブレット型のコンピューティングデバイス４０２により実行されている環境モニター４０１は、相対的に高い処理能力の通信リンクがフォントサービスプロバイダー２１４と樹立され得ることを感知する。好ましい通信特性（ウェブページのようなアセットを表示するために必要な１もしくは複数のフォントの不在のような他の属性情報と一緒に）を反映するために、通信リンク４０４が樹立され、そしてメッセージ４０６がフォントサービスプロバイダー２１４に送信される。例えばタブレット型のコンピューティングデバイス４０２は、フォントサービスプロバイダー２１４とのＷｉ−Ｆｉ通信（例えばインターネットを介して）を提供する場所に存在できる。このように大きいデータファイル（例えばフォントセットを含む）は一般に、相応の時間（ｒｅａｓｏｎａｂｌｅ  ａｍｏｕｎｔ  ｏｆ  ｔｉｍｅ）でタブレット型のコンピューティングデバイス４０２に転送され得る。この処理能力特性（および潜在的な他の情報）から、フォントサービスマネージャー３０６は、ユーザーの閲覧体験を下げることなく関連するウェブアセットのコンテンツを表示するために、
相応の期間内（ｒｅａｓｏｎａｂｌｅ  ｔｉｍｅ  ｐｅｒｉｏｄ）で完全なフォントセット（例えばフォント情報ファイル４０８により表される）がタブレット型コンピューティングデバイス４０２に送信され、受信され、そして処理され得ることを決定する。
【００４６】
別の状況では、他の環境が適切な処理能力レベルを提供する能力を欠く恐れがあり、そしてフォントサービスプロバイダー２１４は、適切な閲覧体験を提供するために（イメージングデバイスに不在の１もしくは複数のフォントセットを転送するために）フォントのサブセッティングが必要であることを決定することができる。例えばラテン語のフォントは一般に保存に関しては比較的小さいファイルサイズを必要とし、そしてラテン語を基本とする言語が話されている地域での処理量レベルは十分に大きいので、完全なフォントセットをイメージングデバイスに相応の時間で転送することが可能となると考えられる。残念なことに、双方の仮定（ファイルサイズおよび処理能力について）は絶えず修正されることはできず、そして例えば遅い接続で配信される平均ファイルサイズより上のラテン語フォントは、ユーザーへのアセットの表示にかなりの遅れを引き起こす恐れがある。さらに環境特性は変化する可能性があり、イメージングデバイスの位置などが変わる時は一定時間にわたり極めて劇的に変化する場合もある。このように環境特性は環境モニター４０１および／またはフォントサービスマネージャー３０６により頻繁にモニターされ得る。例えばフォントサービスプロバイダー２１４は、通信リンクを樹立した１もしくは複数のイメージングデバイス（例えばタブレット型コンピューティングデバイス４０２）から、条件の更新をリクエストすることができる（例えばリクエストを更新するために、周期的なポーリングメッセージがフォントプロバイダー２１４から送信され得る）。幾つかの配置では、イメージングデバイスが条件の更新を管理することができる（例えば環境モニター４０１は、パワーアップ、リセット等のような事象に基づき、周期的間隔で更新を送信する）。
【００４７】
この図面で説明するように、遠隔に位置するプリンター４１０は、その現在の位置によるデバイスの受信能力およびそのネットワーク接続の状態（例えば良くない処理能力を体験している）のような環境情報を集め、そしてこれらの属性（潜在的には例えばデバイスの限られた処理およびストレージ能力を反映する他の属性、１もしくは複数の不在フォントなどと一緒に）をメッセージ４１４でフォントサービスプロバイダー２１４に提供する（例えば低処理能力のワイヤレス通信リンク４１６を通じて）環境モニター４１２を実行することができる。例えばメッセージ４１４は、印刷されることになるがプリンター４１０に存在しない、アセットにより使用される１もしくは複数のフォントを識別する情報を含むことができる。この乏しい処理能力および限られたデバイスの能力の属性を仮定すると、フォントサービスマネージャー３０６は、アセットのコンテンツ（例えば電子文書、ウェブアセット等）を合理的な時間枠で処理し、そして印刷でき、プリントアウトがもともと書いたようにアセット（例えばウェブページ）を表さないことに閲覧者がイライラしないように、フォントのデータをプリンター４１０に提供するためにフォントのサブセッティングが必要であることを決定できる。フォントサブセットの必要性は、イメージングデバイス（例えばプリンター４１０）の効率的操作のためにも決定できる。例えばフォントのサブセットは、プリンター４１０が効率的かつ実質的に連続的様式で作動するように提供されることができる（例えば電子文書の１ページが印刷される場合、１もしくは複数の続くページの印刷に使用するためにプリンターによりフォントのサブセットが受信され、そして処理される）。この筋書きに基づき、１もしくは複数のフォントサブセットがフォントサービスプロバイダー２１４により作成され、そしてプリンター４１２に送信されて（例えば説明するように、通信リンク４１６を介してフォント情報ファイル４１８中に）、アセット（例えば電子文書、ウェブアセット等）を印刷するために必要なフォント情報を提供することができる。このように低減した情報量がプリンターに提供され、それでももともと作成されたアセットの表示を印刷するために十分な情報を提供する。
【００４８】
環境特性（例えば通信リンク処理能力レベル、クライアントデバイスの能力等）をモニタリングすると共に、フォントサービスプロバイダー２１４はフォントが１もしくは複数のイメージングデバイスに配信される前にサブセットされるべきかどうかを決定するために、他の属性および情報を使用することができる。１つの配置では、（表示されるべき）アセットのコンテンツを決定の補助に使用できる。例えば１つのフォントのかなりの割合の文字が必要な場合（例えばウェブアセットの第一ページを表示するために１つのフォントの８０％の文字が必要）、このフォントの文字の完全な組をイメージングデバイスに送信することが最適と考えられる。コンテンツに基づく情報も、特定のアセットのソース（１もしくは複数）に関連させることができる。さらに幾つかの配置では、フォントのサブセッティング決定を補助するために、ソース属性をデバイスの能力属性と共に使用することができる。例えばウェブサイトは、モバイルデバイス（例えばスクリーンサイズ、処理力、限定されたモバイルブラウザの機能等）のような特定のイメージングデバイスに固有の能力を説明するために設計された異なるコンテンツオプションを支援することができる。そのような差異の一例は、より慣習的なイメージングデバイス（例えばデスクトップ型コンピューターシステム、ラップトップ型コンピューターシステム等）用に準備されたウェブサイト（例えばＨＴＴＰ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ）に対して、相対的にさらに限られたイメージングデバイス（例えばスマートフォン）のために設計されたウェブサイト（例えばＨＴＴＰ：／／ｍ．ｙａｈｏｏ．ｃｏｍ）のコンテンツおよびスタイリング（ｓｔｙｌｉｎｇ）である。幾つかの配置では、環境モニター４０１はエージェントとして実施されてもよく、そしてイメージングデバイスが１つのタイプ（例えばＰＣに基づくデバイス）または別のタイプ（例えばモバイルデバイスデバイス）かどうかを決定するために利用することができる。このようにイメージングデバイスおよびそれらの能力属性はモニターされ、そして他の環境特性と共に（他の属性と一緒に）使用されて、１もしくは複数のフォントがクライアントデバイスに伝達される前にサブセットにされるべきかどうかを動的に決定することができる。
【００４９】
他の技術および方法論を、環境属性（例えばイメージングデバイスの）、アセットコンテンツおよび属性、イメージングデバイスの属性等に基づきフォントの配信を最適化するために実施することができる。例えばフォントのサブセッティングはウェブアセットのある部分について実行され（フォントサービスプロバイダー２１４により）、そしてアセットの別の部分には行わなくてよい。例えば低い処理能力の通信リンクにより、１もしくは複数のフォントサブセットは、アセットの一部分として（例えばウェブページの組のようなウェブアセットの第一ページ）表示するために、イメージングデバイスに提供され得る。その部分（例えば第一ページ）が表示されている間（そして恐らく閲覧者により見られていると思われる）、アセット（例えばウェブアセットの残りのページ）の他の部分（１もしくは複数）を見るために、完全なフォントセットおよび／またはフォントサブセットが準備され、そしてウェブアセットへ送信される。アセットの続きの部分に関するフォント情報の転送を開始することは、１もしくは複数の期間について計画することができる。例えばフォント情報（例えばフォントサブセット、完全なフォントセット等）の送信の準備は、フォント情報が準備され、そしてアセットの初期部分が送信された時に開始することができる。幾つかの配置では、アセットの初期部分に関するフォント情報を準備し、そして送信した後に、アセットの後の部分に関するフォント情報を準備し、そして送信することができる。このようにより先に送信されたフォント情報はイメージングデバイスにより表示されているコンテンツを直ちに利用できるので（例えばレンダリング）、フォント情報は、フォントサービスプロバイダー２１４からバックグラウンドに送信することができる。そのような操作は、第一ページを表示するために必要な時間を減らす（例えば最少とし）と同時に、残りの続くページビュー（ｖｉｅｗ）に関する完全なフォントの機能を可能にする。また他のプロポーショニング（ｐｒｏｐｏｒｔｉｏｎｉｎｇ）スキームもフォント情報の配信に実施することができ、例えば少ない記憶スペースを要求する、ウェブアセットによる使用頻度が高いフォントが使用のために最初に送信される一方、使用頻度
が低いより大きなフォントセット（例えばサブセット、完全なセットなどの）は、バックグラウンドに後で送信されることができる。他のフォントサブセッティング配置と同様に、いったんフォントサブセットが作成されれば（例えば低い処理能力接続を介してイメージングデバイスに配信するために）、このサブセットは再使用のために保存され得る（例えばイメージングデバイス２２０に）。例えばいったん作成され、そして保存されれば、フォントサブセットは現在の環境特性（例えば処理能力、接続速度等）にかかわらず、他のイメージングデバイスで再使用することができる。
【００５０】
フォントサービスマネージャー３０６および／または環境モニター４０１、４１２は他の種類の機能を提供することができる。例えばウェブアセットのコンテンツ（例えばウェブページ）は、変更（例えば加えられた、削除された、調整されたコンテンツ等）についてフォントサービスマネージャー３０６により（遠隔で）モニターされ得る。１もしくは複数のソース（例えば多数のウェブサイトからのコンテンツを含むウェブページ）から提供され得る変更がコンテンツ内で検出された場合、フォントサービスマネージャー３０６は、１もしくは複数のサブセットを動的に作成し、以前に準備されたサブセット等を調整することができる。このようにフォントサブセットおよび１もしくは複数のサブセットをイメージングデバイスに送信する決定は、ウェブアセットがリクエストされる前にフォントサービスマネージャー３０６により決定されることができ、これによりリクエストされた時に直ちにダウンロードできるフォントまたはフォントサブセットの作成にフォントプロバイダー２１４が応答する時間を減少する。
【００５１】
環境属性（例えばイメージングデバイスにフォントデータを転送するために達成可能な処理能力、帯域幅分析、通信オーバーヘッドを表す統計等）に加えて、アセットのコンテンツに関する属性（例えばリクエストしたウェブページに存在するフォント、完全なフォントファイルサイズ等）も、フォントサブセットを作成し、そしてイメージングデバイスに送信するかどうかの決定に含めることができる。１もしくは複数の技術を、リクエストしたアセット（例えばウェッブアセット）に関する情報を集めるために利用することができる。例えば１もしくは複数のエージェントがイメージングデバイスにより実行されて（フォントサービスプロバイダー２１４からダウンロードされた後）、情報を得、そしてこれを他の属性（例えば環境特性）で分析するためにフォントサービスプロバイダー２１４に提供することができる。この情報から、フォントサービスプロバイダー２１４はフォントのダウンロード時間を最少にすることを目標にフォントのリクエストの処理を最適化することを試みることができ、同時に不要な処理工程を排除し、サーバーの応答時間等を最適化することなどにより、（例えばサーバー２２２の）計算操作を最適化する。
【００５２】
図５を参照にして、図５００は適切なフォント、フォントサブセット等が他の種類のウェブアセットまたはアセットのウェブページの表示用に提供されるように、属性を集め、そしてフォントサービスプロバイダー２１４に提供するソフトウェアエージェントをイメージングデバイスに備える幾つかの操作を表す。図２で説明するように、ユーザーはコンピューティングデバイスで実行されるウェブブラウザで目的のウェブアセット（例えばウェブページ）を識別すると（例えばＵＲＬをウェブブラウザに提供する）、１もしくは複数のアセットファイル（例えばＨＴＭＬファイル、ＣＳＳファイル等）が対応するウェブページソースからイメージングデバイスに提供され得る。説明するように、そのようなファイル５０２は、ユーザーに表示するための（ウェブブラウザを介して）コンテンツ５０４（例えばテキスト、グラフィック、ビデオ、オーディオ等）を含むことができる。またこのファイル５０２は、ソフトウェアエージェントがイメージングデバイスに提供されることをリクエストするために、１もしくは複数の指令５０６を含むことができる。指令を実行すると（図面で“Ｆｅｔｃｈエージェント指令”と表示されている）、リクエスト５０８の配信は図面で矢印５１０に示されるようにイメージングデバイス（例えばコンピューターシステム２０２）からフォントサービスプロバイダー２１４（例えばサーバー２２
２）へ開始されることができる。リクエスト５０８に応答して、エージェント（例えばエージェント２１２）はフォントサービスプロバイダー２１４のサーバー２２２からコンピューターシステム２０２に、図の矢印５１２により表すように送信される。幾つかの場合では、エージェントの配信はファイルが受信された直後に行われることができ、そしていかなる遅れもユーザーに気づかれないかもしれない。幾つかの配置では、他の情報がリクエスト５０８により提供され得る。例えばフォントサービスプロバイダー２１４は、１もしくは複数のフォントサブセット等がこのウェブページ用にすでに作成されているかどうかを決定するために、目的のウェブページをリクエストの中で識別することができる（例えば提供されたウェブページのＵＲＬ）。
【００５３】
コンテンツで表示される各フォントの文字を識別するために、イメージングデバイスで受信した、リクエストされたエージェント２１２が実行されて、ＨＴＭＬファイル５０２のコンテンツ５０４をスキャンする（図面の矢印５１４により表されるように）。またエージェント２１２は、存在する各フォントのそれぞれ唯一の文字を識別するための機能も提供することができる。このように多くの場合で同じフォント文字はエージェントにより１回認識されるだけでよく、これによりフォントサービスプロバイダー２１４からリクエストされることが必要な文字を統合する（それぞれのアセット用に）。幾つかの配置では、エージェント２１２は、ウェブページに存在する各フォント用に識別された各文字をフォントプロバイダー２１４に通知する。この情報が提供されると、フォントサービスプロバイダーはフォントサブセットに含める可能性について各フォントで唯一存在する文字を識別する。そのようなスキャンニング操作を提供するために、１もしくは複数の技術を実施することができ、例えばエージェントは各フォントに存在する各文字を識別するために、コンテンツ５０４を解析することができる。次いで１もしくは複数のフィルターを使用して（エージェント２１２またはフォントサービスプロバイダー２１４により）、各フォントに関してそれぞれ唯一の文字を識別することができる。例えばフォントＡについて文字“ａ”，“Ｂ”および“ｃ”がコンテンツ５０４に検出され、そして文字“ｘ”，“Ｙ”および“Ｚ”がフォントＢについて検出された場合、エージェントはフォントＡに関するサブセットが“ａ”，“Ｂ”および“ｃ”を含むと識別することができ、一方フォントＢに関するサブセットが“ｘ”，“Ｙ”および“Ｚ”を含むことができると識別することができる。いったんスキャンされれば、識別されたフォントの文字５１６はエージェント２１２により使用されて、フォントのリクエスト５１８を作成する。一般に、リクエスト５１８はエージェント２１２により識別される各文字を含むが、ページコンテンツ５０４のコンテンツに含まれる幾つかの文字は、リクエスト５１８に含まれなくてもよい。例えば恐らくユーザーのコンピューターデバイスでローカルに保存されると識別された文字は、リクエスト５１８に含まれなくてもよい。このようにエージェント２１２は、ページコンテンツ５０４に含まれる幾つかの文字をサブセットのリクエスト５１８から排除することができる。
【００５４】
幾つかの配置では、フォントおよびフォントサブセットの決定を補助するために他の情報をエージェント２１２からフォントプロバイダー２１４に提供することができる。例えばコンピューターシステム２０２でローカルに保存されたフォントに関する情報は（例えば常駐フォント、フォントの文字組等の識別）、エージェントにより集めることができ、そしてフォントサービスプロバイダー２１４に提供することができる。いったん受信されれば、この情報は１もしくは複数のフォント、フォントサブセット等が作成され、そしてコンピューターシステム２０２に提供される必要があるかどうかを決定し、そしてどのフォント、フォントサブセット等が作成され、そして配信されるかなどを識別するような、１もしくは複数の手順に使用できる。またこの情報は、フォント、フォントサブセットの決定に関連しない手順に使用することもでき、例えばフォントサービスプロバイダーは後に検索し、そして使用するために（例えばコンピューターシステム２０２に在住するフォントの追跡）、情報を保存するか、または情報を保存させることができる（例えば記憶す
るために情報を別の設備に提供する）。１もしくは複数のイメージングデバイス（例えばコンピューターシステム２０２、プリンター１１６等）にあるフォントおよびフォント情報、ならびに各デバイスにすでに提供されたフォント情報（例えば配信されたフォントサブセット）をモニタリングすることにより、フォントプロバイダー２１４は余分なデータ転送およびフォントデータの重複を減らし、これによりフォント情報の転送およびローカルストレ−ジを最適化する。例えば１もしくは複数のフォント転送技術を、引用により内容を全部、本明細書に編入する２００９年６月２２日に出願された米国特許出願第１２／４５７，７９２号明細書の“Ｆｏｎｔ  Ｄａｔａ  Ｓｔｒｅａｍｉｎｇ”に記載されているように利用することができる。そのような技術は効率的なアセット表示のために、適切なフォント情報（例えばフォントセット、フォントサブセット等）がイメージングデバイスに転送される（例えばプリンター操作が効率的かつ実質的に連続的に実行するように、フォント情報を転送する）ことを補助することができる。
【００５５】
１もしくは複数の技術を実施して図面の矢印５２０に表示されているようなフォントのリクエスト５１８をフォントサービスプロバイダー２１４のサーバー２２２に提供することができる。例えばＪａｖａＳｃｒｉｐｔに表されているエージェントについて、ハイパーテキストトランスファープロトコール（ＨＴＴＰ）のようなプロトコールに関連する技術はリクエストを転送するために使用することができる。識別された唯一の文字を目的のＵＲＬのクエリストリング（ｑｕｅｒｙ  ｓｔｒｉｎｇ）に添付することにより、指令（例えばＧＥＴ指令）を使用してこの情報をサーバー２２２に提供することができる。同様にアプリケーションとして提供されるエージェントは、フォント情報をフォントサービスプロバイダー２１４のサーバー２２２に、ＨＴＴＰのようなプロトコールで提供することができる。いったんフォント（１もしくは複数）、フォントサブセット（１もしくは複数）等についてのリクエスト５１８が提供されれば、サーバー２２２はこの情報を追加の情報（例えば環境属性および他の属性）と共に使用して、１もしくは複数の必要なフォント、フォントサブセットを作成し、そしてイメージングデバイスに応答することができる。例えば図面の矢印５２２で示すように、フォントファイル２１６（１もしくは複数のフォント、フォントサブセット等を表すことができる）がユーザーのコンピューティングデバイスに提供される。
【００５６】
図６を参照にして、エージェントへリクエストし（図２に示すエージェント２１２のような）、そしてフォントを特定の文字へ割り当てることを含む例示のＨＴＭＬファイル６００の指令を具体に説明する。この特定の例では、指令６０２が実行されると（例えばコンピューターシステム２０２により）、エージェントはフォントサービスプロバイダー（例えばフォントサービスプロバイダー２１４）からリクエストされる。いったんコンピューター装置２０２により受信されると、エージェントはＨＴＭＬファイル６００のコンテンツを分析することを実行する。例えばエージェントはこのファイルのコンテンツに関連するウェブページを表示するために、ＨＴＭＬファイル６００の残りの各行を通る段階を踏み、そして使用する各文字およびフォントを識別することができる。例えば指令６０４を分析することにより、エージェントは“Ｆｒｕｔｉｇｅｒ”フォントの文字“Ａ”，“Ｂ”，“Ｃ”および“Ｄ”がウェブページの制作に必要であると識別することができる。この特定の配置では、個々の文字（例えば“ＡＢＣＤ”）は、フォントにアクセスするためのＵＲＬと一緒に指令６０４により提供される。同様に、実行したエージェントは、指令６０６で、このウェブページを制作するために文字“Ｚ”および“Ｗ”も“Ｆｒｕｔｉｇｅｒ”フォントで表示されることが必要であると識別する。このようにフォント、フォントサブセット等のリクエストを作成する場合（例えば図５に示すリクエスト５１８）、エージェントはウェブページを制作するために必要なそれぞれの唯一の文字（すなわち“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｚ”および“Ｗ”）および対応するフォント（すなわち“Ｆｒｕｔｉｇｅｒ”）を識別する。幾つかの配置では、ファイルのコンテンツをスキャンする間に、エージェントはフォント、フォントサブセット等のリクエストに含まれな
い文字を見つけることができる。例えばＨＴＭＬファイルは、コンピューターシステム（ファイルを実行する）にローカルに保存されたフォントが特定の文字を表すために使用される場合を含むことができる。このようにフォントはコンピューターシステムに対して外部のソースから得る必要はない。例示のＨＴＭＬファイル６００の指令６０８は、そのような出来事を説明している。この場合、文字“Ｍ”，“Ｐ”および“Ｑ”は、特定のフォントについてＵＲＬなしで指令６０８により呼び出される。このようにファイル６００を実行しているコンピューターシステムに対してローカルなフォントを使用して、文字“Ｍ”，“Ｐ”および“Ｑ”を表示することができる。フォントまたはフォントサブセットはこれらの特定の文字について必要ではないので、エージェントはこれらの文字をリクエスト５１８に含まない。しかしこれらの文字はこの特定のフォント用にローカルに保存されるが、１もしくは複数のこれらの文字が、コンピューターシステムに対して外部のソースから得るフォントで必要とされる時に、“Ｍ”，“Ｐ”および／または“Ｑ”を呼び出すファイル６００中の別の指令（示さず）に基づく別のフォントに関するリクエストに含めることができる。
【００５７】
図７を参照にして、１もしくは複数の技術を実施してＨＴＭＬファイル６００（図６で説明する）のようなファイルのコンテンツを分析し、フォント、フォントサブセット等に関する文字を識別することができる。ＪａｖａＳｃｒｉｐｔに基づくエージェントについて、ブラウザ独立ライブラリー（例えばＪａｖａＳｃｒｉｐｔとＨＴＭＬとの間の対話を強調するＰｒｏｔｏｔｙｐｅ，ｊＱｕｅｒｙ等）を使用してテキストのコンテンツを分析することができる。この機能を提供するために、Ｐｒｏｔｏｔｙｐｅ，ｊＱｕｅｒｙ等のフレイムワークを使用して文字列（ｓｔｒｉｎｇ）から唯一の文字を抽出するためにエージェントを提供することができる。またこのフレイムワークには、識別した唯一の文字と対応するフォントとの間の関連を形成するために、連想配列（例えばＪＳＯＮと呼ばれる場合もある）も含むことができる。反復様式でファイルの段階を踏むことで、唯一の文字はさらに処理されるために識別そして保存される（例えばキャッシュされる）。図に示すコード７００の部分は、この機能を提供することができる。
【００５８】
図８を参照にして、唯一の文字を識別したら、１もしくは複数の技術を実施して識別した文字をフォントに基づきしかるべくグループに分けることができる。例えば特定のフォント（例えば“Ｆｒｕｔｉｇｅｒ”）に識別された唯一の文字（例えば“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”，“Ｚ”および“Ｗ”）は、そのフォントに関するグループの員である。さらに相対的に少ない員を有するフォント（例えばラテン語に関連するフォント）については、唯一の文字のグループは形成されないかもしれない。比較的少ない員を含むそのようなフォントに関して、全フォントセットは、転送時間および帯域幅（例えば環境属性と共同して決定される）のようなかなりの計算資源を消費せずに送信することができる。このように完全なフォントセットが（例えばフォントサービスプロバイダーから）そのフォントの文字を作成するために提供され得る。図に示すコード８００の部分は、この機能を提供することができる。
【００５９】
図９を参照にして、各フォントに関して識別された唯一の文字がいったんグループ分けされれば（比較的小さい文字組を有する任意の識別されたフォントと一緒に）、エージェントはこの情報をフォントサービスプロバイダー２１４（例えばフォントプロバイダーのサーバー２２２に）に提供する。１もしくは複数の技術を使用してこの情報を提供することができる。例えばＨＴＴＰ  ＧＥＴ指令のような指令を使用して、識別した文字および対応するフォントをＵＲＬのクエリストリングに添付することができる。リクエストを受信すると（ＨＴＴＰ  ＧＥＴ指令により提供される）、フォントサービスプロバイダー２１４（例えばフォントプロバイダーのサーバー２２２）は１もしくは複数の適切なフォント、フォントサブセット等を作成し、そしてリクエストしているイメージングデバイスに送信する。幾つかの配置では、１もしくは複数の属性（例えばユーザーおよび／またはフ
ォンサービストプロバイダーの地理上の位置、達成可能な転送速度のようなデータ転送属性など）に関連する所定の規則に基づき、完全なフォントセットも比較的少ない文字を含む識別されたフォント用に送信されることができる。識別された唯一の文字および対応するフォントを提供するために、この機能を提供することができるコード９００の一部を図に表示する。
【００６０】
図１０を参照にして、流れ図１０００はフォントサービスマネージャー（例えば図３に示すフォントサービスマネージャー３０６）の操作を表す。フォントサービスマネージャー３０６の操作は、一般に一つのコンピューティングデバイス（例えばサーバー２２２）により実行されるが、フォントサービスマネージャーの操作は複数のコンピューティングデバイスにより実行してもよい。一つ場所（ｓｉｔｅ）で実行されると共に（例えばフォントプロバイダー２１４）、操作の実行は２以上の場所（ｌｏｃａｔｉｏｎ）に分配されることもできる。
【００６１】
フォントサービスマネージャーの操作は、イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信すること１００２を含むことができる。リクエストは、アセットのテキストコンテンツの１もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送信される。例えばアセットに関連する属性（例えばフォントはウェブページのようなアセット、段落数、行あたりの文字数等を含む）イメージングデバイスの属性（例えばデバイスのメモリーに存在するフォント、イメージングデバイスの識別情報、ディスプレイの解像度、スクリーンサイズ、デバイスにより実行されているウェブブラウザ等）、イメージングデバイス（例えばタブレット型コンピューティングデバイス、スマートフォン、プリンター等）とフォントサービスプロバイダーの装置（例えばサーバー２２２）との間の通信リンクの量を表すことができる環境属性（例えば処理能力、接続樹立時間、帯域幅等）。またフォントサービスマネージャーの操作は、アセットを表示するためにイメージングデバイスから受信した１もしくは複数の属性から適切な量のフォント情報を識別すること１００４を含むことができる。例えば提供された属性に基づき、フォントサービスサブセットマネージャーは、どのフォントがイメージングデバイスに提供される必要があるかを決定することができる。さらにフォントサービスマネージャーは、フォントサービスプロバイダーからイメージングデバイスへのフォントの効率的転送に、（ウェブアセットにより使用される）１もしくは複数のフォントをサブセットにするかどうかを決定することができる。受信した属性を使用すると共に、以前に保存した属性のような他の情報、および他の情報（フォントサービスプロバイダーでの）をこの決定を行うために使用することができる。またフォントサービスマネージャーの操作は、アセットを表示するために、識別したフォント情報をイメージングデバイスに提供すること１００６を含むことができる。例えばアセットのコンテンツを表示するための適切なフォント文字を提供するために、１もしくは複数のフォント、フォントサブセット等が必要と決定された場合、フォントサービスマネージャーはこのフォント情報を準備し、そしてイメージングデバイスに転送し始めることができる。
【００６２】
図１１を参照にして、流れ図１１００はソフトウェアエージェント（例えば図２に示すエージェント２１２）の操作を表す。言及したように、ソフトウェアエージェント２１２の操作は、一般に一つのコンピューティングデバイス（例えばコンピューターシステム２０２）により実行されるが、ソフトウェアエージェントの操作は複数のコンピューティングデバイスにより実行してもよい。一つの場所で実行されると共に（例えばイメージングデバイスの場所）、操作の実行は２以上の場所に分配することができる。
【００６３】
ソフトウェアエージェントの操作は、１もしくは複数のアセットのテキストコンテンツを表すデータを受信すること１１０２を含むことができる。例えばソフトウェアエージェ
ントは、様々な種類のアセットおよびウェブアセット（例えば、ウェブサイト、ウェブページ等）を表すデータを、１もしくは複数のソース（例えばウェブサイトソース、リポジトリ等）から受信することができる。ソフトウェアエージェントの操作は、１もしくは複数のアセットのテキストコンテンツを表示するために、イメージングデバイスでのフォントの識別が存在しないかどうかを決定するために、テキストコンテンツを表すデータを解析すること１１０４も含むことができる。例えばエージェントは、アセットのコンテンツに存在するフォント、文字等を識別し、そしてイメージングデバイスにあるローカルメモリー、リスティング等をチェックして、１もしくは複数の識別したフォントがデバイスに不在（例えばデバイスのメモリーに存在しない）かどうかを決定することができる。また操作は、１もしくは複数のアセットを表示するために不在のフォント情報をリクエストするためのリクエストを、フォントサービスプロバイダーに送信すること１１０６も含む。このリクエストは、ユーザーの入力無しでフォントサービスプロバイダーに送信される。例えばソフトウェアエージェントは、アセットにより使用されるがイメージングデバイスには不在と識別されたフォントを含むリクエストの作成を開始することができる。いったん作成されれば、このリクエストは修正措置を取るためにフォントサービスプロバイダーに送られることができる（例えば不在フォントを表すデータを送信する）。また修正措置は、１もしくは複数のフォントサブセットがアセットのコンテンツに基づき適切かどうかを決定し、そして目的のアセットの効率的表示のためにそのようなサブセットをイメージングデバイスに送信することを含むことができる。
【００６４】
図１２は、ホストストレージデバイスを提供し、そしてホストストレージデバイスにクライアントデバイス１２０２（例えばイメージングデバイス）からアクセスするためのシステム１２００の例を表すブロック線図である。幾つかの実施では、ホストストレージサービス１２２０が、互いに離れて作動しているコンピューティングデバイスで実行しているアプリケーション（例えばウェブブラウザ）により保存されたデータ（例えばフォント情報）へのアクセスを提供し、オフサイトデータバックアップを提供して機能を復元し、限定されたストレージ能力でコンピューティングデバイスへデータストレージを提供し、かつ／またはコンピューティングデバイスで実施されないストレージ機能を提供することができる。
【００６５】
システム１２００はデータリソーシズを保存するためのスケーラブルストアを提供することができる。クライアントデバイス１２０２は、データリソーシズをホストストレージサービス１２２０にアップロードし、そしてアップロードしたデータリソーシズへのアクセスを制御することができる。アクセス制御は、一連の共有レベルを含むことができる（例えば個人用、１もしくは複数の個人との共有、１もしくは複数のグループとの共有、公的など）。ホストストレージサービス１２２０に保存されたデータは、不正アクセスから保護されることができる。ホストストレージサービス１２２０は単純かつ持続的なアプリケーションプログラミングインターフェイス、すなわちＡＰＩを使用することができ、これは任意の量の構造化または非構造化データが個人的に保管されるか、または個人間、組織間、または世界の一般大衆で共有できるようにする。クライアントデバイス１２０２は、多くの様々な理由によりホストストレージサービス１２２０のデータにアクセスし、検索し、提供され、保存等をすることができる。例えばデータは商用のために（例えばホストストレージサービス１２２０でフォントデータに関するクリアランスのアクセスを得るための識別情報を提供する）、あるいは他のサービスによるデータ処理に使用するために保存することができる。
【００６６】
クライアントデバイス１２０２は、図１３に関連して記載したコンピューティングデバイス１３００またはモバイルデバイス１３５０のようなコンピューティングデバイスを使用して実施することができる。クライアントデバイス１２０２は、インターネットのようなネットワーク１２０４を介してホストストレージサービス１２２０と通信することがで
きる。クライアントデバイス１２０２は、例えば１もしくは複数のトランスミッションコントロールプロトコール／インターネットプロトコール（ＴＣＰ／ＩＰ）、ハイパーテキストトランスファープロトコール（ＨＴＴＰ），セキュアシェルリモートプロトコール（ＳＳＨ）、またはアプリケーションプログラムインターフェイス（ＡＰＩ）のようなコミュニケーションプロトコールを使用してネットワークを渡って通信することができる。電子メール（Ｅ−メール）プロトコールも利用することができる。例えばホストストレージサービス１２２０、コンピューティングデバイス１３００またはモバイルデバイス１３５０等のようなコンピューティングデバイスからイメージングデバイス（例えばプリンター）にアセット（例えば電子文書等）を提供するために、１もしくは複数のＥ−メールプロトコールを使用することができる。一つのクライアントデバイス１２０２を示すが、ホストストレージサービス１２２０および／または他のサービスおよびデバイスとネットワーク１２０４を渡って通信する複数のクライアントデバイスが存在してもよい。
【００６７】
ホストストレージサービス１２２０は、クライアントデバイス１２０２で実行しているクライアントのアプリケーション１２０３のようなクライアントのアプリケーションが、ホストストレージサービス１２２０のデータリソーシズを記憶し、検索し、または他に操作できるように実施され得る。ホストストレージサービス１２２０は１もしくは複数のサーバーデバイスにより実施されることができ、これは図１３に関連して記載したコンピューティングデバイス１３００またはモバイルデバイス１３５０のようなコンピューティングデバイスを使用して実施することができる。例えばホストストレージサービス１２２０は同じか異なるデータセンターで作動する多数のサーバーデバイスにより実施されることができる。
【００６８】
ホストストレージサービス１２２０は一般に、インターフェイスフロントエンド１２０６、インターフェイスバックエンド１２０８、ストレージバックエンド１２１０、およびメタデータ１２１６をストレージバックエンド１２１０に保存されたリソーシズ用に含む。ホストストレージサービス１２２０は、１もしくは複数のフォントをリクエストしているユーザーに、フォントへのアクセスが提供されるべきかを確認するための認証子１２０９も含むことができる（例えばサービスサブスクリプション、レンタル期間などに基づき）。
【００６９】
一般にインターフェイスフロントエンド１２０６は、クライアントデバイス１２０２からリクエストを受信し、そしてそれに返答を送信することができる。例えばホストストレージサービス１２２０は、対応するウェブサービスアプリケーションプログラミングインターフェイス（ＡＰＩ）のセットを用いてウェブサービスとして実施されることができる。このウェブサービスＡＰＩは、例えばレプリゼンテーショナル  ステート  トランスファー（ＲＥＳＴ）−基本  ＨＴＴＰインターフェイスまたはシンプル  オブジェクト  アクセス  プロトコール（ＳＯＡＰ）−基本インターフェイスとして実施することができる。インターフェイスフロントエンド１２０６はクライアント１２０２からのメッセージを受信し、そしてホストストレージサービス１２２０により使用できるフォーマットにリクエストを解析し、例えばリモートプロシージャコール（ＲＰＣ）をインターフェイスバックエンド１２０８に解析することができる。インターフェイスフロントエンド１２０６は、クライアント１２０２に伝達するためにホストストレージサービス１２２０により作成された応答を書くことができる。幾つかの実施では、例えば多数のアクセスプロトコールを支援するために多数のインターフェイスフロントエンド１２０６を実施することができる。
【００７０】
インターフェイスフロントエンド１２０６は、例えばデータアクセス用にウェブブラウザ上に表示するためにグラフィカルフロントエンドを含むことができる。インターフェイスフロントエンド１２０６は、大きいファイルのアップロードおよびダウンロードを管理
できるようにするためのサブ−システムを含むことができる（例えば休止、再開、そしてタイムアウトからの回復のような機能のために）。インターフェイスフロントエンド１２０６は、例えばサービス拒否（ＤＯＳ）攻撃を追跡し、そしてそれに対して保護するために負荷情報およびアップデートログをモニターすることができる。
【００７１】
上記のようにウェブサービスＡＰＩは、ＲＥＳＴ−基本ＨＴＴＰインターフェイスでよい。ＲＥＳＴ−基本インターフェイスでは、データリソースはユニフォームリソースアイデンティファイヤー（ＵＲＩ）を使用して一意に命名されたリソースとしてアクセスされ、そしてクライアントアプリケーション１２０３およびサービス１２２０は、定めた操作の組を使用してリソース状態の表示（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を交換する。例えばリクエストした動作は、ＨＴＴＰ  ＧＥＴ，ＰＵＴ，ＰＯＳＴ，ＨＥＡＤおよびＤＥＬＥＣＴによるような動詞として表現されることができる。ＧＥＴという動詞は、リソースを検索するために使用でき、一方、ＨＥＡＤという動詞はリソース自体を検索せずに、リソースに関する情報を検索するために使用できる。ＤＥＬＥＴＥという動詞は、ホストストレージサービス１２２０からリソースを削除するために使用できる。ＰＵＴおよびＰＯＳＴという動詞は、リソースをサービス１２２０にアップロードするために使用することができる。ＰＵＴリクエストはクライアント１２０２から来ることができ、そして認証および認可クレデンシャルおよびリソースメタデータを、ヘッダー、例えばＨＴＴＰヘッダーに含むことができる。ＰＯＳＴリクエストは、クライアント１２０２がウェブブラウザフォームからアップロードしたい場合に受信することができる。ホストストレージサービス１２２０のためのフォームＰＯＳＴアップロードプロトコールには、認証、認可およびリソースメタデータを提供するために多数のフォームフィールドを含むことができる。より一般的には、ＡＰＩリクエストは例えばリクエストのヘッダーに認証および認可のためのクレデンシャルを含むことができる。認可ヘッダーはＲＥＳＴリクエストに含まれることができ、これはリクエストを送信するエンティティを識別するためのアクセスキーを含むことができる。
【００７２】
あるいは、または加えて、ユーザーはＡＰＩリクエストに添付され得るブラウザのクッキーに保存されたクレデンシャルに基づき認証されることができる。有効なクッキーが存在しない場合、認証フロントエンドへのリダイレクトを作成でき、そして認証フロントエンドはブラウザのクッキーを作成するために使用され得る。認証フロントエンドは、ホストストレージサービス１２２０に加えてシステムおよびサービスにより使用され得る（例えば、ホストストレージサービス１２２０を操作する組織が、Ｅ−メールサービスのような他のウェブサービスも操作する場合）。またユーザーは、あるいは別法で、外部の認証サービスまたはクレデンシャル機能を含む外部のサービスからの認証クレデンシャルに基づき認証されることができる。ユーザーまたはグループの識別子情報は、外部サービスのクレデンシャル情報から計算され得る。クライアント１２０２によりインターフェイスフロントエンド１２０６に送信されるリクエストは変換され、そして認証のために外部サービスに向けることができる。
【００７３】
一般にホストストレージサービス１２２０に保存されたリソーシズは、リソース識別子により照会される。ホストストレージサービス１２２０は、有効なリソース識別子が確認されなければならない名前空間を定めることができる。例えば名前空間は、リソース識別子が、ＵＴＦ−８エンコーディングが最高１０２４バイト長であるユニコード文字の配列となることを要求することができる。別の例として、名前空間はリソース識別子が１２８ビットの整数でよいグローバル一意識別子（ＧＵＩＤ）であることを要求することができる。
【００７４】
リソーシズ（例えばフォントデータのようなオブジェクト）は、ホストストレージサービス１２２０のバケットに保存され得る。幾つかの例では、各バケットはホストストレー
ジサービス１２２０内で一意に名づけられ、各データリソースはバケット中で一意に名づけられ、そして各バケットおよびデータリソースの組み合わせは唯一である。データリソーシズは、バケット名およびリソース名を含むＵＲＩにより一意に識別され、そして識別子はホストストレージサービス１２２０を識別する。例えばバケット名“フォント”の中のリソース名“／ｆｒｕｔｉｇｅｒ．ｆｎｔ”は、ＨＴＴＰ：／／ｓ．ｈｏｓｔｅｄｓｔｏｒａｇｅｓｙｓｔｅｍ．ｃｏｍ／ｆｏｎｔｓ／ｆｒｕｔｉｇｅｒ．ｆｎｔまたはＨＴＴＰ：／／ｆｏｎｔｓ．ｓ．ｈｏｓｔｅｄｓｔｏｒａｇｅｓｙｓｔｅｍ．ｃｏｍ／ｆｒｕｔｉｇｅｒ．ｆｎｔ．のようなＵＲＩパターンを使用して特定することができる。あるいはクライアント１２０２のユーザーは、バケット名ｍｙ．ｆｏｎｔｓ．ｏｒｇを作成することができ、ＨＴＴＰ：／／ｆｏｎｔｓ．ｓ．ｈｏｓｔｅｄｓｔｏｒａｇｅｓｙｓｔｅｍ．ｃｏｍにリダイレクトされるＣＮＡＭＥエイリアスを公開し、そしてＨＴＴＰ：／／ｍｙ．ｆｏｎｔｓ．ｏｒｇ／ｆｒｕｔｉｇｅｒ．ｆｎｔとしてリソースを指定する。幾つかの例では、バケットはネスティング（ｎｅｓｔ）しない。
【００７５】
インターフェイスバックエンド１２０８は認証子１２０９と一緒に認証および認可のリクエストを取扱うことができ、データおよびメタデータを管理することができ、そしてビリングのような行動を追跡することができる。一例として、インターフェイスバックエンド１２０８は、１もしくは複数のフォントのリクエストが受信された時、認証子１２０９に問い合わせることができる。インターフェイスバックエンド１２０８は追加または別の機能も提供することができる。例えばインターフェイスバックエンド１２０８は、ローカライズされた重い負荷の下、リソースの利用性および応答性のために独立フロントエンド／バックエンドスケーリングの機能を提供することができる。データ管理はインターフェイスバックエンド１２０８にカプセル化されると同時に、通信の提供はインターフェイスフロントエンド１２０６にカプセル化される。インターフェイスバックエンド１２０８は、クライアント−フェイシングインターフェイスフロントエンド１２０６から特定のセキュリティメカニズムを隔離することができる。
【００７６】
インターフェイスバックエンド１２０８は、インターフェイスフロントエンド１２０６および他のシステムの両方により利用可能なインターフェイスを公開することができる。幾つかの例では、インターフェイスバックエンド１２０８の幾つかの特徴は、ホストストレージサービス１２２０の所有者（インターナルユーザー）により使用されるインターフェイスフロントエンド（示さず）によってのみアクセス可能である。そのような特徴には、管理タスク（例えばリソースリファレンスをローレベルディスクアドレスに分解すること）に必要なものを含むことができる。インターフェイスバックエンド１２０８は、認証（例えばユーザーのクレデンシャルが有効であることを保証する）および認可（例えばリクエストした操作が許可されたことを確認する）のリクエストを扱うことができる。またインターフェイスバックエンドは、たとえインターナルユーザーでもデータへの非認可アクセスを防ぐために、暗号化および解読サービスを提供することができる。
【００７７】
インターフェイスバックエンド１２０８は、データリソーシズに随伴する、例えばＭｙＳＱＬデータベースまたはＢｉｇＴａｂｌｅ中のメタデータ１２１６を管理することができる。ユーザーを特定した名前でバケットを標識することは、メタデータ１２１６内で完全に定められることができ、そしてリソースメタデータ１２１６は、リソースを保存する１もしくは複数のデータストア１２１２にリソース名をマップすることができる。またメタデータ１２１６はバケットおよびリソースの両方に、バケットおよびリソース作成時間、リソースサイズ、ハッシュおよびアクセスコントロールリスト１２１８（ＡＣＬ１２１８）を含むことができる。インターフェイスバックエンド１２０８は、ビリングおよびチャージバックに関する会計を支援するために、行動を記録し、そしてストレージコンサンプションを追跡することができる。幾つかの例では、これは顧客が請求される各ディメンジョン（ｄｉｍｅｎｓｉｏｎ）内にクオータのモニタリングを含む（例えば読み、書き、
ネットワークトランスファー、使用の全ストレージ）。
【００７８】
ＡＣＬ１２１８は一般に、誰が対応するバケットまたはリソーシズに対する動作を行うことを認可され、そして認可される動作の性質を定めることができる。ＡＣＬ１２１８は、｛スコープ、ロール｝対の番号なしリストに加えてＢｏｏｌｅａｎ  ｆｌａｇｓでよい。スコープはユーザーの中の一ユーザーまたはグループを定めることができ、そしてロールはそのユーザーまたはグループに関するアクセス許可を定めることができる。幾つかの例では、すべての｛スコープ、ロール｝対の統合がアクセス権を定めることができる。幾つかの例では、より特定の｛スコープ、ロール｝対は、より一般的なものをオーバーライドする。
【００７９】
ストレージバックエンド１２１０は、複数のデータストア１２１２ａ−１２１２ｃを含むことができる。３つのデータストア１２１２を示すが、より多くても少なくても可能である。各データストア１２１２ａ−１２１２ｃは、特定のフォーマットでデータリソーシズ１２１４ａ−１２１４ｃを保存することができる。例えばデータストア１２１２ａはバイナリ―ラージオブジェクト（ＢＬＯＢ）としてデータリソース１２１４ａを保存することができ、データストア１２１２ｂは分散されたファイルシステム（例えばネットワークファイルシステム）にデータリソース１２１４ｂを保存することができ、そしてデータストア１２１２ｃはデータベース（例えばＭｙＳＱＬ）に１２１４ｃを保存することができる。
【００８０】
図１３は、本明細書に記載した技術を実施するために使用できる例示のコンピューターデバイス１３００および例示のモバイルコンピューターデバイス１３５０である。例えばフォントサービスマネージャー３０６（図３に示す）またはソフトウェアエージェント２１２（図２に示す）の操作の一部および全ては、コンピューターデバイス１３００および／またはモバイルコンピューターデバイス１３５０により実行することができる。コンピューティングデバイス１３００は、様々な形態のデジタルコンピューターを表すことを意図し、それらには例えばラップトップ型、デスクトップ型、ワークステーション、携帯情報端末、サーバー、ブレードサーバー、大型汎用機および他の適切なコンピューターを含む。コンピューティングデバイス１３５０は様々な形態のモバイルデバイスを表すことを意図し、それらには例えば携帯情報端末、タブレット型コンピューティングデバイス、携帯電話、スマートフォンおよび他の類似のコンピューティングデバイスを含む。ここで示すコンポーネント、それらの接続および関係、およびそれらの機能は単なる例であることを意味し、そして本明細書に記載し、かつ／または特許請求する技術の実施を限定することを意味していない。
【００８１】
コンピューティングデバイス１３００はプロセッサー１３０２、メモリー１３０４、ストレージデバイス１３０６、メモリー１３０４および高速拡張ポート１３１０に接続する高速インターフェイス１３０８、および低速バス１３１４およびストレージデバイス１３０６に接続する低速インターフェイス１２１２を含む。各コンポーネント１３０２，１３０４，１３０６，１３０８，１３１０および１３１２は、種々のバスを使用して相互に連結され、そして共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。プロセッサー１３０２は、例えば高速インターフェイス１３０８に繋いだディスプレイ１３１６を含む外部入力／出力デバイスでＧＵＩに関するグラフィック情報を表示するために、メモリー１３０４またはストレージデバイス１３０６に保存されている指令を含め、コンピューティングデバイス１３００内で実行するための指令を処理することができる。他の実施において、多数のプロセッサーおよび／または多数のバスを、適切な場合は多数のメモリーおよび多種類のメモリーと一緒に使用することができる。また多数のコンピューティングデバイス１３００は、必要な操作の部分を提供する各デバイス（例えばサーバーバンク、ブレードサーバーのグループ、またはマルチ−プロセッサーシ
ステムとして）に接続することができる。
【００８２】
メモリー１３０４はコンピューティングデバイス１３００内にデータを保存する。１つの実施では、メモリー１３０４は揮発性メモリーユニット（１もしくは複数）である。別の実施ではメモリー１３０４は非揮発性記憶ユニット（１もしくは複数）である。またメモリー１３０４は、別の形態のコンピューター可読媒体であることができ、それには例えば磁気もしくは光学ディスクを含む。メモリー１３０４は非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）でよい。
【００８３】
ストレージデバイス１３０６は大容量のストレージをコンピューティングデバイス９００に提供することができる。１つの実施では、ストレージデバイス１３０６はコンピューター可読媒体であることができ、またはそれを含むことができ、それらには例えばフロッピーディスクデバイス、ハードディスクデバイス、光学ディスクデバイスまたはテープデバイス、フラッシュメモリーまたは他の同様なソリッドステートメモリーデバイス、またはストレージ領域のネットワークまたは他の構成内のデバイスを含むデバイスのアレイであることができる。コンピュータープログラム製品は実体的に（ｔａｎｇｉｂｌｙ）データ担体に埋め込まれることができる。またこのコンピュータープログラム製品は実行した時に、例えば上記のような１もしくは複数の方法を行う指令を含むことができる。データ担体はコンピューターまたは機械可読媒体であり、例えばメモリー１３０４、ストレージデバイス１３０６、プロセッサー１３０２上のメモリー等を含む。
【００８４】
高速コントローラー１３０８は、コンピューティングデバイス１３００に関する帯域幅―集中強化操作（ｂａｎｄｗｉｄｔｈ−ｉｎｔｅｎｓｉｖｅ  ｏｐｅｒａｔｉｏｎ）を管理し、一方、低速コントローラー１３１２は低い帯域幅―集中強化操作を管理する。そのような機能の配置は単なる例である。１つの実装では、高速コントローラー１３０８は、メモリー１３０４、ディスプレイ１３１６（例えばグラフィックプロセッサーまたはアクセラレーターを介して）、および様々な拡張カード（示さず）を受けることができる高速拡張ポート１３１０に繋げることができる。この実装では低速コントローラー１３１２がストレージデバイス１３０６および低速拡張ポート１３１４に繋がれる。様々な通信ポート（例えばＵＳＢ，Ｂｌｕｅｔｏｏｔｈ（商標），Ｅｔｈｅｒｎｅｔ，ワイヤレスＥｔｈｅｒｎｅｔ）を含むことができる低速拡張ポートを、例えばキーボード、ポインティング装置、スキャナー、またはスイッチまたはルーターのようなネットワーキング装置を含む１もしくは複数の入力／出力デバイスに、例えばネットワークアダプターを介して繋ぐことができる。
【００８５】
コンピューティングデバイス１３００は図に示すような多数の異なる状態で実施することができる。例えばこれは標準的サーバー１３２０として、すなわちそのようなサーバーのグループで多数回実施することができる。またこれはラックサーバーシステム１３２４の一部として実施することもできる。さらに、または別法で、これは例えばラップトップコンピューター１３２２を含むパーソナルコンピューターコンピューターで実施することができる。幾つかの例では、コンピューティングデバイス１３００からのコンポーネントを、例えばデバイス１３５０を含むモバイルデバイス（示さず）の他の部品と組み合わせることができる。そのようなデバイスのそれぞれが、１もしくは複数のコンピューティングデバイス１３００，１３５０を含むことができ、そして全システムを互いに通信する多数のコンピューティングデバイス１３００，１３５０で作成することができる。
【００８６】
コンピューティングデバイス１３５０は、他のコンポーネントの中でもとりわけプロセッサー１３５２、メモリー１３６４、例えばディスプレイ１３５４を含む入力／出力デバイス、コミニュケーションインターフェイス１３６６およびトランシーバー１３６８を含む。またデバイス１３５０は、追加のストレージを提供するために、例えばマイクロドラ
イブまたは他のデバイスを含むストレージデバイスを備えることができる。各コンポーネント１３５０，１３５２，１３６４，１３５４，１３６６および１３６８は、種々のバスを使用して相互に接続され、そして幾つかのコンポーネントは共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。
【００８７】
プロセッサー１３５２は、メモリー１３６４に保存された指令を含め、コンピューティングデバイス１３５０内の指令を実行することができる。プロセッサーは、個別のおよび多数のアナログおよびデジタルプロセッサーを含むチップのチップセットとして実施することができる。プロセッサーは、例えばユーザーのインターフェイスの制御、デバイス１３５０により行われるアプリケーション、およびデバイス１３５０によるワイヤレスコミニュケーションを含め、例えばデバイス１３５０の他のコンポーネントの調整を提供することができる。
【００８８】
プロセッサー１３５２は、コントロールインターフェイス１３５８およびディスプレイ１３５４に連結されたディスプレイインターフェイス１３５６を介してユーザーと通信することができる。ディスプレイ１３５４は例えばＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）またはＯＬＥＤ（有機発光ダイオード）ディスプレイであるか、または他の適切なディスプレイ技術であることができる。ディスプレイインターフェイス１３５６は、ディスプレイ１３５４を駆動するために適切な回路を備えて、グラフィカルおよび他のデータをユーザーに表示することができる。コントロールインターフェイス１３５８はユーザーからの命令を受信し、そしてそれらをプロセッサー１３５２へのサブミッションに転換することができる。さらに外部インターフェイス１３６２は、デバイス１３５０と他のデバイスとの近場通信が可能となるように、プロセッサー１３４２と通信することができる。外部インターフェイス１３６２は、例えば幾つかの実施ではワイヤードコミュニケーションを、または他の実施ではワイヤレスコミュニケーションを提供することができ、そして多数のインターフェイスを使用することができる。
【００８９】
メモリー１３６４はコンピューティングデバイス１３５０内にデータを保存する。メモリー１３６４は１もしくは複数のコンピューター可読媒体、揮発性メモリーユニット（１もしくは複数）または非揮発性記憶ユニット（１もしくは複数）として実施することができる。拡張メモリー１３７４も提供され、そして例えばＳＩＭＭ（シングルインラインメモリーモジュール）カードインターフェイスを含むことができる拡張インターフェイス１３７２を介してデバイス１３５０に接続されることができる。そのような拡張メモリー１３７４は、デバイス１３５０に臨時の（ｅｘｔｒａ）ストレージ空間を提供することができるか、あるいはまたデバイス１３５０用のアプリケーションまたは他のデータを保存することができる。具体的には拡張メモリー１３７４は上記プロセスを行うため、または補完するための指令を含むことができ、そしてまた安全なデータを含むことができる。すなわち例えば拡張メモリー１３７４は、デバイス１３５０のセキュリティーモジュールとして提供されることができ、そしてデバイス１３５０の安全な使用を可能にする指令でプログラムされることができる。さらに安全なアプリケーションがＳＩＭＭカードを通じて、たとえばハッカーできない様式でＳＩＭＭカードに識別するデータを配置することを含め、追加のデータと一緒に提供されることができる。
【００９０】
メモリーは、例えばフラッシュメモリーおよび／または以下に記載するＮＶＲＡＮメモリーを含むことができる。一つの実施では、コンピュータープログラム製品は実体的にデータ担体に埋め込まれることができる。コンピュータープログラム製品は実行した時に、例えば上記のような１もしくは複数の方法を行う指令を含むことができる。データ担体はコンピューターまたは機械可読媒体であり、例えばメモリー１３６４、拡張メモリー１３７４、および／またはプロセッサー１３５２上のメモリー等を含み、これらは例えばトランシーバー９６８または外部インターフェイス１３６２から受信することができる。
【００９１】
デバイス１３５０は、必要ならばデジタルシグナルプロセッシング回路を含むことができるコミュニケーションインターフェイス１３６６を通してワイヤレスで通信することができる。コミニュケーションインターフェイス１３６６は、例えばとりわけＧＳＭ、ボイスコール、ＳＭＳ、ＥＭＳまたはＭＭＳメッセージング、ＣＤＭＡ，ＴＤＭＡ，ＰＤＣ，ＷＣＤＭＡ，ＣＤＭＡ２０００またはＧＰＲＳを含む様々なモードまたはプロトコール下での通信のために提供されることができる。そのような通信は、例えば高周波トランシーバー９６８を通して行うことができる。さらに例えばＢｌｕｅｔｏｏｔｈ（商標）、ＷｉＦｉまたは他のそのようなトランシーバー（示さず）を含む短距離通信も行うことができる。さらにＧＰＳ（グローバルポジショニングシステム）レシーバーモジュール１３７０は、追加のナビゲーション−および位置−関連ワイヤレスデータをデバイス１３５０に提供することができ、これはデバイス１３５０で行われているアプリケーションにより適切に使用されることができる。カメラ、マイクロフォン、コンパス、アクセラレータ（方向を感知するために）等のようなセンサーおよびモジュールをデバイスに含んでもよい。
【００９２】
またデバイス１３５０は、ユーザーから会話データを受信し、それを利用可能なデジタルデータに転換できるオーディオコーディック１３６０を使用して、聞こえるように通信することができる。オーディオコーディック１３６０も、例えばデバイス１３５０のハンドセットの例えばスピーカーを通すことを含め、同様にユーザーに聞こえる音を作成することができる。そのような音は電話の声からの音を含むことができ、記録された音（例えばボイスメッセージ、ミュージックファイルなど）を含むことができ、そしてデバイス１３５０で操作されるアプリケーションにより作成される音も含むことができる。
【００９３】
コンピューティングデバイス１３５０は、図面に示すような多くの異なる形式で実施されることができる。例えば携帯電話１３８０として実施されることができる。またスマートフォン１３８２、携帯情報端末または他の類似のモバイルデバイスの一部として実行されることができる。
【００９４】
本明細書に記載するシステムおよび技術の様々な実施は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピューターハードウェア、ファームウェア、ソフトウェアおよび／またはそれらの組み合わせで実現することができる。これらの様々な実施には、１もしくは複数のコンピュータープログラムでの実施を含むことができ、これらのプログラムは少なくとも一つのプログラム可能なプロセッサーを含むプログラム可能なシステムで実行および／または解釈可能であり、このシステムは特定用途向けまたは汎用性であることができ、データおよび指令を受信し、そしてデータおよび指令を転送するために、ストレージシステム、少なくとも一つの入力デバイスおよび少なくとも一つの出力デバイスに繋がれることができる。
【００９５】
このようなコンピュータープログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラム可能なプロセッサー用の機械命令を含み、そして高水準手続き型および／またはオブジェクト指向プログラミング言語、および／またはアッセンブリ機械言語で実施されることができる。本明細書で使用するように、機械可読媒体およびコンピューター可読媒体という用語は、機械命令および／またはデータを、機械命令を受ける機械可読媒体を含むプログラマブルプロセッサーに提供するために使用されるコンピュータープログラム製品、装置および／またはデバイス（例えば磁気ディスク、光学ディスク、メモリー、プログラマブルロジックデバイス（ＰＬＤ））を称する。
【００９６】
ユーザーとの対話を提供するために、本明細書に記載するシステムおよび技術は、ユーザーにデータを表示するためのディスプレイデバイス（例えばＣＲＴ（ブラウン管）また
はＬＣＤ（液晶ディスプレイ）モニター）、およびユーザーがコンピューターに入力することができるキーボードおよびポインティングデバイス（例えばマウスまたはトラックボール）を有するコンピューターで実施されることができる。他の種類のデバイスもユーザーとの対話を提供するために使用することができ、例えばユーザーへ提供されるフィードバックは、知覚フィードバックの状態であることができ（例えば視覚的フィードバック、聴覚フィードバックまたは触覚フィードバック）、そしてユーザーからの入力は、音声、会話または触覚入力を含む状態で受信することができる。
【００９７】
本明細書に記載するシステムおよび技術は、バックエンドコンポーネント（データサーバーとして）を含むか、またはミドルウェアコンポーネント（例えばアプリケーションサーバー）を含むか、またはフロントエンドコンポーネント（例えばユーザーが本明細書に記載するシステムおよび技術の実装と対話することができるユーザーインターフェイスまたはＷｅｂブラウザを有するクライアントコンピューター）を含むか、またはそのようなバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。このシステムのコンポーネントは、デジタルデータ通信の任意の形態または媒体（例えば通信ネットワーク）により相互連結することができる。通信ネットワークの例には、ローカルエリアネットワーク（“ＬＡＮ”）およびワイドエリアネットワーク（“ＷＡＮ”）、およびインターネットがある。
【００９８】
このコンピューターシステムはクライアントおよびサーバーを含むことができる。クライアントおよびサーバーは一般に互いに離れ、そして一般には通信ネットワークを介して対話する。クライアントとサーバーの関係は、個々のコンピューターで走り、そしてクライアント−サーバー関係を互いに有するコンピュータープログラムにより生じる。
【００９９】
幾つかの実施では、本明細書に記載されるエンジンは分かれているか、複合されているか、または単一または複合エンジンに組み込まれることができる。図面に描くエンジンは、本明細書に記載するシステムを図面に表すソフトウェア構造に限定することを意図していない。
【０１００】
多くの態様を記載してきた。しかし様々な修飾を本明細に記載するプロセスおよび技術の精神および範囲から逸脱せずに行うことができると理解される。さらに図面に示す論理的流れは、所望の結果に達成するために示した特定の順序、または連続的順序を要求しない。さらに記載した流れに他の工程を提供でき、または工程を排除でき、そして記載したシステムに他のコンポーネントを加えることができ、または除去することができる。したがって他の態様は以下の請求の範囲にある。
【図１】
2016506560.tif 000003
【図２】
2016506560.tif 000004
【図３】
2016506560.tif 000005
【図４】
2016506560.tif 000006
【図５】
2016506560.tif 000007
【図６】
2016506560.tif 000008
【図７】
2016506560.tif 000009
【図８】
2016506560.tif 000010
【図９】
2016506560.tif 000011
【図１０】
2016506560.tif 000012
【図１１】
2016506560.tif 000013
【図１２】
2016506560.tif 000014
【図１３】
2016506560.tif 000015
【国際調査報告】
2016506560.tif 000016
2016506560.tif 000017