(57)【特許請求の範囲】
【請求項１】
クライアントで表示されるページの間で通信を行うための方法であって、
第１のページが第２のページにデータを伝送するか否かを検出し、
前記第１のページが前記第２のページに前記データを伝送する場合に、前記第１のページおよび前記第２のページを格納する現在のページグループ内における前記第２のページの通信識別子を取得し、前記現在のページグループは少なくとも２つの予め確立されたページを含み、前記通信識別子は前記現在のページグループが確立された時に前記ページグループ内の各ページに割り当てられ、前記現在のページグループ内の各ページは前記第２のページの前記通信識別子を格納し、前記第１のページによって格納された前記現在のページグループ内の前記第２のページの前記通信識別子を取得することは、
前記第１のページのＦＬＡＳＨ領域内に格納されたＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を取得することを備え、前記ＦＬＡＳＨグループは、前記現在のページグループ内の前記少なくとも２つのページに対応するＦＬＡＳＨファイルを含み、前記第１のページの前記ＦＬＡＳＨ領域は、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子を格納し、
前記通信識別子に基づいて、前記第１のページおよび前記第２のページの間の通信リンクを確立し、
前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信することであって、
前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記格納された識別子に基づいて、送信される前記第１のページ内のＦＬＡＳＨファイルを呼び出すことであって、前記データを含むメッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを備え、
前記他のＦＬＡＳＨファイルを呼び出して、前記データを取得するために前記メッセージ受信要求を受信すること、
を備える、前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信すること、
を備える、方法。
【請求項２】
請求項１に記載の方法であって、前記第１のページが前記第２のページにデータを伝送するか否かを検出することは、
前記データの属性情報に基づいて、前記第１のページの前記現在のページグループを決定することを備える、方法。
【請求項３】
請求項１に記載の方法であって、前記現在のページグループの確立は、
現在のページの前記データの属性情報を取得し、
前記属性情報に基づいて、前記現在のページが前記現在のページグループに追加されるべきか否かを評価し、
前記現在のページが前記現在のページグループに追加されると評価された場合に、前記現在のページのＦＬＡＳＨファイルを呼び出して、ホスト接続ＦＬＡＳＨファイルを確立する動作を開始し、
前記ＦＬＡＳＨグループがすでに前記ホスト接続ＦＬＡＳＨファイルを持っているか否かを判定し、
前記ＦＬＡＳＨグループが前記ホスト接続ＦＬＡＳＨファイルを持っている場合に、前記ＦＬＡＳＨグループへの前記現在のページのＦＬＡＳＨファイルの追加を呼び出して、現在の非ホスト接続ＦＬＡＳＨファイルを確立し、現在の非ホスト接続識別子を生成および記録し、
前記現在の非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記現在の非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納して前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、ホスト接続識別子および前記非ホスト接続識別子を含み、
前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納すること、
を備える、方法。
【請求項４】
請求項３に記載の方法であって、前記ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルを持たない場合に、
前記現在のページの前記ＦＬＡＳＨファイルを前記ホスト接続ＦＬＡＳＨファイルとして確認し、ホスト接続識別子を生成および記録し、
前記ＦＬＡＳＨグループが少なくとも１つの非ホスト接続ＦＬＡＳＨファイルを持つ場合に、前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルを呼び出して、非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を前記各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、前記ホスト接続識別子および前記各非ホスト接続識別子を含み、
前記各非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納すること、
を備える、方法。
【請求項５】
請求項３に記載の方法であって、前記現在の非ホスト接続識別子を生成することは、ランダムに、または、特定の順序に基づいて、前記現在の非ホスト接続識別子を生成することを備える、方法。
【請求項６】
請求項３に記載の方法であって、さらに、
前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ホスト接続ＦＬＡＳＨファイルを再確立する動作を開始し、
前記ホスト接続ＦＬＡＳＨファイルが無効になったか否かを判定し、
前記ホスト接続ＦＬＡＳＨファイルが無効になった場合に、前記ホスト接続ＦＬＡＳＨファイルを確立する動作を再開した前記非ホスト接続ＦＬＡＳＨファイルを新たなホスト接続ＦＬＡＳＨファイルとして確認し、新たなホスト接続識別子を生成および記録し、
前記新たなホスト接続ＦＬＡＳＨファイルを呼び出して、前記新たなホスト接続識別子に基づいて前記ＦＬＡＳＨグループ識別子を更新し、前記更新されたＦＬＡＳＨグループ識別子を前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルに送信し、
前記非ホスト接続ＦＬＡＳＨファイルに基づいて前記ＦＬＡＳＨグループ識別子を更新して、前記更新されたＦＬＡＳＨグループ識別子を用いること、
を備える、方法。
【請求項７】
請求項１に記載の方法であって、さらに、
前記データに基づいて、前記第２のページにページ関連動作を実行することを備え、前記データは、オペレーショナルデータである、方法。
【請求項８】
請求項１に記載の方法であって、さらに、
前記データに従って、前記第２のページを更新することを備え、前記データは、更新データである、方法。
【請求項９】
請求項１に記載の方法であって、
送信される前記第１のページ内の前記ＦＬＡＳＨファイルを呼び出すことは、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子に基づいて、前記データを含む前記メッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを含み、
前記他のＦＬＡＳＨファイルは、前記メッセージ受信要求を受信して前記データを取得するために、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いる、方法。
【請求項１０】
請求項１に記載の方法であって、前記現在のページグループ内の前記ページは、同一生成元ページである、方法。
【請求項１１】
クライアントで表示されるページの間で通信を行うためのシステムであって、
少なくとも１つのプロセッサであって、
第１のページが第２のページにデータを伝送するか否かを検出し、
前記第１のページが前記第２のページに前記データを伝送する場合に、前記第１のページおよび前記第２のページを格納する現在のページグループ内の前記第２のページの通信識別子を取得し、前記現在のページグループは少なくとも２つの予め確立されたページを含み、前記通信識別子は前記現在のページグループが確立された時に前記現在のページグループ内の各ページに割り当てられ、前記現在のページグループ内の各ページは前記第２のページの前記通信識別子を格納し、前記第１のページによって格納された前記現在のページグループ内の前記第２のページの前記通信識別子を取得することは、
前記第１のページのＦＬＡＳＨ領域内に格納されたＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を取得することを備え、前記ＦＬＡＳＨグループは、前記現在のページグループ内の前記少なくとも２つのページに対応するＦＬＡＳＨファイルで構成され、前記第１のページの前記ＦＬＡＳＨ領域は、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子を格納し、
前記通信識別子に基づいて前記第１のページおよび前記第２のページの間の通信リンクを確立し、
前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信することであって、
前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記格納された識別子に基づいて、送信される前記第１のページ内のＦＬＡＳＨファイルを呼び出し、前記ＦＬＡＳＨファイルを呼び出すことは、前記データを含むメッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを含み、
前記他のＦＬＡＳＨファイルを呼び出して、前記データを取得するために前記メッセージ受信要求を受信することを備える、
前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信するように構成されている、少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記少なくとも１つのプロセッサに命令を提供するよう構成されているメモリと、
を備える、システム。
【請求項１２】
請求項１１に記載のシステムであって、前記第１のページが前記第２のページにデータを伝送するか否かを検出することは、
前記データの属性情報に基づいて、前記第１のページの前記現在のページグループを決定することを備える、システム。
【請求項１３】
請求項１１に記載のシステムであって、前記ページグループの確立は、
現在のページの前記データの属性情報を取得し、
前記属性情報に基づいて、前記現在のページが前記現在のページグループに追加されるべきか否かを評価し、
前記現在のページが前記現在のページグループに追加されると評価された場合に、前記現在のページのＦＬＡＳＨファイルを呼び出して、ホスト接続ＦＬＡＳＨファイルを確立する動作を開始し、
前記ＦＬＡＳＨグループがすでに前記ホスト接続ＦＬＡＳＨファイルを持っているか否かを判定し、
前記ＦＬＡＳＨグループが前記ホスト接続ＦＬＡＳＨファイルを持っている場合に、前記ＦＬＡＳＨグループへの前記現在のページのＦＬＡＳＨファイルの追加を呼び出して、現在の非ホスト接続ＦＬＡＳＨファイルを確立し、現在の非ホスト接続識別子を生成および記録し、
前記現在の非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記現在の非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納して前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、ホスト接続識別子および前記非ホスト接続識別子を含み、
前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納することを備える、システム。
【請求項１４】
請求項１３に記載のシステムであって、前記ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルを持たない場合に、
前記現在のページの前記ＦＬＡＳＨファイルを前記ホスト接続ＦＬＡＳＨファイルとして確認し、ホスト接続識別子を生成および記録し、
前記ＦＬＡＳＨグループが少なくとも１つの非ホスト接続ＦＬＡＳＨファイルを持つ場合に、前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルを呼び出して、非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を前記各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、前記ホスト接続識別子および前記各非ホスト接続識別子を含み、
前記各非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納する、システム。
【請求項１５】
請求項１３に記載のシステムであって、前記現在の非ホスト接続識別子を生成することは、ランダムに、または、特定の順序に基づいて、前記現在の非ホスト接続識別子を生成することを備える、システム。
【請求項１６】
請求項１３に記載のシステムであって、前記プロセッサは、さらに、
前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ホスト接続ＦＬＡＳＨファイルを再確立する動作を開始し、
前記ホスト接続ＦＬＡＳＨファイルが無効になったか否かを判定し、
前記ホスト接続ＦＬＡＳＨファイルが無効になった場合に、前記ホスト接続ＦＬＡＳＨファイルを確立する動作を再開した前記非ホスト接続ＦＬＡＳＨファイルを新たなホスト接続ＦＬＡＳＨファイルとして確認し、同時に、新たなホスト接続識別子を生成および記録し、
前記新たなホスト接続識別子に基づいて前記ＦＬＡＳＨグループ識別子を更新するために前記新たなホスト接続ＦＬＡＳＨファイルを呼び出し、前記更新されたＦＬＡＳＨグループ識別子を前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルに送信し、
前記非ホスト接続ＦＬＡＳＨファイルに基づいて前記ＦＬＡＳＨグループ識別子を更新して、前記更新されたＦＬＡＳＨグループ識別子を用いるよう構成されている、システム。
【請求項１７】
請求項１１に記載のシステムであって、前記プロセッサは、さらに、
前記データに基づいて、前記第２のページにページ関連動作を実行するよう構成されており、前記データは、オペレーショナルデータである、システム。
【請求項１８】
請求項１１に記載のシステムであって、前記少なくとも１つのプロセッサは、さらに、
前記データに従って、前記第２のページを更新するよう構成されており、前記データは、更新データである、システム。
【請求項１９】
請求項１１に記載のシステムであって、
送信される前記第１のページ内の前記ＦＬＡＳＨファイルを呼び出すことは、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子に基づいて、前記データを含む前記メッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを備え、
前記他のＦＬＡＳＨファイルは、前記メッセージ受信要求を受信して前記データを取得するために、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いる、システム。
【請求項２０】
請求項１１に記載のシステムであって、前記現在のページグループ内の前記ページは、同一生成元ページである、システム。
【請求項２１】
クライアントで表示されるページの間で通信を行うためのコンピュータプログラムであって、
第１のページが第２のページにデータを伝送するか否かを検出するための機能と、
前記第１のページが前記第２のページに前記データを伝送する場合に、前記第１のページおよび前記第２のページを格納する現在のページグループ内の前記第２のページの通信識別子を取得するための機能と、前記現在のページグループは少なくとも２つの予め確立されたページを含み、前記通信識別子は前記現在のページグループが確立された時に前記現在のページグループ内の各ページに割り当てられ、前記現在のページグループ内の各ページは前記第２のページの前記通信識別子を格納し、前記第１のページによって格納された前記現在のページグループ内の前記第２のページの前記通信識別子を取得することは、
前記第１のページのＦＬＡＳＨ領域内に格納されたＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を取得することを備え、前記ＦＬＡＳＨグループは、前記現在のページグループ内の前記少なくとも２つのページに対応するＦＬＡＳＨファイルで構成され、前記第１のページの前記ＦＬＡＳＨ領域は、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子を格納し、
前記通信識別子に基づいて前記第１のページおよび前記第２のページの間の通信リンクを確立するための機能と、
前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信するための機能であって、
前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記格納された識別子に基づいて、送信される前記第１のページ内のＦＬＡＳＨファイルを呼び出し、前記ＦＬＡＳＨファイルを呼び出すことは、前記データを含むメッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを含み、
前記他のＦＬＡＳＨファイルを呼び出して、前記データを取得するために前記メッセージ受信要求を受信することを備える、
前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信するための機能と、をコンピュータによって実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、発明の名称を「Ａ  ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ  ＦＯＲ  ＣＯＭＭＵＮＩＣＡＴＩＯＮ  ＢＥＴＷＥＥＮ  ＣＬＩＥＮＴ  ＰＡＧＥＳ（クライアントページ間で通信を行うための方法およびシステム）」とする、２０１２年７月１３日出願の中国特許出願第２０１２１０２４４３５５．６号に基づく優先権を主張する。
【０００２】
本願は、クライアントページの間で通信を行うための方法およびシステムに関する。
【背景技術】
【０００３】
一般的に、クライアントデバイス上のブラウザに表示された複数のウェブページが、それらの間で直接通信することはできない。一般に、あるページが別のページと直接通信することはできないので、複数のページの間で直接的にデータを伝送することは一般に不可能である。
【０００４】
例えば、間接的にデータを更新する３つの方法は以下の通りである。
【０００５】
データを更新する第１のアプローチは、ＨＴＭＬ５のｌｏｃａｌｓｔｏｒａｇｅを利用することである。換言すると、ブラウザは、サーバから更新データを取得する。次いで、ブラウザは、更新されるブラウザ自身のページの各々に、取得した更新データを送信する。現在、多くのブラウザがｌｏｃａｌｓｔｏｒａｇｅをサポートしておらず、異なるブラウザは互いに通信できない。異なるブラウザは、異なる時間サイクルに基づいて更新データを取得するので、通常は、様々なブラウザの間で、ページ更新が同期されない。
【０００６】
データを更新する第２のアプローチは、ＪａｖａＳｃｒｉｐｔ（登録商標）（ＪＳ）ポーリングアプローチである。このアプローチでは、クライアントは、サーバから更新データを取得する。各ページは、定期的に、新しいデータがあるか否かを問い合わせるためにサーバにポーリングする。ページデータの適時性を確保するために、ポーリング時間は、できるだけ短く設定される。ポーリング時間が短く設定されるほど、ページの機能への影響が大きくなり、ポーリングされるページ数が多くなるほど、システム全体への影響が大きくなる。サーバデータが変更されたのに、ページが適時に更新を要求しなかった場合、ページの正確さに影響が出る。
【０００７】
データを更新する第３のアプローチは、各ページについて、サーバとの長距離リンク（ｌｏｎｇ  ｌｉｎｋ）を構築することである。長距離リンクは、ＨＴＴＰの持続的接続、ＨＴＴＰキープアライブ、または、ＨＴＴＰの接続再利用としても知られる。長距離リンクは、同じＴＣＰ接続を用いて複数のＨＴＴＰ要求／応答を送受信することができる。そうでなければ、一つ一つの要求／応答ペアのために、新たなＴＣＰ接続が開かれる必要がある。長距離リンクの利用は、ＨＴＴＰパフォーマンスを向上させるのに役立つと共に、即時性を保証するが、多数のページがサーバとの間でやり取りされるので、このアプローチは、帯域幅リソースを浪費する。
【０００８】
したがって、クライアントページ間の直接通信が有益である。
【図面の簡単な説明】
【０００９】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【００１０】
【図１】ページ間で通信を行う処理の一実施形態を示すフローチャート。
【００１１】
【図２】通信リンクを確立する処理の一実施形態を示すフローチャート。
【００１２】
【図３】ページ間で通信を行う処理の別の実施形態を示すフローチャート。
【００１３】
【図４】現在の非ホスト接続識別子を生成する処理の一実施形態を示すフローチャート。
【００１４】
【図５】ホスト接続ＦＬＡＳＨファイルおよび非ホスト接続ＦＬＡＳＨファイルを確立する処理を示す一実施形態の図。
【図６】ホスト接続ＦＬＡＳＨファイルおよび非ホスト接続ＦＬＡＳＨファイルを確立する処理を示す一実施形態の図。
【図７】ホスト接続ＦＬＡＳＨファイルおよび非ホスト接続ＦＬＡＳＨファイルを確立する処理を示す一実施形態の図。
【図８】ホスト接続ＦＬＡＳＨファイルおよび非ホスト接続ＦＬＡＳＨファイルを確立する処理を示す一実施形態の図。
【００１５】
【図９】ページ間で通信を行う処理の一実施形態を示すフローチャート。
【００１６】
【図１０】同期更新を行う処理の一実施形態を示すフローチャート。
【００１７】
【図１１】ページ間で通信を行うためのデバイスの一実施形態を示す構造図。
【００１８】
【図１２Ａ】通信ユニットの一実施形態を示す構造図。
【００１９】
【図１２Ｂ】ページ間で通信を行うためのデバイスの一実施形態を示す構造図。
【図１２Ｃ】ページ間で通信を行うためのデバイスの一実施形態を示す構造図。
【図１２Ｄ】ページ間で通信を行うためのデバイスの一実施形態を示す構造図。
【００２０】
【図１３】ページ間通信システムの一実施形態を示す図。
【発明を実施するための形態】
【００２１】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００２２】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術要素については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００２３】
図１は、ページ間で通信を行う処理の一実施形態を示すフローチャートである。処理１００は、図１３のクライアント１３１０によって実施されてよく、以下を含む。
【００２４】
工程１１０では、クライアントは、ページが他のページにデータを送信するか否かを検出する。
【００２５】
他のページに送信されるデータは、ページ間通信の異なる応用例に応じて異なる。一例では、ページが更新される場合に、更新データが、更新を要求するページに送信される。別の例では、同期ページ動作が実行される場合に、新しい動作を命令するオペレーショナルデータが、１つのページから別のページに送信される。具体的な応用例を挙げて説明する。
【００２６】
工程１２０では、ページが他のページにデータを送信する場合に、クライアントは、ページによって格納された現在のページグループ内の他のページの通信識別子を取得する。
【００２７】
いくつかの実施形態において、ページグループは、予め確立されたページグループである。各グループは、少なくとも２つのページを有する。通信識別子は、ページグループが確立される時に各ページグループ内の各ページに割り当てられる。各ページグループ内の各ページは、各ページグループ内の他のページの通信識別子を格納する。これらの通信識別子は、各ページを一意的に識別するために用いられる識別子である。いくつかの実施形態において、識別子は、所定のルールに従って生成される。例えば、第１のページの識別子をｐａｇｅ＿１、第２のページの識別子をｐａｇｅ＿２とする、など。いくつかの実施形態において、通信リンクが、通信識別子に基づいてページ間で確立される。例えば、ページ識別子がｐａｇｅ＿１である場合、通信リンクは、ｃｏｍｍ＿ｐａｇｅ＿１である、など。いくつかの実施形態において、ページ識別子は通信リンクに対応しており、ページが互いに通信する時に、通信リンクを用いて通信が実行される。
【００２８】
いくつかの実施形態では、ページグループが作成される。例えば、１つのウェブアドレスに基づいて開かれる複数のページが、複数のページの同期更新のためのページグループとして設定される。いくつかの実施形態では、ユーザがアカウントを有するウェブサイト、例えば、ＱＱ（Ｑｚｏｎｅ（商標））などのソーシャルネットワーキングサイト、Ｔｅｎｃｅｎｔ  ＷｅｉｂｏまたはＳｉｎａ  Ｗｅｉｂｏなどのマイクロブログ上のユーザのプロフィール／個人ページに基づいて、同じユーザに対応するページを含む１つのページグループが設定される。したがって、Ｑｚｏｎｅページ署名およびその他のメッセージが、マイクロブログページと同期的に更新される。ページグループは、当業者が理解する任意の方法で設定できる。
【００２９】
ページグループは、異なる基準に基づいて確立されるので、同じページが、複数のページグループに属しうる。したがって、データの送信が検出された場合、データの属性情報に基づいて現在のページグループも決定される。いくつかの実施形態において、ページグループは、例えば、ｒａｉｎ＿ｇｒｏｕｐ、ｃｌｏｕｄ＿ｇｒｏｕｐなどと名付けられる。次いで、検出されたデータは、現在のページグループのページ間で伝送される。
【００３０】
いくつかの実施形態において、データの属性情報は、通例、データの伝送属性情報である。いくつかの実施形態において、複数のページが、グループ（例えば、ｃｌｏｕｄと名付けられたグループなど）を形成し、そのグループのページは、ｃｌｏｕｄ＿ｐａｇｅ＿ｈｏｓｔ、ｃｌｏｕｄ＿ｐａｇｅ＿１、ｃｌｏｕｄ＿ｐａｇｅ＿２などを含む。ｃｌｏｕｄ＿ｐａｇｅ＿ｈｏｓｔはデータ送信に関与し、グループの他のページはそのデータを受信する。データが変更されると、変更されたデータは、ホストページを介して他のページに送信される。例えば、データがＱｚｏｎｅまたはマイクロブログに表示された署名メッセージである場合、現在のページグループは、Ｑｚｏｎｅおよびマイクロブログのページを含むページグループである。データが同一生成元ページの間で送信される場合、現在のページグループは、同一生成元ページで構成されたページグループである。
【００３１】
工程１３０では、クライアントは、通信識別子に基づいて、ページと他のページとの間の通信リンクを確立し、その通信リンクを用いて、他のページに伝送されるべきデータを送信する。
【００３２】
図２は、通信リンクを確立する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理２００は、処理１００の工程１３０を実行するために用いられ、以下を含む。
【００３３】
工程２１０では、クライアントは、伝送されるべきデータを有するページのＦＬＡＳＨ領域に格納されたＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を取得する。ＦＬＡＳＨグループは、現在のページグループ内のページに対応するＦＬＡＳＨファイルを含む。各ページのＦＬＡＳＨ領域は、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を格納する。ＦＬＡＳＨとは、Ａｄｏｂｅ  Ｆｌａｓｈのことである。
【００３４】
工程２２０では、クライアントは、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの格納された識別子に基づいて、送信されるページ内のＦＬＡＳＨファイルを呼び出す。ＦＬＡＳＨファイルの呼び出しは、他のＦＬＡＳＨファイルに伝送されるデータを含むメッセージ受信要求を送信することを含む。ＦＬＡＳＨは、グループを作成するために用いられ、各グループメンバは、Ｆｌａｓｈによって作成されたｓｗｆファイルであり、データがグループ内のメンバの間で同期される。ｓｗｆファイルは、Ａｄｏｂｅ  Ｆｌａｓｈ形式である。
【００３５】
他のＦＬＡＳＨファイルは、データを取得するために、メッセージ受信要求を受信する。
【００３６】
いくつかの実施形態において、クライアントは、通信識別子に基づいたデータのページ間伝送のために、データ伝送関数を有するページ内の他のユニットも用いる。
【００３７】
図３は、ページ間で通信を行う処理の別の実施形態を示すフローチャートである。処理３００は、図１３のクライアント１３１０によって実施されてよく、以下を含む。
【００３８】
工程３１０では、クライアントは、現在のページの属性情報を取得する。
【００３９】
いくつかの実施形態において、「現在のページ」とは、クライアントによって検出された現在開かれているページのことである。ページが開かれると、クライアントは、そのページの属性情報を取得する。「属性情報」は、ページが他のページと通信するか否か、そして、どのページに対してどのような通信が実行されるのか、を表すために用いられる情報に関する。例えば、クライアントは、ページが別のページとの同期更新のために設定されているか否かを判定する、ページが他のページとの同期動作のために設定されているか否かを判定する、同期更新のためのデータのタイプを決定する、同期動作のための動作のタイプを決定する、など。いくつかの実施形態では、同じページが、ページの様々な属性に基づいて、複数のページに追加される。例えば、或るページが、ｃｌｏｕｄグループに加わり、そのページは、ｃｌｏｕｄ＿ｐａｇｅ＿１と識別される。同時に、同じページが、ｒａｉｎグループに加わり、そのページは、ｒａｉｎ＿ｐａｇｅ＿１とも識別される。同じページが、さらなるグループにも加わりうる。各グループは、１つのタイプのデータを同期された状態に保つことに関与する。例えば、ｃｌｏｕｄグループは、データの同期を維持することに関与し、ｒａｉｎグループは、状態の同期を維持することに関与する。
【００４０】
工程３２０では、クライアントは、属性情報に基づいて、現在のページがページグループに追加されるべきか否かを評価する。
【００４１】
例えば、現在のページＡが別のページＢとの署名メッセージの同期更新を受けることを属性情報が示す場合、クライアントは、現在のページＡが、対応するページグループに追加されると評価する。
【００４２】
いくつかの実施形態において、同一生成元ページの間の同期更新は、現在のネットワークのデフォルト要件である。換言すると、各ページは、別の同一生成元ページと同期的に更新される。したがって、各ページは、同一生成元ページの同期更新のためにページグループに追加される。いくつかの実施形態において、生成元ページは、グループのホストページを表し、生成元ページが受信したデータで他のページを同期することに関与する。
【００４３】
工程３３０では、現在のページがページグループに追加される場合、クライアントは、現在のページのＦＬＡＳＨファイルを呼び出して、ホスト接続ＦＬＡＳＨファイルを確立する動作を開始する。例えば、ｃｌｏｕｄという名称のグループを用いると、グループのホストの名称は、ｃｌｏｕｄ＿ｐａｇｅ＿ｈｏｓｔになる。グループのホストは、グループメンバの間でデータを同期された状態に保つことに関与する。
【００４４】
いくつかの実施形態では、１つのクライアントが、複数のページグループを設定する。いくつかの実施形態では、ページグループに対応するＦＬＡＳＨグループが、ユーザによって与えられた名称で区別される。いくつかの実施形態において、ユーザは、グループが確立された時にグループに名前を付ける。ページグループが与えられる具体的な名称に制限はない。例えば、ページグループは、“ｃｌｏｕｄ”、“ｒａｉｎ”などと呼ばれる。さらに、同じページが、複数の異なるページグループに追加されうる。したがって、同じページについて、異なるＦＬＡＳＨファイルが呼び出されうる。呼び出される異なるＦＬＡＳＨファイルを区別するために、１つのページの様々なＦＬＡＳＨファイルの各々が、対応するＦＬＡＳＨグループ名に基づいて設定される。例えば、ホスト接続ＦＬＡＳＨファイルの名称は、“ＦＬＡＳＨ  ｇｒｏｕｐ  ｎａｍｅ＿ＨＯＳＴ”と設定できる。したがって、この名称は、ホスト接続ＦＬＡＳＨファイルが位置するＦＬＡＳＨグループを意味する。
【００４５】
いくつかの実施形態において、ページが立ち上げられると、クライアントは、「作成」インターフェースを呼び出して、ホスト接続ＦＬＡＳＨファイルを作成するよう試みる動作を開始する。ＦＬＡＳＨグループ名が“ｃｌｏｕｄ”である場合、ホスト接続名は“ｃｌｏｕｄ＿ＨＯＳＴ”である。
【００４６】
工程３３５では、クライアントは、ＦＬＡＳＨグループがすでにホスト接続ＦＬＡＳＨファイルを持っているか否かを判定する。
【００４７】
いくつかの実施形態において、グループがホストを持っていない場合、第１のグループメンバが、自らをホストとして指定するために、グループホストになる。したがって、ホストは、ほぼ必ず存在する。
【００４８】
工程３４０では、ＦＬＡＳＨグループがすでにホスト接続ＦＬＡＳＨファイルを持っている場合、クライアントは、ＦＬＡＳＨグループへの現在のページのＦＬＡＳＨファイルの追加を呼び出して現在の非ホスト接続ＦＬＡＳＨファイルを確立し、実質的に同時に、現在の非ホスト接続識別子を生成および記録する。
【００４９】
いくつかの実施形態において、ホスト接続ＦＬＡＳＨファイルは１つだけ存在する。いくつかの実施形態では、複数の非ホスト接続ＦＬＡＳＨファイルが存在する。非ホスト接続ＦＬＡＳＨファイルを互いに区別するために、生成された非ホスト接続識別子は一意的である。
【００５０】
図４は、現在の非ホスト接続識別子を生成する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理４００は、処理３００の工程３４０を実行するために用いられ、以下を含む。
【００５１】
工程４１０では、クライアントは、「加入（ｊｏｉｎ）」インターフェースを呼び出して、“ＦＬＡＳＨ  ｇｒｏｕｐ  ｎａｍｅ＿ｎｏｎ−ｈｏｓｔ−ｃｏｎｎｅｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ  Ａ”という名称の非ホスト接続ＦＬＡＳＨファイルを作成する。識別子Ａがすでに存在する場合、クライアントは、ＦＬＡＳＨグループに存在しない識別子を作成するまで、“ＦＬＡＳＨ  ｇｒｏｕｐ  ｎａｍｅ＿ｎｏｎ−ｈｏｓｔ  ｃｏｎｎｅｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ  Ｂ”などの名称の非ホスト接続ＦＬＡＳＨファイルを作成しようと試みる。
【００５２】
いくつかの実施形態において、非ホスト接続識別子は、ランダムに生成される。いくつかの実施形態において、非ホスト接続識別子は、順序に従って生成される。
【００５３】
工程３５０では、クライアントは、現在の非ホスト接続ＦＬＡＳＨファイルを呼び出して、現在の非ホスト接続識別子をホスト接続ＦＬＡＳＨファイルに送信する。
【００５４】
工程３６０では、クライアントは、ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納してＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信する。ＦＬＡＳＨグループ識別子は、ホスト接続識別子および各非ホスト接続識別子を含む。
【００５５】
工程３７０では、クライアントは、各非ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納する。
【００５６】
いくつかの実施形態において、ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルおよび現在の非ホスト接続ＦＬＡＳＨファイルのみを含む場合、ＦＬＡＳＨグループ識別子は、ホスト接続識別子および現在の非ホスト接続識別子を含み、「各非ホスト接続」は、現在の非ホスト接続ＦＬＡＳＨファイルに関連する。
【００５７】
ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイル、現在の非ホスト接続ＦＬＡＳＨファイル、および、その他の非ホスト接続ＦＬＡＳＨファイルを含む場合、ＦＬＡＳＨグループ識別子は、ホスト接続識別子、現在の非ホスト接続識別子、および、その他の非ホスト接続ＦＬＡＳＨファイルの非ホスト接続識別子を含み、「各非ホスト接続」は、現在の非ホスト接続ＦＬＡＳＨファイルおよびその他の非ホスト接続ＦＬＡＳＨファイルに関連する。
【００５８】
現在のＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルを持たない場合、クライアントは、呼び出されたＦＬＡＳＨファイルをホスト接続ＦＬＡＳＨファイルとして確立し、同時に、ホスト接続識別子が生成および記録される。ＦＬＡＳＨグループが少なくとも１つの非ホスト接続ＦＬＡＳＨファイルを持つ場合、クライアントは、ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルを呼び出して、非ホスト接続識別子をホスト接続ＦＬＡＳＨファイルに送信する。
【００５９】
いくつかの実施形態において、クライアントは、ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を各非ホスト接続ＦＬＡＳＨファイルに送信する。ＦＬＡＳＨグループ識別子は、ホスト接続識別子および各非ホスト接続識別子を含む。
【００６０】
いくつかの実施形態において、クライアントは、各非ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納する。
【００６１】
ＦＬＡＳＨ通信メカニズムは、上述の処理の少なくとも１つによって確立される。ＦＬＡＳＨ領域は、ＦＬＡＳＨグループ内の任意のＦＬＡＳＨファイルの識別子を格納しているため、後の通信のための条件を提供する。上述の処理において、ホスト接続ＦＬＡＳＨファイルは、サーバの役割を実行し、様々な非ホスト接続ＦＬＡＳＨファイルの間の通信を確立するために用いられる。
【００６２】
いくつかの実施形態において、ホスト接続ＦＬＡＳＨファイルは、動作を停止する。例えば、ホスト接続ＦＬＡＳＨファイルに対応するページが閉じられた場合、ホスト接続ＦＬＡＳＨファイルは、ページと共に消える。新たな非ホスト接続ＦＬＡＳＨファイルがその後に確立された場合、いくつかの例では、ＦＬＡＳＨグループへの加入ができない。
【００６３】
その後、ＦＬＡＳＨグループ内の任意の非ホスト接続ＦＬＡＳＨファイルが、ホスト接続ＦＬＡＳＨファイルを再確立するために呼び出される。ホスト接続ＦＬＡＳＨファイルが無効になった場合、ホスト接続ＦＬＡＳＨファイルの確立を再開した非ホスト接続ＦＬＡＳＨファイルが、新たなホスト接続ＦＬＡＳＨファイルとして確立され、実質的に同時に、新たなホスト接続識別子が生成および記録される。いくつかの実施形態において、この処理は、リアルタイムに実行される。いくつかの実施形態において、この処理は、定期的に実行される。いくつかの実施形態において、生成された新たなホスト接続識別子は、元々のホスト接続識別子と同じである。
【００６４】
新たなホスト接続ＦＬＡＳＨファイルは、自己格納されたＦＬＡＳＨグループ識別子を新たなホスト接続識別子に基づいて更新するために呼び出され、更新されたＦＬＡＳＨグループ識別子は、ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信される。
【００６５】
新たなホスト接続ＦＬＡＳＨファイルが生成された後、クライアントは、グループメンバを更新するために新たなホスト接続ＦＬＡＳＨファイルを呼び出し、ホスト接続ＦＬＡＳＨファイルが非ホスト接続ＦＬＡＳＨファイルだった時に存在した識別子を削除し、新たなホスト接続識別子に従って、自己格納されたＦＬＡＳＨグループ識別子を更新し、現在のＦＬＡＳＨグループのすべての非ホスト接続ＦＬＡＳＨファイルに更新済みのＦＬＡＳＨグループ識別子を送信する。
【００６６】
各非ホスト接続ＦＬＡＳＨファイルは、受信した更新済みのＦＬＡＳＨグループ識別子を、自己格納されたＦＬＡＳＨグループ識別子を更新するための基礎として用いるために呼び出される。
【００６７】
図５〜図８は、ホスト接続ＦＬＡＳＨファイルおよび非ホスト接続ＦＬＡＳＨファイルを確立する処理を示す一実施形態の図である。
【００６８】
具体的な応用例において、４つのページＡ、Ｂ、Ｃ、および、Ｄが、同期更新を受ける。したがって、１つのページグループが、４つのページＡ、Ｂ、Ｃ、および、Ｄに関して確立される。ページグループに対応するＦＬＡＳＨグループの名称は、“ｃｌｏｕｄ”と設定されている。各ＦＬＡＳＨファイルは、同じ内容を有する。
【００６９】
最初に、図５に示すように、ページＡが開かれ、対応するＦＬＡＳＨファイルが呼び出される。ＦＬＡＳＨファイルは、まず、「作成（ｃｒｅａｔｅ）」インターフェースを呼び出して、“ｃｌｏｕｄ＿ＨＯＳＴ”という名称のローカル接続を確立するよう試みる。ＦＬＡＳＨグループはまだホスト接続を有していないので、ローカル接続を確立する試みが成功し、ホスト接続識別子がＨＯＳＴとして記録される。ＦＬＡＳＨファイルは、サーバの役割を実行するホスト接続ＦＬＡＳＨファイルである。
【００７０】
次に、ページＢが開かれ、対応するＦＬＡＳＨファイルが呼び出される。ＦＬＡＳＨファイルは、まず、「作成」インターフェースを呼び出して、“ｃｌｏｕｄ＿ＨＯＳＴ”という名称のローカル接続を確立するよう試みる。ＦＬＡＳＨグループはすでにホスト接続を有するので、ローカル接続を確立する試みは失敗する。この時点で、非ホスト接続ＦＬＡＳＨファイルを確立するために、「加入」インターフェースが呼び出され、ページＢに対応する非ホスト接続ＦＬＡＳＨファイルをグループに追加する。呼び出された「加入」インターフェースを用いて、ＦＬＡＳＨファイルは、“ｃｌｏｕｄ＿１”という名称のローカル接続を作成するよう試みる。ＦＬＡＳＨグループは、ローカル接続と同じ名称を持たないので、試みは成功し、成功したＩＤが、１として記録される。次に、クライアントは、非ホスト接続ＦＬＡＳＨファイルを呼び出して、クライアントのＩＤ「１」を伝えるグループ加入要求をホスト接続ＦＬＡＳＨファイルに送信する。ホストＦＬＡＳＨファイルは、要求を受信し、ホストが含むＩＤ（すなわち、１）を格納し、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１）を生成する。次いで、ホストＦＬＡＳＨファイルは、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１）を含む更新要求を、ページＢに対応する非ホスト接続ＦＬＡＳＨファイルに送信する。ホストＦＬＡＳＨファイルの更新要求を受信すると、非ホスト接続ＦＬＡＳＨファイルは、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１）を記録する。
【００７１】
次に、ページＣが開かれ、対応するＦＬＡＳＨファイルが呼び出される。ＦＬＡＳＨファイルは、まず、「作成」インターフェースを呼び出して、“ｃｌｏｕｄ＿ＨＯＳＴ”という名称のローカル接続を確立するよう試みる。ＦＬＡＳＨグループはすでにホスト接続を有するので、ローカル接続を確立する試みは失敗する。この時点で、非ホスト接続ＦＬＡＳＨファイルを確立するために、「加入」インターフェースが呼び出され、ページＣに対応する非ホスト接続ＦＬＡＳＨファイルをグループに追加する。ここで、ＦＬＡＳＨファイルは、“ｃｌｏｕｄ＿１”という名称のローカル接続を作成するよう試みる。ＦＬＡＳＨグループはすでにこの名称を有するので、ローカル接続を作成する試みは失敗する。ここで、ＦＬＡＳＨファイルは、別の試みを行い、“ｃｌｏｕｄ＿２”という名称のローカル接続を確立し、成功したＩＤを２として記録する。図６に示すように、次に、クライアントは、非ホスト接続ＦＬＡＳＨファイルを呼び出して、クライアント自身のＩＤ「２」を含むグループ加入要求をホスト接続ＦＬＡＳＨファイルに送信する。ホストＦＬＡＳＨファイルは、この要求を受信し、ＩＤ（すなわち、２）を格納し、ＦＬＳＨグループ識別子（ＨＯＳＴ，１，２）を生成する。次いで、ホストＦＬＡＳＨファイルは、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１，２）を含む更新要求を、ページＢおよびＣに対応する非ホスト接続ＦＬＡＳＨファイルに送信する。ホストＦＬＡＳＨファイル更新要求を受信すると、ページＢに対応する非ホスト接続ＦＬＡＳＨファイルは、その自己格納されたＦＬＡＳＨグループ識別子を（ＨＯＳＴ，１，２）に更新し、ページＣに対応する非ホスト接続ＦＬＡＳＨファイルは、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１，２）を格納する。
【００７２】
次に、ページＤが開かれ、対応するＦＬＡＳＨファイルが呼び出される。ＦＬＡＳＨファイルは、まず、「作成」インターフェースを呼び出して、“ｃｌｏｕｄ＿ＨＯＳＴ”という名称のローカル接続を確立するよう試みる。ＦＬＡＳＨグループはすでにホスト接続を有するので、ローカル接続を確立する試みは失敗する。この時点で、非ホスト接続ＦＬＡＳＨファイルを確立して、ページＤに対応する非ホスト接続ＦＬＡＳＨファイルをこのグループに追加するために、「加入」インターフェースが呼び出される。ここで、ＦＬＡＳＨファイルは、“ｃｌｏｕｄ＿１”という名称のローカル接続を確立するよう試みる。ＦＬＡＳＨグループはすでにこの名称を有するので、ローカル接続を確立する試みは失敗する。ここで、ＦＬＡＳＨグループは、“ｃｌｏｕｄ＿２”という名称のローカル接続を確立しようとする別の試みを行い、成功したＩＤ「２」を記録する。ＦＬＡＳＨグループはすでにこの名称を有するので、ローカル接続を確立する試みは失敗する。ここで、ＦＬＡＳＨグループは、“ｃｌｏｕｄ＿３”という名称のローカル接続を確立しようとする別の試みを行う。ローカル接続を確立する試みは成功し、成功したＩＤが３として記録される。図７に示すように、次に、クライアントは、非ホスト接続ＦＬＡＳＨファイルを呼び出して、クライアント自身のＩＤ「３」を含むグループ加入要求をホスト接続ＦＬＡＳＨファイルに送信する。ホストＦＬＡＳＨファイルは、グループ加入要求を受信し、それに含まれたＩＤ「３」を格納し、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１，２，３）を生成する。次いで、ホストＦＬＡＳＨファイルは、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１，２，３）を含む更新要求を、ページＢ、Ｃ、および、Ｄに対応する非ホスト接続ＦＬＡＳＨファイルに送信する。ホストＦＬＡＳＨ更新要求を受信すると、ページＢおよびＣに対応する非ホスト接続ＦＬＡＳＨファイルは、それらの自己格納されたＦＬＡＳＨグループ識別子を（ＨＯＳＴ，１，２，３）に更新し、ページＤに対応する非ホスト接続ＦＬＡＳＨは、ＦＬＡＳＨグループ識別子（ＨＯＳＴ，１，２，３）を格納する。
【００７３】
一般に、新たなページが開かれると、クライアントは、以下を順次実行するために新たなページに対応するＦＬＡＳＨファイルを呼び出す。ホスト接続ＦＬＡＳＨファイルおよび非ホスト接続ＦＬＡＳＨファイルを確立すること、自身の識別子をホスト接続ＦＬＡＳＨファイルに送信すること、ならびに、ＦＬＡＳＨグループ識別子を受信すること。
【００７４】
さらに、ページＢ、Ｃ、および、Ｄに対応するＦＬＡＳＨファイルが非ホスト接続ＦＬＡＳＨファイルの確立に成功した後、ＦＬＡＳＨファイルは、ホスト接続の独自の特徴を用いて、定期的にホスト接続ＦＬＡＳＨファイルになる。ページＡが閉じられていない場合、ホスト接続ＦＬＡＳＨファイルは、有効なままである。したがって、この動作は失敗する。
【００７５】
図８に示すように、或る時点で、ページＡは閉じられ、ホスト接続ＦＬＡＳＨファイルが消失する。この時、ページＢのＦＬＡＳＨファイルが、ホスト接続ＦＬＡＳＨファイルの確立を開始する。したがって、ホスト接続ＦＬＡＳＨファイルの確立の開始が成功し、ページＢに対応する非ホスト接続ＦＬＡＳＨファイルが新たなホスト接続になる。実質的に同時に、新たなホスト接続識別子が生成され、新たなホスト接続識別子も、元々のホスト接続識別子と同じＨＯＳＴとして設定される。次いで、新たなホスト接続ＦＬＡＳＨファイルは、グループメンバを更新するために呼び出される。元々のホスト接続識別子はＦＬＡＳＨグループ識別子から削除され、ホスト接続識別子「１」が元々のホスト接続識別子ＨＯＳＴに変更され、自己格納されたＦＬＡＳＨグループ識別子は（ＨＯＳＴ，２，３）に更新される。次いで、更新されたＦＬＡＳＨグループ識別子を含む更新要求が、ページＣおよびＤに対応する非ホスト接続ＦＬＡＳＨファイルに送信される。ページＣおよびＤに対応する非ホスト接続ＦＬＡＳＨファイルが更新要求を受信した後、ページＣおよびＤに対応する非ホスト接続ＦＬＡＳＨファイルは、自己格納されたＦＬＡＳＨグループ識別子を（ＨＯＳＴ，２，３）に更新する。
【００７６】
上述の処理によって、ＦＬＡＳＨグループ内の各ＦＬＡＳＨファイルは、ＦＬＡＳＨグループ内のすべてのＦＬＡＳＨファイルの識別子を格納する。各ＦＬＡＳＨファイルが格納する識別子に基づいて、様々なＦＬＡＳＨファイル間で通信が確立される。
【００７７】
クライアントページの間の上記の直接通信には、多くの応用例がある。クライアントページの間の直接通信の例は、以下に述べるように、ページ間の同期更新およびページ間の同期動作に適用されることを含む。
【００７８】
図９は、ページの間で通信を行う処理の一実施形態を示すフローチャートである。処理９００は、図１３のクライアント１３１０によって実施されてよく、以下を含む。
【００７９】
工程９１０では、クライアントは、ページグループ内のページが新たな動作を実行したか否かを判定する。
【００８０】
いくつかの実施形態において、「新たな動作」とは、コンテンツの更新以外のページ関連動作（例えば、ページの切り替えなど）のことである。
【００８１】
工程９２０では、ページグループ内のページが新たな動作を実行した場合、クライアントは、新たな動作の実行を命令するために用いるオペレーショナルデータを取得する。
【００８２】
工程９３０では、クライアントは、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの格納された識別子に基づいて、オペレーショナルデータを含むメッセージ受信要求を他のＦＬＡＳＨファイルに送信するために、新たな動作が実行されたページでＦＬＡＳＨファイルを呼び出す。
【００８３】
工程９４０では、クライアントは、他のＦＬＡＳＨファイルを呼び出して、メッセージ受信要求に基づいてオペレーショナルデータを受信する。
【００８４】
工程９３０および９４０では、いくつかの実施形態において、ＦＬＡＳＨファイルはページのＪＳを通して呼び出される。
【００８５】
工程９５０では、クライアントは、オペレーショナルデータに基づいて、他のＦＬＡＳＨファイルに対応するページに対して動作を実行する。
【００８６】
ＦＬＡＳＨファイルがメッセージ受信要求を他のＦＬＡＳＨファイルに送信でき、他のＦＬＡＳＨファイルがメッセージ受信要求に基づいてオペレーショナルデータを受信する多くの選択肢が存在する。いくつかの実施形態では、ＦＬＡＳＨファイル内のｓｅｎｄｍｅｓｓａｇｅメッセージ送信関数およびｒｅｃｅｉｖｅｍｅｓｓａｇｅメッセージ受信関数が、メッセージ送信およびメッセージ受信のために用いられる。
【００８７】
図１０は、同期更新を行う処理の一実施形態を示すフローチャートである。処理１０００は、図１３のクライアント１３１０によって実施されてよく、以下を含む。
【００８８】
処理１０００は、ページ切り替えの一例を用いて導入される。
【００８９】
クライアントは、ページＡ、Ｂ、および、Ｃを含むページグループを確立する。ページグループのページＡは、或る時点に第１のサブページから第２のサブページに切り替えられる。クライアントが新たな動作を検出した後、ページは、そのページ上で第１のサブページから第２のサブページに切り替える動作を命令するために用いられるオペレーショナルデータ（例えば、”１，２”）を取得する。その後、クライアントは、ページＡ内のＦＬＡＳＨファイルを呼び出して、ページＢおよびＣに対応するＦＬＡＳＨファイルについて格納された識別子に基づいてページＢおよびＣとの通信処理を確立する。ｓｅｎｄｍｅｓｓａｇｅ関数は、オペレーショナルデータを含むｒｅｃｅｉｖｅｍｅｓｓａｇｅ要求をページＢおよびＣのＦＬＡＳＨファイルに送信するために用いられる。クライアントは、ページＢおよびＣのＦＬＡＳＨファイルを呼び出して、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いてｒｅｃｅｉｖｅｍｅｓｓａｇｅ要求を受信し、ページに含まれるオペレーショナルデータ：“１，２”を取得する。クライアントは、オペレーショナルデータを用いて、ページＢおよびＣで第１のサブページから第２のサブページに切り替える動作を実行する。
【００９０】
工程１０１０では、クライアントは、ページグループ内のページが更新されたか否かを検出する。
【００９１】
工程１０２０では、ページグループ内のページが更新された場合、クライアントは、更新されたページの更新データを取得する。
【００９２】
工程１０３０では、クライアントは、他のＦＬＡＳＨファイルの格納された識別子に基づいて、更新データを含むメッセージ受信要求をＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルに送信するために、更新されたページのＦＬＡＳＨファイルを呼び出す。
【００９３】
工程１０４０では、クライアントは、メッセージ受信要求に基づいて、更新データを受信するために、他のＦＬＡＳＨファイルを呼び出す。
【００９４】
工程１０５０では、クライアントは、更新データに基づいて、他のＦＬＡＳＨファイルに対応するページを更新する。
【００９５】
上述の処理１０００でわかるように、ページグループ内のページは、更新されたページが他のページに更新データを送信するために用いられる前に、更新を受ける。いくつかの実施形態において、以前に更新を受けたページは、以下の３つのアプローチで更新データを取得する：
【００９６】
第１のアプローチは、ブラウザベースのローカルストレージソリューションである。このアプローチでは、ブラウザが、サーバから更新データを取得するよう設定される。その後、更新データは、ブラウザの少なくとも１つのページに送信され、その少なくとも１つのページは更新される。第１のアプローチは１つのブラウザだけを含むので、他のブラウザのページは、上述のように、ページ間の直接通信に基づいて更新される。したがって、このアプローチは、ブラウザベースのローカルストレージソリューションがページ更新中に様々なブラウザに及ぶことを可能にする。
【００９７】
第２のアプローチは、ページポーリングを含む。このアプローチでは、クライアントは、サーバから更新データを取得する。クライアントは、定期的なページポーリングを行うよう設定され、更新を実行するためにクライアントから更新データを取得する。このアプローチでは、１つのページだけが含まれるので、即時性およびページパフォーマンスが保証される。また、このアプローチでは、適切な量のページに対してポーリング側クライアントを設定することが可能である。ページの量が設定されると、ページパフォーマンスを保証できる。
【００９８】
第３のアプローチは、サーバ長距離リンクに基づいている。ページサーバ長距離リンクが設定され、更新データが、更新を実行するためにサーバから取得される。このアプローチにおいてサーバと長距離リンクを有するのは１ページだけなので、サーバへの帯域幅要求はあまり存在せず、したがって、サーバのコストが低くなる。もちろん、このアプローチにおいて、サーバの帯域幅限界内で適切な数のページとのサーバ長距離リンクを設定することも可能である。
【００９９】
この実施形態において、ＦＬＡＳＨグループ内のＦＬＡＳＨファイルは、同じウェブアドレスで開かれる複数の同一生成元ページのためのＦＬＡＳＨファイルなど、同じファイルコンテンツを有しうる。もちろん、各ＦＬＡＳＨファイルは、例えば、１ユーザのＱｚｏｎｅおよびマイクロブログページのためのＦＬＡＳＨファイルなど、異なるコンテンツも有しうる。
【０１００】
いくつかの実施形態において、送信される更新データのタイプは、様々な更新要求に応じて異なる。例えば、各更新は、同期更新が同一生成元ページの間で行われた時に同期されるので、「更新データ」とは、ページに関する任意の更新データのことである。いくつかの実施形態において、特定の更新だけが同期される場合、更新データは、例えば、１ユーザの前述のＱｚｏｎｅおよびマイクロブログページなど、特定のタイプの特定のデータだけである。この例においてページで検出される唯一のデータは署名データであり、他のデータではない。したがって、様々な更新要求を満たすために更新データの特定のタイプを設定することが可能である。
【０１０１】
以下の例は、同一生成元ページの間の通信を介した同期更新の応用シナリオである。
【０１０２】
３つの同一ページＡ、Ｂ、および、Ｃが、ユーザによる同じフォーラムウェブアドレスの３回のクリックに基づいて開かれる。３つのページは、同じページグループに追加される。３つのページに対応するＦＬＡＳＨファイルは、ＦＬＡＳＨグループを構成する。各ＦＬＡＳＨファイルは、同じファイルコンテンツを有し、ＦＬＡＳＨファイルはいずれも、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を格納する。
【０１０３】
フォーラムの別のユーザが、「今日は雨が降るでしょう」というメッセージを公開する。この例では、フォーラムは、グループを確立する。
【０１０４】
クライアントは、公開されたメッセージを取得する。ページＡが、前述の３つのアプローチの内の１アプローチなど特定のアプローチを通して、このメッセージを取得した後、ページＡは自身のページを更新する。この時点で、ページＡは、「今日は雨が降るでしょう」というメッセージを表示する。
【０１０５】
クライアントは、ページＡが更新されたことを検出し、その後、ページＡから「今日は雨が降るでしょう」という更新メッセージを取得する。
【０１０６】
クライアントは、ページＡのＦＬＡＳＨファイルを呼び出して、ページＢのＦＬＡＳＨファイルの自己格納された識別子に基づいて、「今日は雨が降るでしょう」というメッセージを含むメッセージ受信要求をページＢのＦＬＡＳＨファイルに送信する。実質的に同時に、クライアントは、ページＡのＦＬＡＳＨファイルを呼び出して、ページＣのＦＬＡＳＨファイルの自己格納された識別子に基づいて、「今日は雨が降るでしょう」というメッセージを含むメッセージ受信要求をページＣのＦＬＡＳＨファイルに送信する。
【０１０７】
クライアントは、ページＢおよびＣのＦＬＡＳＨファイルを呼び出して、メッセージ受信要求を受信し、要求に含まれる「今日は雨が降るでしょう」というメッセージを取得する。
【０１０８】
クライアントは、ページＢおよびＣに「今日は雨が降るでしょう」というメッセージを表示する。
【０１０９】
これで、ページＡ、Ｂ、および、Ｃの同期更新が完了した。
【０１１０】
以下の例は、非同一生成元ページの間の通信を介した同期更新の具体的な応用シナリオである。
【０１１１】
ユーザは、自身のＱｚｏｎｅおよびＴｅｎｃｅｎｔマイクロブログページを開き、Ｑｚｏｎｅページの署名メッセージをＴｅｎｃｅｎｔマイクロブログページと同期する。
【０１１２】
クライアントは、ＱｚｏｎｅページおよびＴｅｎｃｅｎｔマイクロブログページを同じページグループに追加する。ＱｚｏｎｅページのＦＬＡＳＨファイルは、ＴｅｎｃｅｎｔマイクロブログページのＦＬＡＳＨファイルの識別子を格納し、ＴｅｎｃｅｎｔマイクロブログページのＦＬＡＳＨファイルは、ＱｚｏｎｅページのＦＬＡＳＨファイルの識別子を格納する。
【０１１３】
ユーザが署名メッセージを「今日は雨が降るでしょう」に修正すると、Ｑｚｏｎｅページは、前述の３つのアプローチの内の１つを用いて、メッセージを取得し、自身のページにメッセージを表示する。
【０１１４】
クライアントは、Ｑｚｏｎｅページの署名メッセージが更新されたことを検出し、その後、署名メッセージを取得する。
【０１１５】
クライアントは、ＱｚｏｎｅページのＦＬＡＳＨファイルを呼び出して、ＴｅｎｃｅｎｔマイクロブログページのＦＬＡＳＨファイルの格納された識別子に基づいて、更新データ「今日は雨が降るでしょう」を含むメッセージ受信要求をＴｅｎｃｅｎｔマイクロブログページのＦＬＡＳＨファイルに送信する。
【０１１６】
クライアントは、ＴｅｎｃｅｎｔマイクロブログページのＦＬＡＳＨファイルを呼び出して、メッセージ受信要求を受信し、メッセージ受信要求に含まれる「今日は雨が降るでしょう」の更新データを取得する。
【０１１７】
クライアントは、Ｔｅｎｃｅｎｔマイクロブログページに「今日は雨が降るでしょう」と表示する。
【０１１８】
これで、ＱｚｏｎｅページおよびＴｅｎｃｅｎｔマイクロブログページの同期更新が完了した。
【０１１９】
次に、ユーザは、Ｑｚｏｎｅページに「まだ雨は降っていません」という備考を追加する。
【０１２０】
クライアントは、Ｑｚｏｎｅページが更新されたことを検出するが、更新メッセージは署名メッセージではない。したがって、この更新メッセージは取得されない。
【０１２１】
上記の例において、同期ページ間動作で、ページＦＬＡＳＨファイルは、更新データを送受信するためにｓｅｎｄｍｅｓｓａｇｅ関数およびｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いる。
【０１２２】
図１１は、ページ間で通信を行うためのデバイスの一実施形態を示す構造図である。デバイス１１００は、第１の検出ユニット１１１０、第１の取得ユニット１１２０、識別子呼び出しユニット１１３０、および、通信ユニット１１４０を備える。
【０１２３】
第１の検出ユニット１１１０は、ページが別のページとのデータ伝送を行うか否かを判定する。
【０１２４】
ページ間で伝送されるデータは、ページ間通信の具体的な用途の違いに応じて様々である。例えば、ページが更新される場合、ページを更新するための更新データが伝送される。同期ページ動作が実行される場合、後述のように、新たな動作を命令するために用いられるオペレーショナルデータが伝送される。
【０１２５】
第１の取得ユニット１１２０は、ページが伝送されるデータを有する場合にデータを取得する。
【０１２６】
識別子呼び出しユニット１１３０は、ページによって格納された現在のページグループ内の他のページの通信識別子を取得する。
【０１２７】
いくつかの実施形態において、ページグループは、少なくとも２つのページの予め確立された組み合わせである。通信識別子は、ページグループが確立される時にページグループ内の各ページに割り当てられる。ページグループ内の各ページは、ページグループ内の他のページの通信識別子を格納する。これらの通信識別子は、各ページを一意的に識別するために用いられる識別子である。いくつかの実施形態において、通信リンクが、識別子に基づいてページ間で確立される。
【０１２８】
いくつかの実施形態では、ページグループが必要に応じて作成される。例えば、複数のページが１つのウェブアドレスに基づいて開かれ、ページの同期更新のためのページグループとして設定される。Ｑｚｏｎｅページの署名および他のメッセージをマイクロブログページに同期的に載せるために、ユーザのＱｚｏｎｅページおよびユーザのマイクロブログページなど、同じユーザに対応するページを含む単一のページグループを設定することが可能である。ページグループの編成方法に制限はない。
【０１２９】
いくつかの実施形態において、ページグループは、異なる要求に基づいて確立されるので、同じページが、複数のページグループに属しうる。したがって、デバイス１１１０は、さらに、ページグループ判定ユニット１１５０を備える。ページグループ判定ユニット１１５０は、ページが複数のページグループに属する場合に、データの属性情報に基づいてページの現在のページグループを判定する。次いで、データは、現在のページグループ内のページ間で伝送される。
【０１３０】
いくつかの実施形態において、データ属性情報は、データの伝送属性情報に対応する。例えば、データがＱｚｏｎｅおよびマイクロブログに署名メッセージを表示するために用いられる場合、現在のページグループは、Ｑｚｏｎｅおよびマイクロブログページで構成されたページグループである。データが同一生成元ページの間で伝送される場合、現在のページグループは、同一生成元ページで構成されたページグループである。
【０１３１】
通信ユニット１１４０は、通信識別子に基づいてページと他のページとの間の通信リンクを確立し、通信リンクを用いて、他のページに伝送されるべきデータを送信する。
【０１３２】
クライアントがページの通信識別子を用いて通信リンクを確立する多くの方法がある。いくつかの実施形態において、ページは、ページ間ＦＬＡＳＨファイルを用いて、ページ間の通信リンクを確立する。
【０１３３】
図１２Ａは、通信ユニットの一実施形態を示す構造図である。いくつかの実施形態において、通信ユニット１２１０は、デバイス１１００の通信ユニット１１４０を実装するために用いられ、第１の判定ユニット１２１１、第２の取得ユニット１２１３、識別子呼び出しユニット１２１５、第１のデータ送信ユニット１２１７、および、データ受信ユニット１２１９を備える。
【０１３４】
第１の判定ユニット１２１１は、ページが別のページとのデータ伝送を行うか否かを検出する。
【０１３５】
第２の取得ユニット１２１３は、ページが伝送されるデータを有する場合にデータを取得する。
【０１３６】
識別子呼び出しユニット１２１５は、伝送されるデータを有するページのＦＬＡＳＨ領域に格納されたＦＬＡＨグループ内の他のＦＬＡＳＨファイルの識別子を取得する。ＦＬＡＳＨグループは、現在のページグループ内のページに対応するＦＬＡＳＨファイルを含み、各ページのＦＬＡＳＨ領域は、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を格納する。
【０１３７】
第１のデータ送信ユニット１２１７は、ページ内のＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの格納された識別子に基づいて、データを含むメッセージ受信要求を他のＦＬＡＳＨファイルに送信する。
【０１３８】
データ受信ユニット１２１９は、他のＦＬＡＳＨファイルを呼び出して、メッセージ受信要求を受信すると共にデータを取得する。
【０１３９】
いくつかの実施形態において、デバイス１１００は、通信識別子を用いたデータのページ間伝送のために、データ伝送関数を有するページ内の他のユニットも用いる。
【０１４０】
いくつかの実施形態において、ページグループは予め作成される。したがって、デバイス１１１０は、さらに、作成ユニット１１６０を備える。作成ユニット１１６０は、ページグループを作成する。
【０１４１】
いくつかの実施形態では、ページグループが必要に応じて作成される。例えば、１つのウェブアドレスに基づいて開かれる複数のページが、それらのページの同期更新のためのページグループとして設定される。Ｑｚｏｎｅページの署名および他のメッセージをマイクロブログページに同期的に載せるために、ユーザのＱｚｏｎｅページおよびユーザのマイクロブログページなど、同じユーザに対応するページから成る単一のページグループを設定することが可能である。
【０１４２】
図１２Ｂ〜図１２Ｄは、ページ間で通信を行うためのデバイスの一実施形態を示す構造図である。デバイス１１００は、属性情報取得ユニット１２３２、評価ユニット１２３４、第１のホスト接続開始ユニット１２３６、非ホスト接続ユニット１２３８、第１の識別子送信ユニット１２４０、第２の識別子送信ユニット１２４２、および、第１の格納ユニット１２４４を備える。
【０１４３】
属性情報取得ユニット１２３２は、現在のページの属性情報を取得する。
【０１４４】
いくつかの実施形態において、「現在のページ」とは、クライアントによって検出された現在開かれている各ページのことである。ページが開かれると、属性情報取得ユニット１２３２は、そのページの属性情報を取得する。「属性情報」とは、ページが他のページと通信するか否か、そして、どのページに対してどのような通信の必要性があるのか、を表すために用いられる情報を指す。例えば、ページが他のページとの同期更新に向けて設定されているか？、ページが他のページとの同期動作に向けて設定されているか？、同期更新のためのデータのタイプはどのようなタイプか？、同期動作のための動作のタイプはどのようなタイプか？など。いくつかの実施形態では、同じページが、ページの様々な属性に基づいて、複数のページに追加される。
【０１４５】
評価ユニット１２３４は、属性情報に基づいて、現在のページがページグループに追加されるべきか否かを評価する。
【０１４６】
例えば、現在のページＡが別のページ（ページＢ）と共に署名メッセージ同期更新を受けることを、属性情報が示す場合、第１のホスト接続開始ユニット１２３６は、対応するページグループに現在のページＡを追加することを決定する。
【０１４７】
同一生成元ページの間の同期更新は、現在のネットワークのデフォルト要件であることに注意されたい。換言すると、各ページは、他の同一生成元ページと同期的に更新される。したがって、各ページは、同一生成元ページの同期更新のためにページグループに追加される。
【０１４８】
第１のホスト接続開始ユニット１２３６は、現在のページのＦＬＡＳＨファイルを呼び出して、現在のページがページグループに追加される時にホスト接続ＦＬＡＳＨファイルを確立するための動作を開始する。
【０１４９】
いくつかの実施形態において、クライアントは、複数のページグループを設定し、そして、ページグループに対応するＦＬＡＳＨグループの区別は、異なるＦＬＡＳＨグループに異なる名称を与えることによって可能である。グループに与えられる具体的な名称に制限はない。例えば、ＦＬＡＳＨグループは、“ｃｌｏｕｄ”、“ｒａｉｎ”などと呼ばれる。いくつかの実施形態において、同じページが、異なるページグループに追加される。したがって、同じページは、そのページを呼び出す異なるＦＬＡＳＨファイルを有する。ＦＬＡＳＨファイルを区別するために、１つのページの様々なＦＬＡＳＨファイルの各々が、ＦＬＡＳＨグループ名に基づいて設定される。例えば、ホスト接続ＦＬＡＳＨファイルの名称は、“ＦＬＡＳＨ  ｇｒｏｕｐ  ｎａｍｅ＿ＨＯＳＴ”と設定される。したがって、この名称は、ホスト接続ＦＬＡＳＨファイルが位置するＦＬＡＳＨグループを意味する。
【０１５０】
いくつかの実施形態において、ページが立ち上げられると、第１のホスト接続開始ユニット１２３６は、「作成」インターフェースを呼び出して、ホスト接続ＦＬＡＳＨファイルを作成するよう試みる動作を開始する。ＦＬＡＳＨグループ名が“ｃｌｏｕｄ”である場合、ホスト接続名は“ｃｌｏｕｄ＿ＨＯＳＴ”である。
【０１５１】
ホスト接続ＦＬＡＳＨファイルがすでに存在する場合、非ホスト接続ユニット１２３８は、ＦＬＡＳＨグループへの現在のページのＦＬＡＳＨファイルの追加と、現在の非ホスト接続ＦＬＡＳＨファイルの確立とを引き起こし、同時に、現在の非ホスト接続識別子を生成および記録する。
【０１５２】
いくつかの実施形態において、ホスト接続ＦＬＡＳＨファイルは１つだけ存在する。一態様として、複数の非ホスト接続ＦＬＡＳＨファイルが存在する。非ホスト接続ＦＬＡＳＨファイルを互いに区別するために、一意的な非ホスト接続識別子が、非ホスト接続ユニット１２３８によって生成される。
【０１５３】
非ホスト接続ＦＬＡＳＨファイルが作成される時に一意性を保証するために、非ホスト接続ユニット１２３８は、「加入」インターフェースを呼び出して、“ＦＬＡＳＨ  ｇｒｏｕｐ  ｎａｍｅ＿ｎｏｎ−ｈｏｓｔ−ｃｏｎｎｅｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ  Ａ”という名称の非ホスト接続ＦＬＡＳＨファイルを作成する。Ａがすでに存在する場合、ＦＬＡＳＨグループに存在しない識別子を作成するまで、“ＦＬＡＳＨ  ｇｒｏｕｐ  ｎａｍｅ＿ｎｏｎ−ｈｏｓｔ  ｃｏｎｎｅｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ  Ｂ”などの名称の非ホスト接続ＦＬＡＳＨファイルを作成する試みがなされる。
【０１５４】
いくつかの実施形態において、非ホスト接続ユニット１２３８は、非ホスト接続識別子をランダムに生成する。いくつかの実施形態において、非ホスト接続ユニット１２３８は、非ホスト接続識別子を順序に基づいて生成する。
【０１５５】
第１の識別子送信ユニット１２４０は、現在の非ホスト接続ＦＬＡＳＨファイルを呼び出して、現在の非ホスト接続識別子をホスト接続ＦＬＡＳＨファイルに送信する。
【０１５６】
第２の識別子送信ユニット１２４２は、ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納してＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信する。ＦＬＡＳＨグループ識別子は、ホスト接続識別子および各非ホスト接続識別子を含む。
【０１５７】
第１の格納ユニット１２４４は、各非ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納する。
【０１５８】
いくつかの実施形態において、ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルおよび現在の非ホスト接続ＦＬＡＳＨファイルのみを含む場合、ＦＬＡＳＨグループ識別子は、ホスト接続識別子および現在の非ホスト接続識別子を含み、「各非ホスト接続」とは、現在の非ホスト接続ＦＬＡＳＨファイルを指す。
【０１５９】
ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイル、現在の非ホスト接続ＦＬＡＳＨファイル、および、その他の非ホスト接続ＦＬＡＳＨファイルを含む場合、ＦＬＡＳＨグループ識別子は、ホスト接続識別子、現在の非ホスト接続識別子、および、その他の非ホスト接続ＦＬＡＳＨファイルの非ホスト接続識別子を含み、「各非ホスト接続」は、現在の非ホスト接続ＦＬＡＳＨファイルおよびその他の非ホスト接続ＦＬＡＳＨファイルを指す。
【０１６０】
いくつかの実施形態において、デバイス１１００は、さらに、第１の確認ユニット１２４６、第３の識別子送信ユニット１２４８、第４の識別子送信ユニット１２５０、および、第２の格納ユニット１２５２を備える。
【０１６１】
ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルを持たない場合、第１の確認ユニット１２４６は、現在のページのＦＬＡＳＨファイルをホスト接続ＦＬＡＳＨファイルとして確認し、同時に、ホスト接続識別子を生成および記録する。
【０１６２】
ＦＬＡＳＨグループが少なくとも１つの非ホスト接続ＦＬＡＳＨファイルを持つ場合、第３の識別子送信ユニット１２４８は、ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルを呼び出して、非ホスト接続識別子をホスト接続ＦＬＡＳＨファイルに送信する。
【０１６３】
第４の識別子送信ユニット１２５０は、ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を各非ホスト接続ＦＬＡＳＨファイルに送信する。ＦＬＡＳＨグループ識別子は、ホスト接続識別子と、各非ホスト接続ＦＬＡＳＨファイルの非ホスト接続識別子とを含む。
【０１６４】
第２の格納ユニット１２５２は、各非ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納する。
【０１６５】
ホスト接続ＦＬＡＳＨファイルは、時々動作を停止する。例えば、ホスト接続ＦＬＡＳＨファイルに対応するページが閉じられた場合、ホスト接続ＦＬＡＳＨファイルは、閉じられたページと共に消える。新たな非ホスト接続ＦＬＡＳＨファイルがその後に確立された時、ＦＬＡＳＨグループへの加入が起こらない状況が生じうる。したがって、少なくともこの状況に対処するために、デバイス１１００は、さらに、第２のホスト接続開始ユニット１２５４、第２の確認ユニット１２５６、第１の識別子更新ユニット１２５８、第５の識別子送信ユニット１２６０、および、第２の識別子更新ユニット１２６２を備える。
【０１６６】
第２のホスト接続開始ユニット１２５４は、ＦＬＡＳＨグループ内の非ホスト接続ＦＬＡＳＨファイルを呼び出して、ホスト接続ＦＬＡＳＨファイルを再確立する動作を開始する。いくつかの実施形態において、この動作は、リアルタイムに実行される。いくつかの実施形態において、この動作は、定期的に実行される。
【０１６７】
第２の確認ユニット１２５６は、ホスト接続ＦＬＡＳＨファイルが無効になった時に、ホスト接続ＦＬＡＳＨファイルを再確立する動作を開始した非ホスト接続ＦＬＡＳＨファイルを新たなホスト接続ＦＬＡＳＨファイルとして確認し、同時に、新たなホスト接続識別子を生成および記録する。いくつかの実施形態において、生成された新たなホスト接続識別子は、元々のホスト接続識別子と同じである。
【０１６８】
第１の識別子更新ユニット１２５８は、新たなホスト接続ＦＬＡＳＨファイルを呼び出して、新たなホスト接続識別子に従って、自己格納されたＦＬＡＳＨグループ識別子を更新する。新たなホスト接続ＦＬＡＳＨファイルが生成された後、第１の識別子更新ユニット１２５８は、新たなホスト接続ＦＬＡＳＨファイルを呼び出してグループメンバを更新し、新たなホスト接続ＦＬＡＳＨファイルが非ホスト接続ＦＬＡＳＨファイルだった時に存在した識別子を削除し、生成された新たなホスト接続識別子に従って、自己格納されたＦＬＡＳＨグループ識別子を更新する。
【０１６９】
第５の識別子送信ユニット１２６０は、新たなホスト接続ＦＬＡＳＨファイルを呼び出して、更新されたＦＬＡＳＨグループ識別子をＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信する。
【０１７０】
第２の識別子更新ユニット１２６２は、各非ホスト接続ＦＬＡＳＨファイルを呼び出して、受信された更新済みのＦＬＡＳＨグループ識別子を、自己格納されたＦＬＡＳＨグループ識別子を更新するための基礎として用いる。
【０１７１】
クライアントページの間の直接通信は、複数の応用例がある。例えば、クライアントページの間の直接通信は、以下に述べるように、ページ間の同期更新およびページ間の同期動作に適用される。
【０１７２】
同期ページ間動作がページ間の直接通信に基づいて実施される場合、デバイス１１００は、さらに、第２の判定ユニット１２６４、第３の取得ユニット１２６６、第２のデータ送信ユニット１２６８、第１の受信ユニット１２７０、および、動作ユニット１２７２を備える。
【０１７３】
第２の判定ユニット１２６４は、ページグループ内のページが新たな動作を実行したか否かを検出する。「新たな動作」とは、コンテンツの更新以外のページ関連動作（例えば、ページの切り替えなど）のことである。
【０１７４】
第３の取得ユニット１２６６は、ページが更新動作を実行した場合に、新たなページ関連動作の実行を命令するために用いられるオペレーショナルデータを取得する。
【０１７５】
第２のデータ送信ユニット１２６８は、新たな動作を実行したページ内のＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの格納された識別子に基づいて、オペレーショナルデータを含むメッセージ受信要求を他のＦＬＡＳＨファイルに送信する。
【０１７６】
第１の受信ユニット１２７０は、他のＦＬＡＳＨファイルを呼び出して、メッセージ受信要求に基づいてオペレーショナルデータを受信する。
【０１７７】
動作ユニット１２７２は、オペレーショナルデータに基づいて、対応するページに対する動作を実行する。
【０１７８】
いくつかの実施形態において、ＦＬＡＳＨファイルが他のＦＬＡＳＨファイルにメッセージ受信要求を送信して、他のＦＬＡＳＨファイルがメッセージ受信要求に従ってオペレーショナルデータを受信する多くの方法が存在する。いくつかの実施形態において、デバイス１１００は、第３のデータ送信ユニット１２７４および第２の受信ユニット１２７６を備える。
【０１７９】
第３のデータ送信ユニット１２７４および第２の受信ユニット１２７６は、それぞれ、ＦＬＡＳＨファイルのｓｅｎｄｍｅｓｓａｇｅ関数（メッセージ送信関数）およびｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数（メッセージ受信関数）を用いて、メッセージを送信および受信する。
【０１８０】
第３のデータ送信ユニット１２７４は、新たな動作を実行したページのＦＬＡＳＨファイルを呼び出して、ｓｅｎｄｍｅｓｓａｇｅ関数を用いて他のＦＬＡＳＨファイルにオペレーショナルデータを含むｒｅｃｅｉｖｅｍｅｓｓａｇｅ要求を送信する。
【０１８１】
第２の受信ユニット１２７６は、他のＦＬＡＳＨファイルを呼び出して、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いてｒｅｃｅｉｖｅｍｅｓｓａｇｅ要求を受信し、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ要求に含まれるオペレーショナルデータを取得する。
【０１８２】
同期ページ間更新がページ間の直接通信に基づいて実施される場合、デバイス１１００は、第２の検出ユニット１２７８、第４の取得ユニット１２８０、第３のデータ送信ユニット１２８２、第２の受信ユニット１２８４、および、ページ更新ユニット１２８６を備える。
【０１８３】
第２の検出ユニット１２７８は、ページグループ内のページが更新を実行したか否かを検出する。
【０１８４】
第４の取得ユニット１２８０は、ページが更新を実行した場合に、更新されたページから更新データを取得する。
【０１８５】
第３の送信ユニット１２８２は、更新されたページのＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの格納された識別子に基づいて、更新データを含むメッセージ受信要求を他のＦＬＡＳＨファイルに送信する。
【０１８６】
第２の受信ユニット１２８４は、他のＦＬＡＳＨファイルを呼び出して、メッセージ受信要求に基づいて更新データを受信する。
【０１８７】
ページ更新ユニット１２８６は、更新データに基づいて、他のＦＬＡＳＨファイルに対応するページを更新する。
【０１８８】
ページグループ内のページは、更新データを取得し、更新されたページが他のページに更新データを伝送するために用いられる前に更新される。更新は、多くのアプローチに基づきうる。したがって、いくつかの実施形態において、デバイス１１００は、さらに、ブラウジングユニット１２８８、ポーリングユニット１２９０、および、長距離リンクユニット１２９２を備える。
【０１８９】
ブラウジングユニット１２８８は、サーバから更新データを取得するようにブラウザを設定する。次いで、更新データは、ブラウザ内の少なくとも１つのページに送信され、その結果、その少なくとも１つのページは更新される。このアプローチは１つのブラウザだけを含むので、他のブラウザのページは、上述のように、ページ間の直接通信に基づいて更新される。このアプローチは、ブラウザベースのｌｏｃａｌｓｔｏｒａｇｅソリューションがページ更新中に様々なブラウザに及ぶことを可能にする。
【０１９０】
ポーリングユニット１２９０は、更新を実施するために定期的なページポーリングを行って更新データをクライアントから取得するためにクライアントを設定する。このアプローチでは、１つのページだけが含まれるので、即時性を保証しつつ、ページパフォーマンスも保証する。もちろん、いくつかの実施形態において、ポーリングユニット１２９０は、さらに、適切な量のページに対してポーリング側クライアントを設定する。
【０１９１】
長距離リンクユニット１２９２は、更新を実施するために、ページサーバ長距離リンクを設定して、サーバから更新データを取得する。１つのページだけがサーバとの長距離リンクを有するので、サーバへの帯域幅要求はあまり存在せず、したがって、サーバのコストが低くなる。もちろん、いくつかの実施形態において、長距離リンクユニット１２９２は、さらに、サーバの帯域幅限界内で適切な数のページとのサーバ長距離リンクを設定する。
【０１９２】
いくつかの実施形態において、ページグループ内のページは、同一生成元ページである。いくつかの実施形態において、ページグループ内のページは、非同一生成元ページである。
【０１９３】
いくつかの実施形態において、伝送される更新データのタイプは、様々な更新要求に基づいて異なる。例えば、各更新は、同期更新が同一生成元ページの間で行われた時に同期されるので、「更新データ」とは、ページに関する任意の更新データのことである。特定の更新だけが同期される場合、更新データは、例えば、１ユーザの前述のＱｚｏｎｅおよびマイクロブログページなど、特定のタイプの特定のデータである。この例においてページで唯一検出されるのは署名データであり、他のデータではない。本応用例では、様々な更新要求を満たすために更新データの特定のタイプを設定することが可能である。
【０１９４】
さらに、同期ページ間動作と同様に、ページＦＬＡＳＨファイルは、更新データを送受信するためにｓｅｎｄｍｅｓｓａｇｅ関数およびｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いる。
【０１９５】
図１３は、ページ間通信システムの一実施形態を示す図である。システム１３００は、ネットワーク１３２０を介してクライアント１３１０に接続されたサーバ１３３０を備える。
【０１９６】
クライアント１３１０は、サーバ１３３０から更新データを受信する。
【０１９７】
上述のユニットは、１または複数の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび／または特定用途向け集積回路などのハードウェアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、ユニットは、コンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワーク装置など）に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体（光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど）に格納することができるソフトウェア製品の形態で具現化されてよい。ユニットは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。ユニットの機能は、互いに統合されてもよいし、複数のサブユニットにさらに分割されてもよい。
【０１９８】
本明細書に開示の実施形態に照らして説明した方法またはアルゴリズム工程は、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または、両方の組み合わせを用いて実施されうる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、メモリ、読み出し専用メモリ（ＲＯＭ）、電気的プログラム可能ＲＯＭ、電気的消去可能プログラム可能ＲＯＭ、レジスタ、ハードドライブ、リムーバブルディスク、ＣＤ−ＲＯＭ、または、任意の他の形態の当業者に周知の記憶媒体内にインストールされてよい。
【０１９９】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例１：クライアントで表示されるページの間で通信を行うための方法であって、
第１のページが第２のページにデータを伝送するか否かを検出し、
前記第１のページが前記第２のページに前記データを伝送する場合に、前記第１のページおよび前記第２のページを格納する現在のページグループ内における前記第２のページの通信識別子を取得し、前記ページグループは少なくとも２つの予め確立されたページを含み、前記通信識別子は前記ページグループが確立された時に前記ページグループ内の各ページに割り当てられ、前記ページグループ内の各ページは前記第２のページの前記通信識別子を格納し、
前記通信識別子に基づいて、前記第１のページおよび前記第２のページの間の通信リンクを確立し、
伝送されるべき前記データを前記第２のページに送信するために前記通信リンクを用いること、
を備える、方法。
適用例２：適用例１に記載の方法であって、前記第１のページが前記第２のページにデータを伝送するか否かを検出することは、
前記データの属性情報に基づいて、前記第１のページの前記現在のページグループを決定することを備える、方法。
適用例３：適用例２に記載の方法であって、前記第１のページによって格納された前記現在のページグループ内の前記第２のページの前記通信識別子を取得することは、
前記第１のページのＦＬＡＳＨ領域内に格納されたＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を取得することを備え、
前記ＦＬＡＳＨグループは、前記現在のページグループ内の前記少なくとも２つのページに対応するＦＬＡＳＨファイルを含み、前記第１のページの前記ＦＬＡＳＨ領域は、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子を格納し、前記第１のページおよび前記第２のページの間の前記通信リンクを確立することは前記通信識別子に基づき、
前記通信リンクを用いて、伝送されるべき前記データを前記第２のページに送信することは、
前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記格納された識別子に基づいて、送信される前記第１のページ内のＦＬＡＳＨファイルを呼び出すことであって、前記データを含むメッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを備え、
前記他のＦＬＡＳＨファイルを呼び出して、前記データを取得するために前記メッセージ受信要求を受信すること、を備える、方法。
適用例４：適用例３に記載の方法であって、前記ページグループの確立は、
前記現在のページの前記データの前記属性情報を取得し、
前記属性情報に基づいて、前記現在のページが前記ページグループに追加されるべきか否かを評価し、
前記現在のページが前記ページグループに追加されると評価された場合に、前記現在のページの前記ＦＬＡＳＨファイルを呼び出して、ホスト接続ＦＬＡＳＨファイルを確立する動作を開始し、
前記ＦＬＡＳＨグループがすでに前記ホスト接続ＦＬＡＳＨファイルを持っているか否かを判定し、
前記ＦＬＡＳＨグループが前記ホスト接続ＦＬＡＳＨファイルを持っている場合に、前記ＦＬＡＳＨグループへの前記現在のページのＦＬＡＳＨファイルの追加を呼び出して、現在の非ホスト接続ＦＬＡＳＨファイルを確立し、同時に、現在の非ホスト接続識別子を生成および記録し、
前記現在の非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記現在の非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納して前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、ホスト接続識別子および前記非ホスト接続識別子を含み、
前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納すること、
を備える、方法。
適用例５：適用例４に記載の方法であって、前記ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルを持たない場合に、
前記現在のページの前記ＦＬＡＳＨファイルを前記ホスト接続ＦＬＡＳＨファイルとして確認し、同時に、前記ホスト接続識別子を生成および記録し、
前記ＦＬＡＳＨグループが少なくとも１つの非ホスト接続ＦＬＡＳＨファイルを持つ場合に、前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルを呼び出して、非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を前記各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、前記ホスト接続識別子および各非ホスト接続識別子を含み、
前記各非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納すること、
を備える、方法。
適用例６：適用例４に記載の方法であって、前記現在の非ホスト接続識別子を生成することは、ランダムに、または、特定の順序に基づいて、前記現在の非ホスト接続識別子を生成することを備える、方法。
適用例７：適用例４に記載の方法であって、さらに、
前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ホスト接続ＦＬＡＳＨファイルを再確立する動作を開始し、
前記ホスト接続ＦＬＡＳＨファイルが無効になったか否かを判定し、
前記ホスト接続ＦＬＡＳＨファイルが無効になった場合に、前記ホスト接続ＦＬＡＳＨファイルを確立する動作を再開した前記非ホスト接続ＦＬＡＳＨファイルを新たなホスト接続ＦＬＡＳＨファイルとして確認し、同時に、新たなホスト接続識別子を生成および記録し、
前記新たなホスト接続ＦＬＡＳＨファイルを呼び出して、前記新たなホスト接続識別子に基づいて前記自己格納されたＦＬＡＳＨグループ識別子を更新し、前記更新されたＦＬＡＳＨグループ識別子を前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルに送信し、
前記非ホスト接続ＦＬＡＳＨファイルに基づいて前記自己格納されたＦＬＡＳＨグループ識別子を更新して、前記更新されたＦＬＡＳＨグループ識別子を用いること、
を備える、方法。
適用例８：適用例１に記載の方法であって、さらに、
前記データに基づいて、前記第２のページにページ関連動作を実行することを備え、前記データは、オペレーショナルデータである、方法。
適用例９：適用例１に記載の方法であって、さらに、
前記データに従って、前記第２のページを更新することを備え、前記データは、更新データである、方法。
適用例１０：適用例３に記載の方法であって、
送信される前記第１のページ内の前記ＦＬＡＳＨファイルを呼び出すことは、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子に基づいて、前記データを含む前記メッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを含み、
前記他のＦＬＡＳＨファイルは、前記メッセージ受信要求を受信して前記データを取得するために、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いる、方法。
適用例１１：適用例１に記載の方法であって、前記ページグループ内の前記ページは、同一生成元ページである、方法。
適用例１２：クライアントで表示されるページの間で通信を行うためのシステムであって、
少なくとも１つのプロセッサであって、
第１のページが第２のページにデータを伝送するか否かを検出し、
前記第１のページが前記第２のページに前記データを伝送する場合に、前記第１のページおよび前記第２のページを格納する現在のページグループ内の前記第２のページの通信識別子を取得し、前記ページグループは少なくとも２つの予め確立されたページを含み、前記通信識別子は前記ページグループが確立された時に前記ページグループ内の各ページに割り当てられ、前記ページグループ内の各ページは前記第２のページの前記通信識別子を格納し、
前記通信識別子に基づいて前記第１のページおよび前記第２のページの間の通信リンクを確立し、伝送されるべき前記データを前記第２のページに送信するために前記通信リンクを用いるように構成されている、少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記少なくとも１つのプロセッサに命令を提供するよう構成されているメモリと、
を備える、システム。
適用例１３：適用例１２に記載のシステムであって、前記第１のページが前記第２のページにデータを伝送するか否かを検出することは、
前記データの属性情報に基づいて、前記第１のページの前記現在のページグループを決定することを備える、システム。
適用例１４：適用例１３に記載のシステムであって、前記第１のページによって格納された前記現在のページグループ内の前記第２のページの前記通信識別子を取得することは、
前記第１のページのＦＬＡＳＨ領域内に格納されたＦＬＡＳＨグループ内の他のＦＬＡＳＨファイルの識別子を取得することを備え、
前記ＦＬＡＳＨグループは、前記現在のページグループ内の前記少なくとも２つのページに対応するＦＬＡＳＨファイルで構成され、前記第１のページの前記ＦＬＡＳＨ領域は、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子を格納し、
前記通信識別子に基づいて前記第１のページおよび前記第２のページの間の前記通信リンクを確立し、伝送されるべき前記データを前記第２のページに送信するために前記通信リンクを用いることは、
前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記格納された識別子に基づいて、送信される前記第１のページ内のＦＬＡＳＨファイルを呼び出し、
前記ＦＬＡＳＨファイルを呼び出すことは、前記データを含むメッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを含み、
前記他のＦＬＡＳＨファイルを呼び出して、前記データを取得するために前記メッセージ受信要求を受信することを備える、システム。
適用例１５：適用例１４に記載のシステムであって、前記ページグループの確立は、
前記現在のページの前記データの前記属性情報を取得し、
前記属性情報に基づいて、前記現在のページが前記ページグループに追加されるべきか否かを評価し、
前記現在のページが前記ページグループに追加されると評価された場合に、前記現在のページの前記ＦＬＡＳＨファイルを呼び出して、ホスト接続ＦＬＡＳＨファイルを確立する動作を開始し、
前記ＦＬＡＳＨグループがすでに前記ホスト接続ＦＬＡＳＨファイルを持っているか否かを判定し、
前記ＦＬＡＳＨグループが前記ホスト接続ＦＬＡＳＨファイルを持っている場合に、前記ＦＬＡＳＨグループへの前記現在のページのＦＬＡＳＨファイルの追加を呼び出して、現在の非ホスト接続ＦＬＡＳＨファイルを確立し、同時に、現在の非ホスト接続識別子を生成および記録し、
前記現在の非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記現在の非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、ＦＬＡＳＨグループ識別子を格納して前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、ホスト接続識別子および前記非ホスト接続識別子を含み、
前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納することを備える、システム。
適用例１６：適用例１５に記載のシステムであって、前記ＦＬＡＳＨグループがホスト接続ＦＬＡＳＨファイルを持たない場合に、
前記現在のページの前記ＦＬＡＳＨファイルを前記ホスト接続ＦＬＡＳＨファイルとして確認し、同時に、前記ホスト接続識別子を生成および記録し、
前記ＦＬＡＳＨグループが少なくとも１つの非ホスト接続ＦＬＡＳＨファイルを持つ場合に、前記ＦＬＡＳＨグループ内の各非ホスト接続ＦＬＡＳＨファイルを呼び出して、非ホスト接続識別子を前記ホスト接続ＦＬＡＳＨファイルに送信し、
前記ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を前記各非ホスト接続ＦＬＡＳＨファイルに送信し、前記ＦＬＡＳＨグループ識別子は、前記ホスト接続識別子および各非ホスト接続識別子を含み、
前記各非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ＦＬＡＳＨグループ識別子を格納する、システム。
適用例１７：適用例１５に記載のシステムであって、前記現在の非ホスト接続識別子を生成することは、ランダムに、または、特定の順序に基づいて、前記現在の非ホスト接続識別子を生成することを備える、システム。
適用例１８：適用例１５に記載のシステムであって、前記プロセッサは、さらに、
前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルを呼び出して、前記ホスト接続ＦＬＡＳＨファイルを再確立する動作を開始し、
前記ホスト接続ＦＬＡＳＨファイルが無効になったか否かを判定し、
前記ホスト接続ＦＬＡＳＨファイルが無効になった場合に、前記ホスト接続ＦＬＡＳＨファイルを確立する動作を再開した前記非ホスト接続ＦＬＡＳＨファイルを新たなホスト接続ＦＬＡＳＨファイルとして確認し、同時に、新たなホスト接続識別子を生成および記録し、
前記新たなホスト接続識別子に基づいて前記自己格納されたＦＬＡＳＨグループ識別子を更新するために前記新たなホスト接続ＦＬＡＳＨファイルを呼び出し、前記更新されたＦＬＡＳＨグループ識別子を前記ＦＬＡＳＨグループ内の前記非ホスト接続ＦＬＡＳＨファイルに送信し、
前記非ホスト接続ＦＬＡＳＨファイルに基づいて前記自己格納されたＦＬＡＳＨグループ識別子を更新して、前記更新されたＦＬＡＳＨグループ識別子を用いるよう構成されている、システム。
適用例１９：適用例１２に記載のシステムであって、前記プロセッサは、さらに、
前記データに基づいて、前記第２のページにページ関連動作を実行するよう構成されており、前記データは、オペレーショナルデータである、システム。
適用例２０：適用例１２に記載のシステムであって、前記少なくとも１つのプロセッサは、さらに、
前記データに従って、前記第２のページを更新するよう構成されており、前記データは、更新データである、システム。
適用例２１：適用例１４に記載のシステムであって、
送信される前記第１のページ内の前記ＦＬＡＳＨファイルを呼び出すことは、前記ＦＬＡＳＨグループ内の前記他のＦＬＡＳＨファイルの前記識別子に基づいて、前記データを含む前記メッセージ受信要求を前記他のＦＬＡＳＨファイルに送信することを備え、
前記他のＦＬＡＳＨファイルは、前記メッセージ受信要求を受信して前記データを取得するために、ｒｅｃｅｉｖｅｍｅｓｓａｇｅ関数を用いる、システム。
適用例２２：適用例１２に記載のシステムであって、前記ページグループ内の前記ページは、同一生成元ページである、システム。
適用例２３：クライアントで表示されるページの間で通信を行うためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
第１のページが第２のページにデータを伝送するか否かを検出するためのコンピュータ命令と、
前記第１のページが前記第２のページに前記データを伝送する場合に、前記第１のページおよび前記第２のページを格納する現在のページグループ内の前記第２のページの通信識別子を取得するためのコンピュータ命令と、前記ページグループは少なくとも２つの予め確立されたページを含み、前記通信識別子は前記ページグループが確立された時に前記ページグループ内の各ページに割り当てられ、前記ページグループ内の各ページは前記第２のページの前記通信識別子を格納し、
前記通信識別子に基づいて前記第１のページおよび前記第２のページの間の通信リンクを確立し、伝送されるべき前記データを前記第２のページに送信するために前記通信リンクを用いるためのコンピュータ命令と、を備える、コンピュータプログラム製品。
【図１】
0005945367.tif 000002
【図２】
0005945367.tif 000003
【図３】
0005945367.tif 000004
【図４】
0005945367.tif 000005
【図５】
0005945367.tif 000006
【図６】
0005945367.tif 000007
【図７】
0005945367.tif 000008
【図８】
0005945367.tif 000009
【図９】
0005945367.tif 000010
【図１０】
0005945367.tif 000011
【図１１】
0005945367.tif 000012
【図１２Ａ】
0005945367.tif 000013
【図１２Ｂ】
0005945367.tif 000014
【図１２Ｃ】
0005945367.tif 000015
【図１２Ｄ】
0005945367.tif 000016
【図１３】
0005945367.tif 000017