当業者であれば、本発明が、その精神又は本質的特徴から逸脱することなく、他の特定の形態で具現化され得ることが理解されよう。したがって、前述の実施形態は、全ての点で、本明細書に記載された発明を限定するのではなく、例示するものであるとみなされる。したがって、本発明の範囲は、前述の説明によってではなく、添付の請求項によって示され、請求項の意味及び同等性の範囲内に収まる全ての変更は、したがって、そこに包含されることを意図している。
以下の詳細な説明では、本発明の完全な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、本発明は、これらの具体的な詳細なしに実施され得ることは、当業者には理解されるであろう。他の例では、周知の方法、手順、及び構成要素は、本発明を不明瞭にしないように、詳細には記載されていない。ある実施形態に関して説明したいくつかの特徴又は要素は、他の実施形態に関して説明した特徴又は要素と組み合わされてもよい。明確にするために、同一又は類似の特徴又は要素の議論は、繰り返されないことがある。
この点に関して本発明の実施形態は限定されないが、例えば、「関連付ける」、「適応する」、「受け取る」、「提示する」、「処理する」、「計算する」、「算出する」、「決定する」、「確立する」、「分析する」、「チェックする」等の用語を利用する議論は、コンピュータ、計算プラットフォーム、計算システム、又は他の電子コンピューティング装置の操作及び/又はプロセスを指し、コンピュータのレジスタ及び/又はメモリ内の物理的(例えば、電子)量として表されるデータを、コンピュータのレジスタ及び/又はメモリ又は操作及び/又はプロセスを行う命令を格納し得る他の情報の非一時的ストレージ媒体内の物理量として同様に表される別のデータへ操作及び/又は変換をすることである。
本発明の実施形態はこの点で限定されないが、本明細書で使用される「複数」という用語は、例えば、「多数」又は「2つ以上」を含むことができる。用語「複数」は、本明細書を通じて、2つ以上の構成要素、装置、要素、ユニット、パラメータ等を説明するために使用されてもよい。本明細書で使用される場合のセットという用語は、1つ以上のアイテムを含んでもよい。明示的に述べない限り、本明細書で説明される方法の実施形態は、特定の順序又はシーケンスに制約されない。さらに、記載された方法実施形態又はその要素のいくつかは、同時に、同じ時点に、又は同時進行で発生又は実行されてもよい。
本明細書で使用される場合のセットという用語は、1つ以上のアイテムを含むことができる。明示的に述べない限り、本明細書で説明される方法の実施形態は、特定の順序又はシーケンスに制約されない。さらに、記載された方法実施形態又はその要素のいくつかは、同時に、同じ時点に、又は同時進行で発生又は実行されてもよい。
本発明の実施形態は、本明細書で詳述するように、コンピューティング装置間でウェブページの少なくとも一部分を適応的に共有するための方法及びシステムを含むことができる。
ここで、図1を参照すると、この図は、コンピューティング装置1を示すブロック図であり、これは、いくつかの実施形態によるコンピューティング装置1等のコンピューティング装置間でウェブページの少なくとも一部分を適応的に共有するためのシステムの一実施形態内に含まれ得る、
コンピューティング装置1は、コントローラ2、オペレーティングシステム3、メモリ4、実行可能コード5、ストレージシステム6、1つ以上の入力装置7、1つ以上の出力装置8、及び1つ以上のモニタ又はディスプレイ9を含んでもよい。コントローラ2は、中央処理装置(CPU)プロセッサ、チップ、又は任意の適切なコンピューティング又は計算装置であってもよい。コントローラ2(又は、場合によっては複数のユニット又は装置にわたる1つ以上のコントローラ又はプロセッサ)は、本明細書に記載の方法を実行するように、及び/又は様々なモジュール、ユニット等を実行又は作用するように構成されてもよい。2つ以上のコンピューティング装置1が、本発明の実施形態によるシステムに含まれてもよく、2つ以上のコンピューティング装置1が、そのシステムの構成要素として作用してもよい。
オペレーティングシステム3は、コンピューティング装置1の動作の調整、スケジューリング、仲裁、監督、制御又はその他の管理を含むタスク、例えば、ソフトウェアプログラム又はタスクの実行をスケジューリングするタスク、ソフトウェアプログラム又は他のモジュール又はユニットが通信できるようにするタスク等を実行するように設計及び/又は構成された任意のコードセグメント(例えば、本明細書で説明する実行可能コード5と同様のもの)であってもよく、それを含むこともできる。オペレーティングシステム3は、商用オペレーティングシステムであってもよい。オペレーティングシステム3は、オプションの構成要素であってもよく、例えば、いくつかの実施形態では、システムは、オペレーティングシステム3を必要としない、又は含まないコンピューティング装置を含んでもよいことが注目される。
メモリ4は、例えば、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックRAM(DRAM)、同期DRAM(SD-RAM)、ダブルデータレート(DDR)メモリチップ、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期メモリユニット、長期メモリユニット、又は他の適切なメモリユニット若しくはストレージユニットであってもよいし、又はそれを含んでいてもよい。メモリ4は、複数の可能性のある異なるメモリユニットであってもよいし、それらを含んでもよい。メモリ4は、コンピュータ又はプロセッサの非一時的読み取り可能媒体、又はコンピュータの非一時的ストレージ媒体、例えばRAMであってもよい。本発明のいくつかの実施形態では、メモリ4等の非一時的ストレージ媒体、ハードディスクドライブ、別のストレージ装置等は、プロセッサによって実行されると、プロセッサに本明細書に記載の方法を実行させ得る命令又はコードを格納してもよい。
実行可能コード5は、任意の実行可能コード、例えば、アプリケーション、プログラム、プロセス、タスク、又はスクリプトであってもよい。実行可能コード5は、場合によってはオペレーティングシステム3の制御下でコントローラ2によって実行されてもよい。例えば、実行可能コード5は、ウェブページの少なくとも一部分をコンピューティング装置間で適応的に共有する方法を実行できるアプリケーションであってもよく、この方法は、例えば、コンピューティング装置1等の2つ以上のコンピューティング装置の識別情報を関連付けるステップと、少なくとも1つのクライアントプロパティを受け取るステップと、イベントの指示を受け取るステップと、イベントの指示及び少なくとも1つのクライアントプロパティに基づいて、少なくとも1つの提示プロパティの値をリアルタイムで適応させるステップと、関連付け及び提示プロパティに基づいて画面9にウェブページの少なくとも一部分を提示するステップと、によって行われるが、これは、本明細書でさらに説明する。明確にするために、実行可能コード5の単一のアイテムが図1に示されているが、本発明のいくつかの実施形態によるシステムは、実行可能コード5と同様の複数の実行可能コードセグメントを含んでもよく、これらのコードセグメントは。メモリ4にロードされ、コントローラ2に本明細書で説明する方法を実行させ得る。
ストレージシステム6は、例えば、当技術分野で知られているフラッシュメモリ、当技術分野で知られているマイクロコントローラ又はチップに内蔵されているメモリ、ハードディスクドライブ、CDレコーダブル(CD-R)ドライブ、ブルーレイディスク(BD)、ユニバーサルシリアルバス(USB)装置、又は他の適切な取り外し可能及び/又は固定ストレージユニットであってもよいし、それを含んでもよい。関連付け、クライアントプロパティ、イベントの表示、及び提示プロパティ等の、画面共有のセッションに関連するデータは、ストレージシステム6に格納されてもよく、ストレージシステム6からメモリ4にロードされて、コントローラ2によって処理されてもよい。いくつかの実施形態において、図1に示される構成要素のいくつかを省略してもよい。例えば、メモリ4は、ストレージシステム6のストレージ容量を有する不揮発性メモリであってもよい。したがって、ストレージシステム6は、別個の構成要素として示されているが、メモリ4に埋め込まれても、あるいは含まれてもよい。
入力装置7は、任意の適切な入力装置、構成要素又はシステム、例えば、着脱可能なキーボード又はキーパッド、マウス等であってもよいし、それを含んでもよい。出力装置8は、1つ以上の(場合によっては着脱可能な)スピーカ及び/又は他の任意の適切な出力装置を含んでもよい。任意の適用可能な入力/出力(I/O)装置は、ブロック7及び8に示すように、コンピューティング装置1に接続されてもよい。例えば、有線又は無線ネットワークインターフェースカード(NIC)、ユニバーサルシリアルバス(USB)装置又は外付けハードドライブは、入力装置7及び/又は出力装置8に含まれてもよい。任意の適切な数の入力装置7及び出力装置8が、ブロック7及び8に示すように、コンピューティング装置1に動作可能に接続されてもよいことが認識されるであろう。1つ以上のモニタ又はディスプレイ9は、例えば、ブラウン管(「CRT」)モニタ、液晶ディスプレイ(「LCD」)モニタ、発光ダイオード(「LED」)モニタ等であってもよい。
本発明のいくつかの実施形態によるシステムは、複数の中央処理装置(CPU)、又は任意の他の適切な多目的又は特定のプロセッサ又はコントローラ(例えば、コントローラ2と同様のコントローラ)、複数の入力ユニット、複数の出力ユニット、複数のメモリユニット、及び複数のストレージユニット等の構成要素を含むことができるが、これらに限定されるものではない。
ここで、ブロック図である図2を参照すると、当技術分野で知られているように、コンピューティング装置20’Aと20’Bとの間で、ウェブサイト又はウェブページ構造データ(例えば、110B)及びウェブサイト又はウェブページのコンテンツデータ(例えば、110A)等のウェブページ110のコンテンツを共有するためのシステムが描かれている。
例えば、ウェブサイトサーバ10’は、加入者のコンピューティング装置(例えば、20’A及び20’Bの一方)の画面上に(例えば、ウェブブラウザによって)提示され得るウェブページコンテンツデータ110A(例えば、テキスト、画像、ビデオ等)を格納してもよい。ウェブサイトサーバ10’は、また、当技術分野で知られているように、加入者のブラウザ上でデータを提示する態様に関連し得るウェブページ構造データ110B(例えば、列の数、区分の形式、テキストのフォント等)を格納してもよい。
当該技術分野において知られているように、ウェブページコンテンツデータ110A及びウェブページ構造データ110Bは、例えば、ウェブページオブジェクトのコンテンツ、構造、スタイリング及び/又は機能を表すように適応された命令コードを含んでもよい。そのような命令コードは、例えば、ハイパーテキストマークアップ言語(HTML)コード、カスケーディングスタイルシート(CSS)コード、JavaScript(登録商標)コード、PHPコード等として実装されてもよい。
図2に示すように、市販の画面共有システムは、1つ以上のウェブサイトクライアントコンピューティング装置20’A及び20’B)に通信可能に接続され得るイベント同期サーバ30’を含んでもよい。
イベント同期サーバ30’によって、複数のウェブサイトクライアントコンピューティング装置(20’A及び20’B)間のコンテンツデータ110A及び構造データ110Bを含むウェブページデータ110の提示の同期を可能にすることができる。例えば、第一のユーザ(例えば、パブリッシャ)は、第一のコンピューティング装置(例えば、20A’)の画面上にウェブページ110の一部を(例えば、スクロールの動作によって)提示することができる。イベント同期サーバ30’は、第一のコンピューティング装置20’Aの画面上に提示され得るウェブページ部分を決定してもよく、第二のクライアントコンピューティング装置20’Bと通信して、第二のクライアントコンピューティング装置(例えば、20’B)の画面上にウェブページの同様の部分を提示することができる。
市販の画面共有システムの1つの問題は、特定のクライアントプロパティに一致するように、ウェブページのコンテンツを適応させない場合、及び/又は異なるクライアントコンピューティング装置上でウェブページのコンテンツを提示しない場合があることである。
例えば、市販のシステムは、ユーザ嗜好に応じてパーソナライズされたコンテンツとして共有データコンテンツを提示しない場合がある。この結果、例えば、パブリッシャが加入者と共有したくない特定の情報が加入者に見えてしまうこと、又はパブリッシャが加入者と共有したい特定の情報が加入者に見えないことがある。あるいは、この結果、各ユーザの嗜好を欠いた、又は気づかない(例えば、ユーザのアイデンティティ、ユーザの好む言語、ユーザによってなされた以前の選択等に気づかない)方法で、パブリッシャ及び加入者のコンピューティング装置間で共有され得る情報をもたらすことがある。
別の例では、市販のシステムは、加入者のコンピューティング装置の画面プロパティ(例えば、アスペクト比、解像度等)に応じて最適化され得る方法で、共有データコンテンツを表示しない場合がある。その結果、ある種のデータを加入者が読み取り/理解しづらくなること、及び/又は特に画像又は動画を共有するときに視聴体験の劣化をもたらすことがある。
別の例では、画面共有のための市販のシステムは、パブリッシャのコンピューティング装置の画面上に提示され得る特定のウィンドウ(例えば、パスワードテキストボックスを含むログインダイアログウィンドウ)を加入者ユーザが見れないようにすることができるが、パブリッシャのウィンドウの特定のパラメータを変更(例えば、パスワードテキストをアスタリスクに変換)することも、ウィンドウの変更バージョンを1人以上の加入者に提示することもできない。このようなシナリオでは、加入者ユーザは、例えばパスワードを入力するときに、パブリッシャユーザが何かしていると思うかもしれず、これは、例えば、ステップの1つが、加入者のパスワード又は他の情報を特定のウィンドウに入力して進むことを加入者に要求するステップバイステップのチュートリアルにおいて問題となる可能性がある。
別の例では、市販のシステムは、異なるクライアントコンピューティング装置のユーザ(例えば、異なる画面プロパティを有する)が、それぞれの画面上でアクション(例えば、選択、マーキング及び/又はグラフィカル要素の描画)を行うことによって協働することを無効にすることがある。例えば、第一のユーザ(例えば、クライアントコンピューティング装置20’Aを使用するパブリッシャ)は、ウェブページ上の特定のグラフィカル要素をその周囲に円をマークすることによって注意を引くことを望むことができる。画面共有のための市販のシステムは、マークされた円を1つ以上の加入者コンピューティング装置(例えば、20’B)の画面上に提示することができる。しかしながら、市販のシステムは、1つ以上の加入者コンピューティング装置20’Bの画面パラメータ(例えば、アスペクト比)に気づかない場合があるので、マークされた円は、関心のある項目に対して誤った位置にあり、したがって、加入者の注意を画面の正しい領域に向けられないこともある。
さらに別の例では、市販のシステムは画面パラメータに気づかないことがあるので、そのような市販のシステムによって、第一のクライアントコンピューティング装置20’Aが、第二のクライアントコンピューティング装置20’Bのユーザが同時に見ることができる場所又は部分をマーク又は強調表示することが可能でないことがある。
本明細書で詳述するように、本発明の実施形態は、特定のクライアントプロパティに一致するように、ウェブページのコンテンツを適応させるように、及び/又はウェブページのコンテンツを異なるクライアントコンピューティング装置で提示するように構成されてもよい。したがって、本発明の実施形態は、上記に例示したような、画面共有の市販のシステム及び方法の欠点を克服することができる。
例えば、本発明の実施形態は、両方のユーザが実質的に同時に同じウェブページを見ることができる(例えば、衣料品のオンラインショッピングのウェブページを通じたウェブブラウジングで協働する)という意味で、パブリッシャユーザが加入者ユーザと自分の画面を共有することを可能にすることができる。本明細書で詳しく説明するように(例えば、図3A及び図3Bに関連して)、本発明の実施形態は、提示プロパティの少なくとも1つの値(例えば、図3A及び図3Bの提示プロパティ330A)を受信し、(例えば、図3A及び図3Bの翻訳モジュール330によって)少なくとも1つの変更済又は適応済の提示プロパティ値(例えば、図3A及び図3Bの要素330A’)生成してもよい。この適応は、例えば、各ユーザのアイデンティティを考慮し、それぞれのアイデンティティに従って(例えば、それぞれの名前を含むように)各ユーザの装置(例えば、図3Aのクライアント装置20A、20B及び図3Bのクライアント装置20C)上に共有ウェブページを提示するようにしてもよい。
追加又は代替として、適応は、各ユーザの嗜好(例えば、好みの言語、ユーザによって行われた以前の選択等)を考慮して、これらの嗜好に従って各ユーザの装置(例えば、クライアントコンピューティング装置20A、20B、20C)上に共有ウェブページを提示することができる。衣料品のオンラインショッピングウェブページをブラウズする例に係ると、これは、両方のユーザが類似のアイテム(例えば、シャツ)の描写を見ることができ、第一のユーザはそれを第一の色で見て、第一の言語で記述することができ、一方、第二のユーザはそれを第二の色で見て、第二の言語で記述することができることを意味し得る。
追加又は代替として、適応は、各クライアント装置のプロパティ(例えば、画面解像度及び/又はアスペクト比)を考慮して、各クライアント装置のプロパティに最もフィットする方法で共有ウェブページを提示することもできる。
図3A及び図3Bは、本発明のいくつかの実施形態に従って、コンピューティング装置間でウェブページの少なくとも一部分を適応的に共有するためのシステム100を示すブロック図である。図3Aに示すように、システム100は、複数(例えば、2つ以上)のクライアント装置(例えば、20A及び20B)間の画面共有のセッションを管理するように適応された共有サーバ30を含んでもよい。
共有サーバ30及びクライアント装置20A及び20Bのそれぞれは、ハードウェアモジュール、ソフトウェアモジュール又はそれらの任意の組合せとして実装されてもよい。
例えば、共有サーバ30及び/又はクライアント装置20A及び20Bは、それぞれ、本明細書で詳述するように、例えば、複数のクライアント装置間でウェブページの少なくとも一部分を適応的に共有するための1つ以上の方法を実装するように適応された、図1のプロセッサ2等の少なくとも1つのプロセッサ又はコントローラを含む図1のコンピューティング装置1等の1つ以上のコンピューティング装置であってもよいし、それを含んでいてもよい。
いくつかの実施形態によれば、共有サーバ30は、当該技術分野で知られているように、図2のイベント同期サーバ30’等のイベント同期サーバとして機能することができる。例えば、共有サーバ30は、本明細書(例えば、図2に関連して)で詳述したように、複数のウェブサイトクライアントコンピューティング装置(例えば、20A及び/又は20B)間のウェブページコンテンツデータ110A及び/又はウェブページ構造データ110Bの提示の同期を可能にしてもよい。追加又は代替として、共有サーバ30は、本明細書において詳述するように、(例えば、ウェブページコンテンツデータの提示の同期化に加えて)1つ以上の追加の役割を果たすように適応されてもよい。
いくつかの実施形態によれば、ウェブページコンテンツデータ110A要素及びウェブページ構造データ110B要素は、例えば、ウェブページオブジェクトのコンテンツ、構造、スタイリング及び/又は機能を表すように適応された命令コードを含んでもよい。そのような命令コードは、例えば、HTMLコード、CSSコード、JavaScriptコード、PHPコード等として実装されてもよい。
本発明のいくつかの実施形態によれば、1つ以上のクライアント装置20A及び20B(例えば、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ等)は、コンピュータ通信ネットワーク(例えば、インターネット、セルラーネットワーク等)を介して、ウェブサイトサーバ10(例えば、図1のコンピューティング装置1等の1つ以上のコンピューティング装置)と通信してもよい。ウェブサイトサーバ10は、例えば、ウェブサイト又はウェブページ110を管理又はホストしてもよく、1つ以上のクライアント装置20A及び20Bに、当該技術分野で知られているように、ウェブページコンテンツ110A及び/又はウェブページ構造データ110Bの少なくとも1つを提供してもよい。クライアント装置20A及び20Bは、当該技術分野で知られているように、クライアント装置20A及び20Bの1つ以上の画面(例えば、図1の画面9)上にウェブページ110を提示し得るウェブブラウザ(例えば、それぞれ240A及び240B)を含んでもよい。
本発明のいくつかの実施形態によれば、システム100は、ウェブサイトサーバ10に関連付けられ得る静的ウェブサーバ40を含んでもよい。いくつかの実施形態では、静的ウェブサーバ40は、図1のコンピューティング装置1等の1つ以上の別のコンピューティング装置として実装されてもよく、異なる法人商業団体のウェブサイトを管理するサーバ等の1つ以上のウェブサイトサーバ10(例えば、図1のコンピューティング装置1等の1つ以上のコンピューティング装置)と通信可能に(例えば、インターネットを介して)接続されてもよい。追加又は代替として、静的ウェブサーバ40は、ウェブサイトサーバ10として1つ以上のコンピューティング装置上に実装されてもよく、特定のウェブサイトに専用化されてもよい。追加の実施形態は、本明細書で詳述された実施形態の任意の組合せを含んでもよい。
本発明のいくつかの実施形態によれば、クライアントコンピューティング装置20のユーザは、ウェブブラウザ240を使用して、オンラインウェブサイト又はウェブページ110をブラウズしてもよい。ウェブブラウザ240は、したがって、必要なウェブサイト又はウェブページ110をホストし得るウェブサイトサーバ10に指示されてもよい。ウェブサイトサーバ10は、その後、クライアント装置20(例えば、20A,20B)のウェブブラウザ240を静的ウェブサーバ40に参照させてもよい。代替として、クライアントコンピューティング装置20のユーザは、オンラインウェブサイト又はウェブページ110をブラウズするために、ウェブブラウザ240を使用してもよく、静的ウェブサーバ40に向けられ、そのサーバ40は、次いで、本明細書で詳述するように、クライアント装置20のウェブブラウザ240をウェブサイトサーバ10に参照させてもよい。
静的ウェブサーバ40は、1つ以上のクライアント装置20A及び20Bに、例えば、1つ以上のアクション又はトリガボタン、及び/又はウェブブラウザ上でのウェブサイト又はウェブページ110の提示に係る1つ以上の構成の選択を含むことができる少なくとも1つの静的サイト構成データ要素40Aを提供することができる。例えば、少なくとも1つの静的サイト構成データ要素40Aは、ウェブブラウザ240上でのウェブサイト又はウェブページ110の提示に使用される初期言語(例えば、英語、スペイン語等)の選択を含んでもよい。
追加又は代替として、静的ウェブサーバ40は、1つ以上のクライアント装置20A及び20Bに、例えば、1つ以上のコンピューティング装置とのクライアント側通信を担うコードを含み得る少なくとも1つの静的コード40Bデータ要素を提供してもよい。例えば、少なくとも1つの静的コード40Bデータ要素は、ウェブサイトサーバ10及び/又は共有サーバ30等の少なくとも1つのコンピューティング装置への参照(例えば、ポインタ、アドレス、Uniform Resource Locator(URL)等)を含んでもよい。追加又は代替として、少なくとも1つの静的コード40Bデータ要素は、本明細書(例えば、図6A及び図6Bに関連して)において詳述するように、図6Aのイネーブルプロキシ50等のイネーブルプロキシサーバ、及び/又は図6Aのメディアサーバ60等のメディアサーバ等の他のコンピューティング装置への参照を含むことができる。追加又は代替として、少なくとも1つの静的コード40Bデータ要素は、少なくとも1つのコンピューティング装置(例えば、ウェブサイトサーバ10及び/又は共有サーバ30)上でホスト又は格納され得る、少なくとも1つのデータ要素への参照を含んでもよい。
静的サイト構成40A及び/又は静的コード40Bは、本明細書で詳述するように、ウェブサイト又はウェブページ110のコンテンツデータ110A及び/又は構造データ110Bを適応させるために1つ以上のクライアント装置20A及び20Bによって利用され得る。例えば、静的コード40Bは、本明細書で詳述するように、複数のクライアント装置20A及び20Bの間の画面共有セッションを管理するために適応され得る共有サーバ30への参照又はアドレス(例えば、インターネットプロトコル(IP)アドレス、メディアアクセス制御(MAC)アドレス、通信ソケットID等)を含んでもよい。
本発明のいくつかの実施形態によれば、共有サーバ30は、複数のクライアント装置20A及び20Bの間の画面共有セッションを管理するように適応されたセッションマネージャ320を含んでもよい。用語「画面共有セッション」、又は略して「セッション」は、2つ以上のクライアント装置が、ウェブサイトサーバ10に関連する、又はウェブサイトサーバ10から発信されるウェブページの一部分又は複数部分を同時に提示又は表示(例えば、図1の画面9等の画面上)し得る期間に関して、本明細書で使用され得る。
セッションマネージャ320は、セッションに関連する1つ以上のデータ要素を含み得るセッションテーブル320Aを監視及び/又は(例えば、図1のストレージ装置又はシステム6上に)格納してもよい。セッションテーブル320Aは、データベース内のテーブルのような任意の適切なデータ構造として実装されてもよい。
セッションテーブル320Aは、例えば、セッションの識別番号(ID)、セッションのコンテキスト(例えば、共有ウェブサイトのURL等の識別情報)、クライアント装置(例えば、クライアント装置20A及び20Bのうちの1つ)の識別情報(例えば、MACアドレス)、セッションに参加している1人以上のユーザの識別情報(例えば、名前)、セッションへの1人以上のユーザの参加時間、パブリッシャユーザ(当該技術分野では「インフルエンサ」とも呼ばれる)の識別情報、パブリッシャユーザの画像、本明細書で詳述するようにセッション中に生じた可能性があるイベントのリスト、及び/又はセッション中にクライアント装置間で転送された可能性があるメッセージのリストの1つ以上を含んでもよい。
いくつかの実施形態によれば、画面共有セッションは、セッションをその開始時から終了時までリードし得る単一のパブリッシャユーザに関連付けられることがある。追加又は代替として、画面共有セッションは、複数のパブリッシャユーザと関連付けられてもよい。例えば、セッションは、パブリッシャの役割を担う最初のユーザで開始されてもよい。ユーザは、パブリッシャのアイデンティティを(例えば、図1の入力装置7を介して)変更し、別のユーザを役割又はパブリッシャにすることで、画面を共有して画面共有セッションをリードするようにしてもよい。
本発明のいくつかの実施形態によれば、セッションマネージャ320は、少なくとも1つの第一のクライアントコンピューティング装置(例えば、20A)の識別情報(例えば、IPアドレス、MACアドレス、通信ソケットID等)を1つ以上の第二のクライアントコンピューティング装置(例えば、20B)の識別情報と関連付けることができる。例えば、セッションマネージャ320は、セッションテーブル320Aによって、第一のクライアントコンピューティング装置20A及び第二のクライアントコンピューティング装置20Bを、同じ画面共有セッションに参加している又はそれに係るものとして関連付けることができる。
いくつかの実施形態によれば、1つ以上のクライアント装置20A及び20Bは、それぞれ共有クライアントモジュール220A及び220Bを含むことができ、又は実装することができる。共有クライアントモジュール220A及び220Bは、例えば、それぞれのクライアント装置(例えば、20A及び20Bのうちの1つ)の少なくとも1つのプロセッサ(例えば、図1のプロセッサ2)によって実行され得るソフトウェアモジュールであってもよい。共有クライアントモジュール220A及び220Bは、本明細書で詳述するように、それぞれのクライアント装置(例えば、20A及び20Bのうちの1つ)の少なくとも1つのクライアントプロパティ(例えば、要素221A、221B、222A、222B)を取得してもよい。
共有クライアントモジュール220A及び220Bは、共有サーバ30と(例えば、インターネットを介して)通信してもよく、1つ以上のクライアントコンピューティング装置20A及び20Bの少なくとも1つのクライアントプロパティ(例えば、要素221A、221B、222A、222B)を通信メッセージ31(例えば、31A、31B)として共有サーバ30へ提供することができる。
少なくとも1つのクライアントプロパティは、例えば、アスペクト比、解像度等を含む、クライアントコンピューティング装置(例えば、それぞれ20A及び20B)の1つ以上の画面プロパティ221A及び221Bを含んでもよい。
追加又は代替として、少なくとも1つのクライアントプロパティは、例えば、1つ以上のクライアントコンピューティング装置20A及び20Bに、及び/又は1つ以上のクライアントコンピューティング装置20A及び20Bのユーザに関連付けられ得る1つ以上のユーザ嗜好を含んでもよい。
例えば、1つ以上のユーザ嗜好222A及び222Bは、例えば、好みの人間の言語(例えば、英語、中国語等)を含む、クライアント装置20A及び20Bにそれぞれ維持又は格納され得る定義又は構成を含んでもよい。
別の例では、1つ以上のユーザ嗜好222A及び222Bは、クライアント装置(例えば、20A及び20Bのうちの1つ)のユーザによって行われる可能性のあった、ブラウザ(例えば、240A及び240Bのうちの1つ)と関連付けられ得るメモリ位置に(例えば、クッキーとして)格納されていた可能性があった少なくとも1つの以前の選択内容を含む場合がある。例えば、ユーザは、靴のショッピングウェブサイトをブラウズすることができる。ユーザは、好みの靴を選択するプロセスの間に自分の靴のサイズを入力してもよく、ユーザ嗜好(例えば、222A又は22Bの1つ)(例えば、好みの靴のサイズ)は、ブラウザ(240A及び240Bの1つ)内のメモリ空間又はそれに関連するメモリ空間においてクッキーとして維持されてもよい。
いくつかの実施形態によれば、共有クライアントモジュール220A及び220Bは、それぞれのクライアントコンピューティング装置(例えば、20A及び20Bのうちの1つ)に関連付けられ得る1つ以上のユーザ嗜好を嗜好データベース(例えば、図3Aにおいて222A及び222Bとしてマーク)に(例えば、ある期間にわたって)蓄積するよう構成されてもよい。いくつかの実施形態によれば、データベースは、ローカルに(例えば、クライアント装置(例えば、20A及び20Bのうちの1つ)に関連するストレージ装置(例えば、図1のストレージシステム6)上に)配置又は実装されてもよい。追加又は代替として、嗜好データベース222A及び222Bは、グローバルに、例えば、クラウド-ベースのストレージサーバ等の共有サーバ30に通信可能に(例えば、インターネットを介して)接続され得るストレージサーバ(図1のコンピューティング装置1等、1つ以上のコンピューティング装置)上に実装又は配置されてもよい。本発明の実施形態は、本明細書で詳述するように、蓄積されたユーザ嗜好に従って、少なくとも1つの提示プロパティをパーソナライズすることによって、1つ以上のウェブページ及び/又はウェブページの区分の提示プロパティの少なくとも1つの値を適応させることを含むことができる。
いくつかの実施形態によれば、共有サーバ30は、クライアントコンピューティング装置(例えば、20A及び20Bの一方)の画面上でのウェブページの少なくとも一部分の提示に関するイベント(例えば、223A及び223Bの少なくとも一方)の指示を(例えば、通信メッセージ31として)受信してもよい。
例えば、第一のコンピューティング装置(例えば、20A)は、パブリッシャ(例えば、画面共有セッションをリードし得るユーザ)によって使用されてもよく、1つ以上の第二のコンピューティング装置(例えば、20B)は、加入者(例えば、画面共有セッションにおいてパブリッシャに従い得るユーザ)によって使用されてもよい。パブリッシャのコンピューティング装置(例えば、20A)上の少なくとも1つの共有クライアント(例えば、220A)は、パブリッシャのコンピューティング装置20の画面(例えば、図1の画面9)上のウェブページコンテンツ110Aを含むウェブページ110の少なくとも一部分の提示中に起こり得る少なくとも1つのイベント(例えば、222A)を監視してもよい。
少なくとも1つのイベント(例えば、222A)は、例えば、ウェブページ上の特定の位置にマウスを配置すること、ウェブページをスクロールすること、ウェブページ内の1つ以上のアイテム又は要素を選択すること等、クライアント装置(例えば、20A)上のパブリッシャによって実行され得るアクションを含んでもよい。
追加又は代替として、少なくとも1つのイベント(例えば、222A)は、例えば、ブラウザ(例えば、240A)及び/又はウェブサイトサーバ10において、バックグラウンドプロセスによって(例えば、パブリッシャユーザのアクションによってではなく)ウェブページの提示になされ得る変更を含んでもよい。そのような変化は、例えば、ウェブページの自動リフレッシュによる変化、時間経過による変化、ウェブページ110の少なくとも1つのデータコンテンツ110A要素の変化、等を含んでもよい。
本発明のいくつかの実施形態によれば、共有サーバ30は、(例えば、パブリッシャユーザの)第一のクライアント装置20A上でのウェブページ及び/又はその一部分の提示と、(例えば、加入者ユーザの)1つ以上の第二のクライアント装置20B上でのウェブページ及び/又はその一部の提示との間で同期するように適応され得るイベント同期マネージャ310を含んでもよい。
例えば、イベント同期マネージャ310は、第一のクライアント装置20Aと1つ以上の第二のクライアント装置20Bとの間のウェブページの提示の間で同期するように、第一のクライアント装置20Aから、少なくとも1つのイベント通知223A(例えば、提示ウェブページのスクロールダウン)を含み得る通信メッセージ31Aを受信し、1つ以上の第二のクライアント装置20Bに、対応するアクション(例えば、提示ウェブページのスクロールダウン)を含み得る対応するメッセージ31Bを生成するよう構成されることができる。
追加又は代替として、イベント同期マネージャ310は、イベントの指示及び少なくとも1つのクライアントプロパティに基づいて、リアルタイム又はほぼリアルタイムで、ウェブページの少なくとも一部分の少なくとも1つの提示プロパティ330aの値を適応するように構成される翻訳モジュール330と協働してもよい。
用語「リアルタイム」及び「ほぼリアルタイム」は、本発明の実施形態によって、パブリッシャのユーザ装置のスクリーン上のウェブページ部分の外観又は外観の変化と実質的に同時に実行され得るアクションを指すためにこの文脈で使用されてもよい。
図3Aに示すように、翻訳モジュール330及び/又はルールベースデータベース340は、共有サーバ30に含まれるか、又は共有サーバ30に関連付けられることがある。翻訳モジュール330及び/又はルールベースデータベース340も、1つ以上の共有クライアントモジュール(例えば、220A及び/又は220B)に存在するか、又は関連付けられる可能性があることは、当業者によって理解され得る。例えば、共有クライアント220A及び/又は220Bは、翻訳モジュール330(及びそれぞれのルールベースデータベース340)の機能と同様の機能を実行し得る翻訳ルールのそれぞれのセット(例えば、図4の翻訳ルール227)に関連する翻訳モジュール(例えば、図4の翻訳モジュール2270)を含んでもよく、これは、本明細書で詳述したとおりであり、簡潔さの目的のために繰り返さないこととする。
追加又は代替として、本発明の実施形態は、共有サーバ30上の第一の翻訳モジュール330と、1つ以上のそれぞれのクライアント装置20A及び20B上の1つ以上の第二の翻訳モジュール(例えば、図4の翻訳モジュール2270)とを含んでもよい。いくつかの実施形態によれば、第一の翻訳モジュール330は、翻訳タスク又は操作の第一のセットを実行するように構成されてもよく、1つ以上の第二の翻訳モジュール2270は、翻訳タスクの又は操作第二のセットを実行するように構成されてもよい。例えば、第一の翻訳モジュール330は、本明細書で詳述するように、1つ以上のウェブサイトのプライバシーポリシーに関係し得る翻訳アクションを実行するように構成されてもよく、1つ以上の第二の翻訳モジュールは、本明細書で詳述するように、それぞれの1つ以上のクライアント装置20a及び20bの画面プロパティに関係し得る翻訳アクションを実行するように構成されてもよい。
スクロールダウン動作の例に関連して、イベント同期マネージャ310は、第一のクライアント装置20A上の提示ウェブページのスクロールダウン動作の指示を受信してもよい。この例では、少なくとも1つの提示プロパティ330Aは、スクロールダウンアクションによる提示ウェブページの位置であってもよい。イベント同期マネージャ310は、スクロールダウン動作指示及び/又は提示プロパティ330Aを翻訳モジュール330に伝搬してもよい。翻訳モジュール330は、それぞれのクライアントプロパティ(例えば、アスペクト比、解像度等の画面プロパティ)に従って、1つ以上の第二のクライアント装置のための提示プロパティ330A(例えば、画面上のウェブページの位置)の適応済の値又はバージョン330A’を生成してもよい。
共有サーバは、セッションテーブル320Aにおけるクライアント装置の識別情報の関連付けに基づいて、それぞれの1つ以上の第二のクライアント装置20B上の1つ以上の共有クライアントモジュール220Bと少なくとも1つのメッセージ31Bを通信してもよい。少なくとも1つのメッセージ31Bは、提示プロパティ330Aの1つ以上の適応済の値330A’を含んでもよい。共有クライアントモジュール220Bは、適応済の提示プロパティに従って、1つ以上の第二クライアント装置20Bの画面上にウェブページの少なくとも一部分を提示するように、提示プロパティ330A’の1つ以上の適応済の値をウェブブラウザ240Bに通信するように構成されていてもよい。
このように、本発明の実施形態は、複数のクライアント装置20A及び20Bの間でウェブページの少なくとも一部分の提示の適応的な同期を提供することができる。
同期は、1つ以上の特定のクライアント装置の少なくとも1つのクライアントプロパティに従って(例えば、画面プロパティに従って、ユーザ嗜好等に従って)変更又は計算され得るという意味で、適応的であってよい。
同期は、画面共有セッションに参加するクライアント装置間(例えば、セッションテーブル320Aのエントリに保持されるように)で実行され得るという意味で、2つ以上のコンピューティング装置の識別情報の関連付けに基づくものであってよい。
同期は、適応済の提示プロパティ値330A’(例えば、スクロールダウンアクションの例におけるウェブページの位置)が、データコンテンツ110A等のウェブページ110の少なくとも一部分をクライアント装置20Bの画面上に提示するためにウェブブラウザ240Bによって適用され得るという意味において提示プロパティ330A’の適応済の値に従って実行されてもよい。
本発明のいくつかの実施形態によれば、提示プロパティ330Aは、例えば、ウェブブラウザ240を介して、クライアント装置20の画面上に提示されることになるコンテンツの要素又はデータコンテンツ110Aの値を含むこと、又は表すことができる。この文脈では、提示プロパティ330Aは、「コンテンツプロパティ」330A-1とも呼ばれることがあり、これらの用語は互換的に使用されることがある。例えば、コンテンツプロパティ330A-1は、ウェブページオブジェクトの値を含んでもよく、これには、例えば、バナー、ウィンドウ、フォーム、メッセージボックス、画像オブジェクト又は画像コンテンツ、ギャラリーオブジェクト、ビデオオブジェクト、テキストボックス、テキストコンテンツ、ヘッダ、フォント(例えば、テキストのフォント、ヘッダのフォント等)、言語(例えば、記載又は会話テキストに用いられる人間の言語)、描画、URL(例えば、ウェブページのURL)、リンク(例えば、別のウェブページを参照又はリンクするURL)等が含まれる。
本明細書で詳述するように、本発明の実施形態は、第一のデータコンテンツ要素110Aを受信し、コンテンツプロパティ330A-1に従って第一のデータコンテンツ要素110Aの値又はコンテンツを適応させてもよい。本発明の実施形態は、その後、画面共有セッション中に、1つ以上のクライアント装置20のウェブブラウザ240上にデータコンテンツ要素110Aの適応済バージョンを提示してもよい。
例えば、データコンテンツ要素110Aは、第一のテキストメッセージを有するテキストボックスであってもよく、コンテンツプロパティ330A-1は、第一のテキストメッセージと異なる第二のテキストメッセージを含んでもよい。本発明の実施形態は、画面共有セッション中に、1つ以上のクライアント装置20上に第二のテキストメッセージを提示するように、本明細書で詳述するように、1つ以上のクライアント装置上のデータコンテンツ要素110Aの提示を変更又は適応させてもよい。
追加又は代替として、提示プロパティ330Aは、ウェブページオブジェクトの表示の1つ以上の側面又はプロパティを含むことができる。例えば、コンテンツデータ要素110Aは、画像等のウェブページオブジェクトを含んでもよく、提示プロパティ330Aは、ウェブブラウザ240を介して、クライアント装置20の画面上に表示される画像のサイズ又は位置を含んでもよい。この文脈では、提示プロパティ330Aは、「ディスプレイプロパティ」330A-2とも呼ばれることがあり、これらの用語は互換的に使用されることがある。例えば、コンテンツデータ要素110Aは、ウェブページオブジェクト(例えば、テキストボックス)であってもよいし、それを含んでもよく、ディスプレイプロパティ330A-2は、例えば、ウェブページオブジェクトのサイズ(例えば、高さと幅)、アスペクト比、解像度、画面上の位置、色等を含んでもよい。
追加又は代替として、提示プロパティ330Aは、スタイル及び/又は構造の1つ以上の側面又はプロパティを含んでもよい。例えば、構造データ110Bは、例えば、ウェブページ110の区分、ウェブページ110のスタイリング、ウェブページ110の見出し等を含む、ウェブブラウザ上のウェブページ110の構造化又はスタイリング要素を含んでもよい。この文脈では、提示プロパティ330Aは、「構造プロパティ」330A-3とも呼ばれることがあり、これらの用語は互換的に使用されることがある。例えば、構造プロパティ330A-3は、ウェブページ110の構造、ウェブページ110の区分、ウェブページ110のスタイリング等に関連する情報又は値を含んでもよい。
翻訳モジュール330は、クライアント装置20Bのクライアントプロパティに従って、提示プロパティ330Aの少なくとも1つのそれぞれの適応済の値330A’(例えば、適応済のコンテンツプロパティ330A-1、ディスプレイプロパティ330A-2及び/又は構造プロパティ330A-3)を生成するように、少なくとも1つの提示プロパティ330A(例えば、コンテンツプロパティ、ディスプレイプロパティ及び/又は構造プロパティ)を翻訳するための1つ以上のルールを含み得るルールベースデータベース340に関連していてもよい。
例えば、提示プロパティ330Aがアスペクト比又は解像度等のディスプレイプロパティである状態において、ルールベースデータベース340は、クライアント装置のクライアントプロパティ(例えば、画面プロパティ)に最も適合するように、提示ウェブページ又はその一部分のアスペクト比又は解像度の値を適応させるためのルールのセットを含んでもよい。
別の例では、提示プロパティ330Aがウェブページのオブジェクト(例えば、オンラインフォームのエントリ、テキストオブジェクトの言語等)等のコンテンツプロパティである状態において、ルールベースデータベース340は、コンテンツプロパティ340(例えば、オンラインフォームのエントリ、テキストオブジェクトの言語等)を、(例えば、ユーザの話し言葉等のユーザ嗜好222Bに従って)クライアント装置20Bのユーザに固有となり得るデータを含むように、適応させるためのルールのセットを含んでもよい。
別の例では、本発明の実施形態は、複数のユーザが劇場チケットを予約する共有画面セッションで共同作業することを有効にすることができる。この例では、提示プロパティ330Aは、劇場のウェブページのオブジェクトのようなコンテンツプロパティであってもよい。オブジェクトはそれぞれ劇場の座席を表すことがあり、翻訳モジュール330は、座席オブジェクトのそれぞれについて、どの座席が空いているか、どの座席が不特定多数の人に占有されているか、どの座席がセッションの参加者(例えば、「私の友人」)に占有されているか、どの座席がそれぞれのクライアント装置のユーザ(例えば、「私」)のために予約されているかを(例えば、色コードによって)反映させるように適応させてもよい。この状態では、画面共有セッションに参加するユーザは、ウェブページ(例えば、劇場の)を一緒に観察していてもよく、セッションの1人以上(例えば、全員)の参加者のウェブブラウザ上でアクション(例えば、パブリッシャユーザによる映画の選択)が適用されてもよいという意味で、画面を共有している。しかしながら、共有は、提示プロパティ330A(例えば、劇場座席を表すウェブページオブジェクトであるコンテンツプロパティ330A-1)の1つ以上の値が、それぞれの特定の参加ユーザのアイデンティティに従って(例えば、色、テキスト等で)適応されてもよいという意味で、適応的であってよい。
別の例では、提示プロパティ330Aが、画面上のウェブページ又はその一部(例えば、ウェブページオブジェクト)の位置等のディスプレイプロパティ330A-2である状態において、翻訳モジュール330は、(例えば、スクロールダウンアクションの例に関連して本明細書で詳述するように)クライアント装置20Bのクライアントプロパティに従って、少なくとも1つの適応済の提示プロパティ値330A’(例えば、適応済の位置等のディスプレイプロパティ330A-2の適応済の値)を作成してもよい。
別の例では、本発明の実施形態によって、オンライン衣料品店のウェブページにおける買い物客の間で適応的な画面共有を有効にすることができる。例えば、提示プロパティ330Aが画像オブジェクト(例えば、画像ギャラリー)のコンテンツ等のコンテンツプロパティ330A-1である状態において、ルールベースデータベース340は、1つ以上のクライアントプロパティ(例えば、ユーザ嗜好222A及び/又は222B)に従って、画像オブジェクトの選択及び/又は提示するためのルールのセットを含んでもよい。例えば、第一のユーザがオンライン衣料品店ウェブサイトにおいて特大サイズにフィットする衣料品を提示するために以前の選択を行った場合、翻訳モジュール330は、第一のユーザのクライアント装置20A上のデフォルト選択として大きな衣料品を表示するために、提示プロパティ330Aの値を適応させてもよい(例えば、選択可能画像ギャラリー等のコンテンツプロパティ330A-1の値を適応させてもよい)。第二のユーザがオンライン衣料品店ウェブサイトにおいて小サイズにフィットする衣料品を提示するために以前の選択を行った場合、翻訳モジュール330は、第二のユーザのクライアント装置20B上のデフォルト選択として小さな衣料品を表示するために、提示プロパティ330Aの値を適応させてもよい(例えば、選択可能な画像ギャラリー等のコンテンツプロパティ330A-1の値を適応させてもよい)。この状態では、第一のユーザと第二のユーザは、ウェブサイトの同じページを観察していてもよく、第一のユーザのアクションが第二のユーザのブラウザ上でも実装されていてもよいという意味で、画面を共有していてもよいが、特定のクライアントのプロパティ(例えば、各ユーザの嗜好)に従って、提示されたデータを適応させてもよい。
別の例では、提示プロパティ330Aが言語等のコンテンツプロパティ330A-1である状態において、本発明の実施形態は、テキスト(例えば、書面形式及び/又は音声形式)の提示を適応的に同期することを含んでもよく、それぞれが自分の嗜好言語を使用する2人以上の人々の間の協働を促進することができる。例えば、第一のユーザはフランス語の使用を好むことがあり、第二のユーザはイタリア語の使用を好むことがある。第一のユーザと第二のユーザは、共有画面セッションに参加することができ、ここで、その両ユーザが特定のドキュメントを閲覧することができる。ユーザは、両者が同じドキュメントのバージョン(例えば、フランス語の第一のバージョンとイタリア語の第二のバージョン)の提示を閲覧しているという意味で、画面を共有していてもよい。テキストの提示は、両ユーザがテキストのそれぞれのバージョンで同じ位置を閲覧できるという意味で、同期されてもよく、パブリッシャビューアによって実行されるアクション(例えば、テキストの一部をマークする)は、第二のビューアのブラウザ上でも適用されてもよい。しかしながら、それぞれのクライアント装置20A及び20Bのブラウザ240A及び240Bによるデータの提示の同期は、テキストがそれぞれのユーザの嗜好に一致する言語で提示され得るという意味で適応させてもよい。
当技術分野で知られているように、ウェブサイトサーバ10は、当技術分野で一般的に言及されるように、1つ以上の適応型ウェブサイトを管理してもよい。適応型ウェブサイトは、特定のユーザのニーズに対処するために、ウェブページ110に含まれ得る情報(例えば、データコンテンツ110A)及び/又は情報の提示(例えば、構造データ110Bに明示されるように)を修正してもよい。例えば、適応型ウェブサイトは、第一のURLによってアクセス可能な、第一の言語によるウェブページ110の第一のバージョンと、第二のURLによってアクセス可能な、第二の言語によるウェブページ110の第二のバージョンとを含むことができ、その結果、ユーザが自分の嗜好に応じてウェブページ110のバージョンを選択することができる。
いくつかの実施形態によれば、共有サーバ30は、本明細書で詳述するように、適応型ウェブサイトを利用することによって、2つ以上のクライアント装置間でウェブページ110の提示を適応的に同期させることができる。
例えば、共有サーバ30は、少なくとも1つのクライアントプロパティ(例えば、言語嗜好)に従って、適応型ウェブサイトのウェブページのURLラインを修正し、それぞれのクライアント装置を修正されたURLに対応するウェブページ110にリダイレクトすることによって、少なくとも1つの提示プロパティ値330A(例えば、言語等のコンテンツプロパティ330A-1)を適応させることができる。したがって、少なくとも1つの提示プロパティ330A(例えば、言語等のコンテンツプロパティ330A-1)は、適応型ウェブサイトの修正されたURLに従って適応させることができる。
別の例では、共有サーバ30は、少なくとも1つのクライアントプロパティに従って適応型ウェブサイトのウェブページ110のURLラインを修正することによって、構造プロパティ330A-3(例えば、ウェブページの区分)及び/又はディスプレイプロパティ330A-2(例えば、ウェブページオブジェクトのアスペクト比)等の少なくとも1つの提示プロパティ330Aの値を適応させることができる。例えば、本発明の実施形態は、複数のクライアント装置を共有画面セッションに参加させてもよく、その際、第一のクライアント装置20A(例えば、スマートフォン)は、モバイル指向のウェブページ110(例えば、第一のURLを介してアクセス可能)を提示してもよく、第二のクライアント装置20B(例えば、ラップトップ)は、PC指向のウェブページ110(例えば、第二のURLを介してアクセス可能)を提示してもよい。共有サーバ30は、要求される画面プロパティ(例えば、スマートフォン画面又はPC画面に一致するように)等の少なくとも1つのクライアントプロパティに従って、ウェブページ110のURLを修正し、それぞれのクライアント装置20を、適応型ウェブサイトの修正されたURLに対応するウェブページ110にリダイレクトしてもよい。
さらに別の例では、少なくとも1つの提示プロパティ330A(例えば、コンテンツプロパティ330A-1)は、適応型ウェブサイトのウェブページ110のURLを含んでもよい。共有サーバ30は、提示プロパティ値330A(例えば、URL等のコンテンツプロパティ330A-1)を適応して、適応済の提示プロパティ330A’(例えば、適応済のURL等の適応済のコンテンツプロパティ330A-1)を生成し、したがって、ユーザの嗜好222A(例えば、好みの言語、好みの色等)等の少なくとも1つのクライアントプロパティを対応するように構成されることができる。
本発明のいくつかの実施形態によれば、ルールベースDB340は、適応型ウェブサイトのウェブページの異なるバージョン(例えば、異なるURLでアクセス可能)のそれぞれのデータオブジェクト110A間で翻訳するための1つ以上のルールを含むことができる。
例えば、適応型ウェブサイトのウェブページ110の第一のバージョン(例えば、第一の言語)は、第一の識別(ID)番号を有するアクションボタン等のオブジェクトを含んでもよい。適応型ウェブサイトのウェブページ110の第二のバージョン(例えば、第二の言語)は、第二の異なるID番号を有する、アクションボタン等のそれぞれのオブジェクトを含んでもよい。ルールベースDB340は、第一のID番号を第二のID番号と関連付けることができる翻訳ルールを含んでもよい。例えば、共有画面セッションにおいて、第一のユーザは、第一のクライアント装置(たとえば、20A)上の適応型ウェブサイトのウェブページ110の第一のバージョンを閲覧してもよく、第二のユーザは、第二のクライアント装置(たとえば、20B)上の適応型ウェブサイトのウェブページ110の第二のバージョンを閲覧してもよい。ルールベースDB340の翻訳ルールは、第一のユーザが第一のIDに関連付けられたアクションボタンを押す場合、第二のバージョンの(第二のIDを有する)それぞれのアクションボタンに対応するアクションが第二のクライアント装置上で適用されることを指示してもよい。
本発明のいくつかの実施形態によれば、翻訳モジュール330は、ルールベースDB340と協働して、適応型ウェブサイトのウェブページ110の異なるバージョンで対応するウェブページオブジェクトに実行され得るアクションの間で翻訳を行うことができる。同じ例に係ると、クライアント装置20Aのユーザは、ブラウザ240Aを介して、ウェブページ110の第一のバージョン上でアクションボタンを押してもよい。共有クライアント220Aは、このアクションをイベント223Aとして監視してもよく、このイベントをメッセージ31Aとしてリアルタイム又はほぼリアルタイムで共有サーバ30に通信してもよい。イベント同期マネージャ310は、イベントの少なくとも1つのプロパティ(例えば、押されたボタンのID番号)を提示プロパティ330A(例えば、コンテンツプロパティ330A-1)として翻訳モジュール330に通信してもよい。翻訳モジュール330は、ルールベースDB340と協働して、イベントの少なくとも1つのプロパティ(例えば、ID番号等のコンテンツプロパティ330A-1)を翻訳して、適応済の提示プロパティ値330A’(例えば、適応済のID番号等の適応済のコンテンツプロパティ330A-1)を生成してもよい。追加又は代替として、翻訳モジュール330は、クライアント装置20Bの少なくとも1つのクライアントプロパティ(例えば、画面のアスペクト比、ユーザが好む外観等、221B、222B)に従って、適応済の提示プロパティ値330A’を生成してもよい。共有サーバ30は、適応済の提示プロパティ値330A’(例えば、適応済のID番号である適応済のコンテンツプロパティ)をメッセージ31Bで1つ以上のクライアント装置20Bに通信してもよい。クライアント装置20Bは、リアルタイム又はほぼリアルタイムで、クライアント固有のプロパティに従って、それぞれのブラウザ上でボタンを押すアクションを適用することができる。
当技術分野で知られているように、ウェブページ110内の一部分又は複数部分のオブジェクトは、区分に関連付けられ、又は区分によって定義されてもよい。そのような区分は、個別に又はウェブページ110全体の文脈の中で構成、設計及び/又は参照されてもよい。例えば、ユーザは、自分のコンピューティング装置20上のブラウザによって表示され得るウェブページ110の1つ以上の区分に関連してグラフィカルアクションを実行してもよい。そのようなグラフィカルアクションは、例えば、1つ以上のそれぞれの区分に対応する、ウェブページ110内の1つ以上のオブジェクトをマーキング、強調表示、及び/又は包囲することを含んでもよい。
いくつかの実施形態によれば、共有サーバ30は、ウェブページ110の1つ以上の区分111に係る、グラフィカルアクション等のアクション又はイベント(例えば、223A及び/又は223B)を含み得る画面共有セッションを、本明細書で詳述するように少なくとも1つのクライアントプロパティ(例えば221A及び/又は221Bならびに222A及び/又は222B)に対応する形で管理するように構成されてもよい。
例えば、画面共有セッションにおいて、適応型ウェブサイトのウェブページ110の第一のバージョンは、クライアント装置20A上に提示されてもよく、第一の識別(ID)番号を有する、テキストボックス等のオブジェクトを含んでもよい。適応型ウェブサイトのウェブページ110の第二のバージョンは、クライアント装置20B上に提示されてもよく、第二の異なるID番号を有する、テキストボックス等のそれぞれのオブジェクトを含んでもよい。ルールベースDB340は、本明細書で詳述するように、(例えば、アクションボタンの例において)第一のID番号と第二のID番号とを関連付けることができる翻訳ルールを含んでもよい。クライアント装置20Aの第一のユーザは、ブラウザ240Aを介してテキストボックスオブジェクトに係るグラフィカルアクションを実行してもよい。例えば、第一のユーザは、オブジェクトを包囲又は強調表示して、そのオブジェクトに注意を引くようにもよい。別の例では、第一のユーザは、オブジェクトの上に(例えば、コンピュータマウスを使用して)オブジェクトを描いてもよい。共有クライアント220Aは、アクションをイベント223Aとして監視してもよく、このイベントをメッセージ31Aとしてリアルタイム又はほぼリアルタイムで共有サーバ30に通信してもよい。メッセージ31Aは、強調表示又は包囲の位置、描画(例えば、図4の要素225)のパラメータ(例えば、形状、色等)等、イベント223Aに含まれるアクションのプロパティを含んでもよい。メッセージ31Aは、それぞれのウェブページオブジェクト区分111のID番号をさらに含んでもよい。イベント同期マネージャ310は、イベントの少なくとも1つのプロパティ(例えば、区分のID、描画225の形状及び/又は色等)を提示プロパティ330A(例えば、コンテンツプロパティ330A-1)として翻訳モジュール330に通信してもよい。翻訳モジュール330は、ルールベースDB340と協働して、イベント(例えば、ID番号)の少なくとも1つの提示プロパティ330A(例えば、コンテンツプロパティ330A-1)を翻訳して、提示プロパティ330A(例えば、コンテンツプロパティ330A-1、適応済のID番号等)の適応済の値330A’又はコンテンツを生成することができる。追加又は代替として、翻訳モジュール330は、クライアント装置20Bの少なくとも1つのクライアントプロパティ(例えば、画面アスペクト比等の221B、222B)に従って、提示プロパティ330A又はコンテンツプロパティ330A-1(例えば、描画225の形状)を翻訳して、適応済の提示プロパティ330A’を生成することができる。例えば、適応済の値330A’又は提示プロパティ330Aのコンテンツ(例えば、コンテンツプロパティ330A-1)は、クライアント装置20Bのアスペクト比に対応するように縮小又は拡大され得る描画225の表現(例えば、形状、色等)を含んでもよい。共有サーバ30は、適応済の提示プロパティ値330A’(例えば、適応済のID番号)及びグラフィカルアクションのプロパティ(例えば、包囲又は強調表示の色、描画225の形状等)をメッセージ31Bで1つ以上のクライアント装置20Bに通信してもよい。クライアント装置20Bは、それぞれのブラウザ上で、リアルタイム又はほぼリアルタイムで、クライアント固有のプロパティ(例えば、クライアント装置20の画面のアスペクト比)に従って、グラフィカルアクションを適用することができる。
このように、第一のユーザは、第一のクライアントコンピューティング装置20A上の1つ以上のウェブページ区分111に関連してグラフィカルアクション(例えば、包囲、強調表示等)を適用又は実行することができる。本発明の実施形態は、その後、(a)第二のクライアント装置20Bの1つ以上のクライアントプロパティ(例えば、アスペクト比、解像度等)に従って、リアルタイム又はほぼリアルタイムで、グラフィカルアクションの少なくとも1つの提示プロパティ330A又はコンテンツプロパティ330A-1の値又はコンテンツを適応させることと(例えば、包囲、描画225の形状等)、(b)1つ以上の第二のクライアントコンピューティング装置20B上のそれぞれのウェブページ区分111に関連する、それぞれ適応されたグラフィカルアクション(例えば、それぞれの形状を描く、ウェブページオブジェクトを囲む、等)を適用することである。
いくつかの実施形態によれば、共有サーバ30は、イベントの指示223A及び/又は223Bと、1つ以上のクライアントコンピューティング装置20Aの少なくとも1つのクライアンプロパティ(例えば、221A及び222A)とに基づいて、リアルタイム又はほぼリアルタイムで、1つ以上の区分に係る提示プロパティ(例えば、構造プロパティ)の少なくとも1つの値を適応させるように構成されてもよい。共有サーバ30は、次に、提示プロパティ330A(例えば、構造プロパティ330A-3)の適応済の値330A’を1つ以上の第二のクライアントコンピューティング装置20Bに31Bで通信することができる。1つ以上の第二のクライアントコンピューティング装置20Bの共有クライアント220Bは、提示プロパティ330A(例えば、構造プロパティ330A-3)の適応済の値330A’を受信してもよく、それぞれのブラウザモジュール240Bと通信して、提示プロパティ330A(例えば、構造プロパティ330A-3)の適応済の値330A’に基づいてウェブページ110の少なくとも一部分を提示してもよい。
本発明のいくつかの実施形態によれば、画面共有セッションの間、パブリッシャユーザ(例えば、クライアント装置20Aの)は、テキストボックスであるウェブページオブジェクト等のコンテンツデータ110Aを含み得るウェブページ110を閲覧していることがある。テキストボックス内の(例えば、ウェブページコンテンツデータ110A内の)テキストは、第一の言語で提示されてもよい。加入者ユーザ(例えば、クライアント装置20Bの)が、同じウェブページコンテンツ又はオブジェクト110A(例えば、テキストボックス)を含み得る同じウェブページ110を閲覧していることがある。共有サーバ30は、(例えば、共有クライアント220Aから)ウェブページコンテンツ110A又はオブジェクトのIDを受信してもよく、(例えば、共有クライアント220Bから)第二のユーザのユーザ嗜好222B(例えば、好みの第二の言語)等のクライアントプロパティを受信してもよい。イベント同期マネージャ310は、例えば、提示プロパティ330A(例えば、コンテンツプロパティ330A-1)の1つ以上のパラメータを翻訳モジュール330に伝搬してもよい。パラメータには、例えば、ウェブページコンテンツ又はオブジェクト110A(例えば、テキストボックス)のID、第一の言語、第一の言語のテキスト、及び第二の言語のテキストが含まれる。翻訳モジュール330は、テキスト翻訳モジュール又はアプリケーション(例えば、「Google(登録商標)翻訳」等)を採用して、第一の言語のテキストを第二の言語のそれぞれのテキストに翻訳し、第二の言語のテキストを含み得る提示プロパティ330A(例えば、コンテンツプロパティ330A-1)の適応済の値又はコンテンツ330A’を生成することができる。共有サーバ30は、適応済の提示プロパティ(例えば、コンテンツプロパティ)値又はコンテンツ330A’を(例えば、通信31Bとして)1つ以上の第二のクライアントコンピューティング装置20Bに通信してもよい。クライアント装置20Bは、その後、適応済の提示プロパティ値又はコンテンツ330A’に基づいて(例えば、テキストを第二の言語に翻訳して)ウェブページの少なくとも一部分、オブジェクト又はコンテンツデータ110A(例えば、ウェブページのテキストボックス)を提示してもよい。
本発明のいくつかの実施形態によれば、共有サーバ30は、ウェブページ110の少なくとも1つの区分111を分析して、それぞれの区分111に関連するプライバシーポリシー(例えば、図4の要素226)を決定してもよい。例えば、コンテンツデータ110Aは、支払い対話ボックス(例えば、ユーザが自分のクレジットカードの番号を入力するよう促され得る)のようなウェブページオブジェクトであってもよく、又はそれを含んでもよく、要求されるプライバシーポリシー226と関連付けられてもよい。プライバシーポリシー226は、例えば、クレジットカードの番号は、画面共有セッションに参加している他のユーザのブラウザ上では見られないこと、又は他の文字に変換されてもよいことを指示することができる。いくつかの実施形態によれば、プライバシーポリシー226は、コンテンツデータ110A(例えば、支払い対話ボックス)に関連する部門111に含まれてもよい。追加又は代替として、プライバシーポリシー226は、静的ウェブサーバ40の静的サイト構成40Aにおけるデータ要素として含まれてもよい。
本発明の実施形態は、決定されたプライバシーポリシー226に基づいて、ウェブブラウザ240を介して、ウェブページ110のデータコンテンツ110A(例えば、ウェブページの少なくとも一部分又はオブジェクト)を1つ以上のクライアントコンピューティング装置20の画面上に提示してもよい。
例えば、共有サーバ30は、プライバシーポリシー226に関連付けられることのあるテキスト(例えば、クレジットカード番号)であり得る少なくとも1つの提示プロパティ330A(例えば、コンテンツプロパティ330A-1)を(例えば、共有クライアント220Aから)受信してもよい。プライバシーポリシー226は、例えば、プライベートテキスト(例えば、クレジットカード番号)はパブリッシャユーザのクライアント装置20A上ではそのまま提示されてもよいが、加入者ユーザのクライアント装置20B上では他の文字(例えば、アスタリスク)に変換されてもよいと指示してもよい。イベント同期マネージャ310は、プライバシーポリシー226及びプライベートテキストを含み得る翻訳モジュール330に提示プロパティ330A(例えば、コンテンツプロパティ330A-1)を通信してもよい。翻訳モジュール330は、プライバシーポリシー226に従ってプライベートテキストを翻訳し(例えば、テキスト文字をアスタリスクに変換し)、適応済の値又はコンテンツを有する提示プロパティ330A(例えば、コンテンツプロパティ330A-1)の適応済バージョン(マーク330A’)を生成することができる。共有サーバ30は、適応済の提示プロパティ(例えば、コンテンツプロパティ)330A’を1つ以上の第二のクライアント装置20Bに通信してもよい。クライアント装置20Bは、したがって、実装されたプライバシーポリシー226に従って、リアルタイム又はほぼリアルタイムで、画面上のブラウザ240Bを介して少なくとも1つのデータオブジェクト(例えば、支払いダイアログボックス)を、アスタリスク文字の適応済の提示プロパティ330A’値又はコンテンツで提示してもよい
いくつかの実施形態によれば、共有サーバ30は、第二のクライアント装置20Bの加入者ユーザが閲覧できる共有ウェブページの部分又はオブジェクトに従って、パブリッシャユーザの第一のクライアント装置20A上の1つ以上のウェブページ部分及び/又はオブジェクト等のウェブページコンテンツデータ110Aを強調表示するように構成されることがある。この構成によって、例えば、装置20Aのパブリッシャユーザが、その画面共有セッション中に、装置20Bの加入者ユーザが何に焦点を当てているかを理解できるようになることがある。
例えば、共有サーバ30は、クライアント装置20Bの共有クライアント220Bから、閲覧指示224Bを(例えば、通信31Bとして)受信してもよい。閲覧指示224Bは、クライアントコンピューティング装置20Bの画面上での少なくとも1つのコンテンツデータ要素110A(例えば、ウェブページ部分又はオブジェクト)の提示に関連してもよい。共有サーバ30は、クライアント装置20A及び20Bの1つ以上の画面パラメータ(例えば、アスペクト比、解像度等)を(例えば、それぞれ31A、31Bで)さらに(例えば、共有クライアント220A、220Bを介して)受信してもよい。閲覧指示224Bは、例えば、クライアント装置20Bの画面上に現在提示され得る1つ以上のウェブページオブジェクトの指示、1つ以上のオブジェクトが提示される位置(例えば、画面上の座標)等を含んでもよい。イベント同期マネージャ310は、閲覧指示224Bを受信してもよく、閲覧指示224Bの1つ以上のパラメータ(例えば、ウェブページオブジェクトの提示、提示されたウェブページオブジェクトの位置、提示されたウェブページオブジェクトの色等)を提示プロパティ(例えば、ディスプレイプロパティ)330Aパラメータとして翻訳モジュール330に通信してもよい。
翻訳モジュール330は、リアルタイム又はほぼリアルタイムで、閲覧指示に基づいて、少なくとも1つのウェブページ区分111に係る少なくとも1つの提示プロパティ330A(例えば、ディスプレイプロパティ330A-2)を適応させてもよい。例えば、翻訳モジュール330は、少なくとも1つの提示プロパティ330A(例えば、ディスプレイプロパティ330A-2)の値又はコンテンツを翻訳し、適応済の値又はコンテンツを有する、少なくとも1つの提示プロパティ330A(例えば、ディスプレイプロパティ330A-2)の適応済バージョンを生成してもよい。
言い換えれば、閲覧指示224Bは、クライアント装置20Bの加入者ユーザが、そのウェブブラウサー240上で特定のコンテンツデータ110A(例えば、特定のウェブページオブジェクト)を閲覧していることを示してもよい。適応済の提示プロパティ330A’は、その後、パブリッシャユーザのクライアント装置20Aの画面上のコンテンツデータ110Aの提示を強調表示するように、コンテンツデータ110A(例えば、ウェブページオブジェクト)の明るい色付けを含んでもよい。
共有サーバ30は、提示プロパティ330A(例えば、ディスプレイプロパティ330A-2)の少なくとも1つの適応済バージョン330A’をパブリッシャクライアント装置20Aの共有クライアント220Aに(例えば、通信31Aとして)通信してもよい。共有クライアント220Aは、順番に、少なくとも1つの適応済の提示プロパティ330A’をブラウザ240Aに通信してもよい。したがって、本発明の実施形態は、クライアント装置20Aのパブリッシャユーザが、クライアント装置20の画面プロパティに関係なく、同期された画面共有セッションにおいてクライアント装置20Bの1人以上の加入者ユーザが焦点を当てていることを閲覧することを可能にしてもよい。
本明細書で詳述するように、セッションマネージャ320は、特に、セッション中に発生した可能性のあるイベント(例えば、223A、223B)のリスト、及び/又はセッション中にクライアント装置間で転送された可能性のあるメッセージ31(例えば、31A、31B)のリストを含み得るセッションテーブル320Aを維持してもよい。
図3Bに示すように、いくつかの実施形態によれば、セッションマネージャ320は、既に進行中のこともある画面共有セッション(例えば、クライアント装置20Aと20Bとの間での画面共有セッション)に参加する可能性がある新規クライアント装置20C(例えば、図1のコンピューティング装置1等のコンピューティング装置)を識別することができる。セッションマネージャ320は、結果として、新規に参加したクライアント装置20Cを「スピードアップ」させ、新規クライアント装置がセッションに参加する前に行われていることもある、本明細書で詳述するようなアクション及びイベントに従って、共有ウェブページ110及び/又はその一部若しくはオブジェクト(例えば、ページコンテンツ110A)を提示するように、1つ以上のメッセージ31Cを送信することができる。
新規クライアント装置20Cは、上述したように、クライアント装置20A及び20Bと同じ能力を有していてもよい。例えば、クライアント装置20A及び20Bと同様に、新規クライアント装置20Cは、ウェブブラウザ240C(例えば、ウェブブラウザ240A及び240Bのようなウェブブラウザ)を含んでもよく、共有クライアントモジュール220C(例えば、共有クライアントモジュール220A及び220Bのような共有クライアントモジュール)を含んでもよいし、実装してもよい。本発明のいくつかの実施形態において、共有クライアントモジュール220Cは、共有サーバ30と(例えば、インターネットを介して)通信してもよく、新規クライアント装置20Cの少なくとも1つのクライアントプロパティ(例えば、要素221C及び/又は要素222C)を通信メッセージ31Cとして共有サーバ30へ提供してもよい。共有サーバ30は、クライアントコンピューティング装置(例えば、20A、20B及び20Cのうちの1つ)の画面上での少なくとも1つのウェブページコンテンツデータ110A(例えば、ウェブページ部分又はオブジェクト)の提示に関するイベント223Cの指示を(例えば、通信メッセージ31Cとして)受信してもよい。本発明のいくつかの実施形態において、共有サーバ30は、新規クライアント装置20Cの共有クライアント220Cから、クライアントコンピューティング装置20Cの画面上でのウェブページコンテンツデータ110A(例えば、ウェブページの少なくとも一部分又はオブジェクト)の提示に関する閲覧指示224Cを受信してもよい。
図4は、いくつかの実施形態による、コンピューティング装置20間でウェブページ110の少なくとも一部分を適応的に共有するためのシステムに含まれ得る共有クライアントモジュール220を示すブロック図である。図4に示すように、共有クライアントモジュール220(例えば、図3Aの220A及び220B、並びに図3Bの220Cの少なくとも1つ)は、本明細書で詳述するように、コンピューティング装置20間でウェブページコンテンツデータ110A(例えば、ウェブページ110の少なくとも一部分)を適応的に共有するために使用することができる1つ以上の独自のデータ要素を処理又は維持するように適応された1つ以上のサブモジュールをそれぞれが含んでもよい。
例えば、共有クライアントモジュール220は、クライアントコンピューティング装置(例えば、それぞれ図3Aの20A、20B、図3Bの20C)の1つ以上の画面プロパティ又はパラメータ221(例えば、図3Aの221A、221B、図3Bの221C)を取得するように適応された画面パラメータモジュール2210を含んでもよい。画面プロパティ又はパラメータには、例えば、アスペクト比、解像度、配色(例えば、赤緑青(RGB)、黒白(B/W))、色解像度(例えば、色チャネルあたりのビット数)等が含まれる。
別の例では、共有クライアントモジュール220は、本明細書(例えば、図3A及び図3Bに関連して)で詳述したように、好みの人間の言語、ユーザによって行われたことのある1つ以上の以前の選択等の1つ以上のユーザ嗜好222(例えば、図3Aの要素222A、222B、図3Bの222C)を得るよう適応されたユーザ嗜好モジュール2220を含んでもよい。
別の例では、共有クライアントモジュール220は、クライアント装置(例えば、20A、20B又は20C)上で発生し得る少なくとも1つのイベント223(例えば、図3Aの223A、223B、図3Bの223C)を取得又は捕捉するように適応されたイベントモジュール2230を含んでもよい。本明細書(例えば、図3A及び図3Bに関連して)で詳述したように、イベント223(例えば、図3Aの223A及び/又は223B、及び/又は図3Bの223C)は、クライアント装置(例えば、20A、20B、又は20C)のユーザ又はビューアによって行われたこともあるアクションを含むことができる。追加又は代替として、少なくとも1つのイベント222は、ウェブページ110の自動リフレッシュによる変更、時間経過による変更、ウェブページ110の少なくとも1つのデータコンテンツ110A要素の変更等、バックグラウンドプロセスによってウェブページ110の提示になされ得る変更を含んでもよい。
本明細書で(例えば、図3Aに関連して)詳述したように、1つのクライアント装置(例えば、図3Aのクライアント20B)のイベントモジュール2230は、別のクライアント装置(例えば、図3Aのクライアント20A又は図3Cのクライアント20C)上で適用された可能性があるイベント又はアクションに対応する少なくとも1つの適応済の提示プロパティ値(例えば、図3A及び/又は図3Bの適応済の提示プロパティ3330A’)を含み得る少なくとも1つのメッセージ(例えば、図3Aの要素31A、31B)を(例えば、共有サーバ30から)取得してもよい。例えば、捕捉されたイベント223は、第一のIDを有するボタンを押すというアクションであってもよい。クライアント装置20Bのイベントモジュール2230は、イベント223を修正して、図3Aに関連して本明細書で説明したように、適応済のID番号等の適応済の提示プロパティの値(例えば、コンテンツプロパティ)を含み得る再生されたイベント223’を取得してもよい。共有クライアント220は、次に、クライアント装置20Bの画面上にそれぞれのアクションを適用するように、再生されたイベント223’をブラウザ(例えば、図3Aのブラウザ240B)に通信してもよい。
別の例では、共有クライアントモジュール220は、閲覧指示224(例えば、図3Aの224A、224B及び図3Bの224C)を取得するように適応された視認モジュール2240を含んでもよい。本明細書(例えば、図3A及び図3Bに関連して)で詳述したように、閲覧指示224は、クライアント装置20の画面上の1つ以上のウェブページコンテンツデータ110A要素(例えば、ウェブページ部分又はオブジェクト)の提示に係る少なくとも1つのパラメータを含んでもよい。例えば、閲覧指示224は、クライアント装置20の画面上に現在提示され得る1つ以上のコンテンツデータ要素110A(例えば、ウェブページオブジェクト)の指示、1つ以上のコンテンツデータ要素110Aが提示される位置(例えば、画面上の座標)等を含んでもよい。
別の例では、共有クライアントモジュール220は、描画225の1つ以上のパラメータを得るように適応された描画モジュール2250を含んでもよく、例えば、そのパラメータには、描画に関連付けられ得る区分111のID(例えば、区分111に関連付けられた、特定のコンテンツデータ要素110A又はウェブページオブジェクト上で描画が行われた場合)、描画の形状、描画の色等を含む。本明細書で詳しく説明するように(例えば、図3Aに関連して)、本発明の実施形態は、描画225の少なくとも1つの適応されたパラメータを含み得る提示プロパティ(例えば、ディスプレイプロパティ)330’Aの適応済の値を生成することができる。例えば、提示プロパティ330A’は、画面共有セッションに参加しているクライアント装置20の画面上の描画の位置(例えば、特定のウェブページオブジェクトに関連して)及び/又はサイズにフィットするように適応させてもよい。共有クライアントモジュール220は、次に、クライアント装置(例えば、20A、20B、及び20Cのうちの1つ)の画面上にそれぞれの描画を適用又は提示するように、描画225のディスプレイプロパティ330Aの少なくとも1つの適応済のパラメータ又は値330A’をブラウザ240に通信してもよい。
別の例では、共有クライアントモジュール220は、プライバシーポリシー226の1つ以上のパラメータを取得するように適応されたプライバシーモジュール2260を含んでもよい。本明細書で(例えば、図3A及び図3Bに関連して)詳述したように、プライバシーポリシー226は、1つ以上のウェブページ110又はその一部分若しくはオブジェクトの提示に係る少なくとも1つのルールを指示してもよい。例えば、プライバシーポリシー226は、プライベートテキスト(例えば、クレジットカード番号)は、パブリッシャユーザのクライアント装置20Aではそのまま提示されてよいが、加入者ユーザのクライアント装置20B又は新規クライアント装置20Cでは他の文字(例えば、アスタリスク)に変換されてもよいことを指示してもよい。
図5は、いくつかの実施形態による、少なくとも1つのプロセッサ又はコントローラ(例えば、図1のプロセッサ2)によって、コンピューティング装置間でウェブページ110の少なくとも一部分を適応的に共有するための方法を示す流れ図である。例えば、本発明の実施形態は、図3Aのウェブページコンテンツデータ110A及び/又は図3Aのウェブページ構造データ110B等のウェブページの少なくとも一部分を、2つ以上のコンピューティング装置20(例えば、図3Aのクライアントコンピューティング装置20A、20B及び図3Bの20C)間で共有してもよい。
ステップS1005に示すように、少なくとも1つのプロセッサ又はコントローラ2(例えば、図3A及び図3Bの共有サーバ30のプロセッサ2)は、少なくとも1つの第一のクライアントコンピューティング装置(例えば、図3Aのクライアント20A)の識別情報を、1つ以上の第二のクライアントコンピューティング装置(例えば、図3Aのクライアント20A及び図3Bの20Cの1つ以上)の識別情報と、(例えば図3のセッションマネージャ320によって)関連付けてもよい。例えば、セッションマネージャ320は、本明細書で詳述するように、画面共有セッションに参加しているものとして、クライアント装置20Aをクライアント装置20Bと関連付けてもよい。
ステップS1010に示すように、少なくとも1つのプロセッサ又はコントローラ2(例えば、図3A及び図3Bの共有サーバ30のプロセッサ2)は、1つ以上の第二のクライアントコンピューティング装置の少なくとも1つのクライアントプロパティ(例えば、図3Aの要素221A、221B、222A、222B及び図3Bの221C、222C)を受信してもよい。
ステップS1015に示すように、少なくとも1つのプロセッサ又はコントローラ2(例えば、図3A及び図3Bの共有サーバ30のプロセッサ2)は、第一のクライアントコンピューティング装置20の画面上でウェブページコンテンツデータ110A及び/又はウェブページ構造データ110B等のウェブページの少なくとも一部分の提示に関連し得るイベントの指示を受信してもよい。
ステップS1020に示すように、少なくとも1つのプロセッサ又はコントローラ2(例えば、図3A及び図3Bの共有サーバ30のプロセッサ2)は、リアルタイム又はほぼリアルタイムで、イベントの指示223及び少なくとも1つのクライアントプロパティに基づいて、ウェブページの少なくとも一部分(例えば、110A及び/又は110B)の提示プロパティ330Aの少なくとも1つの値を適応させてもよい。例えば、本明細書(例えば、図3A及び図3Bに関連して)で詳述したように、イベント同期マネージャ310は、翻訳モジュール330と協働して、イベントの指示223及び少なくとも1つのクライアントプロパティの少なくとも1つに基づいて、リアルタイム又はほぼリアルタイムで、ウェブページの少なくとも一部分(例えば、110A、110B)の提示プロパティ330Aの少なくとも1つの値を適応させてもよい。
ステップS1025に示すように、少なくとも1つのプロセッサ又はコントローラ2は、ウェブページの少なくとも一部分(例えば、110A、110B)を、関連付けられた識別情報(例えば、画面共有セッションに参加している装置20Aと、少なくとも1つの第二の装置20B及び20Cとの関連付け)に基づいて、提示プロパティ(イベントの指示223及び少なくとも1つのクライアントプロパティに基づいて適応された提示プロパティ値)に従って、1つ以上の第二のクライアントコンピューティング装置20(例えば、図3Aのクライアント20B及び/又は図3Bのクライアント20C)の画面上に提示してもよい。
ここで、図6Aを参照すると、この図は、本発明のいくつかの実施形態による、コンピューティング装置20間でウェブページ110の少なくとも一部分(例えば、110A、110B)を適応的に共有するためのシステム100を示すブロック図である。図6Aに示すように、システム100は、イネーブルプロキシ(EP)モジュール又はサーバ50を含んでもよく、それは、図1のコンピューティング装置1等のコンピューティング装置であってもよいし、それを含んでもよい。
いくつかの実施形態によれば、EPサーバ50は、一方では1つ以上のクライアント装置20と、他方では少なくとも1つのウェブサイトサーバ10との間を橋渡しする、仲介要素として機能してもよい。EPサーバ50は、本明細書で詳述するように、様々な画面共有機能及び特徴を促進することによって、第一のクライアント装置20Aと1つ以上の第二のクライアント装置20Bとの間の、画面共有体験を強化するように構成されてもよい。
図6Aに示すように、EPサーバ又はモジュール50は、共有サーバ30とは別のコンピューティング装置(例えば、図1のコンピューティング装置1)上で実行又は実装されてもよく、コンピュータネットワーク(例えば、インターネット)を介して共有サーバ30に通信可能に接続されてもよい。同様に、EPサーバ50は、静的ウェブサーバ40とは別個のコンピューティング装置上で実行又は実装されてもよく、静的ウェブサーバ40にコンピュータネットワークを介して通信可能に接続されてもよい。
他の構成も可能であり得ることは、当業者によって理解され得る。例えば、EPサーバ50は、共有サーバ30を実装又は実行し得る同じコンピューティング装置1(図1において)上で実行又は実装されてもよい。追加又は代替として、EPサーバ50は、静的ウェブサーバ40を実装又は実行することができる同じコンピューティング装置1上で実行又は実装されてもよい。
本明細書で(例えば、図3Aに関連して)詳述したように、クライアントコンピューティング装置のユーザは、ウェブブラウザを使用してウェブページ又はウェブサイトをブラウズしてもよく、静的ウェブサーバ40に導かれてもよい。静的ウェブサーバ40は、順番に、少なくとも1つの静的コードデータ要素40Bをクライアント装置20に提供してもよい。静的コードデータ要素40Bは、例えば、1つ以上のコンピューティング装置とのクライアント側通信を担当するコードを含んでもよい。例えば、少なくとも1つの静的コードデータ要素40Bは、ウェブサイトサーバ10、共有サーバ30及び/又はEPサーバ若しくはモジュール50への参照(例えば、ポインタ、アドレス、URL等)を含んでもよい。
追加又は代替として、少なくとも1つの静的コードデータ要素40Bは、メディアサーバ60への参照を含んでもよく、メディアサーバ60は、図6Aの破線で示すように、システム100の一部であってもなくてもよい。例えば、メディアサーバ60は、第三者メディアサーバであってよく、これは、ウェブサイトサーバ10に関連していてもいなくてもよく、例えば、メディアファイル又はビデオファイルを含む1つ以上のデータオブジェクト610を含有又は格納してもよい。
追加又は代替として、少なくとも1つの静的コードデータ要素40Bは、少なくとも1つのデータ要素への参照を含んでもよく、そのデータ要素は、少なくとも1つのコンピューティング装置上で、例えば、ウェブサイトサーバ10、共有サーバ30、EPサーバ50上及び/又はメディアサーバ60上でホスト又は格納されてもよい。
例えば、静的ウェブサーバ40は、少なくとも1つの静的コードデータ要素40Bを少なくとも1つのクライアント装置20に通信することができる。少なくとも1つの静的コードデータ要素40Bは、関連するメディアサーバ60への参照(例えば、URL)を含んでもよく、少なくとも1つのクライアント装置20は、その後、メディアサーバ60に(例えば、インターネットを介して)接続し、そこから、例えばメディアファイル又はビデオファイルを含む1つ以上のデータオブジェクト610を受信することができる。
本発明のいくつかの実施形態によれば、EPサーバ50は、構成データ構造又はデータベース530を含んでもよく、又はそれに関連付けられてもよい。いくつかの実施形態では、構成データ構造530は、ウェブサイトサーバ10にホストされているウェブサイト又はウェブページ110のコンテンツデータ110A及び/又は構造データ110Bに適用され得る必要な定義又は構成のリスト530Aを含んでもよい。
本発明のいくつかの実施形態によれば、EPサーバ50は、EPマネージャモジュール510を含んでもよく、EPマネージャモジュール510は、コンテンツデータ110Aを適応させるように構成され、構成データ構造530のコンテンツに従って、コンテンツデータ110Aの適応済バージョン110A’を生成するようにしてもよい。追加又は代替として、EPマネージャモジュール510は、構造データ110Bを適応させるように構成され、構成データ構造530のコンテンツに従って、構造データ110Bの適応済バージョン110B’を生成するようにしてもよい。EPマネージャモジュール510は、その後、コンテンツデータ110Aの適応済バージョン110A’及び/又は構造データ110Bの適応済バージョン110B’を少なくとも1つのクライアント装置20に提供して、これらの適応済バージョン110A’及び/又は110B’を使用して対応するウェブページコンテンツを提示するようにしてもよい。
本発明の実施形態は、任意の第三者ウェブサイト110について、そのウェブサイト110のソースコードを変更する必要なく、ウェブページのコンテンツデータ110A及び/又は構造データ110Bのそのような適応を可能にし得ることを理解され得る。言い換えれば、本発明の実施形態は、オリジナルの(例えば、第三者)ウェブサイトのコンテンツ110A及び/又は110Bにいかなる変更も行うことなく、適応済バージョン110A’及び/又は110B’をリアルタイムで使用して、オリジナルの第三者ウェブページコンテンツに対応する、ウェブページコンテンツを提示してもよい。
「リアルタイム」という用語は、この文脈において、例えば、ウェブブラウザ240によるウェブページ110のデータのリクエストと実質的に同時に、又は直後に(例えば、コンマ数秒以内に)、ウェブコンテンツデータ110A’及び/又は構造データ110B’の適応済バージョンを使用して、ウェブブラウザ240上でウェブページ110のウェブサイトのコンテンツを提示し、ユーザの体験において遅延感覚を生じないようにすることを指すのに使用されてもよい。
本発明のいくつかの実施形態によれば、ウェブページコンテンツデータ110Aは、ウェブページ110の命令コード要素(例えば、HTML命令コード要素)であってもよいし、それを含んでもよい。コンテンツデータ110Aは、ウェブページ110の1つ以上の態様の定義又は構成を含み得るヘッダ部分等の命令コードの部分を含んでもよい。言い換えれば、コンテンツデータ110Aは、本明細書で詳述するように、ウェブブラウザ240上(例えば、クライアント装置20上)にウェブページ110を提示するための特性又は構成を設定し得るHTMLヘッダ等の命令コード要素を含んでもよい。
当技術分野で知られているように、インラインフレーム(「iframe」とも呼ばれる)は、ウェブブラウザ上の第二のドキュメントの提示内(例えば、ウェブページ110内)に第一のオブジェクト又はドキュメント(例えば、ビデオファイル)の提示を埋め込むために使用され得るHTMLコード要素である。
本発明のいくつかの実施形態では、コンテンツデータ110Aは、ブラウザでのiframeの使用を無効化又は禁止することができる定義又は構成を含んでもよい。例えば、ウェブページ110のウェブコンテンツデータ110Aは、ウェブページ110がiframe内に埋め込まれることを防止してもよい。追加又は代替として、ウェブコンテンツデータ110Aは、ウェブページ110が、iframe内に埋め込まれたものとしてブラウザ240に表示されることを防止してもよい。追加又は代替として、ウェブコンテンツデータ110Aは、ウェブページ110が、ビデオストリーム等の別のオブジェクトと並行して、iframe内に埋め込まれたものとして、ブラウザ240に表示されることを防止してもよい。
この例では、構成データ構造530は、コンテンツデータ110Aに適用され得る必須の定義又は構成530Aを含んでもよい。この要求される構成530Aは、例えば、ウェブページ110がiframe内でウェブブラウザ240上に提示されることを有効にするための要求であってもよい。EPサーバ50のEPマネージャモジュール510は、その後、構成データ構造530の要求される定義又は構成530Aに従ってコンテンツデータ110Aを適応又は修正することができる。例えば、EPマネージャモジュール510は、コンテンツデータ110Aを修正して、コンテンツデータ110Aの適応済バージョン110A’を生成してもよく、これによって、iframe内のブラウザ240上でのウェブページ110の提示が有効になる。
本明細書で詳述するように、EPマネージャモジュール510は、それぞれの複数のクライアント装置20の複数のウェブブラウザ240上で、iframe内のウェブページ110のコンテンツデータ110Aの提示を有効にし、又は許可することができる。この有効化は、本明細書で詳述するように、複数の特徴及び能力を促進又は許可し、複数のクライアント装置20の間でのウェブページ110の画面共有体験を強化し得ることが、当業者によって理解され得る。
例えば、当技術分野で知られているように、ウェブサイトの一部としてビデオストリームを提示する場合、ビデオの中断されない提示を維持しながらインターネットを介してナビゲート又はブラウズするのが不可能なことがある。言い換えれば、ブラウザは、ビデオの提示も含め、あるいはビデオの提示に加え、ウェブサイトの提示された全てのウェブページコンテンツを置き換えるので、ビデオをシームレスに提示しながら、メインブラウザのURLラインを置き換えることは不可能になることがある。本明細書で詳述するように、EPマネージャモジュール510は、ウェブブラウザ240上で、ウェブページ110のコンテンツ110aの提示と並行して、又はその中に埋め込まれたビデオ(例えば、ビデオストリーム)の提示を中断することなく可能にすることができる。
本明細書で説明したように、EPマネージャモジュール510は、画面共有セッションに参加しているそれぞれの1つ以上のクライアント装置20の1つ以上のウェブブラウザ240上で、iframe内のウェブページ110のコンテンツ110Aの提示を有効にすることができる。さらに、静的コードデータ要素40Bは、メディアサーバ60上に格納又はホストされ得るビデオオブジェクト等のメディアデータ要素610への参照(例えば、URL)を含んでもよい。
いくつかの実施形態によれば、EPサーバ50mmのEPマネージャモジュール510は、少なくとも1つのウェブコンテンツデータ要素110Aを修正して、ストリーミングビデオデータ要素と並んで、iframe内に埋め込まれたものとしてウェブブラウザ240上でのウェブサイト110の提示を有効にするようにしてもよい。したがって、それぞれの1つ以上のクライアント装置20の1つ以上のウェブブラウザ240は、ストリーミングビデオメディアデータ要素610と並んで、ウェブページ110のコンテンツデータ110Aをiframe内に提示することができる。
EPマネージャモジュール510は、したがって、ウェブブラウザ240上で、ウェブページ110のコンテンツ110Aの提示と並行して、又はその中に埋め込まれて、ビデオ(例えば、ビデオストリーム)の中断されない提示を有効にしても、あるいは許可してもよい。
言い換えれば、EPマネージャモジュール510は、ウェブページ110の提示をiframeに埋め込むことを有効にし、したがって、クライアント装置20のユーザが、ビデオ610のシームレスで中断されない表示を維持しながら、異なるウェブページ間を移動するために、それらのウェブブラウザ240の使用を有効にすることができる。例えば、クライアント装置20Aのパブリッシャユーザと、クライアント装置20Bの1人以上の参加者又は加入者ユーザは、ウェブブラウザのURLラインを変更して、オンラインショッピングウェブサイトの異なるウェブページ110間を移動し、異なるウェブページのコンテンツデータ110Aを閲覧し、一方でビデオ610の中断しない表示を維持することができる。
別の例では、構成データ構造530は、冗長なウェブサイト要素の提示を削除又は無効にするように、ウェブページ110のコンテンツデータ110A及び/又は構造データ110Bに適用され得る必要な定義又は構成のリスト530Aを含んでもよい。EPサーバ50のEPマネージャモジュール510は、その後、コンテンツデータ110A及び/又は構造データ110Bを修正して、コンテンツデータ110Aの適応済バージョン110A’及び/又は構造データ110Bの適応済バージョン110B’をそれぞれ生成してもよい。適応済のコンテンツデータ110A’及び/又は構造データ110B’は、1つ以上のそれぞれのクライアント装置20上の1つ以上のブラウザ240上で冗長なウェブサイト要素の表示を無効にすることができる。
用語「冗長なウェブサイト要素」は、例えば、本明細書では、第一のユーザ(例えば、クライアント装置20Aのプレゼンタ又はパブリッシャユーザ)に関連するが、画面共有セッションに参加している別のユーザ(例えば、クライアント装置20Bの加入者ユーザ)に関連しないこともある要素を指す場合がある。
そのような冗長なウェブサイト要素は、例えば、ポップアップ要素、スペシャルオファー(例えば、割引ポップアップ)及び/又はコマーシャルウィンドウ、アクセシビリティウィンドウ、「代表者とチャット」ウィンドウ、バナー、「代表者と会話」ボタン、「カートに追加」ボタン等のボタン、等を含むことができる。
別の例では、構成データ構造530は、ウェブページ110のコンテンツデータ110A及び/又は構造データ110Bに適用され得る必要な定義又は構成のリスト530Aを含んでもよく、ウェブサイト要素又はオブジェクトの提示を追加又は変更する。EPマネージャモジュール510は、コンテンツデータ110A及び/又は構造データ110Bを修正して、データ要素110A’及び/又は110B’をそれぞれ生成することができる。データ要素110A’及び/又は110B’は、ブラウザ240上でウェブサイトオブジェクトの提示を提示、追加又は変更するための命令コード(例えば、HTML、CSS、JavaScript等)を含んでもよい。例えば、本明細書で詳述するように、クライアントコンピューティング装置20の1人以上のユーザは、ショッピング画面共有セッションに参加してもよく、第一のユーザ(例えば、クライアント装置20Aのユーザ)はプレゼンタ又はパブリッシャであり、1人以上の第二のユーザ(例えば、クライアント装置20Bのユーザ)は加入者である。第一のユーザは、例えば、製品(例えば、シャツ)を表示するウェブページをブラウズすることができる。EPマネージャモジュール510は、データ要素110A’及び/又は110B’が、参加しているクライアント装置(例えば、加入者クライアント装置20B)のそれぞれのウェブブラウザ上に「欲しい」又は「マイリストに追加」ボタンを提示するための命令コード(例えば、HTML命令コード)を含むように、コンテンツデータ110A及び/又は構造データ110Bを修正してもよい。
さらに別の例では、構成データ構造530は、プライベートウェブページ要素又はオブジェクト(例えば、名前、住所、ユーザプロファイル、電話番号、クレジットカード情報等)の提示を削除又は無効にするように、ウェブページ110のコンテンツデータ110A及び/又は構造データ110Bに適用することができる必要な定義又は構成530aのリストを含んでもよい。EPマネージャモジュール510は、その後、コンテンツデータ110A及び/又は構造データ110Bを修正して、1つ以上のそれぞれのクライアント装置20上で1つ以上のブラウザ240上のプライベートウェブページのオブジェクト又は要素の提示を削除又は無効にし得るデータ要素110A’及び/又は110B’をそれぞれ生成してもよい。
本発明のいくつかの実施形態によれば、EPサーバ又はサーバ50は、ウェブサイトサーバ10上にホストされた任意のウェブサイト又はウェブページ110のための高スケール性能を有効にするために利用されてもよい。
例えば、クライアント装置20は、ウェブサイトサーバ10に格納されているウェブサイト110の1つ以上のコンテンツデータ110A要素及び/又は構造データ110B要素を取得又は検索するリクエストで、EPサーバ50にアクセス(例えば、読み取りアクセス)してもよい。必要なコンテンツに対する最初のリクエストでは、EPサーバ50は、必要なコンテンツ(例えば、コンテンツデータ110A及び/又は構造データ110B)を照会し、照会されたコンテンツをローカルに(例えば、図1のメモリ4等のローカルメモリに)格納又はキャッシュしてもよい。同じコンテンツ(例えば、コンテンツデータ110A及び/又は構造データ110B)に対するその後のリクエストでは、1つ以上のクライアントコンピューティング装置は、EPサーバ50から必要なコンテンツを検索することができる。言い換えれば、EPサーバ50は、1つ以上のクライアント装置20にウェブページ110のコンテンツを迅速かつ効率的に検索するために、キャッシュストレージとして機能し得る。
ここで、図6Bを参照すると、この図は、本発明のいくつかの実施形態による、コンピューティング装置20間でウェブページ110の少なくとも一部分(例えば、コンテンツデータ110A及び/又は構造データ110B)を適応的に共有するためのシステム100を示すブロック図である。
いくつかの実施形態によれば、また図6Bに示すように、EPサーバ50は、コンテンツ配信ネットワーク(CDN)70に関連付けられても、あるいはそれと通信可能に接続されてもよく、CDN70は、システム100の一部であっても、なくてもよい。当該技術分野において知られているように、CDN70は、ウェブページデータ(例えば、コンテンツデータ110A及び/又は構造データ110B)のキャッシュを改善して、複数のクライアント装置20によるウェブページ110コンテンツの検索を改善するために、利用され得る。
EPサーバ50は、各データ要素(例えば、コンテンツデータ110A及び/又は構造データ110B)に対する最初のリクエストを検索することによってのみ、ウェブサイトサーバ10による複数のクライアント装置20へのサービス提供を有効にし得ることは、当業者によって理解され得る。言い換えれば、EPサーバ50は、1人のユーザの負荷のみ、例えば、EPサーバ50の負荷のみを経験しながら、ウェブサイトサーバ10による数千のクライアント装置20へのサービス提供を有効にし得る。
当技術分野で知られているように、プライバシー規制は、個人情報のキャッシュを禁止することがある。図6Aに示すように、EPサーバ50は、そのようなプライバシー規制を遵守してウェブページコンテンツデータ110Aの匿名キャッシュを有効にするために、ウェブページコンテンツデータ110Aを匿名化するように適応されたプライバシー分析モジュール520を含んでもよい。
言い換えれば、当技術分野で知られているように、クライアント装置20は、例えばURLラインの形態で、サーバにリクエスト230を送信することによって、サーバ(例えば、ウェブサイトサーバ10)から情報を照会してもよい。リクエスト230(例えば、URLライン)は、紹介されたデータ(例えば、サーバの応答のコンテンツ)に関連することも、しないこともある識別パラメータを含んでもよい。プライバシー規制のため、キャッシュモジュールは、リクエストの1つ以上の識別パラメータ(例えば、URLライン)と関連付けられている可能性があるため、検索されたデータを保存できないことがある。したがって、キャッシュの効率が低下する可能性がある。
例えば、第一のクライアント装置20は、製品(例えば、帽子)の画像を提示するようにウェブサイトサーバ10に照会させることができ、「0x111」というユーザID値を含むURLラインの形式でリクエスト230を送信することによって、そうすることができる。現在利用可能なキャッシュモジュールは、ユーザ「0x111」に関連する画像を保存又はキャッシュしない場合があり、したがって、第二のクライアント装置20が、「0x222」のユーザID値を含むリクエスト(例えば、URLライン)を送信することによって、帽子の同じ画像をウェブサイトサーバに照会させると、同じ画像をウェブサイトサーバ10から再び検索する必要がある。
本発明のいくつかの実施形態によれば、EPサーバ50のプライバシー分析モジュール520は、クライアント装置20から送信され得るデータ230のリクエスト(例えば、URLライン)を分析し、そのリクエストから1つ以上の識別データ要素を抽出するように適応されてもよい。同じ例に係ると、プライバシー分析モジュール520は、識別データに欠けることもあるリクエストを生成するために、ユーザIDを抽出してもよい。
EPサーバ50は、その後、必要なデータ(例えば、帽子の画像)についてウェブサーバ10に照会し、ウェブサーバ10から必要なデータを検索し、検索したデータをローカルメモリ540装置(例えば、EPサーバ50に含まれるか、又は関連するメモリ装置)にキャッシュ又は格納することができる。EPサーバ50は、ローカルメモリ装置540から必要なキャッシュ又は格納されたデータを返信することによって、(例えば、同じデータについて、クライアント装置20による)後続のリクエスト230に対応してもよいことが、当業者によって理解され得る。言い換えれば、EPサーバ50は、ウェブサイトサーバ10から必要なデータを検索することを要求されなくてもよい。
ここで、図7を参照すると、この図は、本発明のいくつかの実施形態による、少なくとも1つのプロキシサーバ(例えば、図6Aのイネーブルプロキシ50)によって、ウェブサイトの少なくとも1つのウェブページオブジェクトの提示を適応させる方法を示す流れ図である。
ステップS2005に示すように、プロキシサーバ(例えば、イネーブルプロキシ50)は、クライアントコンピューティング装置20から、少なくとも1つのウェブページオブジェクトに対するデータリクエスト(例えば、図6Bのリクエスト230)を受信してもよい。
ステップS2010に示すように、イネーブルプロキシ50は、ウェブページオブジェクトを表す少なくとも1つのウェブコンテンツデータ要素110A及び/又は構造データ110B要素をウェブサーバ(例えば、図6Bのウェブサーバ10)から検索してもよい。例えば、データリクエスト230は、URLラインの形態であってもよく、イネーブルプロキシ50は、URLラインに含まれるデータを利用して、ウェブサーバ10に照会し、そこからコンテンツデータ110A及び/又は構造データ110Bを取得してもよい。
ステップS2015に示すように、また本明細書で詳述するように、プロキシサーバ(例えば、イネーブルプロキシ50)は、少なくとも1つのウェブコンテンツデータ要素の適応済バージョンをクライアントコンピューティング装置に返信してもよい。例えば、本明細書で(例えば、図6A及び図6Bに関連して)詳述したように、イネーブルプロキシ50は、コンテンツデータ要素110Aの適応済バージョン110A’及び/又は構造データ110B要素の適応済バージョン110B’を生成し、クライアント20に適応済のコンテンツデータ110A’及び/又は適応済の構造データ110B’を返信してもよい。適応済のコンテンツデータ110A’及び/又は適応済の構造データ110B’は、クライアント20によってリクエストされた少なくとも1つのウェブページオブジェクトの適応済バージョンを含んでも、あるいは表してもよいことが理解されよう。
ステップS2020に示すように、クライアント20は、その後、少なくとも1つのウェブコンテンツデータ要素の適応済バージョンを使用して、クライアントコンピューティング装置20のウェブブラウザ上で少なくとも1つのウェブページオブジェクトを提示してもよい。言い換えれば、クライアント20は、少なくとも1つのウェブページオブジェクトの適応済バージョンをウェブブラウザ240上に提示してもよい。
ここで、図8を参照すると、この図は、本発明のいくつかの実施形態による、少なくとも1つのプロキシサーバによってウェブページデータをキャッシュする方法を示す流れ図である。
ステップS3005に示すように、プロキシサーバ(例えば、イネーブルプロキシ50)は、クライアントコンピューティング装置20から、少なくとも1つのウェブページオブジェクトに対するデータリクエスト(例えば、図6Bのリクエスト230)を受信してもよい。
ステップS3010に示すように、イネーブルプロキシ50は、ウェブページオブジェクトを表す、少なくとも1つのウェブコンテンツデータ要素110A及び/又は構造データ110B要素をウェブサーバ(例えば、図6Bのウェブサーバ10)から検索してもよい。例えば、データリクエスト230は、URLラインの形態であってもよく、イネーブルプロキシ50は、URLラインに含まれるデータを利用して、ウェブサーバ10に照会し、そこからコンテンツデータ110A及び/又は構造データ110Bを取得してもよい。
ステップS3015に示され、本明細書で(例えば、図6Bに関連して)詳述したように、イネーブルプロキシ50は、データリクエスト230を分析し、ウェブページデータオブジェクトに関連しない、クライアントコンピューティング装置の1つ以上の識別データ要素をデータリクエスト230から抽出又は削除するように適応されたプライバシー分析モジュール520を含んでもよい。したがって、イネーブルプロキシ50は、データリクエスト230の匿名化バージョン(例えば、図6Bの要素230’)を生成してもよい。
ステップS3020に示すように、イネーブルプロキシ50は、少なくとも1つの検索されたウェブコンテンツデータ要素をローカルメモリ装置540にキャッシュ又は格納してもよい。ローカルメモリ装置540は、EPサーバ50に含まれる、又はEPサーバ50に関連するメモリ装置、例えば、図1のメモリ4であってもよい。追加として、またステップS3025に示すように、イネーブルプロキシ50は、データリクエスト230の匿名化バージョン230’をローカルメモリ装置540にキャッシュ又は格納してもよい。
ステップS3030に示すように、イネーブルプロキシ50は、キャッシュされたウェブコンテンツデータ要素を、メモリ装置540内のデータリクエストのキャッシュされた匿名化バージョンに関連付けることができる。したがって、イネーブルプロキシ50は、識別データ要素(例えば、名前、ユーザID、MACアドレス、IPアドレス等)がない匿名化されたキャッシュを実装してもよく、また、ウェブサーバ10から多宇部て数のクライアントコンピューティング装置へのデータの迅速な検索を有効にする。
本発明の実施形態は、画面共有セッションにおいてコンピューティング装置間で、リアルタイム又はほぼリアルタイムで変更されたウェブページのコンテンツ、又はその一部を共有するための実用的なアプリケーションを含むことができる。
本明細書で詳述するように、本発明の実施形態は、ネットワーク接続及び画面共有の利用可能な技術に対する複数の改善を含んでもよい。例えば、本発明の実施形態は、セッションに参加し得る1つ以上の(例えば、各)ユーザ及び/又は装置の嗜好に応じて、パーソナライズされたコンテンツ(例えば、コンテンツの異なるバージョン)として共有データコンテンツを提示してもよい。
追加又は代替として、本発明の実施形態は、1人以上のユーザのコンピューティング装置の画面特性(例えば、アスペクト比、解像度等)に応じて最適化され得る方法で共有データコンテンツを提示してもよい。
追加として、本発明の実施形態は、匿名化されたタイプのキャッシュを促進することによって、現在利用可能なウェブ技術に対する改善を含んでもよく、その改善には、本明細書で詳述したように、ウェブサイト情報をキャッシュする新規方法、向上したウェブサイトサービス及びウェブサーバからのデータの迅速な検索を含んでもよい。
明示的に述べない限り、本明細書で説明される方法の実施形態は、特定の順序又はシーケンスに制約されない。さらに、本明細書に記載された全ての式は、例としてのみ意図されており、他の式又は異なる式が使用されてもよい。追加として、記載された方法の実施形態又はその要素のいくつかは、同じ時点で発生することも、あるいは実行されることもある。
本発明の特定の特徴を本明細書で例示し、説明してきたが、当業者は、多くの修正、置換、変更、及び等価物を想起し得る。したがって、添付の特許請求の範囲は、本発明の真の精神の範囲内に入るようなsのそのような修正及び変更をカバーすることを意図していることが理解される。本発明の実施形態の開示のいくつかは、例として、第一のユーザ(例えば、パブリッシャ)が第二のユーザ(例えば、加入者)に提示することを具体的に論じているが、本発明の実施形態は、第二のユーザが第一のユーザに提示することを含み得ることを理解されたい。
様々な実施形態を提示してきた。これらの各実施形態は、当然、提示された他の実施形態からの特徴を含むことがあり、具体的に説明されていない実施形態も、本明細書に記載されている様々な特徴を含むことがある。