(57)【要約】【課題】  ウェブページ上の処理において、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、他のドメインから情報を取得することを可能とする。【解決手段】  サーバ装置２は、サーバ装置１のドメインＤ１とは異なるドメインＤ２に属する。端末装置４は、サーバ装置１からウェブページデータを取得し、そのウェブページデータに記述されている処理の実行に伴って要求される情報をサーバ装置２から取得する。サーバ装置２は、その情報を含むスタイルシートファイルを格納する。サーバ装置１におけるウェブページデータには、ドメインＤ１のウェブページに対して適用されるスタイルシートのファイルとしてサーバ装置２からスタイルシートファイルを取得しその情報を抽出する処理が記述されている。【選択図】  図１
2010015332.tif 000002
【特許請求の範囲】
【請求項１】
第１ドメインに属する第１サーバ装置と、
前記第１ドメインと異なる第２ドメインに属する第２サーバ装置と、
前記第１サーバ装置からウェブページデータを取得し、前記ウェブページデータに記述されている処理の実行に伴って要求される情報を前記第２サーバ装置から取得する端末装置とを備え、
前記第２サーバ装置は、前記情報を含むスタイルシートファイルを格納し、
前記ウェブページデータは、前記第１のドメインにおけるウェブページに対して適用されるスタイルシートのファイルとして前記スタイルシートファイルを前記第２サーバ装置から取得し前記情報を抽出する処理を記述されており、
前記端末装置は、前記ウェブページデータを解釈し、前記第２サーバ装置から前記スタイルシートファイルを取得し、前記スタイルシートファイルから前記情報を抽出すること、
を特徴とする情報処理システム。
【請求項２】
前記第１サーバ装置は、第１ユーザの登録情報を管理し、その第１ユーザのログイン処理を実行し、
前記第２サーバ装置は、第２ユーザの登録情報およびその第２ユーザのデータファイルを管理し、その第２ユーザのログイン処理を実行し、
前記第１サーバ装置は、前記第１ユーザがログイン中の前記端末装置に対して前記ウェブページデータを送信し、
前記第２サーバ装置は、前記ウェブページデータに記述されている処理の実行に伴って要求される情報として、前記第２ユーザのログイン状態および／または前記データファイルの属性情報を前記スタイルシートファイルに書き込むこと、
を特徴とする請求項１記載の情報処理システム。
【請求項３】
所定のドメインに属しウェブページデータを端末装置へ提供するサーバ装置において、
前記端末装置との間でデータ通信を行う通信装置と、
前記端末装置からの要求に応じてウェブページデータを送信するサーバ処理部とを備え、
前記ウェブページデータは、このウェブページデータに記述されている処理の実行に伴って要求される情報を他のドメインから取得するために、前記所定のドメインにおける情報取得用ウェブページに対して適用されるスタイルシートのファイルとして前記他のドメインに属するスタイルシートファイルを前記他のドメインのサーバ装置から取得し、取得した前記スタイルシートファイルから前記情報を抽出する処理を記述されていること、
を特徴とするサーバ装置。
【請求項４】
前記所定のドメインにおける情報取得用ウェブページは、前記ウェブページデータの適用されるウィンドウ内のフレームに適用され、
前記ウェブページデータは、前記フレーム内の前記情報取得用ウェブページに対して適用されるスタイルシートのファイルとして前記他のドメインに属するスタイルシートファイルを前記他のドメインのサーバ装置から取得し前記情報を抽出する処理を記述されていること、
を特徴とする請求項３記載のサーバ装置。
【請求項５】
前記ウェブページデータは、フレームを生成し、前記情報取得用ウェブページをそのフレームに適用し、その情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属するスタイルシートファイルを前記他のドメインのサーバ装置から取得し前記情報を抽出する処理を記述されていることを特徴とする請求項３記載のサーバ装置。
【請求項６】
前記フレームは、インラインフレームとして、かつ不可視で生成されることを特徴とする請求項５記載のサーバ装置。
【請求項７】
前記スタイルシートファイルから抽出される情報は、前記他のドメインのサーバ装置により管理されている他のユーザのログイン状態および／またはそのユーザのデータファイルの属性情報であることを特徴とする請求項３記載のサーバ装置。
【請求項８】
ユーザの登録情報を管理し、そのユーザのログイン処理を実行するユーザ管理部と、
前記他のドメインのサーバ装置に問い合わせて、前記端末装置から当該サーバ装置にログインしているユーザへの提供を許可されている前記スタイルシートファイルのリストを取得し前記端末装置へ送信するリスト送信処理部とを備え、
前記ウェブページデータは、前記所定のドメインにおけるウェブページに対して適用されるスタイルシートのファイルとして、前記リスト送信処理部により取得されたリストにおけるスタイルシートファイルを前記他のドメインのサーバ装置から取得し、取得した前記スタイルシートファイルから前記情報を抽出する処理を記述されていること、
を特徴とする請求項７記載のサーバ装置。
【請求項９】
前記スタイルシートファイルを取得する処理の記述は、前記他のドメインのサーバ装置のＣＧＩへのアクセスの記述を含まないことを特徴とする請求項８記載のサーバ装置。
【請求項１０】
前記情報取得用ウェブページのデータは、ＨＴＭＬにより記述され、
前記情報取得用ウェブページのデータにおけるｈｅａｄ要素内には、前記スタイルシートファイルをスタイルシートとして前記情報取得用ウェブページに適用するためのｌｉｎｋ要素が記述され、
前記情報取得用ウェブページのデータにおけるｂｏｄｙ要素内には、前記スタイルシートファイルにおいて定義され前記情報をプロパティの値として与えられるセレクタを指定された要素が記述されていること、
を特徴とする請求項３記載のサーバ装置。
【請求項１１】
前記ウェブページデータには、ｓｃｒｉｐｔ要素で前記処理が記述されていることを特徴とする請求項３記載のサーバ装置。
【請求項１２】
所定のドメインに属しウェブページデータを端末装置へ提供するサーバ装置において、
前記端末装置との間でデータ通信を行う通信装置と、
前記端末装置からの要求に応じてスタイルシートファイルを送信する通信処理部と、
ユーザの登録情報およびそのユーザのデータファイルを管理し、そのユーザのログイン処理を実行するユーザ管理部とを備え、
前記ユーザ管理部は、前記ユーザのログイン状態および／または前記データファイルの属性情報を前記スタイルシートファイルに書き込むこと、
を特徴とするサーバ装置。
【請求項１３】
前記ユーザ管理部は、前記ユーザのログイン状態および／またはデータファイルの属性情報が変化するたびに、前記スタイルシートファイルを更新することを特徴とする請求項１２記載のサーバ装置。
【請求項１４】
前記スタイルシートファイルは、前記ユーザのログイン状態に関連付けられたセレクタ、および／または前記属性情報における項目のそれぞれに関連付けられたセレクタを有し、
前記ユーザ管理部は、前記ユーザのログイン状態および／または前記データファイルの属性情報を、前記スタイルシートファイルにおいて対応する前記セレクタのプロパティの値として書き込むこと、
を特徴とする請求項１２または請求項１３記載のサーバ装置。
【請求項１５】
第１ドメインに属する第１サーバ装置からウェブページデータを取得し、前記ウェブページデータに記述されている処理の実行に伴って要求される情報を、前記第１ドメインと異なる第２ドメインに属する第２サーバ装置から取得する情報処理方法において、
前記第２サーバ装置に、前記情報を含むスタイルシートファイルを格納し、
前記第１のドメインにおけるウェブページに対して適用されるスタイルシートのファイルとして前記スタイルシートファイルを前記第２サーバ装置から取得し前記情報を抽出する処理を記述されているウェブページデータを前記第１サーバ装置から取得し、
前記第１サーバ装置から取得したウェブページデータを解釈し、そのウェブページデータに従って前記第２サーバ装置から前記スタイルシートファイルを取得し、
前記スタイルシートファイルから前記情報を抽出し、
前記情報を使用して前記ウェブページデータに記述されている処理を実行すること、
を特徴とする情報処理方法。
【請求項１６】
所定のドメインに属しスクリプトで処理を記述されておりコンピュータ上のウェブブラウザにより解釈されるウェブページデータにおいて、
前記スクリプトは、前記コンピュータに、
このウェブページデータに記述されている処理の実行に伴って要求される情報を他のドメインから取得するために、前記所定のドメインにおける情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属するスタイルシートファイルを前記他のドメインのサーバ装置から取得させ、
取得したスタイルシートファイルから前記情報を抽出させること、
を特徴とするウェブページデータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロスドメインで情報を伝達可能な情報処理システムに関するものである。
【背景技術】
【０００２】
近年、Ａｊａｘ（Asynchronous JavaScript + XML ）技術により、ウェブブラウザのウィンドウ内で動作するウェブアプリケーションが開発されている（例えば、特許文献１参照）。さらに、サーバ上でユーザ管理およびユーザデータ管理を行いクライアントのウェブブラウザ上でデスクトップ環境を提供するウェブＯＳ（Operating System）が提案されている。
【０００３】
上述の技術では、ウェブブラウザでＪａｖａＳｃｒｉｐｔ（商標）等を実行することで、動的にデータファイルが取得され、既に表示中のウィンドウにそのデータファイルが適用される。これにより、端末装置のＯＳにより提供されるウィンドウでアプリケーションなどを実行させる場合と同等の環境が得られる。
【０００４】
このようなウェブアプリケーションの実行環境では、セキュリティの観点から、あるドメインのウェブページでの処理において、他のドメインからデータファイルを取得することが制限されている。ＪａｖａＳｃｒｉｐｔでは、動的にデータファイルを取得する場合、ＸＭＬＨＴＴＰリクエストを使用するが、ＸＭＬＨＴＴＰリクエストにより他のドメインからデータファイルを取得することはできない。
【０００５】
このようなクロスドメインのアクセス制限があるため、あるドメインのウェブページデータに記述されている処理を実行する端末装置が他のドメインのサーバからファイルを取得する場合、次の２つの方法のいずれかを使用することが多い。
【０００６】
第１の方法として、同一ドメイン内のサーバを介して間接的にファイルを取得する方法がある。この方法では、他のドメインのサーバから直接データファイルを取得せず、そのウェブページデータのドメインと同一のドメインのサーバのＣＧＩ（Common Gateway Interface）を実行させ、そのＣＧＩにより、他のドメインのサーバから所望のデータファイルを取得する。この場合、ウェブページデータ内では、同一ドメインのサーバのＣＧＩのＵＲＬが指定され、ファイルが取得される。
【０００７】
第２の方法として、ウェブページデータの解釈時に動的にスクリプトファイルを読み込んで直接的に他のドメインのサーバへアクセスする方法がある。この方法では、ウェブページデータ内のｓｃｒｉｐｔ要素において、ソースに他のドメインのＪａｖａＳｃｒｉｐｔファイルを指定することで、そのＪａｖａＳｃｒｉｐｔファイルを実行して他のドメインのファイルにアクセスすることが可能となる。これは、ｓｃｒｉｐｔ要素には、クロスドメイン制限が適用されないからである。
【０００８】
例えば、ｄｏｍａｉｎ１のウェブページデータ（例えば、http://domain1/main.html）において、<script language="JavaScript" src="http://domain2/sample.js"></script>などと記述される。ここで、ｄｏｍａｉｎ２は、ｄｏｍａｉｎ１とは異なるドメインである。
【０００９】
【特許文献１】特開２００７−３２３５３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述の方法を使用する場合には、それぞれ問題がある。第１の方法を使用する場合、サーバのＣＧＩが実行されるため、サーバの負荷が大きくなってしまう。特に、ウェブページのサーバのＣＧＩが、他のドメインのサーバのＣＧＩにアクセスして、データファイルを取得する場合には、双方のサーバの負荷が大きくなってしまう。また、第２の方法を使用する場合、外部サーバからスクリプトファイルを取得して実行するため、セキュリティ上の問題がある。つまり、外部サーバのスクリプトファイルが置き換えることにより任意の処理が端末装置において実行されてしまう可能性がある。
【００１１】
本発明は、上記の問題に鑑みてなされたものであり、ウェブページ上の処理において、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、他のドメインから情報を取得することを可能とする情報処理システムおよび情報処理方法、並びにそれらに使用可能なサーバ装置およびウェブページデータを得ることを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明では以下のようにした。
【００１３】
本発明に係る情報処理システムは、第１ドメインに属する第１サーバ装置と、第１ドメインと異なる第２ドメインに属する第２サーバ装置と、第１サーバ装置からウェブページデータを取得し、ウェブページデータに記述されている処理の実行に伴って要求される情報を第２サーバ装置から取得する端末装置とを備える。そして、第２サーバ装置は、情報を含むスタイルシートファイルを格納する。ウェブページデータは、第１のドメインにおけるウェブページに対して適用されるスタイルシートのファイルとしてスタイルシートファイルを第２サーバ装置から取得し情報を抽出する処理を記述されている。端末装置は、ウェブページデータを解釈し、第２サーバ装置からスタイルシートファイルを取得し、スタイルシートファイルからその情報を抽出する。
【００１４】
これにより、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、あるドメインのウェブページでの処理において他のドメインから情報を取得することができる。
【００１５】
また、本発明に係る情報処理システムは、上記の情報処理システムに加え、次のようにしてもよい。この場合、第１サーバ装置は、第１ユーザの登録情報を管理し、その第１ユーザのログイン処理を実行し、第２サーバ装置は、第２ユーザの登録情報およびその第２ユーザのデータファイルを管理し、その第２ユーザのログイン処理を実行する。そして、第１サーバ装置は、第１ユーザがログイン中の端末装置に対してウェブページデータを送信する。また、第２サーバ装置は、ウェブページデータに記述されている処理の実行に伴って要求される情報として、第２ユーザのログイン状態および／またはデータファイルの属性情報をスタイルシートファイルに書き込む。
【００１６】
これにより、複数ユーザを複数ドメインで管理する場合に、あるユーザ（第１ユーザ）が登録されているドメインのウェブページでの処理において、そのドメインとは異なるドメインのユーザ（第２ユーザ）に関する情報を取得することができる。
【００１７】
本発明に係るサーバ装置は、端末装置との間でデータ通信を行う通信装置と、端末装置からの要求に応じてウェブページデータを送信するサーバ処理部とを備える。そして、このウェブページデータは、このウェブページデータに記述されている処理の実行に伴って要求される情報を他のドメインから取得するために、所定のドメインにおける情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属するスタイルシートファイルを他のドメインのサーバ装置から取得し、取得したスタイルシートファイルからその情報を抽出する処理を記述されている。
【００１８】
これにより、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、あるドメインのウェブページでの処理において他のドメインから情報を取得することができる。
【００１９】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、所定のドメインにおける情報取得用ウェブページが、ウェブページデータの適用されるウィンドウ内のフレームに適用される。そして、ウェブページデータは、フレーム内の情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属するスタイルシートファイルを他のドメインのサーバ装置から取得しその情報を抽出する処理を記述されている。
【００２０】
これにより、スタイルシートファイルの要求がＪａｖａＳｃｒｉｐｔなどのスクリプトによる要求ではなくＨＴＭＬ上での要求となるため、クロスドメインの制約を受けずにセキュリティを維持しつつ、サーバの負荷を極端に増加させずに、あるドメインのウェブページでの処理において他のドメインから情報を取得することができる。
【００２１】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、サーバ装置により供給されるウェブページデータは、フレームを生成し、情報取得用ウェブページをそのフレームに適用し、その情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属するスタイルシートファイルを他のドメインのサーバ装置から取得しその情報を抽出する処理を記述されている。
【００２２】
これにより、スタイルシートファイルの要求がＪａｖａＳｃｒｉｐｔなどのスクリプトによる要求ではなくＨＴＭＬ上での要求となるため、クロスドメインの制約を受けずにセキュリティを維持しつつ、サーバの負荷を極端に増加させずに、あるドメインのウェブページでの処理において他のドメインから情報を取得することができる。また、情報を取得する際にフレームを生成するので、任意のタイミングで、情報を取得することができる。また、複数のフレームを生成することで、複数のスタイルシートファイルを並行して取得することができる。
【００２３】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、フレームがインラインフレームとしてかつ不可視で生成されるようにウェブページデータに記述されている。
【００２４】
これにより、スタイルシートファイルの取得に使用されるフレームがユーザに視認されずに済む。
【００２５】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、スタイルシートファイルから抽出される情報は、他のドメインのサーバ装置により管理されている他のユーザのログイン状態および／またはそのユーザのデータファイルの属性情報である。
【００２６】
これにより、複数ユーザを複数ドメインで管理する場合に、あるユーザが登録されているドメインのウェブページでの処理において、そのドメインとは異なるドメインのユーザに関連する情報を取得することができる。
【００２７】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、ユーザの登録情報を管理し、そのユーザのログイン処理を実行するユーザ管理部と、他のドメインのサーバ装置に問い合わせて、端末装置から当該サーバ装置にログインしているユーザへの提供を許可されているスタイルシートファイルのリストを取得し端末装置へ送信するリスト送信処理部とをさらに備える。そして、ウェブページデータは、所定のドメインにおけるウェブページに対して適用されるスタイルシートのファイルとして、リスト送信処理部により取得されたリストにおけるスタイルシートファイルを他のドメインのサーバ装置から取得し、取得したスタイルシートファイルからその情報を抽出する処理を記述されている。
【００２８】
これにより、スタイルシートファイルのリストの取得については、ユーザが登録されているサーバ装置を介して実行し、スタイルシートファイル自体の取得については、そのスタイルシートファイルを有するサーバ装置に対して直接実行される。したがって、頻繁にスタイルシートファイルを取得してもサーバの負荷を極端に増加させずに、他のドメインから情報を取得することができる。
【００２９】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、スタイルシートファイルを取得する処理の記述は、他のドメインのサーバ装置のＣＧＩへのアクセスの記述を含まないものとされる。
【００３０】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、サーバ装置により供給されるウェブページに記述されている処理において使用される情報取得用ウェブページは以下のようにされる。情報取得用ウェブページのデータは、ＨＴＭＬにより記述され、情報取得用ウェブページのデータにおけるｈｅａｄ要素内には、スタイルシートファイルをスタイルシートとして情報取得用ウェブページに適用するためのｌｉｎｋ要素が記述される。また、情報取得用ウェブページのデータにおけるｂｏｄｙ要素内には、スタイルシートファイルにおいて定義され上述の情報をプロパティの値として与えられるセレクタを指定された要素が記述されている。
【００３１】
これにより、情報取得用ウェブページにスタイルシートが適用された後に、処理に必要な情報をその情報取得用ウェブページから抽出することができる。
【００３２】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、ウェブページデータには、ｓｃｒｉｐｔ要素で処理が記述されている。
【００３３】
本発明に係るサーバ装置は、端末装置との間でデータ通信を行う通信装置と、端末装置からの要求に応じてスタイルシートファイルを送信する通信処理部と、ユーザの登録情報およびそのユーザのデータファイルを管理し、そのユーザのログイン処理を実行するユーザ管理部とを備える。そして、ユーザ管理部は、ユーザのログイン状態および／またはデータファイルの属性情報をスタイルシートファイルに書き込む。
【００３４】
これにより、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、このサーバ装置のドメインとは異なる他のドメインのウェブページでの処理において要求される、このサーバ装置に登録されているユーザに関連する情報を提供することができる。
【００３５】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、ユーザ管理部は、ユーザのログイン状態および／またはデータファイルの属性情報が変化するたびに、スタイルシートファイルを更新する。
【００３６】
これにより、ユーザのログイン状態および／またはデータファイルの属性情報の変化が、他のドメインのウェブページでの処理において検出することができる。
【００３７】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、スタイルシートファイルは、ユーザのログイン状態に関連付けられたセレクタ、および／または属性情報における項目のそれぞれに関連付けられたセレクタを有する。そして、ユーザ管理部は、ユーザのログイン状態および／またはデータファイルの属性情報を、スタイルシートファイルにおいて対応するセレクタのプロパティの値として書き込む。
【００３８】
これにより、端末装置において、上述の情報取得用ウェブページにスタイルシートが適用された後に、処理に必要な情報をその情報取得用ウェブページから抽出することができる。
【００３９】
本発明に係る情報処理方法は、第１ドメインに属する第１サーバ装置からウェブページデータを取得し、ウェブページデータに記述されている処理の実行に伴って要求される情報を、第１ドメインと異なる第２ドメインに属する第２サーバ装置から取得する情報処理方法である。そのウェブページデータは、第１のドメインにおけるウェブページに対して適用されるスタイルシートのファイルとしてスタイルシートファイルを第２サーバ装置から取得し情報を抽出する処理を記述されている。そして、第２サーバ装置に、情報を含むスタイルシートファイルを格納し、第１サーバ装置から取得したウェブページデータを解釈し、第２サーバ装置からスタイルシートファイルを取得し、スタイルシートファイルからその情報を抽出し、抽出した情報を使用してウェブページデータに記述されている処理を実行する。
【００４０】
これにより、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、あるドメインのウェブページでの処理において他のドメインから情報を取得することができる。
【００４１】
本発明に係るウェブページデータは、所定のドメインに属しスクリプトで処理を記述されておりコンピュータ上のウェブブラウザにより解釈されるウェブページデータである。そして、そのスクリプトは、コンピュータに、このウェブページデータに記述されている処理の実行に伴って要求される情報を取得するために、所定のドメインにおける情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属するスタイルシートファイルを他のドメインのサーバ装置から取得させ、取得したスタイルシートファイルからその情報を抽出させる。
【００４２】
これにより、あるドメインに配置されたこのウェブページデータに記述された処理において、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、他のドメインから情報を取得することができる。
【発明の効果】
【００４３】
本発明によれば、ウェブページ上の処理において、セキュリティを維持しつつ、サーバの負荷を極端に増加させずに、他のドメインから情報を取得することを可能とする。
【発明を実施するための最良の形態】
【００４４】
以下、図に基づいて本発明の実施の形態を説明する。
【００４５】
図１は、本発明の実施の形態に係る情報処理システムの構成を示すブロック図である。図１において、サーバ装置１，２は、ネットワーク３に接続されており、ネットワーク３を介して端末装置４に各種情報を提供する。
【００４６】
サーバ装置１は、ドメインＤ１に属し、１または複数のユーザの登録情報を管理する装置である。サーバ装置１は、自己に登録されているユーザ（以下、登録ユーザという）のログイン処理を実行し、ログインした登録ユーザの端末装置４に対してウェブＯＳ環境を提供する。サーバ装置１は、ウェブサーバ機能を有し、登録ユーザの操作する端末装置４のウェブクライアントとの間で非同期通信を行い、ウェブクライアント上でウェブＯＳ環境を実現するためのデータを送信する。ウェブクライアントとは、ウェブブラウザなどの、ＨＴＴＰ（Hypertext Transfer Protocol）クライアント機能、ＨＴＭＬ（Hypertext Markup Language）処理機能、スクリプト実行機能などを有する処理部である。
【００４７】
サーバ装置２は、ドメインＤ２に属し、サーバ装置１のユーザとは異なる１または複数のユーザの登録情報を管理する装置である。サーバ装置２は、登録ユーザのログイン処理を実行し、ログインした登録ユーザの端末装置４に対してウェブＯＳ環境を提供する。サーバ装置２は、ウェブサーバ機能を有し、登録ユーザの操作する端末装置４のウェブクライアントとの間で非同期通信を行い、ウェブクライアント上でウェブＯＳ環境を実現するためのデータを送信する。
【００４８】
ウェブＯＳ環境を実現するためにサーバ装置１，２から端末装置４へ送信されるウェブページデータには、そのウェブページデータのファイルが属するドメインとは異なるドメインに属する属性ファイルを取得するためのスクリプトが記述されている。各ドメインにおける属性ファイルには、他のドメインのウェブページデータが適用された端末装置４へ提供する情報が含められる。属性ファイルは、スタイルシートファイルとされ、提供すべき情報は、スタイルシートファイルの書式に従って記述される。また、そのスクリプトには、そのスタイルシートファイルを適用されるＨＴＭＬファイルをフレームに対して適用し、そのスタイルシートファイルから適用された属性値を抽出する処理が記述されている。これにより、例えば、ユーザが、端末装置４を操作し、ウェブクライアントを使用してドメインＤ１のサーバ装置１にログインし、ウェブクライアント上でドメインＤ１のサーバ装置１から取得したウェブページデータに記述されている処理を実行する際に、別のドメインＤ２のサーバ装置２で管理されている他のユーザにより公開されている情報（ログイン情報、共有ファイルの更新情報など）を取得することができる。
【００４９】
以下に、サーバ装置１，２および端末装置４の構成およびクロスドメインで情報を送受する方法について説明する。
【００５０】
図２は、図１におけるサーバ装置１，２の構成を示すブロック図である。図２において、データ格納装置１１は、ユーザ登録情報２１、データファイル２２、属性ファイル２３およびウェブページデータ２４を格納する記録媒体を有する装置である。データ格納装置１１には、ハードディスクドライブ、ディスクアレイなどの装置が使用される。なお、データ格納装置１１をサーバ装置１，２とは別のサーバ装置に設け、サーバ装置１，２がそのサーバ装置にアクセス可能にしてデータの読み書きを実行するようにしてもよい。
【００５１】
ユーザ登録情報２１は、１または複数のユーザのＩＤおよびパスワード、その他のユーザの属性情報（個人情報、ニックネーム、所属ドメインなど）を含む。ユーザは、自己のログイン状態情報への、他のユーザからのアクセスの可否を設定することができる。他のユーザは、所有者と同一のドメインのサーバ装置１，２に登録されている者でも、他のドメインのサーバ装置１，２に登録されている者でもよい。また、他のユーザとして特定のユーザを指定してもよいし、ドメイン単位、所定のグループ単位あるいは全ユーザを対象にしてアクセスの可否を設定するようにしてもよい。そして、その設定情報は、ユーザ登録情報２１に関連付けられて格納される。
【００５２】
データファイル２２は、ユーザ登録情報２１に登録されているユーザの所有するデータファイルである。このデータファイル２２は、テキストデータファイル、画像データファイル、音楽データファイルなどである。データファイル２２は、ユーザの操作に従って各種アプリケーションあるいはＯＳにより生成されたり、編集されたり、削除されたりする。データファイル２２には、他のユーザからのアクセス（閲覧、編集など）の可否を、所有者であるユーザが設定することができる。他のユーザは、所有者と同一のドメインのサーバ装置１，２に登録されている者でも、他のドメインのサーバ装置１，２に登録されている者でもよい。また、他のユーザとして特定のユーザを指定してもよいし、ドメイン単位、所定のグループ単位あるいは全ユーザを対象にしてアクセスの可否を設定するようにしてもよい。そして、その設定情報は、データファイル２２に関連付けられて格納される。
【００５３】
属性ファイル２３は、ユーザのログイン状態情報またはデータファイル２２の属性情報を含むファイルである。ログイン状態情報は、ログインしているか否かの情報を含む。さらに、ログイン状態情報は、ログインからの経過時間、最後に操作を検出してからの経過時間などを含んでもよい。データファイル２２の属性情報は、作成日時、最終更新日時などを含む。さらに、データファイル２２の属性情報は、データファイル２２のサイズなどを含んでもよい。
【００５４】
属性ファイル２３は、ウェブページに適用されるスタイルシートファイルとして生成される。この実施の形態では、属性ファイル２３は、ＣＳＳ（Cascading Style Sheets）ファイルとされる。
【００５５】
ＣＳＳファイルの書式は、規格などにより定められている。ＣＳＳは、「『セレクタ』{『属性』:『値』}」という書式で記述される。このうち、『セレクタ』には、任意の文字列を使用することができる。『属性』および『値』には、任意の文字列を使用することができるが、既定のもの以外は、ウェブクライアントにおいて無視される。このため、この実施の形態では、『属性』および『値』として既定のものが使用される。つまり、上述のログイン状態情報および属性情報は、既定の『属性』および『値』の書式を利用して属性ファイル２３において表現される。なお、『値』としては、プロパティに応じて、既定の単語、任意の数値などを示す文字列が使用可能である。
【００５６】
ウェブページデータ２４は、ＨＴＭＬで記述されており、所定の処理を記述したスクリプトを含むデータである。スクリプトは、ＨＴＭＬのｓｃｒｉｐｔ要素内に記述される。１ウェブページのウェブページデータ２４が１つのファイルに含まれる。この実施の形態では、スクリプトは、ＪａｖａＳｃｒｉｐｔで記述されている。ウェブページデータ２４は、端末装置４などからの要求に応じてサーバ処理部３１により送信される。ウェブページデータ２４は、サーバ装置１の属するドメインＤ１またはサーバ装置２の属するドメインＤ２に属し、所定のＵＲＬ（Uniform Resource Locator）でアクセスされる。
【００５７】
さらに、ウェブページデータ２４の属するドメインＤ１（またはドメインＤ２）以外の別のドメインＤ２（またはドメインＤ２）から情報（上述のログイン状態情報、属性情報など）を取得する必要のある処理がウェブページデータ２４に記述されている場合、そのウェブページデータ２４には、そのウェブページデータ２４と同一のドメインの情報取得用ウェブページに対して適用されるスタイルシートのファイルとして他のドメインに属する属性ファイル２３を他のドメインのサーバ装置１，２から取得させ、取得した属性ファイルから情報を抽出させる処理を実行させるスクリプトが記述されている。
【００５８】
また、通信装置１２は、ネットワーク３を介して、ネットワーク３に接続している他の装置（サーバ装置１，２、端末装置４など）との間でデータ通信を実行する装置である。通信装置１２としては、ネットワークインタフェース、モデムなどが適宜使用される。
【００５９】
また、コンピュータ１３は、図示せぬＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびハードディスクドライブなどの記録媒体を有する。コンピュータ１３では、そのＲＯＭ、記録媒体などに格納されているプログラムがＣＰＵで実行されることにより、各種処理部が実現される。このサーバ装置１，２では、コンピュータ１３により、サーバ処理部３１、ユーザ管理部３２、ファイル操作処理部３３およびサーバ間通信処理部３４が実現される。
【００６０】
サーバ処理部３１は、ＩＰネットワーク上でデータ通信を行う通信機能およびＨＴＴＰサーバ機能を有する処理部である。つまり、サーバ処理部３１は、ＨＴＴＰのＧＥＴコマンドを受信すると、そのコマンドで指定されたＵＲＬのファイルを、データ格納装置１１から読み出して送信したり、そのコマンドで指定されたＵＲＬのＣＧＩを起動しＣＧＩの処理結果を送信したりする。
【００６１】
ユーザ管理部３２は、ＣＧＩが実行されることにより実現され、ログイン管理機能を有する。ユーザ管理部３２は、各登録ユーザがログインしているか否かをそれぞれユーザごとの属性ファイル２３に書き込む。つまり、ユーザ管理部３２は、ある登録ユーザがログインすると、そのユーザのログイン状態情報についての属性ファイル２３における、ログインしているか否かを示すデータの値を、ログインしていることを示す値へ更新し、その登録ユーザがログアウトすると、ログインしているか否かを示すデータの値を、ログインしていないことを示す値へ更新する。
【００６２】
例えば、そのユーザの属性ファイル２３がＣＳＳに従って記述される場合には、ログイン状態情報を格納するセレクタの名称が予め定められており、そのセレクタにおける所定のプロパティの値がログイン時およびログアウト時に更新される。
【００６３】
なお、ユーザ管理部３２は、ログイン処理において、端末装置４で入力されたユーザのＩＤおよびパスワードを受信し、ユーザ登録情報２１を参照して、そのユーザが正規の登録ユーザであるか否かを判定する。
【００６４】
ファイル操作処理部３３は、ＣＧＩが実行されることにより実現されるアプリケーションのサーバサイドの処理部であり、ログイン中の登録ユーザの操作に応じて、データファイル２２の生成、編集、削除などを実行する処理部である。さらに、ファイル操作処理部３３は、データファイル２２の生成に合わせて、そのデータファイル２２用の属性ファイル２３を生成する。また、ファイル操作処理部３３は、データファイル２２の編集に合わせて、そのデータファイル２２用の属性ファイル２３内の属性情報を更新する。ファイル操作処理部３３は、データファイル２２の削除に合わせて、そのデータファイル２２用の属性ファイル２３を削除する。
【００６５】
サーバ間通信処理部３４は、ＣＧＩが実行されることにより実現され、他のサーバ装置のサーバ間通信処理部３４との間で通信を行う処理部である。また、サーバ間通信処理部３４は、他のサーバ装置からデータファイルを取得するとともに、他のサーバ装置のサーバ間通信処理部３４から要求があると、要求されたデータファイル２２を要求元のサーバ装置３４へ送信する。なお、ここでいう他のサーバ装置は、サーバ間通信処理部３４を内蔵するサーバ装置１，２と同一ドメインのサーバ装置でもよいし、異なるドメインのサーバ装置でもよい。つまり、ＣＧＩを使用する際には、両方のサーバ間通信処理部３４により、サーバ装置１とサーバ装置２との間での通信が行われる。
【００６６】
サーバ装置１の構成とサーバ装置２の構成は同一とされるが、ユーザ登録情報２１、データファイル２２および属性ファイル２３の内容は異なる。
【００６７】
図３は、図１における端末装置４の構成を示すブロック図である。図３において、通信装置４１は、ネットワーク３を介して、ネットワーク３に接続している他の装置（サーバ装置１，２など）との間でデータ通信を実行する装置である。通信装置４１としては、ネットワークインタフェース、モデムなどが適宜使用される。入力装置４２は、ユーザ操作を検出し、ユーザ操作に応じた電気信号を出力する装置である。入力装置４２としては、キーボード、マウスなどが使用される。また、表示装置４３は、画像信号に従ってユーザに対して各種情報を表示する装置である。表示装置４３としては、液晶ディスプレイなどが使用される。
【００６８】
コンピュータ４４は、図示せぬＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスクなどの記録媒体、並びに、入力装置４２および表示装置４３を接続されるインタフェースを備える。コンピュータ４４では、そのＲＯＭ、記録媒体などに格納されているプログラムがＣＰＵで実行されることにより、各種処理部が実現される。また、処理部は、インタフェースを介して、入力装置４２で検出されたユーザ操作の情報を取得したり、表示装置４３に情報を表示させたりする。
【００６９】
この端末装置４では、コンピュータ４４により、ウェブクライアント５１が実現される。ウェブクライアント５１は、ＨＴＴＰクライアント機能、ＨＴＭＬ処理機能、スクリプト実行機能などを有する処理部である。ウェブクライアント５１としては、例えばインターネットエクスプローラ（商標）などのウェブブラウザが使用される。
【００７０】
つまり、端末装置４には、例えばＯＳとしてマイクロソフト社のウィンドウズ（商標）などがインストールされ、アプリケーションとしてウェブブラウザが動作するパーソナルコンピュータを使用することができる。
【００７１】
次に、上記システムにおける各装置の動作について説明する。
【００７２】
まず、登録ユーザのログインの処理およびその登録ユーザに対してアクセス許可されているデータファイル（以下、共有ファイルという）のリストを収集する処理について説明する。図４は、サーバ装置１の登録ユーザが端末装置４にログインしている際に、その登録ユーザに対してアクセス許可が設定されている他のユーザのデータファイル２２のリストを収集する処理を説明する図である。
【００７３】
サーバ装置１の登録ユーザが端末装置４を操作して、ウェブクライアント５１を起動させる（ステップＳ１）。
【００７４】
次に、その登録ユーザが入力装置４２を操作してドメインＤ１の所定のＵＲＬを入力しアクセス実行操作をすると、ウェブクライアント５１は、そのＵＲＬに向けて、ログイン画面データの要求を送信する（ステップＳ２）。
【００７５】
その要求は、ネットワーク３上を伝送していき、サーバ装置１のサーバ処理部３１により受信される。サーバ装置１のサーバ処理部３１は、その要求に応じて、ログイン画面のウェブページデータ２４を送信する（ステップＳ３）。
【００７６】
そのウェブページデータ２４は、ネットワーク３上を伝送していき、要求の送信元である端末装置４のウェブクライアント５１により受信される。
【００７７】
ウェブクライアント５１は、そのウェブページデータ２４の内容を解釈し、ログイン画面を表示装置４３に表示させる（ステップＳ４）。そのログイン画面には、ユーザＩＤとパスワードを入力するフィールドが設けられている。その後、それらのフィールドにユーザＩＤとパスワードを入力する操作が入力装置４２により検出されると（ステップＳ５）、ウェブクライアント５１は、ウェブページデータ２４に記述されているスクリプトに従って、入力されたユーザＩＤおよびパスワードをサーバ装置１へ送信する（ステップＳ６）。その際、サーバ装置１のユーザ管理部３２のＣＧＩのＵＲＬが送信先に指定される。
【００７８】
そのユーザＩＤおよびパスワードは、サーバ処理部３１により受信され、ユーザ管理部３２に供給される。ユーザ管理部３２は、そのユーザＩＤおよびパスワードがユーザ登録情報２１に含まれるいずれかの登録ユーザのものと一致するか否かを判定する（ステップＳ７）。
【００７９】
ユーザ管理部３２は、そのユーザＩＤおよびパスワードがユーザ登録情報２１に含まれるいずれかの登録ユーザのものと一致する場合、そのユーザのログインを許可し、セッション情報を、そのウェブクライアント５１へ送信する（ステップＳ８）。セッション情報には、他のユーザのセッションと区別するためのセッションの識別情報が含まれる。また、ユーザ管理部３２は、ログインを許可すると、属性ファイル２３に記述されているその登録ユーザのログイン状態情報を更新する。
【００８０】
ウェブクライアント５１は、ログイン画面でのログインに成功し、セッション情報を受信すると、ウェブＯＳのデスクトップ環境のためのウェブページデータ２４をサーバ装置１に要求する。サーバ装置１のユーザ管理部３２は、その要求に応じて、ウェブページデータ２４を送信する。ウェブクライアント５１は、そのウェブページデータ２４に基づき自己のウィンドウにデスクトップ環境を形成する。図５は、端末装置４のウェブクライアント５１により表示装置４３で表示されるデスクトップ環境の一例を示す図である。図５に示すように、端末装置４のＯＳにより提供されるウィンドウ１０１内に、ウェブクライアント５１によるウィンドウ１０２が存在し、そのウィンドウ１０２にデスクトップ環境が形成される。
【００８１】
なお、この実施の形態では、ネットワーク３を介してサーバ装置１，２および端末装置４の間で行われる通信は、下位層では通信装置１２，４１により実行される。つまり、サーバ処理部３１とウェブクライアント５１との間のＨＴＴＰなどの上位層の通信は、通信装置１２，４１を介して行われる。
【００８２】
次に、そのデスクトップ環境において、ログイン中の登録ユーザに対してアクセス許可が設定されている他のユーザのデータファイル２２のリストを表示する処理について説明する。
【００８３】
その場合、ウェブクライアント５１は、サーバ装置１から取得したウェブページデータ２４内のスクリプトに従って、サーバ装置１のユーザ管理部３２に対して、ログイン中の登録ユーザについての共有ファイルリストの要求を送信する（ステップＳ９）。
【００８４】
サーバ装置１のユーザ管理部３２は、その要求を受信すると、サーバ間通信処理部３４にドメインＤ１内の他のサーバ装置（図示せず）および他のドメインＤ２のサーバ装置２に登録されているユーザによりアクセス許可されている共有ファイルリストを収集させる。また、ユーザ管理部３２は、サーバ装置１に登録されているユーザによりアクセス許可されている共有ファイルリストを収集させる。
【００８５】
サーバ装置１のサーバ間通信処理部３４は、ログイン中の登録ユーザのユーザＩＤとともに、共有ファイルリストの要求を、サーバ装置２のサーバ間通信処理部３４へ送信する（ステップＳ１０）。
【００８６】
サーバ装置２のサーバ間通信処理部３４は、その要求およびユーザＩＤを受信すると、サーバ装置２の登録ユーザのデータファイル２２のうち、そのユーザＩＤに対してアクセス許可が設定されているデータファイル２２のリストを生成し（ステップＳ１１）、サーバ装置１のサーバ間通信処理部３４へ送信する（ステップＳ１２）。サーバ装置１のサーバ間通信処理部３４は、そのリストを受信すると、ユーザ管理部３２に供給する。この共有ファイルリストには、共有ファイル（つまり、データファイル２２）の識別情報（ＵＲＬなど）およびその共有ファイルの属性ファイル２３のＵＲＬが含まれる。また、共有ファイルリストには、共有ファイルの所有者のユーザＩＤ、ニックネームなどのユーザ情報、共有ファイルのアイコン画像データファイル、その他の属性情報が含まれていてもよい。
【００８７】
そして、ユーザ管理部３２は、他のサーバ装置２から収集したリストと、このサーバ装置１で得られたリストとを併合して１つの共有ファイルリストを生成し（ステップＳ１３）、端末装置４のウェブクライアント５１に送信する（ステップＳ１４）。
【００８８】
端末装置４のウェブクライアント５１は、サーバ装置１から取得したウェブページデータ２４内のスクリプトに従って、そのリストを取得すると、共有ファイルのリストを保持し、ウィンドウ１０２内に表示する（ステップＳ１５）。
【００８９】
共有ファイルのリストは、その共有ファイルの所有者ごとに分類して表示されるようにしてもよい。図６は、共有ファイルリストの表示例を示す図である。例えば、図６（Ａ）に示すように、ログインしている登録ユーザに対してアクセス許可を設定しているデータファイル２２の所有者である他のユーザについてユーザアイコン１１１が表示され、そのユーザアイコン１１１がクリックされると、図６（Ｂ）に示すように、小ウィンドウ１１２が開き、その小ウィンドウ１１２に、そのユーザアイコン１１１のユーザの共有ファイルのリスト１１３が表示されるようにしてもよい。リスト１１３は、例えば図６（Ｂ）に示すように、共有ファイルのアイコンおよびファイル名のリストとされる。このように、ウェブクライアント５１は、共有ファイルリストを保持しつつ、その共有ファイルリストから、ユーザ操作に応じて、表示すべきリスト１１３を生成して表示してもよい。
【００９０】
このようにして、ログイン処理および共有ファイルリストの取得が実行される。
【００９１】
次に、ウェブクライアント５１は、サーバ装置１から取得したウェブページデータ２４内のスクリプトに従って、取得した共有ファイルリスト内の各共有ファイルの更新を監視する。図７は、サーバ装置１の登録ユーザが端末装置４にログインしている際に、その登録ユーザに対してアクセス許可が設定されているデータファイル２２の属性情報を定期的に収集する処理を説明する図である。
【００９２】
上述のように共有ファイルリストを取得した後、ウェブクライアント５１は、サーバ装置１から取得したウェブページデータ２４内のスクリプトに従って、共有ファイルの更新を定期的に確認する。したがって、ウェブクライアント５１は、確認のタイミングになると、更新確認処理を開始する（ステップＳ２１）。
【００９３】
ウェブクライアント５１は、サーバ装置１から取得したウェブページデータ２４内のスクリプトに従って、共有ファイルリストから各共有ファイルの属性ファイル２３のＵＲＬを抽出し、各属性ファイル２３の送信要求を送信する（ステップＳ２２）。この送信要求は、そのＵＲＬを指定したＨＴＴＰのＧＥＴコマンドとされる。なお、サーバ装置１の登録ユーザの属性ファイル２３については、送信要求はサーバ装置１へ送信され、サーバ装置２の登録ユーザの属性ファイル２３については、送信要求はサーバ装置１を介さずにサーバ装置２へ送信される。サーバ装置１，２のサーバ処理部３１は、その送信要求を受信すると、要求において指定されている属性ファイル２３を読み出し、要求元のウェブクライアント５１へ送信する（ステップＳ２３）。ウェブクライアント５１は、その属性ファイル２３を取得し、属性ファイル２３から、共有ファイルの属性情報を取得する。
【００９４】
このとき、属性ファイル２３がそのウェブページデータ２４のドメインＤ１と同一のドメインＤ１に属する場合と、属性ファイル２３がそのウェブページデータ２４のドメインＤ１と異なるドメインＤ２に属する場合とで、属性情報の取得方法が異なる。属性情報を取得する際の処理の詳細については後述する。
【００９５】
共有ファイルの属性情報を取得すると、ウェブクライアント５１は、属性情報における最終更新日時に基づいて、共有ファイルが更新されたか否かを判定する（ステップＳ２５）。新規に追加された共有ファイルの場合、および前回共有ファイルを取得した時点より最終更新日時が後である場合には、その共有ファイルは、更新されたものと判定される。なお、共有ファイルを取得する場合には、図６（Ｂ）に示すようなリスト１１３におけるアイコンがクリックされ、ウェブクライアント５１は、その共有ファイルの送信要求をサーバ装置１へ送信する。サーバ装置１のサーバ処理部３１は、同一ドメインＤ１の共有ファイルについては、その共有ファイルを読み出し、ウェブクライアント５１へ送信する。一方、サーバ装置１のサーバ処理部３１は、他のドメインＤ２の共有ファイルについては、サーバ間通信処理部３４を介して他のドメインＤ２のサーバ装置２からその共有ファイルを取得し、ウェブクライアント５１へ送信する。
【００９６】
ウェブクライアント５１は、共有ファイルが更新されていないと判定した場合には、その共有ファイルについての今回の更新確認処理を終了する（ステップＳ２５）。
【００９７】
一方、サーバ装置１，２のファイル操作処理部３３により共有ファイルが追加または更新され（ステップＳ２６）、それに伴い属性ファイル２３が追加または更新された場合（ステップＳ２７）、その後のある時点で、ウェブクライアント５１は、上述と同様にして更新確認処理を開始し（ステップＳ２８）、属性情報を取得すると（ステップＳ２９，Ｓ３０）、共有ファイルが更新されていると判定し（ステップＳ３１）、共有ファイルの更新に対応した処理を実行する（ステップＳ３２）。そして、その処理が完了すると、ウェブクライアント５１は、更新確認処理を終了する（ステップＳ３３）。
【００９８】
共有ファイルの更新に対応した処理では、例えば図６（Ｂ）に示すように、表示された共有ファイルのリスト１１３において、更新された共有ファイルのアイコンの画像が変更される。図８は、更新が検出された共有ファイルのアイコン画像の一例を示す図である。例えば図６（Ｂ）に示す「ｄｏｃｕｍｅｎｔ１」という共有ファイルが更新され、「ｐｉｃｔｕｒｅ１」という共有ファイルが追加された場合、図８に示すように、それらの共有ファイルのアイコン１２１は、更新を示すマークを有する画像で表示される。
【００９９】
このようにして、ＣＳＳファイルである属性ファイル２３の送受により、共有ファイルの属性情報が定期的に取得され、共有ファイルの更新などといった属性情報の変化が検出される。
【０１００】
以上のように、属性ファイル２３は公開領域に格納され、ＣＧＩを介さずに端末装置４により直接取得される。一方、共有ファイル（データファイル２２）は非公開領域に格納され、サーバ装置１，２のＣＧＩ（サーバ間通信装置３４）を介して端末装置４により取得される。
【０１０１】
次に、属性情報を取得する際の処理の詳細について説明する。図９は、属性情報を取得する際の処理の詳細について説明するフローチャートである。
【０１０２】
ウェブクライアント５１は、属性情報を取得する際、属性ファイル２３のＵＲＬを指定して、サーバ装置１から取得したウェブページデータ２４内に記述されたスクリプトを以下のように実行する。
【０１０３】
ウェブクライアント５１は、属性ファイル２３のＵＲＬに基づき、属性ファイル２３がそのウェブページデータ２４と同一のドメインＤ１のものか否かを判定する（ステップＳ４１）。
【０１０４】
ウェブクライアント５１は、取得すべき属性ファイル２３が別のドメインＤ２のものであると判定した場合、ウィンドウ１０２内にインラインフレームを生成し（ステップＳ４２）、そのインラインフレームに適用するウェブページデータ（以下、情報取得用ウェブページデータという）を生成する（ステップＳ４３）。情報取得用ウェブページデータは、ＨＴＭＬにより記述される。また、情報取得用ウェブページデータにおけるｈｅａｄ要素内には、その属性ファイル２３をスタイルシートとしてこの情報取得用ウェブページに適用するためのｌｉｎｋ要素が記述される。さらに、情報取得用ウェブページデータにおけるｂｏｄｙ要素内には、その属性ファイル２３において定義されているセレクタを指定された要素が記述される。また、情報取得用ウェブページデータには、インラインフレームのウィンドウ内で表示されるテキストなどは含まれない。つまり、インラインフレームに情報取得用ウェブページデータを適用しても情報取得用ウェブページデータは処理されるがテキストなどは表示されない。
【０１０５】
図１０は、属性ファイル２３の一例を示す図である。図１１は、図１０に示す属性ファイル２３をスタイルシートに指定している情報取得用ウェブページデータの一例を示す図である。図１１に示す情報取得用ウェブページデータでは、「ｈｔｔｐ：／／ｄｏｍａｉｎ２／ａａａ．ｃｓｓ」という別ドメインＤ２の属性ファイル２３（図１０に示すもの）をスタイルシートとして指定しているｌｉｎｋ要素、およびその属性ファイル２３で定義されているセレクタ「ａｆｓ１」，「ａｆｓ２」，「ａｆｓ３」，「ａｆｓ４」を指定されたｄｉｖ要素が記述されている。さらに、図１１に示す情報取得用ウェブページデータには、この情報取得用ウェブページデータに適用されたスタイルシートのプロパティ値を取得するコールバック用の関数ｇｅｔＶａｌｕｅがＪａｖａＳｃｒｉｐｔでＤＯＭ（Document Object Model）要素を利用して定義されている。この関数では、適用されたスタイルシートの所定のプロパティの値（文字列）が変数ａｒｒに含められ、その変数が関数の戻り値とされる。したがって、生成されたインラインフレームにおいて情報取得用ウェブページデータが適用され、その際に、ＣＳＳファイルとして属性ファイル２３が取得され、インラインフレーム内の情報取得用ウェブページに反映された後に、この関数を読み出すことにより、スタイルシートとして取得された属性ファイル２３に含まれている属性情報が抽出される。なお、図１１に示す情報取得用ウェブページデータにおいて、属性ファイル２３のＵＲＬに、パラメータとして、情報取得用ウェブページデータを生成するたびに生成される乱数を付加してもよい。そのようにすることで、属性ファイル２３を繰り返し取得しても、キャッシュされている属性ファイル２３を取得せずに済む。
【０１０６】
このような情報取得用ウェブページデータを生成すると、ウェブクライアント５１は、その情報取得用ウェブページデータをインラインフレームに適用する（ステップＳ４４）。
【０１０７】
このとき、ウェブクライアント５１は、情報取得用ウェブページデータを解釈し、情報取得用ウェブページデータのｌｉｎｋ要素に記述されている属性ファイル２３をＣＳＳファイルとして取得し、その情報取得用ウェブページに適用する（ステップＳ４５）。この処理が、図７におけるステップＳ２２，２３の処理およびステップＳ２９，Ｓ３０の処理に相当する。
【０１０８】
ＣＳＳファイルとしての属性ファイル２３の、情報取得用ウェブページへの適用が完了すると、ウェブクライアント５１は、コールバック関数を実行し、そのコールバック関数内で上述の関数ｇｅｔＶａｌｕｅを使用して、情報取得用ウェブページに適用されたスタイルシートのプロパティの値として属性情報を取得する（ステップＳ４６）。
【０１０９】
このようにして、他のドメインＤ２の共有ファイルについては、クロスドメイン制限を受けずに、かつサーバ装置１，２のＣＧＩを使用することなく、他のドメインＤ２の共有ファイルの属性情報が取得される。
【０１１０】
なお、上述の説明では、１つの属性ファイル２３を取得しているが、取得すべき属性ファイル２３の数と同数の同様の処理を順番にあるいは並行して実行することにより、複数の属性ファイル２３を取得することができる。なお、同様の処理を順番に実行する場合には、生成したインラインフレームを複数の情報取得用ウェブページに使用するようにしてもよい。また、上述の処理では、インラインフレームを新たに生成しているが、その代わりに、既に生成済みのインラインフレームを使用するようにしてもよい。また、インラインフレームの代わりに、画面分割フレームを使用するようにしてもよい。また、インラインフレームのウィンドウを表示する必要はないので、インラインフレームは不可視の状態で生成してもよい。また、属性情報の取得が完了した後に、インラインフレームは削除してもよいし、他の属性ファイル２３の取得に利用してもよい。
【０１１１】
一方、取得すべき属性ファイル２３がウェブページデータ２４と同一のドメインＤ１のものであると判定した場合、ウェブクライアント５１は、ＸＭＬＨＴＴＰリクエストで、その属性ファイル２３を取得する（ステップＳ４７）。この処理が、図７におけるステップＳ２２，２３の処理およびステップＳ２９，Ｓ３０の処理に相当する。その際、取得に失敗した場合には（ステップＳ４８）、ウェブクライアント５１は、他のドメインＤ２の属性情報を取得する場合と同様にして、属性情報を取得する（ステップＳ４２〜Ｓ４６）。ウェブクライアント５１は、ＸＭＬＨＴＴＰリクエストにより属性ファイル２３を取得すると、その属性ファイル２３から属性情報を取得する（ステップＳ４９）。
【０１１２】
このようにして、同一のドメインＤ１の共有ファイルの属性ファイル２３については、通常の方法で、ＸＭＬＨＴＴＰリクエストを使用して属性情報が取得される。
【０１１３】
さらに、他のユーザのログイン状態情報を取得するようにしてもよい。
【０１１４】
その場合、端末装置４からサーバ装置１へログインしたユーザに対してログイン状態情報の公開を許可している他のユーザのリスト（以下、ユーザリストという）が、ログイン処理後に上述の共有ファイルリストと同様にして収集されウェブクライアント５１へ供給される。ユーザリストには、ユーザごとに、ユーザＩＤおよびその他の属性情報並びにログイン状態情報を含む属性ファイル２３のＵＲＬが含まれる。
【０１１５】
そして、ユーザリストがウェブクライアント５１により取得されると、例えば図６に示すように、ユーザリストに含まれる各ユーザのアイコン１１１がウィンドウ１０２に表示される。
【０１１６】
その後、上述の共有ファイルの更新を監視する場合と同様にして、ユーザリストに含まれる各ユーザのログイン状態情報が定期的に確認される。その際、ユーザリストにおいて指定されている各ユーザの属性ファイル２３が定期的に取得される。その属性ファイル２３もＣＳＳファイルであり、上述の共有ファイルの属性ファイル２３と同様にして、ウェブクライアント５１により取得される。そして、その属性ファイル２３からユーザのログイン状態情報が抽出される。
【０１１７】
このようにして取得されたログイン状態情報は、例えば、ユーザのアイコン１１１の表示制御に使用される。図１２は、ログイン状態情報に応じたユーザのアイコンの表示例を示す図である。図１２に示すように、ログイン状態情報を取得可能な他のユーザのうち、ログイン中であるユーザのアイコン１１１ａは、カラーで表示され、ログイン中であるユーザのアイコン１１１ｂは、グレースケールで表示されるようにしてもよい。このように、ログインしているか否かに応じてデスクトップに表示されるユーザのアイコンの画像を変化させることができる。また、ログイン中のユーザのアイコン１１１ａのみを表示し、ログイン中でないユーザのアイコン１１１ｂは表示しないようにしてもよい。さらに、ログインしているか否か、最終操作からの経過時間などに応じて、アイコン１１１ａ，１１１ｂのサイズ、形状などを変更するようにしてもよい。
【０１１８】
ログイン状態情報を定期的に取得することにより、ウェブクライアント５１において、各時点での他のユーザのログイン状態を確認することが可能となる。
【０１１９】
以上のように、上記実施の形態に係るシステムは、ドメインＤ１に属するサーバ装置１と、ドメインＤ１と異なるドメインＤ２に属するサーバ装置２と、サーバ装置１からウェブページデータ２４を取得し、ウェブページデータ２４に記述されている処理の実行に伴って要求される情報をサーバ装置２から取得する端末装置４とを備える。サーバ装置２は、その情報を含む属性ファイル２３をスタイルシートファイルとして格納する。ウェブページデータ２４には、ドメインＤ１における情報取得用ウェブページに対して適用されるスタイルシートのファイルとして属性ファイル２３をサーバ装置２から取得しその情報を抽出する処理が記述されている。そして、端末装置４のウェブクライアント５１は、ウェブページデータ２４を解釈し、サーバ装置２から属性ファイル２３を取得し、その属性ファイル２３からその情報を抽出する。
【０１２０】
これにより、セキュリティを維持しつつ、サーバ装置１，２の負荷を極端に増加させずに、ドメインＤ１のウェブページデータ２４に記述された処理においてドメインＤ２から情報を取得することができる。
【０１２１】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【０１２２】
例えば、上記実施の形態において、サーバ装置１，２は、それぞれ、複数のコンピュータにより上述の機能を実現している構成であってもよい。
【０１２３】
また、上記実施の形態において、ウェブページデータ２４は、ＣＧＩにより動的に生成されるものであってもよい。
【０１２４】
また、上記実施の形態においては、一例として、ドメインＤ１のウェブページデータ２４に記述された処理において、ドメインＤ２の情報を取得しているが、ドメインＤ２のウェブページデータ２４に記述された処理において、ドメインＤ１の情報を同様に取得することも可能である。
【０１２５】
また、上記実施の形態において、ＣＧＩに使用される言語には、ｐｅｒｌ、ＰＨＰ（Hypertext Preprocessor）などが適宜採用される。
【産業上の利用可能性】
【０１２６】
本発明は、例えば、マルチドメイン構成のマルチユーザウェブＯＳに適用可能である。
【図面の簡単な説明】
【０１２７】
【図１】本発明の実施の形態に係る情報処理システムの構成を示すブロック図である。
【図２】図１におけるサーバ装置の構成を示すブロック図である。
【図３】図１における端末装置の構成を示すブロック図である。
【図４】サーバ装置の登録ユーザが端末装置にログインしている際に、その登録ユーザに対してアクセス許可が設定されているデータファイルのリストを収集する処理を説明する図である。
【図５】端末装置のウェブクライアントにより表示装置で表示されるデスクトップ環境の一例を示す図である。
【図６】共有ファイルリストの表示例を示す図である。
【図７】サーバ装置の登録ユーザが端末装置にログインしている際に、その登録ユーザに対してアクセス許可が設定されているデータファイルの属性情報を定期的に収集する処理を説明する図である。
【図８】更新が検出された共有ファイルのアイコン画像の一例を示す図である。
【図９】属性情報を取得する際の処理の詳細について説明するフローチャートである。
【図１０】属性ファイルの一例を示す図である。
【図１１】図１０に示す属性ファイルをスタイルシートに指定している情報取得用ウェブページデータの一例を示す図である。
【図１２】ログイン状態情報に応じたユーザのアイコンの表示例を示す図である。
【符号の説明】
【０１２８】
１  サーバ装置（第１サーバ装置）
２  サーバ装置（第２サーバ装置）
４  端末装置
１２  通信装置
２３  属性ファイル（スタイルシートファイル）
２４  ウェブページデータ
３１  サーバ処理部（サーバ処理部，通信処理部）
３２  ユーザ管理部（ユーザ管理部，リスト送信処理部の一部）
３４  サーバ間通信処理部（リスト送信処理部の一部）
１０２  ウィンドウ
Ｄ１  ドメイン（第１ドメイン）
Ｄ２  ドメイン（第２ドメイン）
【図１】
2010015332.tif 000003
【図２】
2010015332.tif 000004
【図３】
2010015332.tif 000005
【図４】
2010015332.tif 000006
【図５】
2010015332.tif 000007
【図６】
2010015332.tif 000008
【図７】
2010015332.tif 000009
【図８】
2010015332.tif 000010
【図９】
2010015332.tif 000011
【図１０】
2010015332.tif 000012
【図１１】
2010015332.tif 000013
【図１２】
2010015332.tif 000014