(58)【調査した分野】(Int.Cl.,DB名)
通信ネットワークを介してWebブラウザを有するユーザ端末、Webページを提供するWebサーバ、前記Webページで表示される特定フォントをサブセットフォントとして前記ユーザ端末に提供するフォント配信サーバ、及び前記フォント配信サーバで認証された認証ファイルを格納するストレージサーバを接続し、前記フォント配信サーバから提供されるサブセットフォントを前記ユーザ端末に複数の配信サーバで構成されたコンテンツデリバリーネットワーク(CDN)を介して提供するWebフォント配信システムにおけるWebフォント配信方法であって、
前記ユーザ端末が、前記WebサーバからWebページを受信する段階と、
前記ユーザ端末が、前記Webページで特定フォントを表示するためのスクリプトファイルを前記CDNに要求し、該CDNから前記スクリプトファイルを受信して解析処理する段階と、
前記ユーザ端末が、前記ストレージサーバにフォントの書体種別及び対象文字列を含む認証ファイルを要求し、該ストレージサーバから前記認証ファイルを受信してスタイルシート(CSS)を設定する段階と、
前記ユーザ端末が、前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントを前記CDNに要求し、該CDNから対応するサブセットフォントを受信する段階と、を有することを特徴とするWebフォント配信方法。
前記フォント配信サーバは、HTTPリクエストヘッダのリファラ(Referer)を参照してリンク元のURLを特定し、予め登録されたWebページのURLに一致した場合にサイト認証して前記認証ファイルを生成することを特徴とする請求項3に記載のWebフォント配信方法。
前記認証ファイルには、ユーザ識別ID及び前記リファラが設定されたパスが含まれ、前記リファラが暗号化されたキーとして含まれることを特徴とする請求項5に記載のWebフォント配信方法。
前記ユーザ端末は、前記認証ファイルに含まれるリファラが暗号化されたキーをURLのパラメータに含めて前記サブセットフォントを前記CDNに要求することを特徴とする請求項6に記載のWebフォント配信方法。
前記フォント配信サーバは、前記リファラが暗号化されたキーを取得して該リファラを復号化してリンク元のWebページを特定し、前記ストレージサーバに格納された認証ファイルを取得して認証が確認されると、認証ファイルに含まれるフォントの書体種別及び対象文字列を基に該当する特定フォントをサブセット化することを特徴とする請求項7に記載のWebフォント配信方法。
通信ネットワークを介してWebブラウザを有するユーザ端末、Webページを提供するWebサーバ、前記Webページで表示される特定フォントをサブセットフォントとして前記ユーザ端末に提供するフォント配信サーバ、及び前記フォント配信サーバで認証された認証ファイルを格納するストレージサーバを接続し、前記フォント配信サーバから提供されるサブセットフォントを前記ユーザ端末に複数の配信サーバで構成されたコンテンツデリバリーネットワーク(CDN)を介して提供するWebフォント配信システムであって、
前記ユーザ端末は、
前記WebサーバからWebページを受信するWebページ受信手段と、
Webページで特定フォントを表示するためのスクリプトファイルを前記CDNに要求し、該CDNから前記スクリプトファイルを受信して解析処理するスクリプトファイル受信手段と、
初回に前記フォント配信サーバにフォントの書体種別及び対象文字列を含む認証ファイルを要求して該認証ファイルを受信し、2回目以降に前記ストレージサーバに前記認証ファイルを要求して該認証ファイルを受信してスタイルシート(CSS)を設定する認証ファイル受信手段と、
前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントを前記CDNに要求し、該CDNから対応するサブセットフォントを受信するサブセットフォント受信手段と、を備え、
前記CDNは、
初回に前記スクリプトファイルをユーザ端末から要求された場合に該スクリプトファイルを前記フォント配信サーバに要求し、生成された該スクリプトファイルを受信して格納すると共に前記ユーザ端末に転送し、2回目以降に同一のスクリプトファイルをユーザ端末から要求された場合に前記格納されたスクリプトファイルを前記ユーザ端末に送信するスクリプトファイル送信手段と、
初回に前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントをユーザ端末から要求された場合に対応するサブセットフォントファイルを前記フォント配信サーバに要求し、生成された該サブセットフォントファイルを受信して格納すると共に前記ユーザ端末に転送し、2回目以降に同一のフォントの書体種別及び対象文字列をユーザ端末から要求された場合に前記格納されたサブセットフォントファイルを前記ユーザ端末に送信するサブセットフォントファイル送信手段と、を備えることを特徴とするWebフォント配信システム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、一般にサービスされているCDN(Contents Delivery Network)を利用して大量のアクセスを処理するWebページフォント配信方法及びそのためのシステムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するためになされた本発明の一特徴によるWebフォント配信方法は、通信ネットワークを介してWebブラウザを有するユーザ端末、Webページを提供するWebサーバ、前記Webページで表示される特定フォントをサブセットフォントとして前記ユーザ端末に提供するフォント配信サーバ、及び前記フォント配信サーバで認証された認証ファイルを格納するストレージサーバを接続し、前記フォント配信サーバから提供されるサブセットフォントを前記ユーザ端末に複数の配信サーバで構成されたコンテンツデリバリーネットワーク(CDN)を介して提供するWebフォント配信システムにおけるWebフォント配信方法であって、前記ユーザ端末が、前記WebサーバからWebページを受信する段階と、前記ユーザ端末が、前記Webページで特定フォントを表示するためのスクリプトファイルを前記CDNに要求し、該CDNから前記スクリプトファイルを受信して解析処理する段階と、前記ユーザ端末が、前記ストレージサーバにフォントの書体種別及び対象文字列を含む認証ファイルを要求し、該ストレージサーバから前記認証ファイルを受信してスタイルシート(CSS)を設定する段階と、前記ユーザ端末が、前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントを前記CDNに要求し、該CDNから対応するサブセットフォントを受信する段階と、を有する。
【0007】
前記スクリプトファイルを受信する段階において、前記CDNは、初回にWebページに記載されたスクリプトファイルをユーザ端末から要求された場合、該スクリプトファイルを前記フォント配信サーバに要求し、該フォント配信サーバで生成されたスクリプトファイルを該フォント配信サーバから受信して格納すると共に前記ユーザ端末に転送し、前記CDNは、2回目以降にWebページに記載された同一のスクリプトファイルをユーザ端末から要求された場合、前記格納されたスクリプトファイルを前記ユーザ端末に送信する。
前記認証ファイルを受信する段階は、前記ユーザ端末が、初回に前記認証ファイルを前記フォント配信サーバに要求し、該フォント配信サーバが、ユーザ端末のサイト認証が得られた場合に、前記認証ファイルを生成して前記ストレージサーバに格納すると共に前記ユーザ端末に送信し、前記ユーザ端末が、2回目以降に前記認証ファイルを前記ストレージサーバに要求し、該ストレージサーバから前記格納された認証ファイルを受信する。
前記サブセットフォントを受信する段階において、前記CDNは、初回に前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントをユーザ端末から要求された場合、対応するサブセットフォントファイルを前記フォント配信サーバに要求し、該フォント配信サーバにより前記ストレージサーバに格納された認証ファイルが確認されて前記ユーザ端末のサイト認証が得られた場合に生成された対応するサブセットフォントファイルを該フォント配信サーバから受信して格納すると共に前記ユーザ端末に転送し、前記CDNは、2回目以降に前記認証ファイルに含まれる同一のフォントの書体種別及び対象文字列に該当する特定フォントをユーザ端末から要求された場合、前記格納されたサブセットフォントファイルを前記ユーザ端末に送信する。
【0008】
前記フォント配信サーバは、HTTPリクエストヘッダのリファラ(Referer)を参照してリンク元のURLを特定し、予め登録されたWebページのURLに一致した場合にサイト認証して前記認証ファイルを生成する。
前記認証ファイルには、ユーザ識別ID及び前記リファラが設定されたパスが含まれ、前記リファラが暗号化されたキーとして含まれる。
前記ユーザ端末は、前記認証ファイルに含まれるリファラが暗号化されたキーをURLのパラメータに含めて前記サブセットフォントを前記CDNに要求する。
前記フォント配信サーバは、前記リファラが暗号化されたキーを取得して該リファラを復号化してリンク元のWebページを特定し、前記ストレージサーバに格納された認証ファイルを取得して認証が確認されると、認証ファイルに含まれるフォントの書体種別及び対象文字列を基に該当する特定フォントをサブセット化する。
【0009】
上記目的を達成するためになされた本発明の一特徴によるWebフォント配信システムは、通信ネットワークを介してWebブラウザを有するユーザ端末、Webページを提供するWebサーバ、前記Webページで表示される特定フォントをサブセットフォントとして前記ユーザ端末に提供するフォント配信サーバ、及び前記フォント配信サーバで認証された認証ファイルを格納するストレージサーバを接続し、前記フォント配信サーバから提供されるサブセットフォントを前記ユーザ端末に複数の配信サーバで構成されたコンテンツデリバリーネットワーク(CDN)を介して提供するWebフォント配信システムであって、前記ユーザ端末は、前記WebサーバからWebページを受信するWebページ受信手段と、Webページで特定フォントを表示するためのスクリプトファイルを前記CDNに要求し、該CDNから前記スクリプトファイルを受信して解析処理するスクリプトファイル受信手段と、初回に前記フォント配信サーバにフォントの書体種別及び対象文字列を含む認証ファイルを要求して該認証ファイルを受信し、2回目以降に前記ストレージサーバに前記認証ファイルを要求して該認証ファイルを受信してスタイルシート(CSS)を設定する認証ファイル受信手段と、前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントを前記CDNに要求し、該CDNから対応するサブセットフォントを受信するサブセットフォント受信手段と、を備え、前記CDNは、初回に前記スクリプトファイルをユーザ端末から要求された場合に該スクリプトファイルを前記フォント配信サーバに要求し、生成された該スクリプトファイルを受信して格納すると共に前記ユーザ端末に転送し、2回目以降に同一のスクリプトファイルをユーザ端末から要求された場合に前記格納されたスクリプトファイルを前記ユーザ端末に送信するスクリプトファイル送信手段と、初回に前記認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントをユーザ端末から要求された場合に対応するサブセットフォントファイルを前記フォント配信サーバに要求し、生成された該サブセットフォントファイルを受信して格納すると共に前記ユーザ端末に転送し、2回目以降に同一のフォントの書体種別及び対象文字列をユーザ端末から要求された場合に前記格納されたサブセットフォントファイルを前記ユーザ端末に送信するサブセットフォントファイル送信手段と、を備える。
【発明の効果】
【0010】
本発明のWebフォント配信方法によれば、一般にサービスされているCDN(Contents Delivery Network)をキャッシュサーバとして利用し、Webページの変更がない場合にキャッシュサーバであるCDNから即時にサブセットフォントを配信するため、応答速度が向上して大量のアクセスを処理することができ、Webページの変更があった時のみオリジンサーバであるフォント配信サーバにアクセスして新たなフォントのサブセット化を行うため、オリジンサーバのインスタンス数を減らすことができて経済的である。
【発明を実施するための形態】
【0012】
以下、本発明のWebフォント配信方法及びそのためのシステムを実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【0013】
図1は、本発明の一実施形態によるWebフォント配信システムの概略構成図である。
【0014】
図1を参照すると、本実施形態のWebフォント配信システムは、通信ネットワーク6に接続されたユーザ端末1、Webサーバ2、フォント配信サーバ3、コンテンツデリバリーネットワーク(CDN)4、及びストレージサーバ5を備える。
【0015】
ユーザ端末1は、デスクトップPC(パーソナルコンピュータ)、ノートPC、タブレットPC、スマートフォン等であり、Webブラウザを備えてWebページを表示する。ユーザ端末1は、Wi−Fi等の無線LANを備えてもよく、この場合アクセスポイント(AP)7を介して通信ネットワーク6に接続される。また、ユーザ端末1は携帯電話通信網やLTE(Long Term Evolution)通信網等の無線通信ネットワーク8を介して通信ネットワーク6に接続されてもよい。
【0016】
Webサーバ2は、ユーザ端末1からアクセスされてユーザ端末1にWebページを送信し、ユーザ端末1のWebブラウザによってWebページが表示される。
【0017】
フォント配信サーバ3は、ユーザ端末1にインストールされていないフォントをユーザ端末1のWebブラウザで表示されるようにWebページの該当する特定フォントをサブセット化し、CDN4を介してユーザ端末1に配信する。ユーザ端末1は、配信されたサブセットフォントを用いてWebページを製作者の意図するフォントで正しく表示することができる。
【0018】
CDN4は、デジタルコンテンツを大量に配信できるように複数の配信ポイント(配布サーバ4a)がネットワーク上の様々な場所に設置されて構築され、ユーザ端末1のネットワーク位置に応じた最適な配布ポイントから配布されるように構成されたネットワークシステムであり、本発明は、ユーザ端末1にインストールされていないフォントをユーザ端末1のWebブラウザ上で表示するためにフォント配布サーバ3から提供されるサブセットフォントをCDN4にキャッシュして配信することで大量のアクセスを処理する。具体的に、ユーザ端末1のWebブラウザからWebサーバ2にHTTPリクエストされたWebページの特定フォントに対応するサブセットフォントをCDN4の各地域のキャッシュサーバに蓄積し、次回からそのWebブラウザの在る地域に最も近いキャッシュサーバから応答することでHTTPレスポンスの速度を向上させる。このようにWebページに変更があった場合にのみオリジンサーバであるフォント配信サーバ3にCDN4からHTTPリクエストを受けるようにすることで、フォント配信サーバ3による動的フォント配信の問題点を解消する。
【0019】
ストレージサーバ5は、フォント配信サーバ3からCDN4を介してユーザ端末1にサブセットフォントを配信するために、暗号化したリンク元のWebページのURL及び該当するフォントの書体種別及び対象文字列情報を認証ファイルとして格納する。
【0020】
以下、CDN4を利用せずに直接ユーザ端末にサブセットフォントを配信するフォント配信システムの構成とその処理手順について最初に説明する。
【0021】
図2は、CDNを利用しないフォント配信システムの構成を説明する図であり、
図3は、
図2に示すフォント配信システムの処理手順を示す図である。
【0022】
図2を参照すると、フォント配信システムは、Webブラウザを備えたユーザ端末1、ユーザ端末1にインストールされていない特定フォントを含むWebページを配信するWebサーバ2、ユーザ端末1にインストールされていないWebページ上の特定フォントをサブセットフォントとして提供するフォント配信サーバ3、及びWebサーバ3にWebページを提供するホームページ製作会社9で構成される。
【0023】
先ず、ホームページ製作会社9は、Webページを作成901し、Webページを配信するサイト(Webサーバ2)をフォント配信サーバ3に申請する(ステップS201)。
【0024】
フォント配信サーバ3は、ホームページ製作会社9に関する契約情報を含むデータベース301を参照して契約情報の確認が得られた場合、ユーザ端末1のWebブラウザ上でサブセットフォントを使用して特定フォントを表示するためのスクリプトが記載されたスクリプトファイル(例えば、JSファイル)を生成する(ステップS202)。
【0025】
ホームページ製作会社9は、スクリプトファイルのURLを確認(ステップS203)すると共に、このスクリプトファイルを参照するようにWebページに組み込み、スクリプトファイルの参照が組み込まれたWebページを掲載サイト(Webサーバ2)にアップロードする(ステップS204)。
【0026】
ホームページ閲覧者がユーザ端末1のWebブラウザからWebサーバ2にアクセスすると(ステップS205)、Webブラウザはフォント配信サーバ3に保存された該当するスクリプトファイルをダウンロードし、Webブラウザでスクリプト(例えば、java(登録商標)script)が起動されてフォント配信サーバ3に提供されたフォントの種類を問い合わせ、オリジナルフォントが使われている箇所を解析して該当する特定フォントが使用されている箇所の情報(フォント名、文字列)を抽出し、フォント配信サーバ3に送信する(ステップS206、ステップS207)。
【0027】
ユーザ端末1のWebブラウザは、スクリプトによってWebページで使われているフォントと、そのフォントを適用する文字列を抽出し、フォントの定義情報としてHTMLやCSS(スタイルシート)を変更する。CSSでは@font−faceでWebフォントのURLを記述することで、フォント配信サーバ3に特定フォントに対応するサブセットフォントを要求する。
【0028】
フォント配信サーバ3は、ユーザ端末1のWebブラウザからの要求によりフォント名で指定されたオリジナルフォントから文字列を抽出してフォントのサブセット化306を行い(ステップS208)、サブセット化されたフォントを各ブラウザに適合した配布用フォント308のフォントファイルを生成し(ステップS209、ステップS210)、利用されているWebブラウザの種別に応じたフォントファイルに変換したフォントデータをユーザ端末1に応答する(ステップS211)。
【0029】
ユーザ端末1のWebブラウザは、受信したフォントデータにより、ユーザ端末1にインストールされていない特定フォントをWebページ上で閲覧することができる。
【0030】
図3を参照して、上述の処理手順を説明すると、ユーザ端末1でWebブラウザが起動され、Webサーバに接続されてWebページを受信すると(ステップS301)、Webブラウザは、Webページに記載されたスクリプトファイル(例えば、java(登録商標)scriptファイル)をフォント配信サーバ3に要求する(ステップS302)。
【0031】
フォント配信サーバ3は、ユーザ端末1のWebブラウザでサブセットフォントを使用してWebページの特定フォントを表示するためのスクリプトが記載されたスクリプトファイルを生成する(ステップS303)。
【0032】
ユーザ端末1のWebブラウザは、フォント配信サーバ3で生成されたスクリプトファイルをダウンロードし(ステップS304)、その内容を解析処理して(ステップS305)該当する特定フォントが使用されている箇所の情報(フォントの書体種別及び対象文字列)に適合するようにHTMLやCSSを変更し(ステップS306)、特定フォントに対応するサブセットフォントをフォント配信サーバに要求する(ステップS306)。
【0033】
フォント配信サーバ3は、HTTPリクエストヘッダのリファラ(Referer)を参照してリンク元のWebページのURLを確認し、予め登録された情報を照合してサイト認証が得られた場合(ステップS308)、該当する特定フォントのサブセット化を行い、HTTPリクエストヘッダから得られたWebブラウザの種類に適合するファイル変換を行って(ステップS309)生成されたサブセットフォントファイルをユーザ端末1に送信する(ステップS310)。
【0034】
ユーザ端末1のWebブラウザは、Webページに適合するサブセットフォントファイルを受信して、特定フォントを含むWebページを製作者の意図通りのフォントで表示する。
【0035】
次に、
図1に示した本発明の一実施形態によるWebフォント配信システムの主な構成要素について説明する。
【0036】
図4は、
図1に示すユーザ端末1の概略構成図である。
【0037】
図4を参照すると、ユーザ端末1は、制御手段11、通信手段12、入出力手段13、及び記憶手段14を備え、これらのハードウエア、及び他のソフトウエアと連携したアプリケーションを実装してWebブラウザ15を具現する。
【0038】
Webブラウザ15は、スクリプトファイル受信手段151、認証ファイル受信手段152、及びサブセットフォント受信手段153を備える。
【0039】
制御手段11は、CPU(中央処理装置)によりユーザ端末1の各種処理を司り、Webブラウザ15等のアプリケーションを実行する。
【0040】
通信手段12は、ユーザ端末1を直接通信ネットワークに接続するか、或いは携帯電話通信網やLTE通信網等の無線通信ネットワーク8又はIEEE802.11b/g/n/a/ac等の無線LANのアクセスポイント7に接続する。
【0041】
入出力手段13は、一般的なキーボード及びマウス等のポインティングデバイスとモニター、或いはタッチパッド等の入力装置とLCDディスプレイ等の表示装置とを組み合わせたタッチパネル等の入出力装置(図示せず)を含む。
【0042】
記憶手段14は、ROM、RAM、Flashメモリ等の記憶装置からなり、本実施形態で機能するWebブラウザ及び各手段は、アプリケーションプログラムを実装することで、関連するハードウエアを利用したソフトウエア処理により具現される。
【0043】
スクリプトファイル受信手段151は、Webブラウザ(Webページ受信手段)によりWebサーバ2から受信したWebページに記載されたスクリプトファイルをCDN4に要求し、CDN4から受信したスクリプトファイルから特定フォントを表示するためのスクリプトを解析処理し、以降の認証ファイル受信手段152及びサブセットフォント受信手段153を具現する。
【0044】
認証ファイル受信手段152は、ユーザ端末1にインストールされていないWebページの特定フォントの書体種別及び対象文字列を含む認証ファイルをストレージサーバ5に要求し、ストレージサーバ5から認証ファイルを受信してWebページの該当箇所の特定フォントが表示されるようにHTML本文及びスタイルシート(CSS)を変更して再設定する。この場合、Webブラウザは、初回、ストレージサーバ5に該当する認証ファイルがないために発生するHTTPエラーに応答し、フォント配信サーバ3に認証ファイルを要求してフォント配信サーバ3から認証ファイルを受信し、2回目以降、ストレージサーバ5にキャッシュされた認証ファイルを要求してストレージサーバ5から認証ファイルを受信する。或いは、HTTPエラーを利用せずにクッキーを使用して、初回はフォント配信サーバ3に、2回目以降はストレージサーバ5に認証ファイルを要求するようにしてもよい。又は、常にフォント配信サーバ3に認証ファイルを要求し、フォント配信サーバ3が2回目以降にストレージサーバ5を介して認証ファイルを配信するようにすることもできる。なお、この場合、ストレージサーバ5は、フォント配信サーバ3内に設けられた記憶装置であっても良い。
【0045】
サブセットフォント受信手段153は、認証ファイルに含まれるフォントの書体種別及び対象文字列に該当する特定フォントをCDN4に要求し、CDN4から対応するサブセットフォントを受信する。Webブラウザは、受信したサブセットフォントを用いてWebページを製作者の意図するフォントで正しく表示する
【0046】
図5は、
図1に示すフォント配信サーバ3の概略構成図である。
【0047】
図5を参照すると、フォント配信サーバ3は、MPU(マイクロプロセッサ)により各種処理を司る制御手段31、通信ネットワーク6と接続する通信手段32、管理端末(図示せず)としてキーボードやマウス等の入力装置とLCD(液晶表示装置)等の出力装置(図示せず)を含む入出力手段33、及び記憶装置を含むデータベース34を備えるコンピュータシステムで構成され、これらのハードウエア及びソフトウエアと連携したアプリケーションを実装して、スクリプトファイル生成手段35、サイト認証手段36、認証ファイル生成手段37、及びサブセットフォント生成手段38を具現する。
【0048】
スクリプトファイル生成手段35は、CDN4を介してユーザ端末1から要求されたユーザ端末1のWebブラウザでサブセットフォントを使用してWebページ上の特定フォントを表示するためのスクリプトファイルを生成してCDN4に送信する。ユーザ端末1がCDN4にスクリプトファイルを要求した場合、初回は、CDN4にスクリプトファイルがキャッシュされていないため、CDN4からスクリプトファイルが要求される。
【0049】
サイト認証手段36は、ユーザ端末1からWebブラウザでWebページ上の特定フォントを表示するためのフォントの書体種別及び対象文字列を含む認証ファイルが要求された場合、HTTPリクエストヘッダのリファラ(Referer)を参照してリンク元のWebページのURLを特定し、予め登録されたURLと照合してWebページのサイト認証を行う。また、CDN4を介してユーザ端末1からサブセットフォントが要求された場合、CDN4から受信したHTTPリクエストに含まれるリンク元であるサーバ2に掲載されたWebページのURLを含むリファラを暗号化したキーを取得して復号化し、予め登録されたURLと照合してWebページのサイト認証を行う。
【0050】
認証ファイル生成手段37は、サイト認証が得られた場合、ユーザ端末1から要求されたWebブラウザでWebページ上の特定フォントを表示するためのフォントの書体種別及び対象文字列とリンク元のWebページのURLを特定するためのリファラを暗号化したキーを含む認証ファイルを生成してストレージサーバ5に格納すると共にユーザ端末1に送信する。ユーザ端末1がストレージサーバ5に認証ファイルを要求した場合、初回は、ストレージサーバに認証ファイルがキャッシュされていないためHTTPエラーが発生し、HTTPエラーを受けてユーザ端末1から認証ファイルが要求される。
【0051】
サブセットフォント生成手段38は、ストレージサーバ5に格納された認証ファイルを取得し、CDN4を介してユーザ端末1から要求された該当するフォントの書体種別及び対象文字列を確認し、要求されたフォントの書体種別及び対象文字列を基にフォントをサブセット化し、CDN4から受信したHTTPリクエストに含まれる暗号化されたリファラを復号化してユーザ端末1のブラウザの種類を特定し、ユーザ端末1のブラウザに適合するファイル形式に変換してCDN4に送信する。ユーザ端末1がCDN4にサブセットフォントを要求した場合、初回は、CDN4にサブセットフォントファイルがキャッシュされていないため、CDN4からサブセットフォントが要求される。
【0052】
図6は、
図1に示すコンテンツ配信サーバ4aの概略構成図である。
【0053】
図6を参照すると、コンテンツ配信サーバ4aは、上述したようにCDNの一配布ポイントであり、MPU(マイクロプロセッサ)によりCDNの分散処理を含む各種処理を司る制御手段41、CDN4及び通信ネットワーク6と接続する通信手段42、管理端末(図示せず)としてキーボードやマウス等の入力装置とLCD(液晶表示装置)等の出力装置(図示せず)を含む入出力手段43、及び記憶装置を含むデータ格納手段44を備えるコンピュータシステムで構成され、これらのハードウエア及びソフトウエアと連携したアプリケーションを実装して、スクリプトフォント送信手段45及びサブセットフォント送信手段46を具現する。
【0054】
スクリプトフォント送信手段45は、ユーザ端末1から同一のスクリプトファイルを要求された場合、キャッシュされたスクリプトファイルをユーザ端末1に送信する。初回は、スクリプトファイルが格納されていないため、ユーザ端末1から要求されたスクリプトファイルをフォント配信サーバ3に要求し、フォント配信サーバ3から生成されたスクリプトファイルを受信して格納すると共にユーザ端末に転送する。
【0055】
サブセットフォント送信手段46は、ユーザ端末1から認証ファイルに含まれる同一のフォントの書体種別及び対象文字列に該当する特定フォントが要求された場合、キャッシュされた対応するサブセットフォントファイルをユーザ端末1に送信する。初回は、サブセットフォントファイルが格納されていないため、ユーザ端末1からアクセスされたWebページのURLを特定するためのHTTPリクエストヘッダに含まれるリファラを暗号化したキーを認証ファイルから取得し、HTTPリクエストに暗号化したキーを含めて(即ち、URLのパラメータとして)該当する特定フォントをフォント配信サーバ3に要求し、フォント配信サーバ3から対応するサブセットフォントファイルを受信して格納すると共にユーザ端末1に転送する。
【0056】
最後に、
図7を参照して本発明の一実施形態によるCDNを利用したWebフォント配信システムにおけるWebフォント配信方法について説明する。なお、
図2及び
図3を参照して上述したCDNを利用しないフォント配信システムにおけるフォント配信サーバ3の処理と同様の処理内容については重複する説明を省略する。
【0057】
図7は、
図1に示すWebフォント配信システムの処理手順を示す図である。
【0058】
図7を参照すると、ユーザ端末1でWebブラウザが起動され、Webサーバに接続されてWebページを受信すると(ステップS701)、Webブラウザは、Webページの特定フォントを表示するためのスクリプトファイル(例えば、java(登録商標)scriptファイル)をCDN4に要求する(ステップS702)。
【0059】
Webページのスクリプトは、例えば、
<script type="text/javascript"
src="http://cdn.fontplus.jp/script/fontplus.js?xxxxx&yyyyy"
charset="utf-8"></script>
のように記載され、フォント配信サーバ3にユーザのWebサイト(Webサーバ2)のURLを登録し、Webページの特定フォントが適用される箇所を、例えば、
CSS:font−family
のようにスタイルシート(CSS)で指定する。
【0060】
CDN4は、ユーザ端末1のWebブラウザからスクリプトファイルが要求されると、初回は、スクリプトファイルが格納されていないため、Webブラウザから要求されたスクリプトファイルをフォント配信サーバ3に要求する(ステップS703)。
【0061】
フォント配信サーバ3は、CDN4を介してユーザ端末1のWebブラウザから要求されたスクリプトファイルを生成して(ステップS704)CDN4に送信する(ステップS705)。
【0062】
CDN4は、フォント配信サーバ3から受信したスクリプトファイルを格納すると共に(ステップS706)、受信したスクリプトファイルをユーザ端末1に送信する。CDN4は、2回目以降にユーザ端末1のWebブラウザから同一のスクリプトファイルが要求されると、キャッシュされたスクリプトファイルをユーザ端末1に送信する(ステップS707)。
【0063】
ユーザ端末1のWebブラウザは、CDN4から受信したスクリプトファイルから特定フォントを表示するためのスクリプトを解析処理し(ステップS708)、以降の処理をスクリプトによって具現する。Webブラウザは、スクリプト実行し、ユーザ端末1にインストールされていないWebページの特定フォントの書体種別及び対象文字列を含む認証ファイルをストレージサーバ5に要求する。初回は、ストレージサーバ5に該当する認証ファイルがないためにHTTPエラーが発生する。HTTPエラーが発生すると、Webブラウザは、フォント配信サーバ3に直接アクセスして認証ファイルを要求する(ステップS709)。
【0064】
フォント配信サーバ3は、ユーザ端末1のWebブラウザからWebページの特定フォントを表示するためのフォントの書体種別及び対象文字列を含む認証ファイルが要求されると、HTTPリクエストヘッダのリファラ(Referer)を参照してリンク元のWebページのURLを特定し、予め登録されたURLと照合してWebページのサイト認証を行い、サイト認証が得られると、リンク元のWebページのURLを特定するためのHTTPリクエストヘッダのリファラを暗号化したキーを生成し、ユーザ端末1のWebブラウザから要求されたWebページ上の特定フォントを表示するためのフォントの書体種別及び対象文字列とURLを特定するためのリファラを暗号化したキーを含む認証ファイルを生成し(ステップS710)、ストレージサーバ5に送信して(ステップS711)格納すると共に(ステップS712)ユーザ端末1に送信する(ステップS713)。ここで、認証ファイルに含まれるパスにユーザ識別IDとリファラ値を設定することで、不特定多数のユーザ端末1のWebブラウザからのHTTPリクエストのパスを共通化することができる。
【0065】
ストレージサーバ5は、2回目以降にユーザ端末1のWebブラウザから同一の認証ファイルが要求されると(ステップS714)、キャッシュされた認証ファイルをユーザ端末1に送信する(ステップS715)。
【0066】
ユーザ端末1のWebブラウザは、認証ファイルを受信すると、Webページで該当する特定フォントが使用されている箇所のフォントの書体種別及び対象文字列に適合するようにHTML本文とCSS(スタイルシート)を変更して再設定すると共に(ステップS716)、URLを特定するためのリファラを暗号化したキーを認証ファイルから取得し、CDN4のHTTPリクエストのURLパラメータに暗号化したキーを含めて該当する特定フォントをCDN4に要求する(ステップS717)。
【0067】
URLパラメータにリファラを暗号化したキーを含めて送信する理由は、CDNサービスの殆どが、WebブラウザがHTTPリクエストした時に対象WebページのURLが格納されたリファラ値をオリジンサーバに送らないため、フォントを配信してよいかの判断ができないためである。
【0068】
CDN4は、ユーザ端末1のWebブラウザから特定フォントが要求されると、初回は、サブセットフォントファイルが格納されていないため、HTTPリクエストのURLに含まれるリンク元のリファラが暗号化されたキーを抽出し、フォント配信サーバ3のHTTPリクエストのURLパラメータに暗号化したキーを含めて該当する特定フォントをフォント配信サーバ3に要求する(ステップS718)。
【0069】
フォント配信サーバ3は、CDN4を介してユーザ端末1から特定フォントが要求されると、CDN4から受信したHTTPリクエストのURLに含まれるリンク元のWebページのURLを含むリファラが暗号化されたキーを復号化して抽出し、予め登録されたURLと照合してWebページのサイト認証を行う(ステップS719)。フォント配信サーバ3は、サイト認証が得られると、ストレージサーバ5に格納された認証ファイルを取得し、CDN4を介してユーザ端末1から要求された該当するフォントの書体種別及び対象文字列を確認し(ステップS720)、要求されたフォントの書体種別及び対象文字列を基にフォントをサブセット化し、また、Webページのスクリプトで判定されたCDNのURLに含まれるフォント種別よりユーザ端末1のブラウザの種類に適合するファイル形式に変換した(ステップS721)サブセットフォントファイルをCDN4に送信する(ステップS722)。
【0070】
CDN4は、フォント配信サーバ3から受信した対応するサブセットフォントファイルを格納すると共に(ステップS723)、受信した対応するサブセットフォントファイルをユーザ端末1に転送する。CDN4は、2回目以降にユーザ端末1のWebブラウザから同一の特定フォントを要求されると、キャッシュされた対応するサブセットフォントファイルをユーザ端末1に送信する(ステップS724)。
【0071】
ユーザ端末1のWebブラウザは、Webページに適合するサブセットフォントファイルを受信して、特定フォントを含むWebページを製作者の意図通りのフォントで表示する(ステップS725)。
【0072】
以上、図面を参照しながら本発明の実施形態について説明したが、本発明は、上述の実施形態に限られるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。