【手続補正書】
【提出日】平成23年5月30日(2011.5.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】ウェブメディア資源特定システム、及び方法
【技術分野】
【０００１】
本発明はオンラインコンテンツに関し、より詳細には、描画されるウェブページ内のメディア資源を特定してそれに対するダウンロードリンクを提供するための方法に関する。
【背景技術】
【０００２】
インターネットとは、標準インターネットプロトコル（「ＩＰ」）を用いたパケット交換によりデータを送信する相互接続されたコンピュータネットワークの、公衆によるアクセスが可能な世界的規模のネットワークである。「ネットワークのネットワーク」は、多くのより小さな家庭内ネットワーク、学術ネットワーク、ビジネスネットワーク、及び政府ネットワークから構成されるのであり、それらネットワークが一緒になって、例えば電子メール、オンラインチャット、フィルタ転送、相互リンクされたウェブページ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの他のドキュメント等、さまざまなサービスを可能にする。
【０００３】
インターネットを介してビデオやオーディオを流通させることが、非常に普及している。特に、ブロードバンドインターネットアクセスがより日常的なものとなったため、メディアクリップがウェブページに組み込まれること、あるいはウェブページにリンクされることがしばしばある。ユーザに対してオンラインメディアを提示する新たなウェブサイトが頻繁に登場しており、現在ではオンラインで利用可能なメディアクリップが多数存在する。それらサイトの中で最も人気のあるものの一つが、カリフォルニア州マウンテンビューのＧｏｏｇｌｅ，Ｉｎｃにより提供されるＹｏｕＴｕｂｅであって、そこにおいては、有名なメディア源が作成したメディアと共に、小さなグループやアマチュアが作成したメディアも取り上げられている。２００６年の３月から７月までの間に、ＹｏｕＴｕｂｅ単独での一日あたりのビデオ閲覧数が３０００万から１億へと増加した。
【０００４】
ＹｏｕＴｕｂｅのように献身的なビデオ共有サイトに加えて、多くの既存のラジオ放送局、テレビ放送局が、ライブ音声やビデオストリームのインターネット供給を行っている（例えば、Ｂｒｉｔｉｓｈ  Ｂｒｏａｄｃａｓｔｉｎｇ  Ｓｅｒｖｉｃｅがある。）。放送局は、ユーザが視聴する時刻をシフトさせることを可能にするかもしれない。
【０００５】
オンラインメディアを提供するウェブサイトは非常に多く存在するため、例えばコンピュータ、ゲーム機、セットトップボックス、携帯用コンピュータ、携帯電話、あるいは他の装置等のインターネットに接続された装置を用いて、従来はテレビやラジオ受信器を用いることによってのみ可能であったやり方と大体同じやり方でオンラインメディアにアクセスすることができる。
【０００６】
インターネット上でメディアを流通させるために用いられる、最も普及しているフォーマットのひとつは、Ｆｌａｓｈ  Ｖｉｄｅｏ、またはＦＬＶフォーマットである。他に普及しているフォーマットとしては、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏ，ＲｅａｌＭｅｄｉａ，Ｑｕｉｃｋｔｉｍｅ，及びＤｉｖＸがある。Ｆｌａｓｈ  Ｖｉｄｅｏを含む、これらフォーマットの多くによってエンコードされたオンラインメディアを、ウェブブラウザ、あるいはオンラインで閲覧するための他のクライアントへストリーム配信することもできるし、あるいは、それらを記憶装置にダウンロードさせることもできる。多くのユーザは、ストリーム配信を受けるよりも、むしろメディアの一つ一つをダウンロードすることを好む。それは、ユーザは彼あるいは彼女がオフラインである可能性もある時においてそのメディアを視聴することを好むかもしれないということや、将来、そのメディアをホスティングしているウェブサイトが閉鎖された時であっても彼あるいは彼女が視聴できるよう、コピーを保管することをユーザが好むかもしれないということや、ユーザが、ファイルへのリンクではなくそのファイル自体を他者と共有することを好むかもしれないということや、その他の多種多様な理由によりユーザがメディアをダウンロードすることを好むかもしれないことといった、さまざまな理由による。
【０００７】
ウェブサイトからメディアコンテンツをダウンロードする方法は、多数存在する。サイトが、その描画されているページ上でファイルへの直接のリンクを提供している場合、メディアファイルのダウンロードは、右クリックをして「リンクを…として保存する」か、又は何らかの類似した命令を選択するように容易いものであるかもしれない。また、たとえウェブサイトが直接のリンクを描画していない場合であっても、ウェブページのＨＴＭＬソースから、明示的なリンクを抽出する周知の方法が存在する。しかしながら、ウェブサイトにおいて、ユーザによるメディアファイルのダウンロードを困難なものとすることは、一般的によく行われている。ダウンロードを困難にするための一つの技法は、メディアクリップへ直接リンクする、あるいはメディアクリップを組み込むのではなく、ウェブページ内で「ラッパ」にリンクする、あるいはウェブページ内に「ラッパ」を組み込むことである。メディアラッパの一般的な例としては、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ  ｍｅｄｉａ  ｐｌａｙｅｒ，Ｆｌａｓｈ  ｍｅｄｉａ  ｐｌａｙｅｒ，ＡｃｔｉｖｅＸ  ｍｅｄｉａ  ｐｌａｙｅｒ，ＶＢＳｃｒｉｐｔ  ｐｌａｙｅｒｓ等がある。
【０００８】
Ｊａｖａ（登録商標）Ｓｃｒｉｐｔは、Ｍｏｚｉｌｌａ−Ｆｏｕｎｄａｔｉｏｎ（カリフォルニア州マウンテンビュー）によってＥＣＭＡＳｃｒｉｐｔ標準を実装したものの名称であり、プロトタイプベースのプログラミング概念に基づいたスクリプト言語である。その言語は、ウェブサイトにおいて（クライアント側のＪａｖａ（登録商標）Ｓｃｒｉｐｔとして）用いられることで最も知られているが、アプリケーションに組み込まれたオブジェクトへの、スクリプトによるアクセスを可能とするためにも用いられる。
【０００９】
Ａｄｏｂｅ  Ｆｌａｓｈ、あるいは単にＦｌａｓｈとは、カリフォルニア州サンノゼにあるＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．のＡｄｏｂｅ  Ｆｌａｓｈ  Ｐｌａｙｅｒを指す。Ｆｌａｓｈ  Ｐｌａｙｅｒは、最も普及したウェブブラウザにおいて使用可能なクライアントアプリケーションである。それは、オーディオとビデオとの双方向ストリーミング、ＡｃｔｉｏｎＳｃｒｉｐｔと呼ばれるスクリプト言語、そしてベクトルとラスターのグラフィックをサポートすることを特徴としている。他にも、インターネットタブレット、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）、ニューヨーク州ロチェスターにあるＥａｓｔｍａｎ  Ｋｏｄａｋ  Ｃｏ．のＫｏｄａｋ  Ｅａｓｙｓｈａｒｅ  Ｏｎｅカメラ、そして日本のソニー株式会社のＰｌａｙｓｔａｔｉｏｎ  Ｐｏｒｔａｂｌｅのような、ＰＣではない他の装置や移動電話のためのＦｌａｓｈ  Ｐｌａｙｅｒのバージョンが存在する。
【００１０】
ＡｃｔｉｖｅＸとは、ワシントン州レドモンドにあるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．のＭｉｃｒｏｓｏｆｔ  Ｃｏｍｐｏｎｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ（ＣＯＭ）に基づく、再利用可能なソフトウェアコンポーネントを示すために使われる用語である。ＡｃｔｉｖｅＸコントロールは、カプセル化された再利用可能な機能をプログラムに対して提供する。それらは典型的には目に見える性質を有するが、必ずしもそのようなものに限られるわけではない。ＡｃｔｉｖｅＸコントロールの例としては、カリフォルニア州サンノゼのＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．によるＡｄｏｂｅ  Ｒｅａｄｅｒ及びＡｄｏｂｅ  Ｆｌａｓｈ  Ｐｌａｙｅｒ、カリフォルニア州クパチーノにあるＡｐｐｌｅ  Ｉｎｃ．のＱｕｉｃｋＴｉｍｅ  Ｐｌａｙｅｒ、ワシントン州レドモンドにあるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．によるＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｐｌａｙｅｒ、ワシントン州シアトルにあるＲｅａｌＮｅｔｗｏｒｋｓ，Ｉｎｃ．のＲｅａｌＰｌａｙｅｒ，そして、カリフォルニア州サンタクララにあるＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．のＪａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅがある。
【００１１】
ＶＢＳｃｒｉｐｔ（Ｖｉｓｕａｌ  Ｂａｓｉｃ  Ｓｃｒｉｐｔｉｎｇ  Ｅｄｉｔｉｏｎの省略である）は、ワシントン州レドモンドにあるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．のＷｉｎｄｏｗｓ（登録商標）Ｓｃｒｉｐｔ  Ｈｏｓｔを介して解釈される、動的スクリプティング言語である。Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒにおいて採用された場合、ＶＢＳｃｒｉｐｔはその機能においてＪａｖａ（登録商標）Ｓｃｒｉｐｔと非常に類似しており、ＨＴＭＬに組み込まれたコードを処理する。また、スタンドアロンのＨＴＭＬアプリケーション（ファイル拡張子．ｈｔａ）を作成するためにＶＢＳｃｒｉｐｔを用いることも可能である。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
現在、Ｙｏｕｔｕｂｅ，Ｖｉｍｅｏ，及びＧｒｏｕｐｅｒのような人気のあるウェブサイトは、メディア資源を難読化するためにラッパを活用している。ラッパの背後で難読化されたメディア資源をダウンロードするための、当該技術分野で知られている方法が存在するものの、従来の方法は全て、多くの点で不十分である。
【００１３】
知られている方法の一つは、所定のウェブページ上のコンテンツを、或るウェブサイトがメディア資源を難読化するために用いている技術的方法を詳述するカタログと比較することにより、メディア資源を特定するというものである。問題となっているウェブページが既知のウェブサイトによってホストされているならば、そのページ上で難読化されているメディア資源をこの方法によって特定し、ユーザによるダウンロードを可能とすることができる。例えばそのカタログにより、ある者は、http://hiddenvids.com/video/fooのウェブページがhttp://secret.hiddenvids.com/video/foo.mpgに置かれたビデオ資源を含んでいるであろう、と推定することができる。この方法は、例えばブラウザのプラグインとしてクライアント上で実行可能であるし、あるいは、クライアントと目標ウェブサイトとの間の媒介物としての役割を果たすプロキシサーバを用いて実行することができる。
【００１４】
この方法の欠点としては、各々の個別ウェブサイトをカタログ化することが要求されること、及び、ウェブサイトの運営者がその難読化戦略を変更した場合にアップデートできるよう、各々個別のカタログエントリを絶えず気にしなければならないということがある。例えば、この方法は、新しいウェブサイトの難読化スキームが分析されてカタログに入力されるまでの間は、そのウェブサイト上のメディア資源を発見するための手段を有しないであろう。加えて、既知のウェブサイトの運営者がその難読化スキームを変更した場合、たとえそれが、例えばメディア資源を記憶するホストの名称を変更する等の単純な方法によるものであったとしても、この方法によっては、その既知のサイト上でメディア資源を特定することさえできないであろう。
【００１５】
知られている別の方法は、「ストリームリッピング」である。この方法を用いて、クライアントはストリーミングされているメディア資源に対応するデータストリームを傍受するのであり、これによりユーザは、そのデータの出力先を記憶媒体上のファイルへと変更することができる。この方法の欠点としては、メディア資源がリアルタイムでストリーミングされていなければならないことがある。これは、３０分のメディア資源を獲得するためには最大３０分かかるであろうということを意味する。
【図面の簡単な説明】
【００１６】
【図１】図１は、一実施形態に従うネットワーク内における、多数の装置の系統図である。
【図２】図２は、一実施形態に対する例示的動作環境を与える機器のブロック図である。
【図３】図３は、一実施形態に従うさまざまな装置間の関係を記述するデータフロー図である。
【図４】図４は、一実施形態に従うメディア資源特定ルーチンを記述するフロー図である。
【図５】図５は、一実施形態に従う、メディア資源、ページ要素関連付けサブルーチンを記述するフロー図である。
【図６】図６は、視覚的指示を介してタグ付けされたメディア資源を有するウェブページを、一実施形態に従って描いている。
【図７】図７は、選択可能なメニューを介して特定されるメディア資源を有するウェブページを、一実施形態に従って描いている。
【図８】図８は、選択可能な要素を介してダウンロードすることができる、ストリーミングされるメディア資源を有するウェブページを、一実施形態に従って描いている。
【図９】図９は、ダウンロードすることのできないものとして特定される、ストリーミングされるメディア資源を有するウェブページを、一実施形態に従って描いている。
【図１０】図１０は、ストリーミングされるメディア資源と同時のダウンロードとを含むウェブページを、一実施形態に従って描いている。
【発明を実施するための形態】
【００１７】
以下に続く詳細な説明は、プロセッサ、プロセッサのためのメモリ記憶装置、接続されたディスプレイ装置及び入力装置を含む、従来のコンピュータ部品による動作の象徴的な描画と処理に関して示される。さらに、これらの処理と動作は、リモートファイルサーバ、コンピュータサーバ、及びメモリ記憶装置を含む、異種分散型コンピューティング環境内の従来のコンピュータ要素を利用するものであってよい。これら従来の分散型コンピューティング要素の各々には、通信ネットワークを介してプロセッサによりアクセスすることが可能である。
【００１８】
図面に描かれるとおりの実施形態の説明に、ここで細かく言及する。図面、及び関係する記述に関連付けて実施形態を説明するが、これはここにおいて開示される実施形態へと範囲を限定することを意図したものではない。それどころか、全ての代替物、修正物、及び同等物を包含することが意図されている。代替的実施形態においては、ここで開示される実施形態の範囲に限定することなく、追加の装置、又は説明された装置の組合せを加えるか、またはそれらを組み合わせることができる。
【００１９】
ユーザは、メディア資源を難読化するための措置を講じるウェブサイトからでさえも、メディアコンテンツをダウンロードできることを望む。ここにおいて説明される実施形態は、ブラウザとウェブサーバとの間の通信を分析して、難読化されているか否かに関わらず、メディア資源、及び特定のウェブページ要素の関連メディア資源を特定することができるメディア資源特定ルーチンを提供することにより、従来の方法における欠陥を克服するものである。
【００２０】
図１は、クライアント装置２００（図２に描かれており、また後述される。）がネットワーク１５０（例えばインターネット等である。）を使用して、ネットワーク１５０上でも連絡可能なメディアサーバ１２０上でホスティングされるメディア資源への参照を含む、ウェブサーバ１１０上でホスティングされるウェブページにアクセスする、動作環境１００の例を描いている。代替的実施形態において、ウェブサーバ１１０とメディアサーバ１２０とは単一の装置であってよいし、あるいはクライアント装置２００とウェブサーバ１１０とが単一の装置であってよい。加えて、多数のウェブサーバ１１０が全て単一のメディアサーバ１２０にアクセスしてよいし、単一のウェブサーバ１１０が多数のメディアサーバ１２０にアクセスしてよいし、多数のウェブサーバ１１０が多数のメディアサーバ１２０にアクセスしてよいし、あるいは、それらの如何なる組合せが行われてもよい。多数のクライアント装置２００が存在してもよい。
【００２１】
図２は、例示的クライアント装置２００における複数の部品を描いている。幾つかの実施形態において、クライアント装置２００は図２に示されるよりも遥かに多くの部品を備えていてよい。しかしながら、説明のための実施形態を開示するために、これら一般的な従来の部品を全て示す必要はない。図２に示すとおり、クライアント装置２００は、ネットワーク１５０に接続するためのネットワークインターフェース２３０を備える。当業者であれば、ネットワークインターフェース２３０がそのような接続のために必要な回路を備え、適切なプロトコルで用いるために構築されているということがわかる。
【００２２】
また、クライアント装置２００は、処理ユニット２１０、メモリ２５０を備えており、そして選択的にディスプレイ２４０を備えていてよく、それらは全て、バス２２０を介してネットワークインターフェース２３０と共に相互接続されている。メモリ２５０は一般的に、ランダム・アクセス・メモリ（「ＲＡＭ」）、読み出し専用メモリ（「ＲＯＭ」）、及びディスクドライブ又はフラッシュドライブのような永久大容量記憶装置を含んでいる。メモリ２５０は、ウェブブラウザ２６０、メディアプレーヤ２６５、及びメディア資源特定ルーチン２７０のためのプログラムコードを記憶する。さらに、メモリ２５０はまた、オペレーティングシステム２５５を記憶する。当然ながら、これらソフトウェア部品を、例えばフロッピー（登録商標）ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカード、等のコンピュータ読み取り可能な媒体に関連する入力機構（不図示）を用いて、コンピュータ読み取り可能な媒体からネットワークインターフェース２３０等を介してクライアント装置２００のメモリ２５０へとロードすることができる。
【００２３】
従来の汎用コンピューティング装置とほとんど一致する例示的なクライアント装置２００が記述されているが、当業者であれば、クライアント装置２００は、例えばパーソナルコンピュータ、ゲーム機、セットトップボックス、携帯用コンピュータ、携帯電話、あるいは、ウェブページを表示するとともにメディア資源特定ルーチン４００を実行し、オンラインメディアにアクセスすることが可能であるような任意の他の装置等、ネットワーク１５０と通信可能な極めて多くの装置のうちいずれであってもよい、ということがわかるであろう。
【００２４】
図３は、一つの実施形態例において、クライアント装置２００、ウェブサーバ１１０、及びメディアサーバ１２０により実行されるアクション間の関係を描いている。
【００２５】
初めに、ユーザは１以上のメディア資源を含むウェブページを訪れることができる。ユーザがブラウザ２６０内のそのページへとナビゲートした後、クライアント装置２００は、適切なウェブサーバ１１０からそのページを要求する（３０５）。ウェブサーバ１１０は、要求（３０５）を受信すると、その要求されたページを自己のメモリ内で探す（３１０）か、又はそのクライアント装置の要求（３０５）に応答すること（３１５）ができるよう、その要求３０５に別の処理を行う（あるいはその両方を行う。）。ウェブサーバ１１０は、少なくともクライアント装置２００がブラウザ内にそのページを描画する（３２０）ために用いるデータの初期セットを送信することにより、クライアント装置の要求３０５に対して応答する（３１５）。その後、クライアント装置２００は、要求されたページの描画を開始する（３２０）。
【００２６】
ページの描画（３２０）は、しばしば、クライアント装置２００による、ウェブサーバ１１０からの追加データの要求（３２５）を伴う。例えば、要求されたページが、画像のようなメディア資源、あるいは難読化されたメディア資源を有する場合、クライアントは、ブラウザ２６０によるそのページの描画を可能とするための追加データを求める、ウェブサーバ１１０への追加要求（３２５）を作成することができる。それら追加要求を受信すると、ウェブサーバ１１０はその要求を処理し（３３０）、その要求されたデータがメディアサーバ１２０内に置かれているならば、ウェブサーバ１１０はそのデータをメディアサーバ１２０から要求する（３３５）。その後、ウェブサーバ１１０は、要求された情報をクライアント装置２００に送り返す（３４０）。
【００２７】
この描画処理の間、メディア資源特定ルーチン４００（図４に描かれており、また後述される。）は、描画されたページを解釈し（３４５）、メディア資源を特定する（３５０）ために、クライアント装置２００とウェブサーバ１１０との間の通信を分析することができる。何らかのメディア資源が見つかった場合、クライアント装置２００は、描画されているウェブページに、そのメディア資源に対するコントロール、又はタグを追加する（３５５）。
【００２８】
今説明された、クライアント装置２００上で行われるメディア資源特定処理が、図４に詳しく示されている。図４は、メディア資源特定ルーチン４００の例示的なフロー図を示している。ルーチン４００は、ブロック４０５において開始される。ブロック４０５においてブラウザ２６０は、１以上のメディア資源を含みうるウェブページを要求する。ブロック４１０において要求されたウェブページが受信され、ループしているブロック４１５において、ルーチン４００は、描画されうる各々のページ要素の分析を始める。ページ要素はＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ：ＨＴＭＬ又はＸＭＬを表すための、プラットフォームと言語とに依存しない標準オブジェクトモデル、及び関係するフォーマット）によって表すことができる。その場合、メディア資源特定ルーチン４００は、ＤＯＭをトラバースすることにより動作するであろう。別の方法においては、ページ要素に対して何らかの別の適切なやり方で繰り返し処理を行うということもありうる。
【００２９】
ブロック４２０において、ルーチン４００は、要求されたページを描画するために、クライアント装置２００とウェブサーバ１１０との間の通信トラフィックを分析し、メディアを指示するトラフィックを探す。決定ブロック４２５において、ルーチン４００は、分析されたトラフィック中にメディア資源が見つかったかどうかを決定する。要素のＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ：多目的インタ−ネットメール拡張仕様）タイプを調べて、その要素がメディアプレーヤによって扱われるタイプのものであるかどうかを決定することにより、メディア資源を特定することができる。ＭＩＭＥとは、特にコンテンツタイプを登録した上でそれらを扱うアプリケーションと関連付けるための方法を含む、インターネット標準である。ＭＩＭＥの仕様はＲＦＣ２０４５に詳述されており、それは全体としてここに組み込まれる。
【００３０】
決定ブロック４２５においてメディア資源が見つからなかった場合、処理はループしているブロック４１５へと循環して戻り、そこにおいて次の描画可能なページ要素が分析される。メディア資源が決定ブロック４２５において見つかった場合、サブルーチンブロック５００（図５に描かれており、また後述される。）は追加処理を実行し、描画可能なページ要素とメディア資源とを関連付ける。
【００３１】
次に、ブロック４３０において、ルーチン４００は、特定されたメディア資源の場所、及びその決定された関連するページ要素を記憶する。分析すべき、追加の描画可能なページ要素が存在する場合、ループしているブロック４３５は、ループしているブロック４１５へと、処理を循環させて戻す。そうでない場合、ループしているブロック４３５は、処理をブロック４４０へと向ける。
【００３２】
ループしているブロック４４０において、ブロック４３０で記憶された全てのメディア資源が処理されるようになる。ブロック４５０において、ルーチン４００は、特定されたメディア資源に関連する記憶されたページ要素に関連する、コントロール又は「タグ」を追加する。幾つかの場合、そのようなタグは、例えば画像やテキストリンクのような、ページ要素と一緒に描画されることとなる視覚的指示であってよい。そのリンクには、メディア資源を特定する、あるいはメディア資源に命名をする、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を含むことができる。別の場合、そのようなタグは、そのページ要素に関連するメニュー（例えば、「右クリック」メニュー）に対しての選択可能な項目の追加を含むものであってよい。
【００３３】
そのようなメニューに対しての命令の追加は、ブラウザのＡＰＩへの「フッキング（ｈｏｏｋｉｎｇ）」を含むものであってよい。アプリケーションプログラムインターフェース（ＡＰＩ）とは、コンピュータプログラムによってそこから作成されるべきサービスの要求をサポートするために、コンピュータシステム又はプログラムライブラリによって提供される、ソースコードインターフェースである。「フッキング」とは、ハンドラとして一連の手続きを作るためのいわゆる「フック（ｈｏｏｋｓ）」を用いる技法である。したがって、ハンドルされたイベントが起こった後、制御フローが特定の順序で一連の手続の後に続く。新たなフックは、それ自身のアドレスを、イベントに対するハンドラとして登録し、そしてある時点で、通常は最後の時点で元のハンドラを呼び出すことが見込まれる。「Ｉｍｐｏｒｔ  Ｔａｂｌｅ  Ｐａｔｃｈｉｎｇ」は、幾つかの実施形態において用いることのできる、ＡＰＩフッキングの適切な方法の一つである。ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．によるＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムにおいて、大部分のアプリケーション及びモジュールは、いわゆる「インポートテーブル」を持つ。インポートテーブルには、アプリケーション又はモジュールが呼び出すＡＰＩのリストを含めることができる。他のオペレーティング環境において、ページ要素を描画するために適したアプリケーションへのフッキングをするために、同様の技法を備えることができる。
【００３４】
記憶されたページ要素が更に存在する場合、ループしているブロック４５５は、ループしているブロック４４０へと、処理を循環させて戻す。そうでない場合、ループしているブロック４５５は、処理をブロック４６０へと向ける。ブロック４６０はそのページの描写をブラウザ２６０内に描画し、処理はブロック４９９において終了する。
【００３５】
メディア資源特定ルーチン４００を、現在のウェブページがリンクを提供しているウェブページ上の、描画可能なメディア資源をあらかじめ特定するように適応させることもできる。例えば、ウェブページには、描画可能なメディア資源を含むウェブページへのリンクのリストが含まれることがある。そこに含まれるメディア資源を特定するべく、メディア資源特定ルーチン４００を、各々のリンクされたページからデータを取り出し、そのデータを「仮想的に」描画する（あたかも、そのデータが描画されるべきであるように処理し、しかしながら結果をユーザに対して提示しない）ように適応させることにより、各々のページを個別に訪問する必要なく多くのページからメディア資源をダウンロードすることを可能とするコントロールや、ユーザがナビゲートするページ上のメディア資源へコントロールを追加する際の如何なる遅延をも低減させることのできるコントロールを、ユーザに対して都合よく提示することができる。
【００３６】
混成的なアプローチにおいて、別の代替的実施形態によれば、現在のウェブページが分析され描画された後、すなわちブラウザのアイドル時間の間に限って、他のウェブページへのリンクを処理することができる。
【００３７】
図５は、描画可能なページ要素のうちのどれが、特定されたメディア資源と関連するのかを決定するサブルーチン５００の、例示的フロー図を示している。描画可能なページ要素とメディア資源との間の関連性が明確でない場合に、サブルーチン５００を用いることができる。例えば、Ｆｌａｓｈメディア資源は、多数のオーディオクリップ、ビデオクリップ、画像、あるいは他のメディア断片から構成されることがある。あるシナリオ例において、Ｆｌａｓｈメディア資源は、第１のビデオクリップ（それは広告であるかもしれない）と、第２のビデオクリップ（それは、ユーザが観たいビデオ断片であるかもしれない）とから構成されることがある。ループしているブロック５０５において、サブルーチン５００は、特定されたメディア資源に関連する要素ツリー内の各ページ要素に亘る繰り返し処理を開始する。ブロック５１０において、現在のページ要素が検討される。それは、決定ブロック５１５において、そのページ要素が描画されるであろう要素であるかどうかを決定できるようにするためである。そのページ要素が、描画されるべきものではない場合（例えば、そのページ要素が不可視であるか、単なる隠されたリンクである場合）、処理はループしているブロック５３０へと向けられる。そこにおいては、次のページ要素を検討することができるよう、検討されるべきページ要素を次のページ要素に設定し、ループしているブロック５０５へと処理を循環させて戻す。決定ブロック５１５において、そのページ要素が描画されるべきであると見出された場合、次のページ要素を検討することができるようにとループしているブロック５３０によってループしているブロック５０５に処理が戻される前に、ブロック５２５においてそのページ要素が記憶される。
【００３８】
全てのページ要素が検討されると、サブルーチン５００は、描画されるべきページ要素が記憶されたどうかをブロック５３５において決定する。記憶されていた場合、処理は戻りブロック５９９へと向けられる。そこにおいて、記憶されたページ要素は呼び出しルーチンへと戻される。ブロック５０５−５３０において、描画されるべきページ要素が特定及び記憶されなかった場合、処理はブロック５４０へと向けられる。ブロック５４０において、サブルーチン５００は、どのページ要素を描画するかを、それらの特徴を検討することにより決定する。例えば、ページ要素のサイズによって、それが描画されるものでありそうだということが示唆されるかもしれない。恐らくは描画されるであろうものとして特定されたページ要素は、ブロック５４５において記憶される。戻りブロック５９９において、記憶されたページ要素は、メディア資源特定ルーチン４００へと戻される。
【００３９】
図６は、一実施形態に従ってブラウザ２６０内に表示される例示的なウェブページ６０５を描いている。ページ要素６１０Ａ−Ｂは、メディア資源と関連すると決定されている。この実施形態において、視覚的インターフェース要素６１５Ａ−Ｂは、特定されたメディア資源と関連すると決定されたページ要素６１０Ａ−Ｂをタグ付けするために用いられる。幾つかの実施形態において、視覚的タグは、それら各々に関連するメディア資源に対するＵＲＩを含むものであってよい。また視覚的タグは、リンクか、又は、例えばメディア資源を開く、あるいはメディア資源のＵＲＩにリンクする、等のアクションをトリガするためにユーザが用いることのできる同様のインターフェースを含むものであってよい。幾つかの実施形態において、視覚的な指示をするタグ６１５Ａ−Ｂは、決定されたページ要素６１０Ａ−Ｂ上に位置する画像を含むものであってよい。視覚的な指示をするタグ６１５Ａ−Ｂは、メディア資源が特定されて、特定のページ要素と関連すると決定されたことをユーザに知らせるだけではなく、そのメディア資源が現在利用可能であるかどうかをユーザに知らせることもできる。例えば、メディア資源が特定され、特定のＵＲＩに関連すると決定された場合において、そのＵＲＩが現在アクセス不可能ならば、視覚的な指示をするタグ６１５Ａ−Ｂを赤い画像とし、アクセス可能であれば緑の画像とすることができる。代替的実施形態において、視覚的な指示をするタグは、メディア資源のコンテンツのテキスト説明、メディア資源の名称といった、メディア資源に関連するテキストに対して加えられたテキストリンク６２０Ａ−Ｂを含むものであってよい。
【００４０】
図７は、別の実施形態に従ってブラウザ２６０内に表示される例示的ウェブページ６０５を描いている。ページ要素６１０Ａ−Ｂは、メディア資源と関連するものであると決定されている。この実施形態において、メディア資源は、ページ要素６１０Ａ−Ｂに関連する選択可能なメニュー７１０を介して特定される。メニュー７１０は、１以上の選択可能な命令７１５の一群を含むことができる。命令７１５の各々は、選択された時、幾つか、あるいは全てのメディア資源の記憶装置への保存や、幾つか、あるいは全てのメディア資源への直接の（又は間接の）リンクのコピーあるいは送信等、１以上のタスクをトリガすることができる。幾つかの実施形態において、上述のとおり、上記選択可能なメニュー７１０へのアクセスを可能とするために適用されたインポートテーブルへアクセスすることにより、ユーザはその選択可能なメニュー７１０をアクティブ化することができる。
【００４１】
図８は、別の実施形態に従ってブラウザ２６０内に表示される例示的ウェブページ８０５を描いている。一つの例示的実施形態において、ページ要素８１５は、ウェブページ８０５の表示部分８１０内部のストリーミングメディア資源である。この実施形態において、ストリーミングメディア資源８１５は、メディア資源のダウンロード（そのメディア資源のストリーミングとは別個に、しかしながら恐らくは、ストリーミングと同時期に）をトリガするための選択可能なアクション要素８２５を備えたユーザインターフェースコンポーネント８２０を有する、ページ要素として特定される。ユーザインターフェースコンポーネント８２０は、１以上の選択可能なアクション要素８２５の一群を含むことができる。アクション要素８２５の各々は、選択された時、幾つか、あるいは全てのメディア資源の記憶装置への保存、幾つか、あるいは全てのメディア資源への直接のリンクのコピーあるいは送信等、１以上のタスクをトリガすることができる。幾つかの実施形態において、上述のとおり、上記選択可能なアクション要素８２５へのアクセスを可能とするために適用されたインポートテーブルへアクセスすることにより、ユーザはその選択可能なアクション要素８２５をアクティブ化することができる。
【００４２】
図９は、別の実施形態に従ってブラウザ２６０内に表示される例示的ウェブページ９０５を描いている。一つの例示的実施形態において、ページ要素９１５は、ウェブページ９０５の表示部分９１０内部のストリーミングメディア資源である。この実施形態において、ストリーミングメディア資源９１５は、ダウンロード可能であろうページ要素として特定されるのであるが、しかしながらこの実施形態において、ストリーミングメディア資源９１５はダウンロード不可能なものとして指示されている。それ故に、そのような実施形態において、ユーザインターフェースコンポーネント９２０は、メディア資源がダウンロード可能ではないことを指示しながら表示される。さまざまな代わりの実施形態においては、ダウンロードが不可能であることを示すさまざまな指示を用いることができる。例えば、幾つかのデジタルテレビジョンプロトコルにおいては、コンテンツがダウンロードされるべきではないことを指示するために「放送ビデオフラグ（Ｂｒｏａｄｃａｓｔ  Ｖｉｄｅｏ  Ｆｌａｇ）」を用いることができる。類似の効果のために、デジタル著作権管理システム（「ＤＲＭ」）やコンテンツ暗号化システム等、他のシステムを用いることもできる。幾つかの実施形態において、ウェブページ９０５は、そのページ要素をダウンロードすべきではない、という指示を含むことができる（保有されている権利を含めた、著作権の注意書き、及びページ内部のメタタグ等による。）。
【００４３】
図１０は、別の実施形態に従ってブラウザ２６０内に表示される例示的ウェブページ８０５を描いている。上述のとおり、例示的な一実施形態において、ページ要素８１５は、ウェブページ８０５の表示部分８１０内部のストリーミングメディア資源である。この実施形態において、ストリーミングメディア資源８１５は、メディア資源のダウンロードをトリガするための選択可能なアクション要素８２５を備えたユーザインターフェースコンポーネント８２０を有する、ページ要素として特定される。加えて、図１０においては、ダウンロードステータスコンポーネント１０１０が、多数のメディア資源ダウンロードにおける現在の進み具合を、進捗要素１０１５Ａ−Ｃ上に表示する。さまざまな実施形態において、ストリーミングメディア資源８１５を再生しつつ、同時にダウンロードをするということが起こりうるのであり、そのダウンロードによってストリーミングメディア資源の再生が中断されることや、取消されることさえあるかもしれない。更なる実施形態においては、多数のダウンロードを、それらが列を作って待つよう制限することができる。例えば、クライアント装置がダウンロードするための十分な回線容量を有していない場合や、あるいはクライアント装置におけるダウンロードが所定の数に制限されている場合は、選択可能なアクション要素８２５を選択することにより、クライアント（又はサーバ）がもはや制限を受けない将来の時点においてダウンロードを行うよう、順番待ち列を作るものとすることができる。
【００４４】
特定の実施形態をここにおいて説明したが、本発明の範囲を逸脱することなく、説明され及び示された特定の実施形態の代わりに、別の、及び／又は同等な実施をさまざまに為すことができるということが、当業者にとって明らかである。本発明は、ここにおいて説明した実施形態のあらゆる適合化、又は変更をも包含するよう意図されている。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オンラインで取得可能な、メディアラッパにより難読化されたメディア資源に対して電子的にタグ付けを行う、描画装置により実行される方法であって、
前記描画装置によって、ウェブサーバから、第１の複数のページ要素を含む描画可能な表示ページに対応するハイパーテキストデータを取得する段階と、
前記描画装置と前記ウェブサーバとの間の通信トラフィックを介して、前記ハイパーテキストデータに従い、前記第１の複数のページ要素に対応するデータを取り出す段階と、
前記描画装置による前記通信トラフィックの分析に従い、メディアラッパにより難読化されているコンテンツタイプのメディア資源を特定する段階と、
前記描画装置により、前記第１の複数のページ要素のページ要素特徴を分析する段階と、
前記分析されたページ要素特徴に従って、前記描画装置により、前記第１の複数のページ要素のうちの１つを、前記特定されたメディア資源に関連する難読化を行うメディアラッパに対応するものとして特定する段階と、
前記ハイパーテキストデータに従い、前記描画装置により、前記描画可能な表示ページを描画する段階と、
前記描画装置により、前記描画された表示ページに対し、前記特定されたページ要素にタグ付けするための、前記難読化を行うメディアラッパに関連するタグを追加する段階と、
を含み、
前記タグは、前記描画装置のユーザが前記特定されたメディア資源を、該メディア資源が前記メディアラッパにより難読化されていたとしても、後の使用のために該描画装置へと保存するための手助けをする
ことを特徴とする、方法。
【請求項２】
前記タグが、前記通信トラフィックの前記分析によって決定される、前記特定されたメディア資源に対するＵＲＩを含む、請求項１に記載の方法。
【請求項３】
前記方法は、前記特定されたメディア資源が、前記ＵＲＩを介して利用可能であるか否か決定する段階をさらに含み、また前記タグが、該ＵＲＩについて該決定された利用可能性の視覚的指示をさらに含む、請求項２に記載の方法。
【請求項４】
前記タグが、前記ＵＲＩへのトリガ可能なインターフェースをさらに含む、請求項２に記載の方法。
【請求項５】
前記タグをトリガする段階をさらに含む、請求項４に記載の方法。
【請求項６】
前記タグのトリガには、適用されたインポートテーブルにアクセスすることが含まれる、請求項５に記載の方法。
【請求項７】
前記難読化を行うメディアラッパは、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ  ｍｅｄｉａ  ｐｌａｙｅｒ、Ｆｌａｓｈｍｅｄｉａ  ｐｌａｙｅｒ、ＡｃｔｉｖｅＸ  ｍｅｄｉａ  ｐｌａｙｅｒ、及びＶＢＳｃｒｉｐｔ  ｍｅｄｉａ  ｐｌａｙｅｒのうち少なくとも一つを含む、請求項１に記載の方法。
【請求項８】
前記ページ要素特徴を分析する段階と、前記複数のページ要素のうち１つを識別する段階と、のうち少なくとも一方には、該複数のページ要素を含むＤｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌをトラバースする段階が含まれる、請求項１に記載の方法。
【請求項９】
前記メディアラッパにより難読化されているコンテンツタイプのメディア資源を特定する段階には、少なくとも一つの所定のＭＩＭＥタイプに一致するデータオブジェクトを探す段階が含まれる、請求項１に記載の方法。
【請求項１０】
前記所定のＭＩＭＥタイプはビデオＭＩＭＥタイプである、請求項９に記載の方法。
【請求項１１】
プロセッサと、該プロセッサによって実行されたときに請求項１に記載の方法を実行する実行可能命令を有するメモリと、を備えたコンピュータ装置。
【請求項１２】
プロセッサによって実行されたときに請求項１に記載の方法を実行する実行可能命令を有する、コンピュータ読取り可能な媒体。