(57)【要約】  本発明はフラッシュやフレックスのプレゼンテーションソフトウェア（ＦＬＡＳＨ及びＦＬＥＸは、アドビ・システムズ社のマークである）などのアクションスクリプトのアプリケーションの独立した解析のためのツール及びテクニックを提供することである。１つの実施例は、ウェブページスクリプトの如何にかかわらず作動できるプレゼンテーション解析エンジンを提供し、そのウェブページスクリプトは、プレゼンテーションの中でユーザの動作を反映するプレゼンテーション解析データを収集するためのデータ収集コードと、少なくともフォーマットされたプレゼンテーション解析データ構造の一部分を動的に生成するためのデータ構造生成コードと、解析サーバに向かってデータ構造を送信するためのデータ送信コードを含む。
2009536760.tif 000002
【特許請求の範囲】
【請求項１】
ウェブページスクリプトの如何に関わらずに作動できるプレゼンテーション解析エンジン（１４４）は、プレゼンテーションの範囲内でユーザー（１０４）の動作を反映するプレゼンテーション解析データを収集する（２０６）ためのデータ収集コード（１４６）と、フォーマットされたプレゼンテーション解析データ構造の少なくとも一部分を動的に生成する（２０８）ためのデータ構造生成コード（１４６）と、解析サーバに向かってデータ構造を送信する（２１０）ためのデータ送信コード（１５０）と、を備え、
収集されたプレゼンテーション解析データをウェブページ（１２８）に埋め込まれたスクリプト（１３２）に送る如何なるgetURL（）又はFSCommandの実施にも依存しない、また、ウェブページに埋め込まれた如何なるプレゼンテーション解析スクリプトにも依存しない、プレゼンテーション解析エンジン。
【請求項２】
自動追跡コード（１５４）と、ビジュアル解析オーバレイ記録コード（１５６）のうち、少なくとも１つを更に備える、請求項１記載のエンジン。
【請求項３】
ブラウザのクッキー、ローカルな共有オブジェクト、伝送ヘッダのうち、少なくとも１つに格納された唯一のビジターＩＤ（１４０）と連携動作する、請求項１記載のエンジン。
【請求項４】
データ送信コード（１５０）は、イメージ要求を生成するコード、
ＧＥＴ要求を生成するコード、 ＰＯＳＴ要求を生成するコード、port80要求を生成するコード、ＦＴＰ要求を生成するコード、共有ファイルへデータを書き込むコード、 共有メモリへデータを書き込むコードのうち少なくとも１つを備える、請求項１記載のエンジン。
【請求項５】
エンジン（１４４）は、ActionScriptコードを備える、請求項１記載のエンジン。
【請求項６】
ActionScriptオブジェクト（１１６）を具備するマルチメディアプレゼンテーション（１０６）と連携動作する、請求項１記載のエンジン。 
【請求項７】
ウェブブラウザ（１２６）、ブラウザに表示されたウェブページ（１２８）、プレゼンテーションの範囲を超えてウェブページの範囲内で、ユーザー動作を反映するウェブページ解析データを収集するためにウェブページに埋め込まれたスクリプトコード（１３２）と連携動作し、エンジンは、プレゼンテーション解析データをウェブページの埋め込まれたスクリプトコードと一致させるコードを持たない、請求項１記載のエンジン。
【請求項８】
ウェブページの埋め込まれたスクリプトコード（１３２）は、JavaScriptコード、VBScriptコードのうち少なくとも１つを備える、請求項７記載のエンジン。
【請求項９】
解析サイト（１３６）と連携動作する、請求項１記載のエンジン。
【請求項１０】
エンジンをインポートするコード（１５８）を含むマルチメディアプレゼンテーション（１０６）と連携動作する、請求項１記載のエンジン。
【請求項１１】
プレゼンテーション（１０６）において少なくとも１つのActionScriptオブジェクト（１１６）のユーザー起動を反映するActionScriptプレゼンテーション解析データを収集する（２０６）ためのデータ収集コード（１４６）と、収集されたActionScriptプレゼンテーション解析データの少なくとも一部分を送信する（２１０）ためのデータ送信コード（１５０）と、を備え、エンジン（１４４）は、ActionScriptプレゼンテーション解析データを収集するために、プレゼンテーション（１０６）の範囲内で如何なるオブジェクト特有のユーザー動作追跡コードにも依存しない、ActionScriptプレゼンテーション解析エンジン（１４４）。
【請求項１２】
エンジンはまた、収集されたActionScriptプレゼンテーション解析データを送信する（２１０）ために、如何なるgetURL（）又はFSCommandの実施にも依存しない、請求項１１記載のエンジン。
【請求項１３】
データ送信コード（１５０）は、ユーザーのページビューの動作、ユーザーのリンクを追う動作、ユーザーのクリップビューの動作、ユーザーのボタンを押す動作、ユーザーの録画の再生完了のパーセンテージ、プレゼンテーション印象統計、のうち少なくとも１つを反映する解析データを送信する（２１０）、請求項１１記載のエンジン。
【請求項１４】
プレゼンテーションと互換性があって、少なくとも１つのActionScriptオブジェクトをユーザー（１０４）相互作用に提供するプレゼンテーションプレーヤー（１１４）と連携動作する、請求項１１記載のエンジン。
【請求項１５】
請求項１４記載のエンジンとプレーヤー（１１４）の連携動作は、次の少なくとも１つものを保持する。
１）プレーヤー（１１４）は、Flashプレゼンテーションプレーヤーを備えること。
２）プレーヤー（１１４）は、Flexプレゼンテーションプレーヤーを備えること。
３）プレーヤー（１１４）は、ウェブブラウザ（１２６）へのプラグインを備えること。
４）プレゼンテーション（１０６）は、少なくとも部分的にウェブページ（１２８）に埋め込まれること。
５）プレゼンテーション（１０６）は、非揮発性の取り外し可能なコンピュータの読み取り可能記憶媒体（１１２）に、少なくとも部分的に保存されること。
６）プレーヤー（１１４）は、コンピュータ上で動作すること。
７）プレーヤー（１１４）は、携帯式のコンピュータ上で動作すること。
【請求項１６】
デバイス（１０２）上でActionScriptオブジェクト（１１６）を含むマルチメディアプレゼンテーション（１０６）の受信ステップ（２０２）と、マルチメディアプレゼンテーションのActionScriptオブジェクトとのユーザー相互作用を反映したプレゼンテーション解析データの収集ステップ（２０６）と、プレゼンテーション解析データの送信ステップ（２１０）と、を備え、getURL（）又はFSCommandの実施や、ウェブページ（１２８）に埋め込まれたJavaScriptコードや、ウェブページ（１２８）に埋め込まれたVBScriptコードの何れにも依存しない、ActionScriptプレゼンテーション動作を独自に追跡する方法。
【請求項１７】
送信ステップ（２１０）は、イメージ要求を生成すること、ＧＥＴ要求を生成すること、ＰＯＳＴ要求を生成すること、Port80要求を生成すること、ＦＴＰ要求を生成すること、共有ファイルにデータを書き込むこと、共有メモリにデータを書き込むことのうち少なくとも１つを含む、請求項１６記載の方法。
【請求項１８】
getURL（）又はFSCommandの実施や、ウェブページ（１２８）に埋め込まれたJavaScriptコードや、ウェブページ（１２８）に埋め込まれたVBScriptコードや、マルチメディアプレゼンテーション（１０６）におけるオブジェクト特有のユーザー動作追跡コード、の各々および全てに依存しない、請求項１６記載の方法。
【請求項１９】
マルチメディアプレゼンテーションとのユーザー相互作用を自動追跡ステップ（２１２）、マルチメディアプレゼンテーションとのユーザー相互作用に関するビジュアル解析オーバレイ記録の提供ステップ（２１４）、のうち少なくとも１つを更に備える、請求項１６記載の方法。
【請求項２０】
デバイス上でウェブ追跡メカニズムが埋め込まれたウェブページの受信ステップ（２１６）と、埋め込まれたウェブ追跡メカニズムと共に、ウェブページのユーザー相互作用を反映するウェブ解析データの収集ステップ（２２０）と、および解析サーバ（１３６）へウェブ解析データの送信ステップ（２２２）と、を更に備えた、請求項１９記載の方法。
【請求項２１】
ウェブ解析ステップを実行しているコードとプレゼンテーション解析ステップを実行しているコードの間の連携を必要とすることなく、解析サーバに対するウェブ解析データの送信ステップ（２２２）は対応するビジターＩＤ（１４０）との相関関係で送信し、プレゼンテーション解析データの送信ステップ（２１０）は同じビジターＩＤとの相関関係で解析サーバに対してデータを送信すること、を特徴とする請求項２０記載の方法。
【請求項２２】
デバイスにおいてプレゼンテーション解析データを含むデータ構造を動的に生成するステップ（２０８）を更に備えた、請求項１６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラウザを通したウェブサイトについての独立したアクションスクリプト解析ツールとテクニックに関する。
【背景技術】
【０００２】
ブラウザを通したウェブサイトの使用は、商業的に利用可能なウェブ解析サービス（ウェブサイトの使用に関する詳細なデータを集めるサービス）によって、定期的に追跡され、解析され、特定のウェブサイトユーザに関する範囲を分析する。１つの主なウェブ解析プロバイダーは、ユタ州オレームのOmniture会社であり、本発明の所有者である。Omnitureプロバイダーは、よく知られる標章SiteCatalyst（登録商標）の下、ウェブ解析技術を提供する。ここで使用される他の全ての標章は、会社の所有資産である。
フラッシュプレゼンテーションは、マクロメディア／アドビソフトウェアを使用することで作成された対話的なアニメーションである。FLASHは、アドビシステム社の登録商標である。いくつかのフラッシュプレゼンテーションがActionScriptと呼ばれるコンピュータ・プログラミング（スクリプティング）言語で実行されたオブジェクトを含んでいる。 
ActionScript言語には、他のコンピュータ言語と共通した特徴を有し、特にスクリプト言語がJavaScript（Sun MicroSystems社の標章）として知られている。しかしながら、ActionScriptとJavaScriptの間には、プログラミング言語としてだけでなく、開発環境として、および実行環境として重要な相違点が存在する。
【０００３】
歴史的に、JavaScriptコードは、インターネット上のクライアントウェブブラウザから解析サーバに取扱いとコンフィギュレーションデータを送信するために、またウェブサイトとそのウェブページの使用を追跡し解析するのを支援するために、いくつかのウェブページに埋め込まれている。フラッシュプレゼンテーションにおけるActionScripコードは、フラッシュプレゼンテーション使用データを解析サーバに送信するために、ウェブページのJavaScriptコードと共に使用されている。ActionScriptコードはActionScript関数であるgetURL（）又はFSCommand他を使用するJavaScriptと通信できる。例えば、フラッシュプレゼンテーションにおけるActionScriptオブジェクトは、getURL(“javascriptxyz(mydata)”のようなActionScript関数コールを用いて、JavaScript関数にデータ値を送信するかもしれない。 
【０００４】
フラッシュ追跡のためのgetURLの使用は、いくつかのアドバンテージを備えているとともに、いくつかのデメリットを持っている。プラス面では、既にJavaScriptコードを使用しているなら、自動的にウェブページに設定された変数を利用することができることである。必ずしもフラッシュプレゼンテーションにアップデートを必要とするというわけではなくて、JavaScriptコードをアップデートすることによって、変更を行うことができる。JavaScript技術を用い、既存のActionScriptを使用することで、フラッシュプレゼンテーション解析のためのOmniture
ClickMap（Omniture社の標章）のビジュアル解析オーバレイ記録を提供できる。もし開発者がJavaScriptを理解しているなら、特定のJavaScriptコードと問題環境のニュアンスを含んでおり、フラッシュプレゼンテーション追跡もまた比較的に実施しやすい。Omnitureの場合、そのようなニュアンスは、例えば、フラッシュ呼び出しがＪａｖａＳｃｒｉｐｔを実行し直すという解釈を含んでおり、以前に設定されたすべての変数は、クリアされない場合、解析サーバに送られる。linkTrackVars とlinkTrackEventsは、カスタムリンク動作追跡のために構成されると解釈している。 また、フラッシュ実装のためのOmniture社の現在のClickMapは、コミュニケーションのためにJavaScriptを使用し、データ伝送のためにブラウザレベルのコードに依存する。
【０００５】
マイナス面では、マイナスの面では、フラッシュ開発者（ウェブ開発者としばしば異なっている）はそのようなニュアンスを理解しなければならない。フラッシュのテストには、JavaScriptコードが適所にあること要求される。そのうえ、フラッシュはフラッシュプレゼンテーションの駆動されるウェブページでJavaScriptを参照できるだけである。 これは追跡とテストを制限する。デバッグは、フラッシュプレゼンテーションとJavaScriptコードの両方にかかわるので複雑である。ユーザ経験上、フラッシュプレゼンテーションから呼び出されたJavaScriptの実行は、アニメーションの性能問題を引き起こす場合がある。同様に、JavaScript
onClick()コマンドは、インターネット・エクスプローラーブラウザにおけるクリック音を出して、フラッシュアニメーション性能遅れを引き起こす。また、インターネット・エクスプローラーブラウザはデータ移転可能量を制限する。１つのバージョンでは、getURLQの要求あたり、それは５０８個のキャラクタにすぎず、それは、複数の可変の追跡を制限する。JavaScriptコードはgetURL()を通して呼び出され、それらが接近した時間内に生じれば、getURL()の後の呼び出しは先の呼び出しを中止できる。
【０００６】
JavaScriptコードを使用しないで、フラッシュプレゼンテーションの何らかの情報は、以前、伝えられたかもしれない。Omniture社は、彼らが直接アプリケーションからインターネットに送り出すため、静的解析ストリングを構築に使用できる解析データ構造をクライアントに提供した。JavaScripコードを経験しないで、この静的解析ストリングを送るのにActionScriptを用いることは可能である。これはフラッシュプレゼンテーションの用法に関するいくつかの限られたデータを提供する。ウェブページに関する解析データにウェブページに埋め込まれたＪａｖａＳｃｒｉｐｔコードを使用させた。しかしながら、それが特有のビジターＩＤと関連しない場合、解析データは比較的少ない値となる。そして、既存の方法は、フラッシュプレゼンテーションの引き金となったウェブページのビジターＩＤのフラッシュ関連の動きに容易に適合しなかった。その方法は、また、フラッシュプレゼンテーションで相互作用するユーザとして動的に生成された解析情報を提供するより、むしろ静的であった。
【０００７】
それはフラッシュプレゼンテーションの用法に関するいくつかの限られたデータを提供する。ウェブページに関する分析法データにウェブページに埋め込まれたＪａｖａＳｃｒｉｐｔコードを使用させた。
【０００８】
さらに、Ｓｏｐｈｕｓ社（イギリス、スペイン、および米国に事務所を置く（ウェブサイトｓｏｐｈｕｓ３ドットコム））は、変数におけるフラッシュプレーヤーバージョン情報を、ＪａｖａＳｃｒｉｐｔコードを呼び出すのにｇｅｔＵＲＬ（）を使用しないで、ＡｃｔｉｏｎＳｃｒｉｐｔコードからサーバにどうやら送ったようである。しかしながら、ＪａｖａＳｃｒｉｐｔを使用しないで、Ｓｏｐｈｕｓ社がそのようなやり方で、ユーザ相互作用データを解析サーバに送ったのかは明らかでない。そのうえ、Ｓｏｐｈｕｓ社は、フラッシュオブジェクトとのユーザ相互作用に関するデータを集めるために、オブジェクトから独立しているＡｃｔｉｏｎＳｃｒｉｐｔ追跡コードをどうやら使用しなかった。
【０００９】
歴史的に、フラッシュプレゼンテーションにおけるボタンまたは動画のクリップなどの追跡する特定のオブジェクトは、それぞれの追跡オブジェクトに特定の追跡コードを加えることを伴った。このオブジェクト特有のコードが、ｇｅｔＵＲＬＱを呼び出すか、又は、例えば、後から解析サーバに送られたカスタムされたオブジェクト特有の追跡変数をアップデートするだろう。このアプローチの不利益は、別のオブジェクトがフラッシュプレゼンテーションに加えられて、特定のコードが加えられ、フラッシュプレゼンテーションが再建されない限り、それが追跡されないということである。以下の観点のいずれか又は双方において、フラッシュプレゼンテーションはウェブページからしばしば引き起こされるが、また、それらは独立して使用されるプレゼンテーションであるかもしれない。
【００１０】
まず最初に、フラッシュプレーヤーは、ブラウザの中で動作するブラウザのプラグインとして一般的に提供されるが、ウェブブラウザの外で、コンピュータ上でフラッシュプレーヤーを動作させることは可能である。したがって、フラッシュの処理は、ブラウザが全く動いていない場合でさえも、追跡する価値があるかもしれない。２番目に、ネットワーク接続を伴わないで、特にウェブへの接続を伴わないで、フラッシュプレーヤーを動作させることは可能である。ＣＤ、ＤＶＤ、および他の移動可能なコンピュータ読み込み可能な記憶媒体は、それらに保存されるフラッシュプレゼンテーション（可能ならフラッシュプレーヤーも）によって、構成されるかもしれない。確かに、フラッシュプレーヤーは汎用のコンピュータである必要性はないモバイル機器で動作できる。
従って、フラッシュの処理は、ネットワーク接続がなく、それゆえ、少なくともその時に、ネットワーク上で収集された解析データを解析サーバに送信するといった選択がないときでさえ、追跡する価値があるかもしれない。解析データは、解析サーバへの後の通信か、単にローカルの使用かのどちらかのために、ローカル的に代わりに保存される可能性がある。
【００１１】
要するに、アクションスクリプトｇｅｔＵＲＬＱ関数で、ＪａｖａＳｃｒｉｐｔコードを呼び出すことによって、フラッシュプレゼンテーション処理を追跡するいくつかの利点があるけれども、またそうすることは確立した方法であるけれども、他のアプローチを考える価値がある。
【００１２】
本発明に関連する他の概念は、知られているか、または、この背景以外にソースを通して明らかにすることができ、本特許出願に関する言及に限定されるものではない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明はフラッシュやフレックスのプレゼンテーションソフトウェア（ＦＬＡＳＨ及びＦＬＥＸは、アドビ・システムズ社のマークである）などのアクションスクリプトのアプリケーションの独立した解析のためのツール及びテクニックを提供することである。
【課題を解決するための手段】
【００１４】
１つの実施例は、ウェブページスクリプトの如何にかかわらず作動できるプレゼンテーション解析エンジンを提供し、そのウェブページスクリプトは、プレゼンテーションの中でユーザの動作を反映するプレゼンテーション解析データを収集するためのデータ収集コードと、少なくともフォーマットされたプレゼンテーション解析データ構造の一部分を動的に生成するためのデータ構造生成コードと、解析サーバに向かってデータ構造を送信するためのデータ送信コードを含む。
【００１５】
プレゼンテーション解析エンジンは、収集されたプレゼンテーション解析データをウェブページに埋め込まれたスクリプトに送るためのｇｅｔＵＲＬ（）の実行に依存しないし、また、ウェブページに埋め込まれたどんなプレゼンテーション解析スクリプトにも依存しない。それは、アクションスクリプトプレゼンテーション解析データを収集するために、プレゼンテーション中のオブジェクト特有のユーザ動作の追跡コードに依存しない。
【００１６】
また、プレゼンテーション解析エンジンは、自動追跡コード、及び／又は、ビジュアル解析オーバレイ記録コードを含む。それはアクションスクリプトコードを使用することで実施される。それは、スタンドアロンであるかもしれない。または、ウェブブラウザ、ブラウザ上で表示されるウェブページ、および、プレゼンテーション外におけるウェブページ中でユーザ動作を反映するウェブページ解析データを収集するためにウェブページに埋め込まれたスクリプトコードと結合されるかもしれない。
それは、例えばユーザのページを見る動作、ユーザのリンクを追いかける動作、ユーザのクリップを見る動作、ユーザのボタンを押す動作、ユーザの録画再生完了の割合、及び／又は、プレゼンテーション印刷数などの項目を追跡することができる。
【００１７】
１つの実施例では、フラッシュプレゼンテーションなどのアクションスクリプト・オブジェクトを含むマルチメディア・プレゼンテーションをデバイス上に受信すること、マルチメディア・プレゼンテーションのアクションスクリプト・オブジェクトとのユーザ相互作用を反映するプレゼンテーション解析データを収集すること、プレゼンテーション解析データを含むデータ構造をデバイスに動的に生成すること、プレゼンテーション解析データを送信すること、マルチメディア・プレゼンテーションとのユーザ相互作用を自動追跡すること、及び／又は、マルチメディア・プレゼンテーションとのユーザ相互作用に関するビジュアル解析オーバレイ記録を提供すること、を含むアクションスクリプト・プレゼンテーションの動作を独立して追跡するための方法を提供する。
【００１８】
その方法は、ｇｅｔＵＲＬ（）の実行、ウェブページに埋め込まれたＪａｖａＳｃｒｉｐｔコード、ウェブページに埋め込まれたＶＢＳｃｒｉｐｔコード、及び／又は、フラッシュ、Ｆｌｅｘ、若しくは、他のマルチメディア・プレゼンテーション内のオブジェクト特有のユーザ動作追跡コード、に依存なしで作用する。デバイスは、例えば、デスクトップ型コンピュータ、ラップトップ、携帯情報端末、フラッシュプレーヤー搭載の携帯電話、ハンドヘルドのフラッシュプレーヤー、または他のモバイル機器であるかもしれない。
【００１９】
その方法は、スクリプト又はウェブバグなどの埋め込まれたウェブ追跡メカニズムを有するウェブページをデバイス上で受信すること、埋め込まれたウェブ追跡メカニズムと共に、ウェブページとのユーザ相互作用を反映するウェブ解析データを収集すること、解析サーバにウェブ解析データを送信すること、を更に以下を含む。
【００２０】
解析サーバにウェブ解析データを送信するステップは、対応するビジターＩＤとの相関関係でそれを送り、また、プレゼンテーション解析データを送信するステップは、同じビジターＩＤとの相関関係における解析サーバにそのデータを送る。それらは、ウェブ解析ステップを実行するコードとプレゼンテーション解析ステップを実行するコードとの間で互いの状態をしっかりつかんで行うこと無しに行われる。
【００２１】
ビジターＩＤは、ブラウザクッキー及び／又はフラッシュのローカルに保存されるオブジェクト（通称、Ｌｉｂｒａｒｙ  ｓｔｏｒｅｄ  ｏｂｊｅｃｔ：ＬＳＯ）、または、例えば、データ伝送ヘッダ（モバイル機器の場合）から派生する。
【００２２】
これらの実施例は主に説明に役立つ。
本発明は請求項で定義され、そしてこの概要は請求項の基礎を提供するのを補助するけれども、この概要が最終的に承諾された請求項に抵触してしまうような場合、そのような請求項は広く解釈されるべきである。
本発明の利点と特徴を得られる方法を示すために、添付の図面を参照して本発明を詳細に説明する。これらの図面は、単に、発明の説明のために選択された側面を示すものであり、本発明の範囲を決定するというものでは決してない。
【発明を実施するための最良の形態】
【００２３】
本発明は、フラッシュプレゼンテーション、Ｆｌｅｘプレゼンテーション、他のアクションスクリプトのアプリケーション、他のマルチメディア・プレゼンテーションとのユーザ相互作用に関して情報を収集するのを助けるためのツールとテクニックを提供する。
また、本明細書で議論しているのは、そのようなプレゼンテーションとウェブページのユーザの相互作用の追跡ツール及びテクニックの間で、それらの相関関係、コーディネート、コミュニケーション、若しくは不足部分といった側面である。
特定の実施例により本明細書と図面で本発明を説明するが、本発明の他の実施例がこれらの実施例から外れるかもしれないことを正しく理解しておく。
例えば、１つの実施例の特定の特徴は、省略され、改名され、異なって分類され、ハードウェア及び／又はソフトウェアに異なって例示され、異なったオーダーで実行され、または２つ又はそれ以上の実施例に現れる特徴のミックスであったりする。
【００２４】
このドキュメント中で明確に用語の定義を提供する。用語は、汎用的な用法、特定の産業の用法、または特定の辞書若しくは辞書セットの用法と、必ず同じであるというわけではない。
【００２５】
発明者は、造語と他の用語の両方に関して、彼自身の辞書編集者である彼の権利を主張し行使する。特に、”自動追跡”や“自動追跡コード”などの用語は、本明細書で特定の意味を持っている。
自動追跡するとは、開発者がオブジェクト特有の追跡コードを追跡されるプレゼンテーションに差し込む必要はなく、活用可能な解析データを集め、実行することである。
ＡｕｔｏＴｒａｃｋは、Ｏｍｎｉｔｕｒｅ社のトレードマークである。
【００２６】
自動追跡することの特徴は、例えば、フラッシュファイル視聴ボタンや動画のクリップ動作、及びこれらのオブジェクトの使用の自動追跡を、オブジェクト特有のコードを用いないで、また、追跡活動の継続している同時性の報告を用いて行うことである。
追跡活動を継続している同時性の報告は、例えば、アクションスクリプトコードからイメージ要求を動的に生成し、解析サーバに送られた要求に追跡データ測定基準を含むことによって行われる。
【００２７】
したがって、追跡に関連したクリック動作のための個々のボタンまたは動画のクリップをコード化する必要はなく、１つは自動的にフラッシュファイルの使用を追跡できる。これは、オブジェクト特有のコードが必要ないため、フラッシュアプリケーションの追跡測定基準の実装やテストに要求される時間を劇的に短縮できる。
【００２８】
本明細書に使用するために定義されたもう一つの用語は、“ビジュアル解析オーバレイ記録“である。従来の背景におけるビジュアル解析オーバレイ記録（または、”ＶＡＯＲ”）の一例は、ＯｍｎｉｔｕｒｅのＣｌｉｃｋＭａｐ（トレードマーク）の特徴である。
ＣｌｉｃｋＭａｐはＯｍｎｉｔｕｒｅ社のトレードマークである。ＣｌｉｃｋＭａｐの記録は、以前にフラッシュ解析オーバレイを当該技術分野で提供した本発明者によって発明されたのではなく、追跡動作のため交信するＪａｖａＳｃｒｉｐｔコードの使用に依存する技術を用いて発明された。
【００２９】
さて、本発明の由来のフラッシュ・アクションスクリプトの追跡の使用状態で、ＣｌｉｃｋＭａｐと他のＶＡＯＲの動作は、固有のフラッシュ・アクションスクリプト言語を通して、他の解析測定基準を用いて自動的に追跡することができる。
ユーザが追跡可能なボタンや動画のクリップ、若しくは他の追跡可能なオブジェクトをクリックするとき、適切な追跡コードを動的に生成するリスナーコードの使用を通じて、これが達成される。
【００３０】
自動追跡とビジュアル解析オーバレイ記録は、アクションスクリプト・オブジェクトとのユーザ相互作用を追跡することをそれぞれ伴い、オブジェクト特有のコードが追加される必要は無く行われる。オブジェクト特有の追跡コードからの独立のために、自動追跡は、同時に追跡データ測定基準を解析サーバに送るためのアクションスクリプトコードからのイメージ要求や他のコミュニケーションの動的に生成されたものを加える。
ビジュアル解析オーバレイ記録は、オブジェクト特有の追跡コードからの独立のために、追跡された或は追跡されるプレゼンテーションを付加するビジュアル記録を作り出すための追跡データ測定基準の使用の支えを加える。自動追跡とビジュアル解析オーバレイ記録の双方とも、それらの１つだけ若しくはそれらのどちらでもない別の状況において、当然のことの状況に提供される。
【００３１】
“ウェブページスクリプト”、通称“埋め込まれたスクリプト”、又は“埋め込まれたウェブスクリプト”は、ウェブページ若しくは同様のドキュメントのＨＴＭＬ又はＸＭＬのソースの中のＪａｖａＳｃｒｉｐｔコード及び／又はＶＢＳｃｒｉｐｔコードを制限されることなく含んでいる。
そのようなスクリプトは、通常、ウェブページ処理を追跡し、また、ユーザと相互作用するプレゼンテーションオブジェクトを追跡するプレゼンテーション解析スクリプトであることと対照的に、ウェブ解析スクリプトである。
【００３２】
埋め込まれた“ウェブ追跡メカニズム”は、イメージ要求、ウェブバグ、ＪａｖａＳｃｒｉｐｔ呼出し、ＨＴＴＰ  ＧＥＴ  又はＰＯＳＴ呼出し、そして、ウェブ解析を支援するために、ネットワークの向こう側のユーザ動作の追跡データをサーバや他のターゲットに転送するという効果を有するウェブページ（例えば、ＨＴＭＬやＸＭＬドキュメント）に含まれる若しくはインポートされる他の項目まで含む。
【００３３】
本明細書では、一方で“ウェブ解析”と、他方で“プレゼンテーション解析”を区別する。ウェブ解析は、ユーザのウェブページとの相互作用を追跡し、プレゼンテーション解析は、ユーザのマルチメディア・プレゼンテーションとの相互作用を追跡する。ここで対象となるプレゼンテーション解析は、ウェブ解析と協働してなされるが、それが本発明のあらゆる実施例で必要であるというわけではない。
“マルチメディア・プレゼンテーション”は、フラッシュプレゼンテーション、Ｆｌｅｘプレゼンテーション、アクションスクリプトを関係させる他のプレゼンテーション、そして他のマルチメディア・プレゼンテーション、又は、ウェブページから追跡可能に分離されたリッチ・インターネット・アプリケーションを含む。
“ソリューション”は本発明の側面を実施できるかもしれない商品である。ソリューションには何らかの特徴があるという事実は、特徴が本発明のあらゆる実施例で存在していなければならないこととは違い、それがいくつかの実施例で存在しているかもしれないということである。同様に、“プロトタイプ”は、請求の範囲に記載されている発明の側面を実施できる部分的に開発された製品である。
【００３４】
本明細書中の多くの実施例は、コンピュータに言及する。そして、デバイスは、１つのコンピュータ、または複数のコンピュータのシステムであるかもしれない。しかし、他の様々な方法と文脈の中で、本発明を表現できることが理解される。
コンピュータは、フラッシュや他のプレゼンテーション（を受け取ることができる唯一のデバイスではない。携帯電話（セルフォン）、携帯電話（モバイルフォン）、ブラックベリーマークの下で売られるような無線デバイス、パームマークの下で売られるような携帯情報端末（personal digital assistants）、及び／又は、他のデバイス、ハンドヘルドデバイスその他を含む、は、ユーザ動作の追跡を支援するマルチメディア・プレゼンテーションを提供するかもしれない。
【００３５】
同様に、いくつかの実施例が、クライアントマシンについて言及するが、マルチメディア・プレゼンテーションは、クライアント・サーバのネットワークにおけるのと同様に、ピアツーピアのネットワークにおいても、追跡されたり、分析されたり、その他の場合もある。すなわち、デバイスは、クライアント・サーバのネットワークの一部であるかもしれないし、また、ピアツーピアのネットワークにおけるビアであるかもしれない。または、それが本当に少しでもネットワークにあるならば、他のタイプのネットワークのノードであるかもしれない。
Ｏｍｎｉｔｕｒｅ社の活動、或はＯｍｎｉｔｕｒｅ社のクライアントの活動、を参照する時、による一般に、および彼らの顧客ができる活動の実施例であるときに、本発明の他の認定ユーザ、例えば、認可された解析サービスプロバイダーおよび彼らの顧客、ができる活動が、一般的な実施例となる。
【００３６】
（構造とその他）
図１と２は、本発明の少なくとも実施例と一致したプレゼンテーション解析構造を例示する。デバイスは、ユーザに、ディスプレイのみのスクリーン、キーボード、マウス、トラックボール、タッチスクリーン、スタイラス、スピーカー、マイクロホン、及び／又は、デバイスの一部を形成する、又は操作可能な接続で取り付けられている他の周辺機器を利用したユーザーインタフェースを用いてロードされたプレゼンテーションへのアクセスを提供する。
プレゼンテーションは、ウェブサイトからダウンロードされるか、ローカルな記憶媒体からロードされるかもしれない。プレゼンテーションは、ＲＡＭ、ＲＯＭ、他の半導体メモリ、ＣＤ−ＲＯＭまたはＤＶＤなどの移動可能なコンピュータ読み込み可能な不揮発性メモリ媒体などのメモリの形式で保存される。
【００３７】
プレゼンテーションプレーヤーは、ボタンや、スライダーバーや、メニューや、同様のものなどの対話的なオプションを通じて、プレゼンテーションを再生して、ユーザコントロールを提供する。これらの対話的なオプションは、プレゼンテーションにおけるオブジェクトの選択や他の操作に対応できる。プレゼンテーションは、一般的に、ビデオ、及び／又は、静止画像、サウンドファイル、テキスト、それらと同様の内容を含んでいる。それはプレゼンテーション解析エンジンコードをインポートするためのフックを含むかもしれない。
【００３８】
ソフトウェア、ファームウェア、または他の形式で表現されたプレゼンテーション解析方法を実行するために、デバイスは１台以上のプロセッサと関連回路を含む。オペレーティングシステムソフトウェアなどの基本ソフトウェア（ＢＩＯＳコード、ブートコード、診断コード、ユーザ選択、ネットワーク接続コード、ファイルシステムコード、および同様のもの）は、プレゼンテーション解析もしくは一般的な解析法に、必ずしも特有であるというわけではない機能性を提供するために存在しているかもしれない。ネットワークコードは、ネットワークスタック、ネットワーク・プロトコル、ネットワーク・インターフェース・カード、及び／又は他のネットワークサポートを利用できる。
【００３９】
ウェブブラウザは全ての実施例に必要ではないが、示された実施例は、ウェブサイトからウェブページをダウンロードするウェブブラウザを含む。テキスト、イメージ、及び他の内容に加えて、ウェブページは、ウェブページとのユーザ相互作用に関するデータを解析サーバに対して送る（また収集する）ウェブ解析スクリプトを含んでいる。
他のウェブ解析サービスの間で、Ｏｍｎｉｔｕｒｅ社は、例えば、そのようなスクリプトとサーバを提供する。サーバによって生成される唯一のビジターＩＤは、ブラウザクッキーに保存され、ウェブ解析データが、特定の訪問もしくは少なくともウェブサイトへの特定の訪問と相関され得ることができるためにウェブ解析サーバに送信される。
【００４０】
プレゼンテーションプレーヤーは、図に示されるように、スタンドアロンのアプリケーションであるかもしれないし（プレーヤーは図１の左の欄に示される）、またはブラウザのプラグインであるかもしれない（右のコラムのプレーヤー）。
いくつかの状況において、スクリプトとプレゼンテーションをダウンロードし及び／又はプレイを駆動させる内容を含むことは、供給された集合のように、ブラウザ以外のプログラムのためにできるかもしれない。その場合、ブラウザと関連し、又は加えてそのような集合または他のプログラムと共に、ここで議論される本発明の原理と特徴を適用できるかもしれない。
示された実施例もまた、プレゼンテーションとユーザとの相互作用を反映するプレゼンテーション解析データを収集するためのデータ収集コード（指示及び／又はデータ）、例えばストリングのような、収集されたプレゼンテーション解析データを含む、ユーザ相互作用フォーマット済みデータ構造体の間で、急いで生成するためのデータ構造生成コード、及び、プレゼンテーション解析データをローカルファイル、例えば、プレゼンテーション解析サーバのような他の目的地に送信するためのデータ送信コード、を有するプレゼンテーション解析エンジンを含んでいる。
いくつかの実施例は、自動追跡プレゼンテーション解析を支援する自動追跡コードを含み、いくつかの実施例は、生成，変更，表示，及び／又はその他サポートされるビジュアルプレゼンテーション解析オーバレイ記録のためのＶＡＯＲコードを含む。
【００４１】
先行技術であるＶＡＯＲ  ＣｌｉｃｋＭａｐ（トレードマーク）コードは、ＣｌｉｃｋＭａｐ（トレードマーク）ユーザーインタフェースを保有している間、ＪａｖａＳｃｒｉｐｔコミュニケーションへの信用を固有のＡｃｔｉｏｎＳｃｒｉｐｔコミュニケーションの使用に置き換えることにより、本発明の使用に変更される。プレゼンテーション解析エンジンは、ブラウザクッキーの中に保存され、ウェブ解析コードによって使用されるのと同じビジターＩＤを使用する。いくつかの実施例において、プレゼンテーション解析エンジンは、フラッシュがローカルに保存したオブジェクトのように、フラッシュのクッキーの中に保存されるビジターＩＤを使用する。
【００４２】
本発明の全ての実施例もしくは図に示された全ての要素を含む構成、又は、ここで示される数と関係が全く同じ要素を含む必要はない。図２は主として本発明のプレゼンテーション解析方法を示すフローチャートであるが、図１と本明細書における他の実施例の議論は、また、ちょうど方法の理解が、時々、主として図１に示されたシステムや他の方法でない実施例の理解を助けるように、方法の実施例の理解を助ける。
【００４３】
いくつかの実施例は、フラッシュメモリ、CD、DVD、リムーバブルドライブ、その種の他のもののようなコンピュータ読取り可能な記憶媒体を含む。そして、それはプレゼンテーション解析のプロセスを実行するためにプロセッサと協働するように構成される。ハードディスク、RAM、テープまたは他のメモリもまた、発明を実施するコンピュータ読取り可能な記憶媒体として用いられるように構成される。
方法の実施例と構成媒体の実施例は、多くの方法が媒体を構成するコードを使用して実装され得るという意味で、通常、密接に関連があることが理解される。また、多くの構成媒体は、方法を実行するコードによって構成される。
【００４４】
方法は、ROM、PROM、EEPROM、RAMまたは方法を実行するコードを実施する他の記憶媒体を含まない物理的に組込まれた特殊ハードウェアを使って実行されるかもしれないということを理解する。しかし、そのような実現例は、マイクロコード若しくは他のコードを含む媒体なしで、シリコンに完全に方法を実装する高いコストのために、珍しいことになっている。
いくつかの実施例は、本発明によれば、プレゼンテーション解析データ構造を含んでいる。そのような構造体は、結果として構成される、リムーバブルな媒体又はメモリを含む、コンピュータ読込み可能な媒体に保存される。プレゼンテーション解析構造は、C++、Java、XML、Perl、及び／又は、別のプログラミングもしくはスクリプト言語を用いて、さもなければ実施可能性またはクレーム範囲によって必要な場合を除いて、言語の組合せを用いて実装されるかもしれない。なお、アクションスクリプトは、いくつかの実施例のためによく用いられる。すべてのこれらの例は、発明を使用する技術の１つに、多くの方法があることを単に示している。
【００４５】
ウェブページスクリプトの如何にかかわらず作動できるプレゼンテーション解析エンジンの１つの実施例は、プレゼンテーションの中でユーザの動作を反映するプレゼンテーション解析データを収集するデータ収集コードと、フォーマットされたプレゼンテーション解析データ構造の少なくとも部分を動的に生成するデータ構造生成コードと、解析サーバにデータ構造を送信するデータ送信コードとを含む。そこでは、収集されたプレゼンテーション解析データをウェブページに埋め込まれたスクリプトに送るｇｅｔＵＲＬ（）の実施への信用がないため、プレゼンテーション解析エンジンが更に特徴付けられ、また、ウェブページに埋め込まれたプレゼンテーション解析スクリプトの信用もない。いくつかの実施例は、更に、自動追跡コード，ビジュアル解析オーバレイ記録コードの少なくとも一つを含む。いくつかの実施例において、唯一のビジターＩＤは、ブラウザクッキー、ローカル共有オブジェクトの少なくとも一つに保存される。
【００４６】
いくつかの実施例において、データ送信コードは、イメージ要求を行うコード、GET要求を行うコード、POST要求を行うコード、ポート要求を行うコード、FTP要求を行うコード、共有ファイルにデータを書き込むコード、共有メモリにデータを書き込むコードのうち少なくとも１つを含む。
いくつかの場合、データ送信コードは、ユーザのページビュー動作２０４、ユーザのリンク追跡動作、ユーザのクリップビュー動作、ユーザのボタン押下動作、再生完了のユーザの割合、プレゼンテーション印象カウントのうち少なくとも１つを反映する解析データを送信する。いくつかの場合、エンジンはアクションスクリプトのコードを含む。いくつかの場合、マルチメディア・プレゼンテーションはアクションスクリプトのオブジェクトを含む。いくつかの実施例は、プレゼンテーション解析エンジンを、ウェブブラウザ、ブラウザで表示されるウェブページ、そしてプレゼンテーションの外側のウェブページ内でユーザ動作を反映するウェブページ解析データを収集するためにウェブページに埋め込まれるスクリプトコードに統合し、また、そこでは、エンジンにはプレゼンテーション解析データをウェブページに埋め込まれたスクリプトコードと同期させるためのコードを全く持たない。ウェブページに埋め込まれたスクリプトコードは、ＪａｖａＳｃｒｉｐｔコード、ＶＢＳｃｒｉｐｔコードのうち少なくとも一つ含む可能性がある。
いくつかの実施例では、少なくとも解析サーバ及び／又はエンジンをインポートするためにコードを備えたマルチメディア・プレゼンテーションにエンジンを結合する。
【００４７】
より詳しくは、1つのアクションスクリプトのプレゼンテーション解析エンジンは、少なくともプレゼンテーションのアクションスクリプトのオブジェクトの動作を反映するアクションスクリプトのプレゼンテーション解析データを収集するデータ収集コード、および、収集されたアクションスクリプトのプレゼンテーション解析データの少なくとも一部分を送信するデータ送信コードを含む。そこでは、エンジンは、アクションスクリプトのプレゼンテーション解析データを収集するために、プレゼンテーションの範囲内のオブジェクト特有のユーザ動作追跡コードに対して依存しない。場合によっては、エンジンはまた、アクションスクリプトのプレゼンテーション解析データを送信するために、いかなるgetURLQの実施にも依存しない。
【００４８】
ある場合、プレゼンテーションと互換性があって、少なくとも１つのアクションスクリプトのオブジェクトをユーザ相互作用に提供するプレゼンテーションのプレーヤーにエンジンを結合できる。いくつかの場合、次に挙げるものの１つ又は１つ以上所有しているかもしれない。
・Flashプレゼンテーションプレーヤーから成るプレーヤー
・Flexプレゼンテーションプレーヤーから成るプレーヤー
・ウェブブラウザへのプラグインから成るプレーヤー
・ウェブページに少なくとも部分的に組み込まれたプレゼンテーション１０６
・不揮発性の取り外し可能なコンピュータ読取り可能な記憶媒体に、少なくとも部分的に保存されたプレゼンテーション１０６
・コンピュータで動作するプレーヤー
・ハンドヘルドや他の携帯機器で動作するプレーヤー
【００４９】
ある実施例では、アクションスクリプトのプレゼンテーションの動作（アクションスプリクトのオブジェクトを含むマルチメディア・プレゼンテーションをデバイスで受信すること、マルチメディア・プレゼンテーションのアクションスプリクトのオブジェクトとのユーザ相互作用を反映するプレゼンテーション解析データを収集すること、および、プレゼンテーション解析データを送信することを含む）を独立して追跡するための方法を提供する。そこでは、方法は、getURL()の実行、ウェブページに埋め込まれたJavaScriptコード、ウェブページに埋め込まれたVBScriptコード、マルチメディアのプレゼンテーションにおけるオブジェクト特有のユーザ動作追跡コードの１つ乃至はそれ以上のものに依存しないで作動する。送信ステップは、イメージ要求を行うこと、GET要求を行うこと、POST要求を行うこと、ポート要求を行うこと、FTP要求を行うこと、共有ファイルにデータを書き込むこと、共有メモリにデータを書き込むことのうち少なくとも１つを含む。
方法は、また、プレゼンテーション解析データを含むデータ構造をデバイスで生成すること、マルチメディアのプレゼンテーションでのユーザ相互作用を自動追跡すること、及び／又は、マルチメディアのプレゼンテーションでのユーザ相互作用に関して、ビジュアル解析オーバレイ記録を提供すること、
を動的に含む。
ある場合、方法は、更に、埋め込まれたウェブ追跡メカニズムを備えるウェブページをデバイスで受信すること、埋め込まれたウェブ追跡メカニズムを用いて、ウェブページとのユーザ相互作用を反映するウェブ解析データを収集すること、解析サーバへウェブ解析データを送信することを含む。
ある場合、ウェブ解析ステップを実行するコードとプレゼンテーション解析ステップを実行するコードとの間のコミュニケーションを要求しないで、解析サーバにウェブ解析データを送信するステップは、対応するビジターIDの相関関係で送信し、プレゼンテーション解析データを送信するステップは、同じビジターIDと相関関係がある解析サーバにそのデータを送る。
開発の観測と歴史は、本発明のシステム、デバイス、構成媒体、方法、プロセス製品の理解を助ける。Ｏｍｎｉｔｕｒｅ解析において、フラッシュ追跡は、ＪａｖａＳｃｒｉｐｔを実行するという要件によって制限される。
フラッシュアプリケーションから測定基準をとる典型的方法は、フラッシュで“ｇｅｔＵＲＬ（）”コマンドを実行することであり、それはブラウザレベルで、HTMLのページのＪａｖａＳｃｒｉｐｔを順番に実行することであった。このプロセスは、フラッシュ開発者にはＪａｖａＳｃｒｉｐｔがわかる単純なアプリケーションで、十分に機能し、非常にわずかな追跡が要求されるだけである。本発明は、動的にフラッシュ測定基準を組織化して、Ｏｍｎｉｔｕｒｅのデータ収集サーバ、若しくは本発明の別の潜在的な認定ユーザのものに送るために、フラッシュのアクションスプリクトを利用する代替アプローチを提供する。
【００５０】
稼働しているプロトタイプは、2005年9月かそれより少し前に非開示契約と守秘義務の下でＯｍｎｉｔｕｒｅ社と他社により作られ使われた。この発明は、データを処理し送信するためのＯｍｎｉｔｕｒｅのJavaScriptコマンドの多くと似ているが、それはフラッシュ、すなわちアクションスプリクトの生まれつきの言語とフォーマットによりなされるからである。
このアプローチの利点は、実施を単純化し、追跡性能を向上させ、ブラウザのページレベルスクリプトに依存しないフラッシュ追跡を許可して、フラッシュ追跡を他の技術に依存させないことである。それは、また、Ｏｍｎｉｔｕｒｅのメディア追跡能力を識別するものでもある。
Ｏｍｎｉｔｕｒｅの有する技術力は、アーキテクチャーを処理し、最終工程（収集の後）処理の変更するどんな必要性も排除する。全ての機能は、クライアント側および本来のフラッシュのアクションスプリクトに存在するかもしれない。
【００５１】
解決法は、米国で97.1%配布され、米国以外でも98%以上配布されているプレーヤー6のフラッシュバージョンと後で互換性を持たせる。それは、フラッシュMX2004や最新のもの、但しバージョン６と互換性があるプレーヤーの開発環境仕様を使用する。
そしてプレーヤーはバージョン６に互換性を持つ。Ｏｍｎｉｔｕｒｅ本来のフラッシュのアクションスプリクト追跡は、フラッシュ追跡を実行するプロセスを単純化することができ、フラッシュ追跡のデータ伝送性能を劇的に向上させる。
開発者の視点から、この技術のおかげで非常に単純で強力なフラッシュ解析と、いくつかのケースで自動的に、フラッシュのためのＯｍｎｉｔｕｒｅ
サイトカタリスト追跡コードの開発者による実装を提供できる。 
適当な解析データを動的に生成し、JavaScript使用しないで、同じアクションスプリクトを通して、Ｏｍｎｉｔｕｒｅにデータを送ることは、フラッシュのアクションスプリクトに影響を及ぼすことになる。Ｏｍｎｉｔｕｒｅのクライアントの利益は、迅速な簡略化された実装例、本来のアクションスプリクトのサポート、そして動作の自動追跡の場合、ＣｌｉｃｋＭａｐ（トレードマーク）のサポートである。
【００５２】
プロトタイプの解決法は、２００５年９月に独自開発され、その時、１人のＯｍｎｉｔｕｒｅクライアントに提供した。Staz企業は、このプロトタイプをスタンドアロンのアプリケーションとして、フラッシュとＣ＋＋プログラミングに使用する彼らのVongoプレーヤーを追跡するのに使用した。このプロトライプのバージョンは、非常にラフであり、アクションスプリクトを用いるハードコーディングされたイメージ要求を動的に生成する原機能のまま供給された。このバージョンは、追跡するためのＯｍｎｉｔｕｒｅのクッキーに影響しなかった。Starz企業は、ｖｉｓＩＤのキーとしてそれら自身のユニークな追跡コードで通用し、そして見通しは、ＳｉｔｅＣａｔａｌｙｓｔ  ｖｉｓＩＤをこのｕｎｉｑｕｅｌＤに取り替えた。
プロトタイプのコードを提供した際、本発明を保護する秘密性の義務が適所にあった。
【００５３】
解決法の第２バージョンは、ＧＭヨーロッパに、彼らのＯｐｅｌ．ｄｅウェブサイトのために配布された。このバージョンは、イメージ要求の動的な生成を含んでいたので、Staz企業のバージョンよりはるかに優れており、ＪａｖａＳｃｒｉｐｔファイルと同じクッキーを共有するのを含んでおり、ＪａｖａＳｃｒｉｐｔを用いて、よりインラインであった。２００５年１０月にＧＭヨーロッパのフラッシュ開発者Ｚｅｎｔｒｏｐｙに、このバージョンを提供した。
コードを提供したとき、本発明を保護する秘密性の義務が適所にあった。
【００５４】
解決法の第３バージョンは、２００６年２月にメディアに関するサミットのプレゼンテーションに備えて、メディア追跡能力を進める手段として、スクリップス・ネットワーク（ＥＷスクリップス）に配布された。
スクリップスのフラッシュ開発の専門家のティム・オニールは、コードのコピーを受け取って、コードのサンプルなどのように、配布のためのアクションスプリクト2.0の部品へのパッケージ解決コードと関連する、何らかの役立っているフィードバックを発明者に提供した。
【００５５】
発明者の回想は、データを組織化して送る基本的な機能性１４４ではなく、パッケージとして、ティム  オニールの調整があったということである。コードをスクリップスに提供したとき、本発明を保護する秘密性の義務が適所にあった。
【００５６】
（詳細な実施例）
Ｏｍｎｉｔｕｒｅのフラッシュのアクションスプリクト解決法は、典型的なＨＴＭＬページ（１２８）を追跡（２２０、２２２）するＯｍｎｉｔｕｒｅ  ＪａｖａＳｃｒｉｐｔ１３２に機能でき、若しくは依存しない。高いレベルでは、次のことができるかもしれない。
Ｏｍｎｉｔｕｒｅのフラッシュのアクションスクリプトは、イメージ要求を生成して、Ｏｍｎｉｔｕｒｅサーバ（１３６）にそれを送る。フラッシュは、ＪａｖａＳｃｒｉｐｔ（１３２）を必要としないブラウザ（１２６）を通して、ｈｔｔｐ（ｓ）プロトコルを使用する。ＯｍｎｉｔｕｒｅのＣＮａｍｅ（）のデータ収集機能は、クッキー（１４２）がブラウザに読まれるか、又は設定されるのを許容する。フラッシュからの要求とＪａｖａＳｃｒｉｐｔからの要求はブラウザクッキーに関してブラウザに同じように扱われ、ユニークなビジターは、フラッシュを通して要求が来たときでさえ、ＳｉｔｅＣａｔａｌｙｓｔ（トレードマーク）のサーバコードに同じｖｉｓＩＤ１４０を持っている。Ｏｍｎｉｔｕｒｅの構成スクリプトは、ランタイムのときに、Ｏｍｎｉｔｕｒｅのアクションスプリクト（１４４）を動的に含んでいる。
【００５７】
Ｏｍｎｉｔｕｒｅのアクションスプリクトの追跡解決法は、アクションスクリプトのプログラミングを利用して、フラッシュのhttp(s)技術が解析データ（１５２）を利用できる形式にコンパイルして、Ｏｍｎｉｔｕｒｅのデータ収集サーバ（１３６）へデータを伝送（２１０）する。アクションスプリクトは、フラッシュアプリケーション（１０６）がランタイムのときに動的に動作を実行できるという点において、ＪａｖａＳｃｒｉｐｔ（及びＪａｖａ）と同様である。Ｏｍｎｉｔｕｒｅの解決法は、ユーザ（１０４）の動作（アプリケーション開発者によって定義されるように）に基づく解析情報を収集（２０６）して、解析報告のために重要な形式へとこの簡単なデータを変換（２０８）するために、この機能性を利用する。そして、解決法は、処理と報告のために形式化された測定基準データを、Ｏｍｎｉｔｕｒｅに押すために、データを送信（２１０）する。このデータ転送プロセスは、ユーザのブラウザ（１２６）のｈｔｔｐ（ｓ）プロトコルを使用し、これを介して、ユニークな、非個人的に特定しているフラッシュアプリケーションの正確なビジターとパスの解析のためのID（１４０）と共に、測定基準のクッキー（１４２）を設定する（若しくは存在を利用する）。
【００５８】
クッキー（１４２）にデータを入れ、イメージ要求を生成させること（２１０）の間の関係が何であるかを問うことができる。いくつかの実施例では、クッキーの中に格納される唯一のデータが、非個人的に特定することできるユニークなビジターＩD（１４０）である。このビジターＩＤは、ユニークなビジターを定義するキーであるが、それはイメージ要求におけるデータから独立している。イメージ要求は、プレゼンテーション解析を報告するための特定の変数（１５２）とカスタム値（１５２）を含んでいる。
【００５９】
イメージ要求は、ビジターのユニーク性を証明するために、通常クッキーに影響するが、クッキーからのビジターIDは、送られるか又は報告されるデータ（１５２）の要求ではない。クッキーは、ユニークなビジターの測定基準に使用されるだけでよい。ＪａｖａＳｃｒｉｐｔがイメージ要求を送る（２２２）ように、フラッシュがイメージ要求を送る（２１０）とき、この値が同じであることは重要であるかもしれない。
これらの２つのアプローチは、同じユニークなビジターＩＤを共有していないならば、システム（１３６）は、２人のユニークなビジターであるとして、ＪａｖａＳｃｒｉｐｔとフラッシュの両方にアクセスする１人のユーザ（１０４）を特定する。ところで、ユーザが、単独のビジターであると認識するのを好むことができる。代替手段として、フラッシュは、また、ライブラリ共有オブジェクト（１４２）にユニークなビジターＩＤを格納できる（これがフラッシュのクッキーのバージョンであるが、それは典型的なブラウザクッキーであると考えられていない。）。このアプローチは、ライブラリの共有オブジェクトのビジターのユニーク性を維持するかもしれない。また、このuniqueｌＤ（１４０）をブラウザ（１２６）と共有するのは可能である。しかし、例えば、ブラウザクッキー及び／又はウェブ分析サーバに代わり送信するＪａｖａＳｃｒｉｐｔコードにuniqueｌＤ（１４０）を送るようなステップが要求される。理論上、ＬＳＯアプローチは、ブラウザクッキーより正確である場合があるが、その使用はプライバシー擁護派によって反対される。
【００６０】
クッキーのuniquelD（１４０）は、ブラウザによって自動的に伝えられる。要求がブラウザ（１２６）に直面しているとき、ブラウザは、そのドメインのための要求がそうするという全てのクッキー情報を集めて、自動的にそれを伝える。上述したように、別の方法は、ある他の方法でライブラリ共有オブジェクトなどのユニークなビジターＩＤを保存し、次に、処理のためイメージ要求を通すことである。Starz企業のプロトタイプは、イメージ要求を通してunique IDの転送アプローチのタイプを使用し、特にＪａｖａＳｃｒｉｐｔ（１３２）の使用のためのブラウザ（１２６）にuniquelDを送る必要は全くないときに、それは非常に正確であった。
【００６１】
したがって、１つのアプローチが、GETコマンドを使用するイメージ要求ストリングを利用する。もちろん、どんなイメージも返す必要はないので、何らかの意味で、それは実際にイメージ要求でない。また、使用できたデータ（１５２）を転送する別の方法がある。
例えば、Ｏｍｎｉｔｕｒｅのデータ収集サーバが、イメージ要求と共にGETを使用する代替手段として送られるべきＸＭＬ  ＰＯＳＴコマンドを許容する。
このフラッシュアプリケーション（１０６／１１４／１４４）は、ＸＭＬ postをするかもしれない。ＸＭＬ ＰＯＳＴまたはイメージ要求に代わる手段として、アプリケーション（１０６／１１４／１４４）は、Ｏｍｎｉｔｕｒｅ（若しくは他の）サーバ（１３６）にポート８０要求をおそらく作ることができた。ＦＴＰを使用するのは比較的遅く、また、移動させるファイルとターゲットのディレクトリを指定して、ことによると許容を設定して、ログインなどの多くの追加ステップを必要とするけれども、収集サーバ（１３６）が処理して摂取するＦＴＰ（ファイル転送プロトコル）で、情報（１５２）を収集し、次に、それを送ることができたであろう。
【００６２】
プロトタイプのＯｍｎｉｔｕｒｅの解決法は、追跡されたフラッシュファイル（１０６）の中のランタイムに含まれている集結された（そして、コンパイルされる）エンジン１４４を利用する。追跡されたフラッシュファイルは、集結されたエンジンに含まれる少量のスクリプト１５８を要求する。そして、主要な成功イベントでの機能を実行する少量１４６を含む。追跡されるフラッシュファイルの構成は、配布とパッケージの容易さのためにフラッシュの部品を通して扱われる。デバイスで目視できるけれども、コンポーネント（１４４）はランタイムのときに必ず目に見えるというわけではない。
【００６３】
このバージョンの集結されたエンジン（１４４）は、いくつかのセクションに組織化される。初期化セクションは、転送のための適切な形式を生成するために、エンジンのプライベート変数を初期化する。
もう１つのセクションには、トランスミッションのストリング（１５２）の始め、および一般的な部分を生成する機能（１４８）を有する。もう１つのセクションには、トランスミッションのストリングのためにユーザによって定義されてカスタムの変数と値を生成するためにアクションスプリクトのオブジェクト（１１６）を通して、動的に解析される機能１４８がある。
第４のセクションの役割は、例えば、カスタムリンクの追跡データ（１５２）と対照的なページビューのデータ（１５２）のために、生成されるトランスミッションのストリングのタイプを変更する（１４８）。プロトタイプからのサンプルコードは以下に提供される。ＡｕｔｏＴｒａｃｋ（トレードマーク）の特徴（１５４）は、ＪａｖａＳｃｒｉｐｔの追跡オプションと比べたときの部分における、Ｏｍｎｉｔｕｒｅの追跡機能性を実施することを開発者に許容する。
ＡｕｔｏＴｒａｃｋ（トレードマーク）コード（１５４）は、クリック動作（２０４）をとらえるために（２０６）、本来のフラッシュアクションスプリクトを利用する。そして、追跡データを動的にコンパイル（２０８）し、効果的な本来の形式でＯｍｎｉｔｕｒｅ（１３６）に自動送信（２１０）する。
フラッシュのためのＯｍｎｉｔｕｒｅの自動追跡は、Ｏｍｎｉｔｕｒｅの本来のフラッシュアクションスプリクト追跡の基礎に拡張される。この特徴は、追跡可能に配慮され、自動的にフラッシュファイルの中のオブジェクトの使用を追跡するかもしれない、ボタン、動画クリップ動作のためのものである。自動追跡コードが新たにボタンを自動的に加えたので、Ｏｍｎｉｔｕｒｅのクライアントは、追跡に対してクリック動作のための個々のボタン又は動画クリップをコード化する必要性なしで、フラッシュファイルの使用を自動的に追跡するこの特徴を利用することができる。
ＡｕｔｏＴｒａｃｋは、フラッシュアプリケーションにおける実装に必要であり、追跡の測定基準がないかどうかテストしながら、時間を劇的に短縮できる。あるブラウザレベル報告は、自動追跡可能かそうでないかもしれない。しかし、データは、例えば、ドメイン、ブラウザタイプ、およびバージョンを参照する現在のブラウザのURL（ホストのURL又はサーバ側）を動的に（クライアント側またはサーバ側で）生成することができる＜オブジェクト＞タグにおけるフラッシュ変数を通して収集できる。
【００６４】
For instance: <object...
<PARAM NAME=FlashVars
VALUE="prop1=Hel1o%20Worldflprop2=so%20cool">
</object> or
<object...
<param name-'movie"
value="file1.swf?prop1=Hello
Woιid&prop2=so cool7>
</object>
【００６５】
ＣｌｉｃｋＭａｐ（トレードマーク）の特徴（１５６）は、ビジュアルなクリックオーバレイのより良い性能と精度のための本来のアクションスクリプトに影響する。
Ｏｍｎｉｔｕｒｅコードは、オブジェクト（１１６）がクリックされ（２０４）、ＣｌｉｃｋＭａｐ（トレードマーク）のオーバレイ（１５２）にクリック動作についてのビジュアル情報を表示する特定の情報（１５２）をコンパイル（２０８）し、伝える（２１０）。
ＣｌｉｃｋＭａｐ（トレードマーク）の本発明以前の機能性は、フラッシュ解析オーバレイをサポートしたが、この技術は、追跡動作のためのブラウザと会話するため、ＪａｖａＳｃｒｉｐｔの使用に依存している。さて、Ｏｍｎｉｔｕｒｅの本来のフラッシュのアクションスプリクトの追跡の使用によって、ＣｌｉｃｋＭａｐ（トレードマーク）動作は、本来のフラッシュのアクションスプリクト言語を通して、他の解析の測定基準を用いて自動的に追跡できる。これは、ユーザが追跡可能なボタンや動画クリップをクリックしたときに、適切な追跡コードを動的に生成するリスナー（１４４）の使用を通して達成される。ＣｌｉｃｋＭａｐ（トレードマーク）コード（１５６）は、２０４にクリックされたボタンまたは動画クリップのために自動的に適切なｏｂｊｅｃｔＩＤ（１１６）を決定できる。
これは、objectIDが、クリックされたオブジェクト（例えば、ボタンや動画クリップ）のためであることを決定する（表示する）オブジェクトを通して、周期的に繰り返すことによって、ＣｌｉｃｋＭａｐ（トレードマーク）とＡｕｔｏＴｒａｃｋ（トレードマーク）のために行われる。
自動追跡コード（１５４）とＣｌｉｃｋＭａｐ（トレードマーク）コード（１５４）は、オブジェクトがクリックされた情報（１５２）を収集するための情報に影響できる。 
【００６６】
１つのプロトタイプでは、最初にオブジェクトに索引をつける。そして、次に、動作のリッスンが生じる。そして、次に、コードは、選択されたか、または別の方法で活性化したものを特定するために索引をつけられたオブジェクトを通してループにされる。フラッシュの開発者の見解から、フラッシュの開発者が１５８を加えていて、実装プロセスは彼らの開発環境にＯｍｎｉｔｕｒｅの測定基準の拡張子を始める。この拡大は本明細書で議論するように開発環境のコンポーネントライブラリにＯｍｎｉｔｕｒｅの部品を追加する。
拡大がいったん加えられると、コンポーネントは開発環境でいつも利用可能である。
次のステップは、コンポーネントのインスタンスをコンポーネントライブラリから追跡されることになっているフラッシュアプリケーションのメインのスケジュールに影響され、インスタンス名をそれに与えることである。次に、開発者はＯｍｎｉｔｕｒｅが示すコードのいくつかの行でコンポーネントを構成する。適所にある構成で、それは単にコード（多くの場合コードのちょうど１つの行）のいくつかの簡単な行を加える問題である。各イベントにスクリプトの系列を加える必要性なしでフラッシュで追跡されるか、または自動追跡を有効にする必要がある。（構成は１アプリケーションあたり５分未満かかることができる）。
【００６７】
一般に、測定基準を組織化して、データをＯｍｎｉｔｕｒｅに送るエンジン（１４４）は、フラッシュアプリケーションが申請されるので、同じドメインサーバに集結されるべきである。ファイルが同じドメインから配布されている限り、それらが含まれているどのドメインにかかわらず適切にエンジンを参照できる。異なったドメインからエンジン（ファイルを集結する）１４４を参照するのが、フラッシュアプリケーションより可能であるが、同じドメインにない利用で実行されるのが、集結に加えられるべき追加許容が機能１４４を許容するために申請されるのを必要とする。エンジン（１４４）を参照しているフラッシュアプリケーションを再コンパイルする必要性なしで、この集結されたファイルをそして、取り替えるか、または必要に応じてアップデートできる。
【００６８】
解決法の１つのバージョンのランタイムのときに、集結されたエンジン（１４４）を意味するコード１５８の切れ端が次に示される。クライアントはＯｍｎｉｔｕｒｅの部品のインスタンスを彼らのフラッシュアプリケーションに引きずらなければならない。そして、ランタイムのときにインポートされるエンジンを構成して、追跡を開始するフラッシュアプリケーションへのコードの行の組合せを加える。例えば、Ｏｍｎｉｔｕｒｅの部品のインスタンスをフラッシュアプリケーションに追加した後に、コード１５８の以下の行は、追跡作業をするように加えられるだろう。
【００６９】
/* Register the instance of the Omniture
component "..metrics) as a listener to know when the analyticsEvents.swf
has loaded */ _analytics.addEventListener("loaded", this,
"onMetricsLoaded");
I* Configure the Omniture analytics engine
after it loads */ function onMetricsLoaded(){
_analytics. account =
"devstephenh"; _analytics.pageURL =
"http://www.flashTest.com"; _analytics.clickMapPage = "Flash AS
Test"; 
_analytics.autoTrack = true; }
I* Point to the location of the Omniture
analytics engine */ _analytics.loadEvents("metricsEvents.swf');
【００７０】
ユニークなビジターの測定基準は、追跡する（１４４）ＯｍｎｉｔｕｒｅのＪａｖａＳｃｒｉｐｔブラウザ（１３２）の動作とＯｍｎｉｔｕｒｅの本来のフラッシュのアクションスプリクトの間で同時である場合がある。これはデフォルトでデータ伝送メカニズムを通して達成される。この追跡エンジンが力を入れるので、Ｏｍｎｉｔｕｒｅのサーバ側のクッキー生成、それらのユニークなビジターＩＤ（１４０）に伴うすべてのクッキー（１４２）（同じドメインに設定される最初のパーティードメインクッキー１４２さえ）が、データ伝送２１０、２２２に利用可能であり、技術１３２、１４４の間でユニークなビジターカウントを維持する。Ｏｍｎｉｔｕｒｅの本来のフラッシュのアクションスクリプト追跡を含む。Ｏｍｎｉｔｕｒｅの本来のフラッシュのアクションスクリプトが典型的なブラウザクッキー（１４２）の使用なしで、ユニークな追跡コード（１４０）を含むように追跡している状態で、ユニークなビジターの測定基準を拡張することができる。フラッシュ環境でライブラリの共有オブジェクト（１４２）（通称ＬＳＯ１４２、ローカル共有オブジェクト１４２）に影響して、個人情報なしでプライバシー規格の中で唯一のユニークなビジターを特定するためにユニークな識別子１４０を格納して維持できるのである。
【００７１】
ｇｅｔＵＲＬ（）はこの解決策によって使用されないが、それは本発明の機能性のための要件でないが、それと共にｇｅｔＵＲＬを使用できる。ｇｅｔＵＲＬ（）のアプローチは、主要な制限を持って、他のウェブページ、例えば、ｇｅｔＵＲＬ（”  ｈｔｔｐ：／／ｗｗｗ．ｏｍｎｉｔｕｒｅ．ｃｏｍ  ”）への外にリンクするのに使用されることになっている。新しいページ、Ｏｍｎｉｔｕｒｅドットコムにブラウザを向け直す。ｇｅｔＵＲＬ（）機能は、ブラウザとコミュニケートする手段として影響された。それは、ブラウザレベル、ａが向け直す同類、またはＪａｖａＳｃｒｉｐｔにおけるクライアントサイドコードを実行するのに使用される。情報をブラウザに戻すのに、フラッシュがＬＳＯに格納したかもしれないｕｎｉｑｕｅｌＤ（１４０）のように、ｇｅｔＵＲＬＱを使用するのが、役に立つかもしれないか、または一般に、本発明の解決策のための要件がｇｅｔＵＲＬ（）以外のほかにない。
【００７２】
フラッシュアプリケーション（１０６／１１４）は、例えば、ブラウザのない開いているか、又は実行しているオペレーティングシステム（１２２）上で、ブラウザ（１２６）の如何にかかわらず稼働できる。本明細書に記載された何らかの解決法は、ブラウザ稼働なしで、２０６、２０８、２１０をこのように追跡すると考慮する。プレゼンテーション（１０６）がＨＴＭＬコードに埋め込まれたとき、フラッシュは、しかし、ユーザによって始められたブラウザ、フラッシュ用途の外でブラウザ１２６を動作させるときのオペレーティングシステムのデフォルトブラウザを通して、インターネット接続１２４を作ることであるかもしれないそれが埋め込まれている。これはｈｔｔｐ要求が、結局フラッシュプレーヤーからインターネットまでＯｍｎｉｔｕｒｅ１３６に行く手段となる。Ｏｍｎｉｔｕｒｅはフラッシュコミュニケーションのこの特定のメソッドを設計しなかったが、機能性を利用している。フラッシュファイル１０６が負荷（印象）に要求を送るとしたら、第１の最初のページのそれらのそれぞれの解析法のためのフラッシュを使って、ＪａｖａＳｃｒｉｐｔが訪問されるとき、クッキーの競争を避けるために注意するべきである。 
【００７３】
また、同じウェブページ（本発明のあるなしにかかわらず）、または２つの静的なイメージ要求と共にＪａｖａＳｃｒｉｐｔの２つのバージョンを使用するとき、クッキーの競争は生じた。解析法解決の特定の事情によって、考えるクッキーの競争の可能性がこのフラッシュ解決に特定でないが、何かであること価値があるかもしれない。さらに本発明の理解を促進するために、特定のコードを次に与える。発明者によって書かれて、使用されたプロトタイプのためのテキストファイルからのコンピュータのプログラムのソースコードを含んでいる。コードは、アクションスクリプトのプログラミング言語で書かれている。
本発明が以下に与えられた特定のコードまたは特徴に限定されないのが理解されよう。このプロトタイプコードは単に実施例である。 それは“＿固有のＯｍｎｉｔｕｒｅの＿フラッシュ＿追跡＿＿コード４＿ｌ７＿２００６．ｔｘｔ”と題をつけられたファイルから来ている。
【００７４】
このコードでは、ｓｅｎｄＡｎａｌｙｔｉｃｓ（）は、サイトカタリストのためのカスタム変数を含んでいるデータ列の最終的な部分を生成する機能である。それは、オブジェクトを通してループにし、特定の変数と値を捜し求める。次に、適切なストリングを生成する。最終的に、データをＯｍｎｉｔｕｒｅに送る。それは、本来のアクションスプリクトを使用することですべて達成される。プロトタイプは“個人的なＶａｒｓ[_]”の以下の定義を含んでいる。
【００７５】
// Initiate RS check to false until
initStringQ function finds appropriate value var _sRSCheck:String;
// Holds the value of the defined movie URL
(based on initString()) for other functions var _sURLCheck:String; // Private
Vars var _sAccount:String; var _sDefaultRS:String; var _sNameSpace:String;
var_sCName:String; var_sURLString; var _sReferrer:String; var _sCharSet:String;
var _sCurrencyCode:String; var _sDefaultPage:String; var _sDefaultLink:String;
var _sCookie&#971;fetime:String; var _sScreenRes:String; var _sClickMapPage:String;
var _sClickMaplD:String; var _bClickMapSupport:Boolean; var
_bTestSupport:Boolean; var _bAutoTrack:Boolean; var _mclmageLoader:MovieClip;
var _mcMainMovie:MovieClip;
【００７６】
また、プロトタイプは“セッター”の以下の定義、特定の変数の値を設定するための、すなわち、機能を含んでいる：
【００７７】
function setAccount(val:String):Void {
_sAccount = val; 
} function setNameSpace(val:String):Void {
_sNameSpace = val;
} function setCName(val:String):Void {
_sCName = val;
} function setURL(val:String):Void {
_sURL = val; } function
setReferrer(val:String):Void { _sReferrer = val;
} function setCurrencyCode(val:String):Void
{ _sCurrencyCode = val;
} function setCharSet(val:String):Void {
_sCharSet = val;
} function
setDefaultPageName(va!:String):Void { _sDefaultPage = val;
} function setDefau!tLinkName(val:String):Void
{
_sDefaultLink = val; } function
setClickMapPage(val:String):Void {
_sClickMapPage = val;
} function
setCookieLifetime(val:String):Void { _sCookie&#971;fetime = val;
} function setTestSupport(val:Boolean):Void
{ _bTestSupport = val;
} function setClickMapSupport(val:Boolean):Void
{ _bCiickMapSupport = val;
} function setAutoTrack(val:Boolean):Void {
_bAutoTrack = val; } function
setMainMovie(val:MovieClip):Void {
_mcMainMovie = val; }
【００７８】
プロトタイプの初期化部は以下の通り以下をテストすることにおける使用のためにコードを初期化する。
【００７９】
jnclmageLoader =
this.createEmptyMovieClip("_mclmageLoader", 100); _sDefaultPage =
"Flash Application : Page View"; _sDefaultLink = "Flash
Application : Activity";_sScreenRes =
System.capabilities.screenResolutionX+"x"+System.capabilities.screenResolutionY;
if (JbCllckMapSupport) { indexMovie(); }
【００８０】
全くコードのこのテスト版からエクスポートされないので、プロトタイプの“公共の方法”セクションは単に空のスタッブである。プロトタイプの一部が、テストのアクションスプリクトのＣｌｉｃｋＭａｐにおける使用のためのコード１５６と使用のためのコード１５４をアクションスプリクトの自動追跡能力に提供する。コードバージョンを初期化した後に（“ｔｈｉｓ．ＶＥＲＳＩＯＮ＝”１．０  ０“；”）、コードはマウスの動作を追跡する。
【００８１】
// name this object as s_clickmap
_root.s_clickmap = this; // watch all mouse clicks to register what // movie
clip if any was clicked function onMouseDownQ { var target =
this.getHitTarget(_root); if (target != null) { sendClickMapEvent(target); }
trace(target);}
// called by onMouseDown() to recursively
find the clicked // object, returning null means that no object was clicked
function getHitTarget(tree, pref) { for (var name in tree) { var child =
tree[name];
// make sure that this object is really a
child of the tree if (child ...parent != tree) { continue;}
// do a hit test for movieclips if ((typeof
(child) == 'movieclip' || child instanceof MovieClip) &&
child.hitTest(_root._xmouse, _root._ymouse, true)) { var target =
this.getHitTarget(child); return target I= null ? target : child; // add the
onPress event to all of the child buttons } else if (child instanceof Button
&& child.onPress I= this.buttonHandler) { child._ClickMapOldHandler =
btn.onPress; child.onPress = this.buttonHandler;} } return null;
} // this is the replacement button onPress
handler which creates a ClickMap event // then calls the previous onPress event
handler function buttonHandler() {_root.s_clickmap.sendClickMapEvent(this);
this._ClickMapOldHandler(); .}
// generate a ClickMap event function
sendClickMapEvent(id) { _sClickMaplD = id; // auto track if (_bAutoTrack) {trace("**
autoTrack Enabled **"); send&#971;nk(_sClickMapPage+" : "+id);} }
【００８２】
プロトタイプで追跡するのは、追跡されているフラッシュの動画クリップに索引をつけるのを含んでいる。他のフラッシュの部品を追跡するために同様のコードを加えることができた。
【００８３】
// index the movie, place the results in
index and also return them function &#970;ndexMovieQ { var str =
this.buildlndex(_root); str = Stage.width+M,"+Stage.height+T+str;
this.index = str; return str;} // get the geometry for a movie clip or button
function getGeom(clip) { var b = clip._parentgetBounds(); var pt = {x:clip._x,
y:clip._y}; var pt2 = {x:clip._x, y:clip._y}; // get the top left corner
clip._x = b.xMin; clip._y = b.yMin; var b2 = clip._parent.getBounds();
// get the bottom right corner clip._x =
b.xMax; clip._y = b.yMax; var b3 = clip._parent.getBounds();
// return to the default position clip._x =
ptx; clip._y = pty;
// find the corner points pt.x +=
(b2.xMin-b.xMin); pty += (b2.yMin-b.yMin); pt2.x += (b3.xMax-b.xMax); pt2.y +=
(b3.yMax-b.yMax);
// convert the points to global points
clip._parent.localToGlobal(pt); clip._parent.localToGlobal(pt2);
// build the return array var geom =
{x:Math.round(pt.x), y:Math.round(pt.y), w:Math.ceil(pt2.x-pt.x),
h:Math.ceil(pt2.y-pt.y)}; return geom;}
// recursively build the movie index
function buildlndex(node) { var nodeld = eval(node)+'.'; var str = mi; for (var
i in node) { var obj = nodep]; if (obj != null && obj._name == i) { var
id = eval(obj)+"" ; if (id == (nodeld+i)) {var g = getGeonφbj); str
+=
eval(obj)+","+g.x+",n+g.y+")"+g.w+"I"+g.h+"j";
str += this.buildindex(obj);} 
}} return str;} 
【００８４】
また、追跡データ（１５２）を含む１データ列あたり生成（２０８）して、データが解析サーバに向かってデータストリングを送信（２２２）するために、メソッド（１４８、１５０）が提供される。プロトタイプでは、Ｏｍｎｉｔｕｒｅサーバ１３６は目的地であるが、本発明のいくつかの認可された用途が他の実体によって管理されたサーバに向かって情報を送ることができる。まず最初に、データストリングの初期の部分が作成される。
【００８５】
//Create the initial portion of the
Omniture image request function initString() { if (_sAccount != undefined) { rs
= _sAccount;
// If rs has a value, _sRSCheck will allow
the data to be sent to Omniture _sRSCheck = rs;}
// namespace (or report suite location for
load balancing and cookie namespace) var sClientNS:String = _sNameSpace; var
sPreDomain:String = sClientNS; if (sClientNS == undefined )| sClientNS ==
"") { sPreDomain = (_sAccount != undefined) ? _sAccount :
_sDefaultRS;}
// CName where image request should be made
var dc:String = _sCName; if (dc == undefined || dc == "") { dc =
"112.2o7.net";}
// get the current url if available if not
get the url of the .swf file var sTempURLString = _sURL; if (sTempURL ==
undefined || sTempURL == "") { sTempURL = _mcMainMovie._url;}
// make the defined URL available to the
other functions
_sl)RLCheck = sTempURL; // get the protocol
for ssl image requests var sProto:String = sTempURLsubstr(0, 5);
// random number used to avoid retrieving a
"cached" version of the image for this user var rn:Number = Math
.round(Math.random()*100000000);
// if using Omniture domain var
domainCheckiString = substring(dc, 5, 3); if (domainCheck == "2o7") {
// create the string for the image request
var slmage:String = 1http://'+sPreDomain+'.';
} else { var slmage:String = Mp://1; 
} if (sProto == 'https') { slmage =
'https://102.';
} slmage +=
dc+'/b/ss/l+rs+71/H.4-pdv-2/sI+m+l?[AQB_&'; slmage +=
'g='+escape(sTempURL);
// get machine time of image request
varcd:Date = new DateQ; varts = cd.getDate(); ts += T+cd.getMonth(); ts +=
<7"+cd.getFullYear{); ts += " "+cd.getHours(); ts +=
":"+cd.getMinutes(); ts += ":"+cd.getSeconds(); ts += ■
"÷cd.getDayQ; ts += " "+cd.getTimezoneOffset(); slmage +=
'&t='+escape(ts); if (sClientNS != undefined && sClientNS !=
"") { slmage += '&ns='+escape(sClientNS); }
/** set referrer (dynamically from browser
and pass through flashvar)
【００８６】
参照者が参照者からの最初のページである場合にだけ送られるのを確実にする。
【００８７】
*/ if (_sReferrer != undefined &&
_sReferrer != "") { slmage += '&r='+escape(_sReferrer);
//if this is set, it should only be done on
the landing page and not with each request _sReferrer= undefined;
} if (_sCharSet I= undefined &&
_sCharSet != "") { slmage += '&ce='+escape(_sCharSet);
} if (_sCurrencyCode != undefined
&& _sCurrencyCode != "") { slmage +=
'&cc='+escape(_sCurrencyCode);
} if (_sCookieLifetime I= undefined
&& _sCookieLifetime != "") { slmage +=
'&cl='+escape(_sCookieLifetime);
} slmage += '&s='+escape(_sScreenRes);
return (slmage); }
【００８８】
また、解析サーバに向かって送られるデータストリングにＣｌｉｃｋＭａｐ（トレードマーク）データを含むことができる。 プロトタイプは、ＣｌｉｃｋＭａｐストリングを生成するために機能性（１４８、１５６）を含んでいる。
【００８９】
function buildClickMap() {
vartempString:String; trace("** clickMapSupport Enabled **"); if
(_sClickMapPage != undefined && _sClickMapPage != "") {
tempString += '&pid='+escape(_sClickMapPage); tempString += '&pidt=1';
} else { tempString += '&pid- +escape(_sURLCheck); 
tempString += '&pidt=0';
} tempString += '&oid-
+escape(_sClickMaplD); tempString += '&oidt=1'; tempString +=
'&ot=FLASH'; return(tempString); }
【００９０】
プロトタイプは、動的にイメージタグを生成（２０８）し、解析サーバ（１３６）に送信（２１０）するために、機能性１４８、１５０を含んでいる。
【００９１】
// Dynamically build
the image tag with all props, etc. function sendAnalytics(iString:String,
obj:Object):Void { var slmage:String = iString; for
(var i in obj) { var sTempVar.String = i.substr(0, 4); sTempVar =
sTempVar.toLowerCase(); var slName = i; switch (sTempVar) { case
"prop" : sTempVar = i.substr(4, 2); slName = "c"+sTempVar;
break; case "evar" : sTempVar = i.substr(4, 2); slName = V+sTempVar;
break; case "chan" : slName = "ch"; break; case
"camp" : slName = "vθ"; break; default : break; } slmage +=
'S'+slName+'^+escape^bfti]); }
// ClickMap applied to all, if this should
be just for page or link, move to page or link function if (_bClickMapSupport)
{ slmage += buildClickMap();
} slmage += '4[AQE]1;
//version var ver_:Array =
getVersion().split(" "); var p_ver_info:String = ver_[1]; var
p_ver:String = p_verjnfo.substr(0, 1); var p_os:String = ver_[0];
//send data if online or offline and
version is less than 8 to avoid privacy warning for player 8 if (_sRSCheck !=
undefined) { var IvOmnSendloadVars = new LoadVars(); var IvOmnRecieveloadVars =
new LoadVars(); 
//check if online if (sProto.substr(0, 4)
== 1Mp") { var bStatus:Boolean = true; } else { var bStatus:Boolean =
false;
} if (bStatus) {
lvOmnSend.sendAndLoad(slmage, IvOmnRecieve, "GET"); //if out of
browser, and version is greater than 7, no image request (for testing this is
set to 8)
} else { if (p_ver<8 1| _bTestSupport ==
true) { if (_bTestSupport == true) { tracej"** testSupport Enabled
**"); } lvOmnSend.sendAndLoad(slmage, IvOmnRecieve, "GET");
}
} trace("NOTE; Unless testSupport is
enabled (ex. _metrics.testSupport = true;) 
【００９２】
バージョン８と、より新しいプレーヤーはブラウザの外にデータを送らない。
【００９３】
\n\n URL Decoded Analytics:
"+unescape(slmage)+"\n\n Actual Request: "+slmage);} } 
【００９４】
また、プロトタイプは、機能性１４８が、ページ・ビューレポート（１５２）を生成（２０８）してカスタムリンクレポート（１５２）を生成（２０８）するためにある。ページビューは、カスタムリンクと対照的にウェブページのマクロレベルのビューである。それは、ページにおけるマイクロレベルの動作である。ページビューの追跡は、どのページが見られるかを追跡する。ことによるとどんなオーダーでも、どれが訪問されているか間、どのユニークなビジターなどで
整然とした状態でページビューを処理する。そして、オーダーからパス解析を得る。多くのページビューを訪問、ユニークなビジターなどの結果と考えることができる。カスタムリンクの追跡は、どのリンクがクリックされるかを（同様に、これがどんなオーダーで追跡されるかもしれないか、どれが訪問されているか間、どのユニークなビジターなどで）追跡して、業者（Ｏｍｎｉｔｕｒｅのクライアント）が、どのリンクを追跡したらよいかを指定し始めるので、“習慣”と呼ばれる。すなわち、“カスタムリンク”という用語は、クライアントが追跡するために習慣によってコード化されるようにするリンクを特定するのに使用されたものである。フラッシュ追跡の場合では、クライアントによってカスタム設計されたページビューの可能性に通じるか、またはカスタムリンクが追跡されて、何らかの意味における習慣であると有効にされた自動追跡なしで行われるどんな追跡も考えることができる。プロトタイプのページビューとカスタムリンクコードは従う。
【００９５】
//Create a page view function
sendPage(iName:String, iθbj:θbject) { var tempString:String = initString(); if
(iName == undefined) { tempString += '&pageName- +escape(_sURLCheck); }else
{ tempString += '&pageName='+escape(iName); } sendAnalytics(tempString,
iObj); 
}
//Create a custom link function
sendLink(iName:String, iθb]:θbject, linkType:String, exitLink:String) {
vartempString-.String = initString(); if (linkType != undefined) { if (linkType
== "d") { tempString += '&pe=lnk_d'; } else if (linkType ==
"e") { tempString += '&pe=lnk_e'; }else { tempString +=
'&pe=lnk_o';
} } else { tempString += '&pe=lnk_o'; }
if (exitLink != undefined && exitLink != "") { tempString +=
'&pev1='+escape(exitLink); } else { tempString += '&pev1-+escape(_sURLCheck);
} if (iName == undefined) { tempLinkName = _mcMainMovie._url+"Link
Action"; tempString += '&pev2='+escape(tempLinkName); } else {
tempString += '&pev2- +escape(iName);
} sendAnalytics(tempString, iObj);
}
【００９６】
本発明の特定の実施例は明白に示して、本明細書にとして方法を記述されている。しかし、例えば、また、一般に、１つのタイプの実施例の議論が他の実施例のタイプに達するのが理解される。例えば、方法の説明は、装置、構成されたメディア、および方法製品について説明するのを助ける。１つの実施例からの制限は必ず別のものから読み取られるというわけではない。
本発明の操作及び／又は他の使用が消費者から作用できる。本明細書に、一般にユーザまたは開発者に見解がある。しかしながら、対応は踏まれる。そして、業者、解析サービスプロバイダー、または他の実体によって実行された方法は、本発明の範囲の中に下がることができる。したがって、参考文献２０２はプレゼンテーション（ユーザ／開発者見解）を受けて、プレゼンテーション（開発者／業者見解）を送るのを示す。同様に、参考文献２１０はプレゼンテーション解析データ（ユーザ／開発者見解）を送って、そのようなデータ（解析サービスプロバイダー／業者見解）を受け取るのを示す。
出願されるようなすべてのクレームが、仕様の一部であり、その結果、本発明について説明するのを助ける。そして、新規事項に対して禁止に違反しないで、必要に応じてクレームの外で繰り返されたクレーム言語は挿入できる。
“ａ”や“ｔｈｅ”などの用語は示した項目またはステップの１つ以上を含んでいる。ステップへの参考文献は、クレームでは、項目への参考文献が、少なくともそのような項目の１つが存在していることを意味して、ステップの少なくとも１つのインスタンスが項目またはステップが任意であるという明確な指示がないとき実行されて、その場合、それが現在または実行されているかもしれないことを意味する。本明細書に見出しを便利性のためだけに提供する。見出しがその話題を示すセクションの外でしばしばある特定の論題に関して情報を見ることができる。
イラスト入りの、または、対応するシステムがそうすることができるメソッドなどの実施例は、項目／ステップを省略するか、項目／ステップを繰り返すか、それらを異なって分類するか、身近な項目／ステップでそれらを補うか、またはそうでなければ、与えられた実施例に変化を含む。本発明を実施する、助ける適当なソフトウェアが、技能のものによってここに提示された教示、プログラミング言語、およびツールを使用することで容易に関連技術に提供される。明白に必要であるのを除いた制限のない包含、及び／又は、アクションスプリクトコードと、他のスクリプト言語、ＨＴＭＬ、ＸＭＬ、ＡＰＩ、ＳＤＫｓ、ネットワークプロトコル・スタック、アセンブリ言語、ファームウェア、マイクロコード、コンパイラ、デバッガ、及び／又は、他の言語とツール。
このドキュメントは少なくとも１つのウェブサイトアドレスを含んでいるが、それは技術背景だけに提供する。及び／又は、このようにして記述されたサイトのそのようなアドレスと材料は助ける実施例として本発明を示す。このドキュメントはそれらのウェブサイトから少しの不可欠の材料も参考として援用しない。議論した実施例は、本発明の原理のアプリケーションを例証する。本発明の趣旨と範囲から逸脱しないで、頻繁な修正と代替の実施例について工夫できる。
【図面の簡単な説明】
【００９７】
【図１】本発明のいくつかの実施例の役割、データ、情報のフロー、システム、方法、および他の側面を示すブロック図である。
【図２】本発明の少なくとも１つの実施例に応じたプレゼンテーション解析エンジン及び／又はシステムを使用する方法、又はそれらに実行される方法を示すフローチャートである。
【図１】
2009536760.tif 000003
【図２】
2009536760.tif 000004
【手続補正書】
【提出日】平成21年2月6日(2009.2.6)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009536760.tif 000005
【図２】
2009536760.tif 000006
【手続補正書】
【提出日】平成21年2月6日(2009.2.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウェブページスクリプトの如何に関わらずに作動できるプレゼンテーション解析エンジン（１４４）は、
プロセッサ（１２０）と、
プレゼンテーションの範囲内でユーザー（１０４）の動作を反映するプレゼンテーション解析データを収集するためのデータ収集コード（１４６）と、フォーマットされたプレゼンテーション解析データ構造の少なくとも一部分を動的に生成する（２０８）ためのデータ構造生成コード（１４６）と、解析サーバに向かってデータ構造を送信する（２１０）ためのデータ送信コード（１５０）とから構成される、プレゼンテーション解析のためにプロセッサとともに動くように構成されたメモリ（１１２）と、を備え、
収集されたプレゼンテーションデータをウェブページ（１２８）に埋め込まれたスクリプト（１３２）へ送る如何なるgetURL（）又はFSCommandの実施にも依存しない、また、ウェブページに埋め込まれた如何なるプレゼンテーション解析スクリプトにも依存しないことを特徴とするプレゼンテーション解析エンジン。
【請求項２】
ブラウザのクッキー、ローカルな共有オブジェクト、伝送ヘッダのうち、少なくとも１つに格納された唯一のビジターＩＤ（１４０）と連携動作することを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項３】
データ送信コード（１５０）は、イメージ要求を生成するコード、 ＧＥＴ要求を生成するコード、 ＰＯＳＴ要求を生成するコード、port80要求を生成するコード、ＦＴＰ要求を生成するコード、共有ファイルへデータを書き込むコード、 共有メモリへデータを書き込むコードのうち少なくとも１つを備えることを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項４】
エンジン（１４４）は、ActionScriptコードを備えることを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項５】
プレゼンテーションと互換性があって、少なくとも１つのActionScriptオブジェクトをユーザー（１０４）相互作用に提供するプレゼンテーションプレーヤー（１１４）と連携動作することを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項６】
ウェブブラウザ（１２６）、ブラウザに表示されたウェブページ（１２８）、プレゼンテーションの範囲を超えてウェブページの範囲内で、ユーザー動作を反映するウェブページ解析データを収集するためにウェブページに埋め込まれたスクリプトコード（１３２）と連携動作し、エンジンは、プレゼンテーション解析データをウェブページの埋め込まれたスクリプトコードと一致させるコードを持たないことを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項７】
ウェブページの埋め込まれたスクリプトコード（１３２）は、JavaScriptコード（Javaは登録商標）、VBScriptコードのうち少なくとも１つを備えることを特徴とする請求項６記載のプレゼンテーション解析エンジン。
【請求項８】
エンジンをインポートするコード（１５８）を含むマルチメディアプレゼンテーション（１０６）と連携動作することを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項９】
前記プレゼンテーション解析エンジンとプレーヤー（１１４）の連携動作は、以下の１）〜７）の少なくとも１つものを保持することを特徴とする請求項８記載のプレゼンテーション解析エンジン。
１）プレーヤー（１１４）は、Flashプレゼンテーションプレーヤーを備えること。
２）プレーヤー（１１４）は、Flexプレゼンテーションプレーヤーを備えること。
３）プレーヤー（１１４）は、ウェブブラウザ（１２６）へのプラグインを備えること。
４）プレゼンテーション（１０６）は、少なくとも部分的にウェブページ（１２８）に埋め込まれること。
５）プレゼンテーション（１０６）は、非揮発性の取り外し可能なコンピュータの読み取り可能記憶媒体（１１２）に、少なくとも部分的に保存されること。
６）プレーヤー（１１４）は、コンピュータ上で動作すること。
７）プレーヤー（１１４）は、携帯式のコンピュータ上で動作すること。
【請求項１０】
データ送信コード（１５０）は、ユーザーのページビューの動作、ユーザーのリンクを追う動作、ユーザーのクリップビューの動作、ユーザーのボタンを押す動作、ユーザーの録画の再生完了のパーセンテージ、プレゼンテーション印象統計、のうち少なくとも１つを反映する解析データを送信する（２１０）ことを特徴とする請求項１記載のプレゼンテーション解析エンジン。
【請求項１１】
デバイス（１０２）上でActionScriptオブジェクト（１１６）を含むマルチメディアプレゼンテーション（１０６）の受信ステップ（２０２）と、マルチメディアプレゼンテーションのActionScriptオブジェクトとのユーザー相互作用を反映したプレゼンテーション解析データの収集ステップ（２０６）と、プレゼンテーション解析データの送信ステップ（２１０）と、を備え、getURL（）又はFSCommandの実施や、ウェブページ（１２８）に埋め込まれたJavaScriptコードや、ウェブページ（１２８）に埋め込まれたVBScriptコードの何れにも依存しない、ActionScriptプレゼンテーション動作を独自に追跡する方法。
【請求項１２】
getURL（）又はFSCommandの実施や、ウェブページ（１２８）に埋め込まれたJavaScriptコードや、ウェブページ（１２８）に埋め込まれたVBScriptコードや、マルチメディアプレゼンテーション（１０６）におけるオブジェクト特有のユーザー動作追跡コード、の各々および全てに依存しないことを特徴とする請求項１１記載の方法。
【請求項１３】
マルチメディアプレゼンテーションとのユーザー相互作用を自動追跡ステップ（２１２）、マルチメディアプレゼンテーションとのユーザー相互作用に関するビジュアル解析オーバレイ記録の提供ステップ（２１４）、のうち少なくとも１つを更に備えることを特徴とする請求項１１記載の方法。
【請求項１４】
デバイス上でウェブ追跡メカニズムが埋め込まれたウェブページの受信ステップ（２１６）と、埋め込まれたウェブ追跡メカニズムと共に、ウェブページのユーザー相互作用を反映するウェブ解析データの収集ステップ（２２０）と、解析サーバ（１３６）に対してウェブ解析データを対応するビジターＩＤ（１４０）との相関関係で送信するステップ（２２２）と、を更に備え、
ウェブ解析ステップを実行しているコードとプレゼンテーション解析ステップを実行しているコードの間の連携を必要とすることなく、プレゼンテーション解析データの送信ステップ（２１０）は同じビジターＩＤとの相関関係で解析サーバに対してデータを送信することを特徴とする請求項１１記載の方法。
【請求項１５】
デバイスにおいてプレゼンテーション解析データを含むデータ構造を動的に生成するステップ（２０８）を更に備えた、請求項１１記載の方法。
【国際調査報告】
2009536760.tif 000007