(57)【特許請求の範囲】
【請求項１】
送信元ドメインと、前記送信元ドメインとは異なる受信先ドメインとの間におけるクロスドメイン通信のための送信元システムであって、
プロセッサであって、
前記受信先ドメイン内の指定の要求処理ページに向けられたデータ要求を、前記送信元ドメインから前記受信先ドメインに送信し、
要求されたデータを含み前記送信元ドメイン内の指定の応答処理ページに向けられた、前記受信先ドメインからの応答を受信し、
前記応答を処理するように構成されるプロセッサと、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されるメモリと、
を備え、
前記送信元ドメインからの前記受信先ドメインに対する前記データ要求の送信は、
隠しページをオープンし、
前記隠しページを使用して前記指定の要求処理ページをオープンし、前記隠しページを介して要求コマンド及び関連の要求データを送信すること、
を含み、
前記データ要求は、前記要求コマンド及び前記関連の要求データを含み、
前記関連の要求データは、開発者に対する一連の関数の形にパッケージ化されている、送信システム。
【請求項２】
請求項１に記載のシステムであって、
前記データ要求は、ブラウザから前記送信元ドメイン内の発信元ページへのクライアントアクションに応答して送信される、システム。
【請求項３】
請求項１に記載のシステムであって、
前記クロスドメイン通信に先立って、前記指定の要求処理ページは前記受信先ドメイン内にデプロイされ、前記指定の応答処理ページは前記送信元ドメイン内にデプロイされる、システム。
【請求項４】
請求項１に記載のシステムであって、
前記隠しページのオープンは、目に見えない新しいウィンドウ又は目に見えないインラインフレームをオープンすることを含む、システム。
【請求項５】
請求項１に記載のシステムであって、
前記データ要求は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）ＧＥＴコマンドを介して送信される要求コマンド及び関連の要求データを含む、システム。
【請求項６】
請求項１に記載のシステムであって、
前記要求コマンドは、ＵＲＬに添付されたフラグメント識別子として送信され、
前記関連の要求データは、ウィンドウオブジェクトの名前プロパティとして転送される、システム。
【請求項７】
請求項１に記載のシステムであって、
前記要求コマンド及び前記関連の要求データは、ＵＲＬに添付されたフラグメント識別子として送信される、システム。
【請求項８】
請求項１に記載のシステムであって、
要求は、ＪＳＯＮフォーマットのストリングとして転送される、システム。
【請求項９】
送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための方法であって、
前記受信先ドメイン内の指定の要求処理ページに向けられたデータ要求を、前記送信元ドメインから前記受信先ドメインに送信し、
要求されたデータを含み前記送信元ドメイン内の指定の応答処理ページに向けられた、前記受信先ドメインからの応答を受信し、
前記応答を処理すること、
を備え、
前記送信元ドメインからの前記受信先ドメインに対する前記データ要求の送信は、
隠しページをオープンし、
前記隠しページを使用して前記指定の要求処理ページをオープンし、前記隠しページを介して要求コマンド及び関連の要求データを送信すること、
を含み、
前記データ要求は、前記要求コマンド及び前記関連の要求データを含み、
前記関連の要求データは、開発者に対する一連の関数の形にパッケージ化されている、方法。
【請求項１０】
送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための受信システムであって、
プロセッサであって、
前記受信先ドメイン内の指定の要求処理ページであって、前記送信ドメインにオープンされた隠しページによってオープンされた前記指定の要求処理ページに向けられた、前記送信元ドメインからのデータ要求を、前記受信先ドメイン内において受信し、
前記データ要求を処理して応答を生成し、
前記送信元ドメイン内の指定の応答処理ページに向けられた前記応答を、前記送信元ドメインに送信するように構成されるプロセッサと、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されるメモリと、
を備え、
前記データ要求は、要求コマンド及び関連の要求データを含み、
前記関連の要求データは、開発者に対する一連の関数の形にパッケージ化されている、受信システム。
【請求項１１】
送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための方法であって、
前記受信先ドメイン内の指定の要求処理ページであって、前記送信ドメインにオープンされた隠しページによってオープンされた前記指定の要求処理ページに向けられた、前記送信元ドメインからのデータ要求を、前記受信先ドメインにおいて受信し、
前記データ要求を処理して応答を生成し、
前記送信元ドメイン内の指定の応答処理ページに向けられた前記応答を、前記送信元ドメインに送信すること、
を備え、
前記データ要求は、要求コマンド及び関連の要求データを含み、
前記関連の要求データは、開発者に対する一連の関数の形にパッケージ化されている、方法。
【請求項１２】
送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための受信システムであって、
プロセッサであって、
前記受信先ドメイン内の指定の要求処理ページであって、前記送信ドメインにオープンされた隠しページによってオープンされた前記指定の要求処理ページに向けられた、前記送信元ドメインからのデータ要求を、前記受信先ドメイン内において受信し、
前記データ要求を処理して応答を生成し、
前記送信元ドメイン内の指定の応答処理ページに向けられた前記応答を、前記送信元ドメインに送信するように構成されるプロセッサと、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されるメモリと、
を備え、
前記データ要求は、要求コマンド及び関連の要求データを含み、
前記関連の要求データは、開発者に対する一連の関数の形にパッケージ化されている、受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００８年８月２５日付けで出願された、発明の名称を「METHOD, SYSTEM, AND DEVICE FOR CROSS-DOMAIN COMMUNICATION（クロスドメイン通信のための方法、システム、及びデバイス）」とする、中国特許出願第２００８１０１４７２５９．３号の優先権を主張する。当該出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本発明は、全体として、ネットワーク技術の分野に関し、特に、クロスドメイン通信のための方法、システム、及びデバイスに関する。
【背景技術】
【０００３】
Internet Explorer又はFirefoxなどの既存のブラウザソフトウェアは、異なるウェブサイトからのプログラムが互いのデータにアクセスすること及び訪問者のプライベートデータがウェブサイトからウェブサイトへと不正利用されることを阻止するために、ネットワークドメインに基づくセキュリティアイソレーションのメカニズムを提供する。しかしながら、大規模なウェブプラットフォームには、互いに信頼関係にある多くの異なるドメイン名又はウェブサイトを含むものがあり、多くの場合、異なるウェブサイト間におけるデータ及びサービスの交換を必要とする。
【０００４】
クロスドメイン通信のための幾つかの技術が存在している。しかしながら、現行の技術は、幾つかの不利点を有するのが通常である。
【０００５】
クロスドメイン通信のための既存の技術の１つは、ブラウザ内の特定のセキュリティホールを有効利用することを伴う。悪質なウェブサイトもまた、攻撃を仕掛けるためにセキュリティ脆弱性を使用することができるので、これは、安全ではない。また、この技術は、セキュリティホールが塞がれると、サポートされなくなる。
【０００６】
クロスドメイン通信のためのもう１つの技術は、クライアントのブラウザのセキュリティ設定を引き下げてクロスドメイン訪問を可能にすることを伴う。しかしながら、セキュリティ基準の引き下げは、クライアントを、悪質なウェブサイトに悪用されやすくする。
【０００７】
もう１つの技術は、異なるウェブサイト間におけるＵＲＬジャンピングを伴う。ここでは、あるウェブサイトが、別のドメイン内のページを要求し、ＵＲＬパラメータの形で情報を送信する。当該別のドメインは、要求者のドメイン内のウェブページにブラウザをリダイレクトし、ＵＲＬパラメータの形で情報を送信することによって、情報を返す。異なるウェブサイト間における通信のためにＵＲＬジャンピングが使用される場合、サーバは、著しい負荷の増大に対処しなければならず、効率が低下する。ＵＲＬを介して転送されるデータ情報は、ブラウザのアドレスバーにあって丸見えであるので、この技術は、セキュリティ問題にもつながる。更に、この技術は、ＵＲＬの長さの制限ゆえに、大量のデータを転送することができない。
【０００８】
もう１つの技術は、クロスドメインスクリプト記述の引用を使用する。あるドメイン内のウェブページが、<script>ラベルを使用して、別のドメインのJavascript（ＪＳ）ファイルコンテンツを参照し、ＵＲＬパラメータの形でデータを転送する。その別のドメインのＪＳファイルは、スクリプトを自由にコンパイルして、現ウェブページにデータを直接送信することができる。スクリプトは、通信ごとに新しいものを生成する必要があるので、この技術は、複雑になる傾向がある。更に、あるドメインのデータが、別のドメインのスクリプトに完全に曝されて、容易に悪用される可能性がある。
【図面の簡単な説明】
【０００９】
以下の詳細な説明及び添付の図面において、発明の種々の実施形態が開示される。
【００１０】
【図１】クロスドメイン通信をサポートするシステムの一実施形態を示したブロック図である。
【００１１】
【図２Ａ】クロスドメイン通信のためのプロセスの一実施形態を示したフローチャートである。
【００１２】
【図２Ｂ】クロスドメイン通信のためのプロセスの一実施形態を示したフローチャートである。
【００１３】
【図３】クロスドメイン通信のためのプロセスの別の実施形態を示したフローチャートである。
【００１４】
【図４】クロスドメイン通信システムの一実施形態を示したシステム図である。
【００１５】
【図５】送信元デバイスの一実施形態を示したブロック図である。
【００１６】
【図６】受信先デバイスの一実施形態を示したブロック図である。
【発明を実施するための形態】
【００１７】
発明は、プロセス、装置、システム、合成物、コンピュータによって可読のストレージメディアに盛り込まれたコンピュータプログラム製品、並びに／又は結合先のメモリに格納される命令及び／若しくは結合先のメモリによって提供される命令を実行するように構成されるプロセッサを含む、数々の形態で実装することができる。本明細書において、これらの実装形態、又は発明が取りえるその他のあらゆる形態は、技術と称することができる。総じて、開示されたプロセスのステップの順序は、発明の範囲内で可変である。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、又はタスクを実施するように製造される特殊コンポーネントとして導入されえる。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成される１つ又は複数のデバイス、回路、及び／又は処理コアを意味する。
【００１８】
発明の原理を例示する添付の図面とともに、以下に、発明の１つ又は複数の実施形態の詳細な説明が提供される。発明は、このような実施形態に関連して説明されるが、いかなる実施形態にも限定されない。発明の範囲は、特許請求の範囲によってのみ限定され、数々の代替形態、変更形態、及び均等物を内包する。以下の説明では、発明の完全な理解を可能にするために、数々の詳細が特定されている。これらの詳細は、例示を目的として提供されるものであり、発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭さを期するため、発明に関連した技術分野で知られている技術的な要素は、発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
【００１９】
クロスドメイン通信が開示される。本明細書で使用されるドメインという用語は、www.example.comなどの共通のネットワーク名のもとで体系化されるネットワークデバイスの集合を意味する。この技術は、ブラウザソフトウェアに対するドメインのセキュリティ分離を保証しつつ異なるドメイン間における安全な通信を実現するために使用することができる。
【００２０】
図１は、クロスドメイン通信をサポートするシステムの一実施形態を示したブロック図である。この例では、システム１００は、第１のドメイン１０４及び第２のドメイン１０６を含み、この例ではそれぞれisv.com及びalisoft.comとして示される。例示を目的として、以下の説明では、ドメイン１０４は、データ要求の送信元のドメインであり、第１のドメイン又は送信元ドメインと称され、ドメイン１０６は、データ要求の受信先のドメインであり、第２のドメイン又は受信先ドメインと称される。ドメイン１０６が送信元ドメインであってドメイン１０４が受信先ドメインであるような、逆方向の通信も可能である。ドメイン内には、ウェブページを表示したり、クライアント要求に応答したりするなどのウェブサービスを提供するために、１つ又は複数のサーバが含まれる。一部の実施形態では、ドメインごとに異なる物理サーバが含まれる。一部の実施形態では、１つの物理サーバデバイスが、それぞれ異なるドメインに対して別々にサービスを提供する複数の仮想サーバとして機能するように仮想化される。
【００２１】
ドメイン１０４内には、ウェブブラウザなどのクライアントソフトウェアを介して１０２などのクライアントデバイスによってアクセスすることができる１つ又は複数のウェブページがある。指定の応答処理ページ（ＡＣＫページとも称される）もまた、送信元ドメインに含まれ、この場合のページのＵＲＬは、isv.com/ack.htmである。ドメイン１０６内には、ドメイン１０４などの外部ドメインからのクロスドメイン転送要求を扱うように指定の要求処理ページ（ＡＳＫページとも称される）が構成され、この場合のページのＵＲＬは、alisoft.com/ask.htmである。ページの構成及び機能の詳細は、後述される。
【００２２】
図２Ａは、クロスドメイン通信のためのプロセスの一実施形態を示したフローチャートである。プロセス２００は、ドメイン１０４のためのサービスを実施するサーバなどのデバイス上において実施されえる。
【００２３】
ステップ２０２では、送信元ドメインから受信先ドメインにデータ要求が送信される。要求は、クロスドメイン通信用に特に指定されていないウェブページ上でなされたクライアントアクションに応答して呼び出され得る。このようなウェブページは、発信元ページと称される。以下で更に十分に説明されるように、データ要求は、受信先ドメイン内の指定の要求処理ページに送信される。指定の要求処理ページは、クロスドメインデータ要求に応答するように特に構成される。
【００２４】
ステップ２０４では、受信先ドメインから応答が受信される。通信セッションが成功した場合、応答は、要求されたデータを含むことになる。応答は、送信元ドメイン内の指定の応答処理ページに向けられる。応答は、応答処理ページによって処理され、必要に応じて発信元ページに情報が引き渡される。
【００２５】
ステップ２０６において、応答は処理され、必要に応じて発信元ページに引き渡すことができる。
【００２６】
図２Ｂは、クロスドメイン通信のためのプロセスの一実施形態を示したフローチャートである。プロセス２５０は、ドメイン１０６のためのサービスを実施するサーバなどのデバイス上において実施され得る。
【００２７】
ステップ２５２では、受信先ドメインにおいて送信元ドメインからのデータ要求が受信される。データ要求は、受信先ドメイン内の指定の要求処理ページに向けられる。
【００２８】
ステップ２５４において、データ要求は処理される。応答に関連する情報が集められ、応答が生成される。
【００２９】
ステップ２５６において、応答は、処理のために送信元ドメイン内の指定の応答処理ページに送信され、必要に応じて発信元ページに引き渡される。
【００３０】
上記のクロスドメイン通信技術は、ブラウザのセキュリティ基準の引き下げも、ＵＲＬページジャンピングも、大幅なサーバ負荷の増大も必要とすることなく、ブラウザドメインのセキュリティ分離のメカニズムを監視する。この通信技術は、通信のどちらの側にとっても公正で且つ対称的なセキュリティ保護を保証する。
【００３１】
図１を再び参照すると、どのクロスドメイン通信が行われるよりも前に、送信元ドメインのサーバは、指定の応答処理ページをデプロイし、受信先ドメインのサーバは、指定の要求処理ページをデプロイする。クライアントブラウザによって開始されるクロスドメイン通信の過程において、ブラウザは、指定のページをオープンし、クロスドメイン通信のためのデータを転送する。本明細書において、「デプロイ」という用語は、適切なサーバ上にこれらのページファイルを置くことを意味し、「オープン」という用語は、クライアントブラウザによってページファイルに要求を送信することを意味する。
【００３２】
初めに、クライアントブラウザは、クロスドメイン通信を開始するページである発信元ページをロードする。例えば、発信元ページは、送信元ドメインのためのログインページであり、この場合、送信元ドメインにおいてログインプロセスを完了させるために、受信先ドメインからの特定の情報（例えば受信先ドメインにおけるユーザアカウント）が必要とされる。発信元ページは、isv.comなどの送信元ドメインの名前を探し出す。
【００３３】
クロスドメインデータ転送の過程において、送信元ドメイン内の発信元ページが、クロスドメイン転送要求及びパラメータを受信先ドメインに送信するときに、その発信元ページをロードしたブラウザは、送信元ドメイン内のサーバ上の隠しページをオープンし、その隠しページを使用して、受信先ドメインのサーバ上にデプロイされたＡＳＫページをオープンし、要求のＵＲＬフラグメント識別子及びページのウィンドウオブジェクトの名前プロパティを使用して、通信要求に関連したコマンド及びデータを転送する。
【００３４】
受信先ドメインは、ＡＳＫページとも称される指定の要求処理ページにおいて、要求コマンド及びデータを受信する。要求の応答に関わるデータが抽出される。ＡＳＫページは、alisoft.comなどの受信先ドメイン内にあるので、ＡＳＫページは、受信された要求にしたがってそのドメイン内の関連のデータを取得することができる。
【００３５】
結果データが得られたら、ＡＳＫページは、送信元ドメイン上の指定の応答処理ページ（例えばＡＣＫページ）をオープンし、又は別の隠しページをオープンしてその隠しページを使用してＡＣＫページをオープンし、ＵＲＬフラグメント識別子及びページのウィンドウオブジェクトの名前プロパティを使用してリターン位置及び応答データを送信する。ＡＣＫページは、isv.comなどの送信元ドメイン内にあるので、ＡＣＫページは、応答データを同じドメイン内の発信元ページに返すことができる。
【００３６】
ＡＳＫページは、クロスドメイン転送のための要求コマンドを受信するために、及びそのコマンドにしたがって応答データを抽出するために使用される。ＡＣＫページは、ＡＳＫページによって送信された応答データを受信するために、及びその応答データを送信元ドメイン内の発信元ページに返すために使用される。送信元ドメイン及び受信先ドメインは、特定のクロスドメイン通信がなされたときに初めてそれぞれのサーバを介してデータを交換すればよい。続くクロスドメイン転送では、ブラウザは、初めて送信されたパラメータを自身のキャッシュ機能を使用してキャッシュに保存し、通信の受け手は、クロスドメイン転送要求を受信するときにブラウザから直接に結果データを抽出する。
【００３７】
図３は、クロスドメイン通信のためのプロセスの別の実施形態を示したフローチャートである。
【００３８】
ステップ３０２において、送信元ドメイン上のサーバ及び受信先ドメイン上のサーバは、指定の応答処理ＡＣＫページ及び指定の要求処理ＡＳＫページをそれぞれデプロイする。双方向の通信は、ＡＣＫページ及びＡＳＫページの両方を各自デプロイしているドメインによって実現することができる。
【００３９】
指定の要求処理ＡＳＫページは、実施形態次第でスタティックページであることもダイナミックページであることもあり、後者の場合、追加のハイパーテキスト転送プロトコル（ＨＴＴＰ）ヘッダ情報が追加される。応答処理ＡＣＫページは、一部の実施形態ではスタティックページである。ＡＳＫページ及びＡＣＫページは、２つのドメイン間における通信のための基本的なページである。これらは、通信ページと総称される。
【００４０】
通信ページは、同じ要求フォーマットに合意しており、同じ通信プロトコルに従う。一部の実施形態では、ページ要求及びコマンドにＨＴＴＰ  ＧＥＴを使用することができ、通信コマンド及びデータは、ＵＲＬパラメータの形で転送されない。
【００４１】
ステップ３０４において、ウェブサイト内の発信元ページが、異なるドメイン内の別のウェブサイトに通信要求を送信するときに、その発信元ページのブラウザは、隠しページをオープンするように指示される。一部の実施形態では、隠しページをオープンすることは、目に見えない新しいウィンドウ又は目に見えないインラインフレームをオープンすることを含む。
【００４２】
ステップ３０６において、隠しページは、受信先ドメインのサーバ上にデプロイされたＡＳＫページをオープンし、要求コマンド及びパラメータが転送される。
【００４３】
一部の実施形態では、要求コマンドは、ＵＲＬに添付されたフラグメント識別子の形で転送され、データは、ウィンドウオブジェクトの名前プロパティの形で転送することができる。詳細には、フラグメント識別子は、ＵＲＬに「＃」識別子を添えること及び「＃」にストリングを添えることによって、ＵＲＬに添付される。フラグメント識別子は、ページ内において指定のアンカノード（読み出し位置）を見つけるために使用することができ、サーバではなくクライアントによって処理される。フラグメント識別子を伴うＵＲＬ、フラグメント識別子を伴わないＵＲＬ、又は複数のフラグメント識別子を伴うＵＲＬのいずれもサーバにとっては同じＵＲＬであると見なされ、同じ方式でブラウザによってキャッシュに保存される。したがって、データは、ＵＲＬが要求されたときに初めて交換されてブラウザのキャッシュに保存され、サーバとブラウザとの間において更なるデータ交換を必要とすることなく後続の要求に利用することができる。
【００４４】
ステップ３０８では、要求の受信後、受信先ドメイン内のＡＳＫページは、対応するサービスを実施し、応答データを取得する。
【００４５】
ステップ３１０では、受信先ドメイン内のＡＳＫページは、新しい隠しページをオープンして又はＡＳＫページ自身を使用して、送信元ドメイン内のＡＣＫページをオープンし、送信元ドメイン内のＡＣＫページに応答データを転送する。
【００４６】
ブラウザ内に構築されたセキュリティ分離のメカニズムは、一のドメイン内のページのプログラムが別のページのコンテンツ及びデータを直接的に作動させることを禁じる。しかしながら、一のドメイン内のページが別のドメイン内のページをオープンできるときは、当該別のドメイン内のページへのデータの転送は、ＵＲＬ又はウィンドウオブジェクトの名前プロパティの形で許可される。
【００４７】
ステップ３１２において、元のドメインウェブサイト内のＡＣＫページは、受信された応答データを発信元ページに返す。
【００４８】
上記のステップは、例を挙げて説明することができる。例えば、送信元ドメインwww.isv.comから受信先ドメインwww.alisoft.com内のＡＳＫページへの代表的な要求は、次の通りである。
【００４９】
http://www.alisoft.com/ASK.HTM#GetUserName/envoy123@www.isv.com
【００５０】
ページhttp://www.alisoft.com/ASK.HTMは、電子メールアドレスenvoy123@www.isv.comのユーザ名を要求される（GetUserName）。
【００５１】
ＡＳＫページへの代表的な応答は、次の通りである。
【００５２】
http://www.isv.com/ACK.HTM#bob321
【００５３】
ページhttp://www.isv.com/ACK.HTMに対するストリング：bob321は、上記の要求に対する応答である。
【００５４】
なお、ＡＣＫページ及び発信元ページは、同じドメイン内にあるので、ＡＣＫページは、発信元ページを訪問し、結果データを発信元ページに転送することができる。
【００５５】
上記の例では、要求データ及び応答データは、ＪＳＯＮフォーマットのストリングの形式で転送される。ＪＳＯＮフォーマットは、JavaScript言語のための固有なデータ表現形式であり、単純な形式、コンパクトなフォーマット、及び便利な変換という利点を有する。データは、大量のデータを転送可能なウィンドウオブジェクトの名前プロパティによって転送することができる。データは、また、全てフラグメント識別子によって転送することもできる。
【００５６】
一部の実施形態では、開発者による使用を容易にするために、上記のデータを、開発者に対する一連のJavaScript関数の形にパッケージ化することができる。例えば、関数envoy (domainName, serviceName, onSuccess, onError)が挙げられ、ここで、domainNameは、通信のためのドメイン名であり、serviceNameは、要求されているサービス名であり、onSuccessは、成功時のリターン関数を示しており、onErrorは、失敗時のリターン関数を示している。
【００５７】
異なるドメイン間における安全な通信は、ブラウザドメインのセキュリティ分離のメカニズムに完全に従うことによって、訪問者によるセキュリティ基準の引き下げも、ＵＲＬページジャンピングも、サーバへの頻繁な要求も必要とすることなく実現される。これは、通信のどちらの側にとっても公正で且つ対称的なセキュリティ保護を保証する。
【００５８】
図４は、クロスドメイン通信システムの一実施形態を示したシステム図である。この例では、システムは、異なるドメインに属する送信元デバイス１００及び受信先デバイス２００を含む。
【００５９】
送信元１００は、一部の実施形態では、受信先２００上の指定の要求処理ページに要求を送信するように、及び受信先上の指定の要求処理ページによって送信された応答を送信元上の指定のローカル応答処理ページにおいて受信するように構成されるサーバとして実装される。
【００６０】
受信先２００は、一部の実施形態では、送信元１００によって送信された要求を指定の要求処理ページを介して受信するように、及び送信元１００によって送信された要求を処理して応答データを取得するように、及び応答を送信元１００上の応答処理ページに送信するように構成されるサーバとして実装される。
【００６１】
図５は、送信元デバイスの一実施形態を示したブロック図である。この例では、デバイスは、要求送信モジュール１０、応答受信モジュール２０、及びデータ取得モジュール３０を含む。
【００６２】
要求送信モジュール１０は、受信先内の指定の要求処理ページに要求を送信するように構成される。該モジュールは、更に、要求コマンド及び関連のデータなどのデータを送信するように構成される発信元ページを含む。応答受信モジュール２０は、受信先によって送信された応答を処理するように構成される。該モジュールは、更に、応答を受信するように構成される指定の応答処理ページを含む。データ取得モジュール３０は、送信元内のデータ受信のためのページからの応答を取得するように構成される。
【００６３】
図６は、クロスドメイン通信のための受信先デバイスの一実施形態を示したブロック図である。デバイスは、この例では、要求受信モジュール４０、処理モジュール５０、及び応答送信モジュール６０を含む。
【００６４】
要求受信モジュール４０は、送信元から要求を受信するように構成される。このモジュールは、更に、要求コマンド及び関連のデータを受信するように構成される指定の要求処理ページを含む。処理モジュール５０は、送信元によって送信された要求を処理するように、及び応答データを取得するように構成される。応答送信モジュール６０は、送信元上の指定の応答処理ページに応答を送信するために使用される。
【００６５】
一部の実施形態では、１つのデバイスが送信元及び受信先の両方として構成されてよく、図５及び図６に示される全てのモジュールを含む。このような実施形態では、指定の要求処理ページ及び指定の応答処理ページは、異なるページ又は同じページであることができる。（この又はこれらの）ページは、ダイナミックページ又はスタティックページとして構成することができる。
【００６６】
異なるドメイン間における安全な通信は、ブラウザドメインのセキュリティ分離のメカニズムに完全に従うことによって、訪問者によるセキュリティ基準の引き下げも、ＵＲＬページジャンピングも、サーバへの頻繁な要求も必要とすることなく実現される。これは、通信のどちらの側にとっても公正で且つ対称的なセキュリティ保護を保証する。
【００６７】
上述のモジュールは、１つ又は複数の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブルロジックデバイス及び／若しくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、モジュールは、本発明の実施形態において説明される方法をコンピュータデバイス（パソコン、サーバ、ネットワーク機器など）に実施させるための幾つかの命令を含み且つ不揮発性のストレージメディア（ＣＤ−ＲＯＭ、Ｕディスク、モバイルハードディスクなど）に格納可能な、ソフトウェア製品の形で具現化することができる。モジュールは、１つのデバイス上に実装されてもよいし、又は複数のデバイスに跨って分散されてもよい。モジュールの機能は、互いに合体されてもよいし、又は複数のサブモジュールに更に分割されてもよい。
【００６８】
上記の実施形態の説明を通じて、当該分野の技術者は、本発明がハードウェア又はソフトウェアと、必要な現行のハードウェアプラットフォームとによって実装可能であることを、明確に理解することができる。この理解に基づいて、本発明の技術プログラムは、本発明の実施形態において説明される方法をコンピュータデバイス（パソコン、サーバ、ネットワーク機器など）に実施させるための幾つかの命令を含み且つ不揮発性のストレージメディア（ＣＤ−ＲＯＭ、Ｕディスク、モバイルハードディスクなど）に格納可能な、ソフトウェア製品の形で具現化することができる。
【００６９】
上記の説明は、本発明を実現するための好ましい形態に過ぎない。当該分野の通常の技術者ならば、本発明の保護範囲下にあるべき幾らかの改良及び装飾をなしえることが、指摘されるべきである。
【００７０】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、限定的なものではない。
適用例１：送信元ドメインと、前記送信元ドメインとは異なる受信先ドメインとの間におけるクロスドメイン通信のための送信元システムであって、プロセッサであって、前記受信先ドメイン内の指定の要求処理ページに向けられたデータ要求を、前記送信元ドメインから前記受信先ドメインに送信し、要求されたデータを含み前記送信元ドメイン内の指定の応答処理ページに向けられた、前記受信先ドメインからの応答を受信し、前記応答を処理するように構成されるプロセッサと、前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されるメモリと、を備える送信システム。
適用例２：適用例１に記載のシステムであって、前記データ要求は、ブラウザから前記送信元ドメイン内の発信元ページへのクライアントアクションに応答して送信される、システム。
適用例３：適用例１に記載のシステムであって、前記クロスドメイン通信に先立って、前記指定の要求処理ページは前記受信先ドメイン内にデプロイされ、前記指定の応答処理ページは前記送信元ドメイン内にデプロイされる、システム。
適用例４：適用例１に記載のシステムであって、前記送信元ドメインからの前記受信先ドメインに前記データ要求の送信は、隠しページをオープンし、前記隠しページを使用して前記指定の要求処理ページをオープンし、前記隠しページを介して要求コマンド及び関連の要求データを送信すること、を含む、システム。
適用例５：適用例４に記載のシステムであって、前記隠しページのオープンは、目に見えない新しいウィンドウ又は目に見えないインラインフレームをオープンすることを含む、システム。
適用例６：適用例１に記載のシステムであって、前記データ要求は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）ＧＥＴコマンドを介して送信される要求コマンド及び関連の要求データを含む、システム。
適用例７：適用例１に記載のシステムであって、前記データ要求は、要求コマンド及び関連の要求データを含み、前記要求コマンドは、ＵＲＬに添付されたフラグメント識別子として送信され、前記関連のデータは、ウィンドウオブジェクトの名前プロパティとして転送される、システム。
適用例８：適用例１に記載のシステムであって、前記データ要求は、要求コマンド及び関連の要求データを含み、前記要求コマンド及び前記関連の要求データは、ＵＲＬに添付されたフラグメント識別子として送信される、システム。
適用例９：適用例１に記載のシステムであって、要求は、ＪＳＯＮフォーマットのストリングとして転送される、システム。
適用例１０：送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための方法であって、前記受信先ドメイン内の指定の要求処理ページに向けられたデータ要求を、前記送信元ドメインから前記受信先ドメインに送信し、要求されたデータを含み前記送信元ドメイン内の指定の応答処理ページに向けられた、前記受信先ドメインからの応答を受信し、前記応答を処理すること、を備える方法。
適用例１１：送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための受信システムであって、プロセッサであって、前記受信先ドメイン内の指定の要求処理ページに向けられた、前記送信元ドメインからのデータ要求を、前記受信先ドメイン内において受信し、前記データ要求を処理して応答を生成し、前記送信元ドメイン内の指定の応答処理ページに向けられた前記応答を、前記送信元ドメインに送信するように構成されるプロセッサと、前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されるメモリと、を備える受信システム。
適用例１２：送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための方法であって、前記受信先ドメイン内の指定の要求処理ページに向けられた、前記送信元ドメインからのデータ要求を、前記受信先ドメインにおいて受信し、前記データ要求を処理して応答を生成し、前記送信元ドメイン内の指定の応答処理ページに向けられた前記応答を、前記送信元ドメインに送信すること、を備える方法。
適用例１３：送信元ドメインと、前記送信元ドメインと異なる受信先ドメインとの間におけるクロスドメイン通信のための受信システムであって、プロセッサであって、前記受信先ドメイン内の指定の要求処理ページに向けられた、前記送信元ドメインからのデータ要求を、前記受信先ドメイン内において受信し、前記データ要求を処理して応答を生成し、前記送信元ドメイン内の指定の応答処理ページに向けられた前記応答を、前記送信元ドメインに送信するように構成されるプロセッサと、前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されるメモリと、を備える受信システム。
【図１】
0005689799.tif 000002
【図２Ａ】
0005689799.tif 000003
【図２Ｂ】
0005689799.tif 000004
【図３】
0005689799.tif 000005
【図４】
0005689799.tif 000006
【図５】
0005689799.tif 000007
【図６】
0005689799.tif 000008