JPWO2007132848A1 - 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム - Google Patents

別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム Download PDF

Info

Publication number
JPWO2007132848A1
JPWO2007132848A1 JP2008515564A JP2008515564A JPWO2007132848A1 JP WO2007132848 A1 JPWO2007132848 A1 JP WO2007132848A1 JP 2008515564 A JP2008515564 A JP 2008515564A JP 2008515564 A JP2008515564 A JP 2008515564A JP WO2007132848 A1 JPWO2007132848 A1 JP WO2007132848A1
Authority
JP
Japan
Prior art keywords
program
information
domain
area
browse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008515564A
Other languages
English (en)
Other versions
JP4807411B2 (ja
Inventor
岳史 藤田
岳史 藤田
勉 河内
勉 河内
慶一 小川
慶一 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008515564A priority Critical patent/JP4807411B2/ja
Publication of JPWO2007132848A1 publication Critical patent/JPWO2007132848A1/ja
Application granted granted Critical
Publication of JP4807411B2 publication Critical patent/JP4807411B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

【課題】 HTTPクライアントのセキュリティ制限に則ったスクリプト言語を実行しつつ別ドメインのデータを利用できるようにする。【解決手段】 第1ドメインからHTTPクライアントに提供された主プログラムが、第1プログラムを実行し、当該第1プログラムが、第2ドメインからHTTPクライアントに提供される第2プログラムの起動を付勢する。当該第2プログラムは、第2ドメインから所定の情報を取得する。また、第2プログラムは、第1ドメインからHTTPクライアントに提供される第3プログラムの起動を付勢する。更に、第2プログラムは、第2ドメイン提供のデータを当該第3プログラムの実行領域に引き渡す。第3プログラムは、第1プログラムに対し、第2プログラムから渡された第2ドメイン提供のデータを引き渡す。そして、第1ドメインからHTTPクライアントに提供された主プラグラムが、第3プログラムから第1プログラムに渡された第2ドメイン提供のデータを利用する。【選択図】 図1

Description

本発明は、あるドメインを表示するクライアントが別ドメインの情報を利用する方法に係り、特に、HTTP(HyperText Transfer Protocol)クライアントのセキュリティ制限に則ったスクリプト言語(Javascript(登録商標)など)を実行しつつ別ドメインの情報を利用する方法に関する。
従来、HTTPクライアント(ブラウザ)のセキュリティ制限に則ったスクリプト言語(Javascript(登録商標)など)では、別々のドメインを表示しているクライアント同士では、互いに表示領域内のデータのやり取りをすることはできなかった。
出願人は、これに関する公知技術文献の存在を知らない。
本発明は、かかる従来例の有する不都合を改善し、特に、HTTPクライアント(ブラウザ)のセキュリティ制限に則ったスクリプト言語を実行しつつ別ドメインの情報を利用できるようにすることを課題とする。
上記課題を解決するため、第1の発明では、以下の構成を採っている。
前提として、第1ドメインのHTTPサーバからHTTPクライアントに提供された主プログラムが、当該主プログラムの実行中に、第2ドメインのHTTPサーバから提供される情報を利用することを考える。
まず、第1ドメインのHTTPサーバからHTTPクライアントに提供された主プログラムが、任意のドメインのHTTPサーバから提供された第1プログラムを実行し、当該第1プログラムが、第2ドメインのHTTPサーバからHTTPクライアントに提供される第2プログラムの起動を付勢する。当該第2プログラムは、第2ドメインのHTTPサーバから所定の情報を取得し記憶手段に格納する。また、第2プログラムは、第1ドメインのHTTPサーバからHTTPクライアントに提供される第3プログラムの起動を付勢する。更に、第2プログラムは、記憶手段に格納した第2ドメイン提供の情報を当該第3プログラムの実行領域に引き渡す。第3プログラムは、第1プログラムに対し、第2プログラムから引き渡された第2ドメイン提供の情報を引き渡す。そして、第1ドメインのHTTPサーバからHTTPクライアントに提供された主プラグラムが、第3プログラムから引き渡された第2ドメイン提供の情報を主プログラムの実行に利用する。
また、第2の発明では、上記方法において、第1プログラムであるデータ要求プログラムの識別子を記憶手段に格納する。第1プログラムであるデータ要求プログラムは、記憶手段に格納されたデータ要求プログラムの識別子を第2プログラムであるデータ分配プログラムに渡す。データ分配プログラムは、データ要求プログラムから渡された当該データ要求プログラムの識別子を第3プログラムである転送プログラムに渡す。転送プログラムは、データ分配プログラムから渡されたデータ要求プログラムの識別子を第2ドメイン提供の情報に関連付けて主プログラムを実行中のHTTPクライアントに渡す。主プログラムを実行中のHTTPクライアントは、転送プログラムから渡されたデータ要求プログラムの識別子に基づいてデータ要求プログラムに第2ドメイン提供の情報を渡す。そして、データ要求プログラムは、HTTPクライアントから渡された第2ドメイン提供の情報を主プログラムに利用させる。
また、第3の発明では、第2ドメインのサーバから情報を取得する第2ドメインの情報取得ブラウズ領域と、当該情報を情報利用ブラウズ領域に渡す第1ドメインの情報転送ブラウズ領域と、この情報転送ブラウズ領域から前記情報を取得して利用する第1ドメインの前記情報利用ブラウズ領域と、これら各ブラウズ領域を含む複数のブラウズ領域をノード(根、枝、節点、葉を含む)とする木の構造を記憶する記憶手段と、前記情報転送ブラウズ領域で実行される情報転送プログラムとを備える。前記第2ドメインの情報取得ブラウズ領域は、前記第2ドメインのサーバから情報を取得し、当該情報を記憶手段に格納する。当該第2ドメインの情報取得ブラウズ領域で実行されるプログラムは、前記第1ドメインの情報転送ブラウズ領域を開き、この情報転送ブラウズ領域に前記記憶手段に格納した前記第2ドメインのサーバから取得した情報を渡す。前記情報転送ブラウズ領域で実行される情報転送プログラムは、前記記憶手段に格納された木の構造を参照し、前記情報利用ブラウズ領域を選択する。そして、当該選択した第1ドメインの情報利用ブラウズ領域に、前記記憶手段に格納された前記第2ドメインのサーバから取得した情報を渡す。以上の処理をコンピュータが実行する。
また、第4の発明は、上述の情報転送プログラムであって、情報利用ブラウズ領域に設定された転送先識別子を取得するステップと、記憶手段に記憶された木の構造に含まれるノードのブラウズ領域から情報利用ブラウズ領域に設定された転送先識別子と同一の転送先識別子が設定されたブラウズ領域を選択するステップと、当該選択したブラウズ領域である情報利用ブラウズ領域に第2ドメインのサーバから取得した情報を渡すステップとをコンピュータに実行させる。
これによると、情報を要求する第1ドメインのブラウズ領域は第1ドメインのブラウズ領域から情報を取得することになるため、スクリプト言語の使用において、HTTPクライアントのセキュリティ制限の範囲内で、第2ドメインの情報を第1ドメインにおいて利用できるようになる。
[実施形態1]
以下、本願の第1発明に対応する実施形態を図面を参照しつつ説明する。
[構成の説明]
図1において、ドメイン(1)のHTTPサーバは、サーバコンピュータにより実行される。図中、ドメイン(1)のHTTPサーバを2つ図示しているが、これは図示の便宜によるもので、両者は同一のHTTPサーバを示している。同じく、ドメイン(2)のHTTPサーバがサーバコンピュータにより実行されている。HTTPサーバが取り扱うデータやプログラムは、すべてサーバコンピュータが備えるHDD(Hard Disk Drive)等の記憶手段との間で入出力される。
一方、これらのHTTPサーバを利用するHTTPクライアントはクライアントコンピュータによって実行される。HTTPクライアントは、ドメイン(1)のHTTPサーバと通信するものと、ドメイン(2)のHTTPサーバと通信するものとの2種類が登場するが、詳しくは動作説明において述べる。HTTPクライアントが取り扱うデータやプログラムは、すべてクライアントコンピュータの備えるHDD等の記憶手段との間で入出力される。本実施形態では、HTTPクライアントとして、マイクロソフト社のインターネットエクスプローラを同社のWindows(登録商標)のOS環境で利用していることを想定している。
[動作説明]
次に、全体の動作説明を図中のA〜Fの矢印に沿って、説明する。以下の種々のプログラムの動作は、コンピュータがそのプログラムを実行することにより実現される。
[動作A]
クライアントコンピュータのユーザは、入力装置を操作し、コンテンツプログラムの読み込みをHTTPクライアントに要求する。この要求を受けたHTTPクライアントは、ドメイン(1)のHTTPサーバに対し、コンテンツプログラムの提供を要求する。
ドメイン(1)のHTTPサーバは、要求されたコンテンツプログラムを記憶手段から読み出し、要求元のHTTPクライアントに提供する。
ここで、コンテンツプログラムは、本実施形態において、クライアントコンピュータのユーザに対し種々の情報を提供するHTMLとする。このHTMLには、Javascript(登録商標)のロジックを含み、以下、このロジックをデータ要求プログラム(第1プログラム)と呼ぶ。
コンテンツプログラムの提供を受けたドメイン(1)のHTTPクライアントは、データ要求プログラムを含むコンテンツプログラム(主プログラム)を実行する。
コンテンツプログラムは、表示装置等の出力装置を介してクライアントコンピュータのユーザに所定の情報を提供する。また、コンテンツプログラムは、データ要求プログラムの実行段になると、データ要求プログラムを作動する。ここで、データ要求プログラムには、所定のコールバック関数が実装されていることを想定している。データ要求プログラムの実行は、例えば、ユーザがデータ要求プログラムの実行を入力装置から指示したときに行ってもよい。
[動作BおよびC]
データ要求プログラムは、ドメイン(1)のコンテンツプログラムが、ドメイン(2)のHTTPサーバから提供されるデータを利用するために動作する。データ要求プログラムは、まず、ドメイン(2)と通信するHTTPクライアントを起動し、このHTTPクライアントに、ドメイン(2)のHTTPサーバからデータ取得プログラムおよびデータ分配プログラムを取得させる。ここで、データ取得プログラムおよびデータ分配プログラムは、Javascript(登録商標)のロジックとしてHTMLに含まれている。このドメイン(2)のHTTPサーバへのリクエストは、本実施形態においてGETメソッドにより行う。データ要求プログラムは、このGETメソッドをドメイン(2)のHTTPクライアントに指示する際に、データ要求プログラムの識別子idを出力し、データ分配プログラムがデータ要求プログラムのidを取得できるようにする。即ち、Javascript(登録商標)のプログラムでは、locationオブジェクトのプロパティを参照することによって当該プログラムを実行しているブラウズ領域にて表示されるHTMLのURI(Uniform Resource Identifier)に関する情報を取得できるので、ドメイン(2)のHTTPクライアントにGETメソッドを指示する際に、引数としてデータ要求プログラムの識別子idを渡せば、ドメイン(2)のHTTPクライアントで実行されるデータ分配プログラムはデータ要求プログラムの識別子idを取得することが可能となる。(尚、以降においても、特に断りのない限り、GETメソッドの引数としてHTMLブラウズ領域間でデータを渡す際には、同じ原理を利用している。)ここで、識別子idは、例えばデータ要求プログラムの関数名やコールバック関数の関数名のようなものでよい。ここまでの処理を終えたデータ要求プログラムは、コールバック関数が処理を待つ状態になる。その間コンテンツプログラムは他の処理を継続することができる。
ドメイン(2)のHTTPサーバは、ドメイン(2)のHTTPクライアントからの要求を受け、データ取得プログラムおよびデータ分配プログラムを準備し、ドメイン(2)のHTTPクライアントに提供する。データ分配プログラムには、データ要求プログラムのidが渡される。
データ取得プログラムおよびこの提供を受けたHTTPクライアントは、まず、データ取得プログラム(第2プログラム)を実行する。データ取得プログラムは、ドメイン(1)のコンテンツプログラムが利用を欲するデータを、ドメイン(2)のHTTPサーバから取得する動作を行う。データ取得プログラムは、例えば、入力装置からのイベントをトリガーとして所定のデータの取得をドメイン(2)のHTTPサーバに対し要求する。この要求を受けたドメイン(2)のHTTPサーバは、要求されたデータを準備し、データ取得プログラムに提供する。データ取得プログラムはドメイン(2)のHTTPサーバから取得したデータを記憶手段に格納する。
[動作DおよびE]
続いて、ドメイン(2)のHTTPクライアントは、データ分配プログラム(第2プログラム)を実行する。データ分配プログラムは、データ取得プログラムが記憶手段に格納したデータがGETメソッドで授受可能な長さであるかを判断し、GETメソッドで授受可能な長さを超えている場合は、GETメソッドで授受可能な長さのデータに分割し、分割した各データ片vに通し番号pを付加する。また、先頭のデータ片に分割したデータ片の個数numを付加する。そして、データ分配プログラムは、これらのデータ片と付加情報との関連付けを記憶手段に格納する。
続いて、データ分配プログラムは、ドメイン(1)のHTTPサーバと通信するHTTPクライアントを起動すると共に、当該HTTPクライアントが管理するプログラム実行領域を先ほど分割したデータ片の数だけ生成させる。本実施形態では、データの分割数が3個であると仮定し、プログラム実行領域(1)〜(3)を図示した。このプログラム実行領域は、本実施形態において、iframeタグにより生成するフレームとする。また、データ分配プログラムは、先ほど分割した各データ片を記憶手段から読み出し、各データ片を個別に個々のプログラム実行領域(1)〜(3)に分配する。この際、GETメソッドを用いる。
データ分配プログラムは、プログラム実行領域(1)〜(3)にそれぞれGET文を与える。各GET文には、先ほど分割したデータ片をGET文の引数として添付する。更に、各GET文にはデータ片だけでなく、各データ片に関連付けた付加情報とデータ要求プログラムのidも引数として添付する。
具体的には、プログラム実行領域(1)に実行させるGET文の引数には、データ要求プログラムのidと、データ片の分割数num=3と、データ片の通し番号p=0と、先頭のデータ片v=データ片(1)とを添付する。プログラム実行領域(2)に実行させるGET文の引数には、データ要求プログラムのidと、データ片の通し番号p=1と、2番目のデータ片v=データ片(2)とを添付する。プログラム実行領域(3)に実行させるGET文の引数には、データ要求プログラムのidと、データ片の通し番号p=2と、3番目(末尾)のデータ片v=データ片(3)とを添付する。
また、各GET文がリクエストするアドレスは、ドメイン(1)のHTTPサーバが提供する転送プログラムのアドレスとする。
このGET文を各プログラム実行領域(1)〜(3)に渡すことにより、ドメイン(2)のHTTPサーバから取得したデータのデータ片がドメイン(1)のHTTPクライアントに渡ることになる。
各プログラム実行領域(1)〜(3)からのGETリクエストを受けたドメイン(1)のHTTPサーバは、要求された転送プログラムを記憶手段から読み出し、各プログラム実行領域(1)〜(3)に提供する。
一方、データを分割せずにGETメソッドで渡せる長さであれば、プログラム実行領域は1つだけ生成すれば足りる。この際、データ分割数num=1とすればよいだろう。
[動作F]
各プログラム実行領域(1)〜(3)は、ドメイン(1)のHTTPサーバから提供された転送プログラム(第3プログラム)を実行する。転送プログラムはJavascript(登録商標)のロジックを含むHTMLとする。
各転送プログラム(1)〜(3)は、まず、データ要求プログラムが実行されているHTTPクライアントを把握する。この方法は、本実施形態において、windowオブジェクトのself.parent.parentプロパティを参照することにより把握することができる。
続いて、各転送プログラム(1)〜(3)は、GET文によりデータ分配プログラムから渡されたデータ要求プログラムのidと、データ片の分割数numと、データ片の通し番号pと、データ片の実体vとを関連付け、それらをデータ要求プログラムを実行中のHTTPクライアントに引き渡す。この引渡しは、各転送プログラム(1)〜(3)から同一のHTTPクライアントに対し個別に行われる。これらの情報を受けたHTTPクライアントは、データ要求プログラムのidに基づいて処理待ち状態のデータ要求プログラムを探し、そのデータ要求プログラムに、各転送プログラムからのデータ分割数numの値と、データ片の通し番号pおよびデータ片vの関連付けと、を引き渡す(本実施形態においてnumの値は転送プログラム(1)からのみ提供される)。
ここで、各転送プログラムからデータ要求プログラムへのデータの引渡しは、各転送プログラムがデータ要求プログラムを呼ぶ処理と同時に行うことができる。例えば、コンテンツプログラム中にあるデータ要求プログラムのコールバック関数が「cbfunc」という名前の関数であるとする。同関数は、転送プログラムから見て、親の親に実装されている関数なので、転送プログラムのロジック内で、self.parent.parent.cbfunc(arg1,arg2,...)を実行することにより、引数arg1,arg2,・・・がデータ要求プログラムへ引き渡される。
ドメイン(1)のHTTPクライアントから同じドメイン(1)のHTTPクライアントへ値を渡すことになるので、HTTPクライアントのセキュリティ制限の範囲内で値を渡すことができる。
データ要求プログラムは、この値を受けて処理を再開し、まず、データ分割数numに対応する数のデータ片vを受信したか判断し、分割したすべてのデータ片が揃っていれば、各データ片vをデータ片の通し番号pの順序に並べて連結し、これにより、ドメイン(2)のHTTPサーバから提供されたデータを再構成する。
そして、データ要求プログラムは、再生したデータをコンテンツプログラムに渡し、コンテンツプログラムは、当該ドメイン(2)のHTTPサーバから提供されたデータに基づいてユーザへ提供するサービスを変更することが可能となる。
[適用の具体例]
例えば、ドメイン(2)のHTTPサーバにユーザ認証の機能を持たせ、ドメイン(1)のコンテンツがドメイン(2)のユーザ認証の結果データを利用して、ユーザに提供するサービスを区別することが考えられる。
[実施形態1の効果]
コンテンツの製作者は、製作者サイドで必要なスクリプト言語の記述を用意するだけで別ドメインの認証サービス等のデータを利用することができる。このため、例えばセキュリティに優れたECサイト等を簡単に構築することができ、かつ、サーバサイドの作りこみを新たに行うことなく別ドメインのデータを利用することができる。また、GETメソッドで渡すことのできない長いデータでも、データ片に分割してGETメソッドを利用し、コンテンツプログラムを実行するHTTPクライアントの側でデータ片を連結しデータを再生するので長いデータに対してもGETメソッドを利用してデータを渡すことができる。
[変形例]
本発明は上記実施形態に限られない。例えば、データ分配プログラムがドメイン(1)に開くプログラム実行領域はiframeタグによるフレームに限らず、プログラム実行領域ごとに個別のwindowオブジェクトを開いてもよい。また、データ分割数numの値を先頭のデータ片だけに関連付ける実施形態としたが、すべてのデータ片にデータ分割数numを関連付けることも考えられるし、逆に、データ片にはデータ分割数を関連付けずに、データ分割数numの値だけを渡すプログラム実行領域を一つ多く生成して値を渡してもよい。
また、データ分配プログラムからドメイン(1)のプログラム実行領域へデータを渡す他の方法としてはGETメソッドを用いずにPOSTメソッドを利用する方法もある。この場合、例えば、ドメイン(1)のHTTPサーバにPOSTに対応するCGI等を予め準備しておき、データ分配プログラムはデータをPOSTでドメイン(1)のHTTPサーバに渡し、CGI側でデータを埋め込んだプログラムをプログラム実行領域に提供すればよい。また、データ要求プログラムが起動するHTTPクライアントは、非表示で動作させることもできるし、必要に応じて表示させる仕様としてもよい。また、データ要求プログラムが起動するHTTPクライアント及びデータ分配プログラムが起動するHTTPクライアントは、起動の方法が新規ウィンドウであるかフレームであるかを問わない。
[データ分割に関する変形例]
上述した「別ドメインの情報を取得する方法」の実施形態において、動作D〜Fの説明では、データ分割プログラムがGETメソッドで授受可能な長さにデータを分割し、データ要求プログラムが当該分割されたデータ片を連結する処理を説明した。ここでは、当該データの分割に関する変形例を紹介する。
例えば、分割の対象となる元情報が以下の情報であると仮定する。
name=ogawa&date=20060531&domain=kawachi.com&path=index.html&permission=all&perfect
データ分割プログラムは、上記の元情報を予め決められたルールに従って分割し、複数の情報片に分ける。情報片とは、元情報を構成する要素をいう。元情報を情報片に分ける際の分け方は、上記実施形態で紹介したものをはじめ種々考えられるが、例えば、一定の文字数ごとに分割することや、偶数文字と奇数文字の組に分割すること、また、パラメータを繋いでいる「&」のところで分割し、name、date、domain等の変数ごとに分割した情報片としてもよい。このような場合は、情報片の全体を受け取るまで処理を待つのではなく、name、domainの情報片を受け取った段階でその他の変数を無視してname、domainの情報だけからなる情報を再構成して利用するようにデータ要求プログラム側であらかじめ決めておくことも考えられる。また例えば、一の情報片は、name=ogawa&date=20060531、他の情報片は、date=20060531&domain=kawachi.comのように、一部の要素を重複して持っていてもよい。一つの情報片は、GETメソッドで渡せる長さの情報に収まっていれば分割のルールは問わない。
また、データ分割プログラムは、分割した各情報片を識別するために情報片識別子を情報片ごとに設定するようにしてもよい。上記実施形態における「通し番号」は、この情報片識別子に相当する。情報片識別子は、例えば、分割した情報片の並び順を1,2,3,…のような連番で与えてもよいし、情報片を上記のようにパラメータごとに区切った場合は、name、date等の各パラメータの変数名を情報片識別子として利用してもよい。
また、データ分割プログラムは、各情報片に対して元情報の識別子を与えてもよい。これは、元情報の再構成に必要な情報片を元情報の識別子に基づいてデータ要求プログラム側で選別できるようにするためである。元情報の識別子は、情報片ごとに同一の識別子を与えてもよいし、情報片に異なる識別子を与えてもよい。情報片に異なる識別子を与える場合、当該異なる識別子を共通の元情報に関連付ける方法をデータ要求プログラム側に登録しておき、データ要求プログラムが、当該元情報に関連付ける方法を参照して、元情報を共通とする情報片を選択することが考えられる。
[実施形態2]
次に、本願の第2発明に対応する実施形態を説明する。
[構成の説明]
図2は、本実施形態に使用するコンピュータシステムの構成図である。本実施形態に使用するコンピュータシステムは、一般的なパーソナルコンピュータの要素を備えており、キーボードやポインティングデバイスなどの入力手段1と、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、リムーバブルメディアなどの記憶手段2と、ディスプレイモニターなどの表示手段3と、CPU(Central Processing Unit)などの処理手段4と、NIC(Network Interface Card)などの通信手段5とを備えている。
図3は、本実施形態において、上記処理手段4が実行するソフトウェアの構造図である。本実施形態においては、OS(Operating System)11上でHTTPクライアント12を実行し、HTTPクライアント12が、複数のブラウズ領域を表示又は非表示にて提供する。ここで、ブラウズ領域とは、HTTPクライアント12が管理するウィンドウ・オブジェクト又はフレーム・オブジェクトを指す。以下、ウィンドウ・オブジェクトおよびフレーム・オブジェクトを総称してウィンドウ・オブジェクトと呼ぶことにする。また、OS11は、ハードウェアドライバ14を介して図1に示したハードウェア10に対し、入出力を行う。
[動作説明]
図4は、HTTPクライアント12の上で構成される複数のブラウズ領域の関係図である。上下に詰まれた各ブロックは、各々が異なるブラウズ領域を示している。上下に詰まれたブラウズ領域は、下が親(上位)であり、上が子(下位)の関係になっている。本実施形態では、各ブラウズ領域にて実行されるプログラムが、Javascript(登録商標)であるとして以下の説明を行う。以下の動作は、処理手段4がプログラムを実行することによって実現される。
ドメインBの情報取得ブラウズ領域は、ドメインBのHTTPサーバから情報を取得し、当該情報を記憶手段2に格納する。
次いで、当該ドメインBの情報取得ブラウズ領域で実行されるプログラムが、ドメインAの情報転送ブラウズ領域を開き、この情報転送ブラウズ領域に、記憶手段2に格納したドメインBのサーバから取得した情報を渡す。
新規に開いたブラウズ領域への情報の渡し方は幾つか考えられる。一つは、GETメソッドを利用する方法である。GETメソッドを用いて新規にウィンドウ・オブジェクトを開くとき、そのURIのパラメータにドメインBから取得した情報を付加しておく。新規に開いたブラウズ領域、即ち、情報転送ブラウズ領域では、Javascript(登録商標)のロジックを含み、当該情報転送ブラウズ領域にて実行されるプログラムがlocationオブジェクトのプロパティを参照することによって、ドメインBから取得した情報を受け取ることができる。
情報転送ブラウズ領域で実行される情報転送プログラムは、記憶手段2に格納された各ブラウズ領域の親子関係を参照し、当該情報転送ブラウズ領域から親又は親の親を辿って見つけられるブラウズ領域を選択する。ここで選択するブラウズ領域を、以降の説明の便宜上、「選択ブラウズ領域」と呼ぶことにする。
図4の例では、ドメインBの情報取得ブラウズ領域と、ドメインCのブラウズ領域とが、情報転送ブラウズ領域から順に親を辿って見つけられるので、選択の対象となる。つまり、情報取得ブラウズ領域より上位にあるブラウズ領域を順次選択する。親を辿る方法としては、例えば、ウィンドウ・オブジェクトのopenerプロパティを参照する方法や、フレームオブジェクトのparentプロパティを参照する方法がある。
また、情報転送プログラムは、記憶手段2に格納された親子関係を参照し、上記選択したブラウズ領域及び当該選択したブラウズ領域を親又は親の親を辿って見つけられるブラウズ領域の中からドメインAの情報利用ブラウズ領域を選択する。換言すれば、情報転送プログラムは、記憶手段2に格納された親子関係を参照し、上記選択したブラウズ領域及び当該選択したブラウズ領域から子又は子の子を辿って見つけられるブラウズ領域の中からドメインAの情報利用ブラウズ領域を選択する。
本実施形態において、記憶手段2に格納された親子関係とは、情報理論が扱うデータ構造の一つである木構造における親子関係をいう。当該親子関係にある複数のブラウズ領域は、根、枝、節点、葉といった当該木構造のノードをなす。
本実施形態において、情報転送プログラムが情報利用ブラウズ領域を選択する動作は、例えば以下のように行われる。
情報利用ブラウズ領域では、ドメインBのサーバから取得した情報を利用する情報利用プログラムが実行されている。この情報利用プログラム及びこの情報利用プログラムが呼び出す関数は、Javascript(登録商標)のロジックを含んでいる。当該関数の一つとして、情報利用プログラムは、ドメインBのサーバから取得した情報を利用する情報利用関数を実装している。この情報利用関数には、例えば「funcname」という識別子が与えられている。
情報転送プログラムは、ドメインBのサーバから取得した情報を渡すべき関数の識別子が、「funcname」であることを、情報利用ブラウズ領域を探す前に予め知っている。ここで、情報を渡すべき関数の識別子は、例えば、GETメソッドの引数の一部として、情報取得ブラウズ領域から情報転送プログラムに通知され、情報転送プログラムは、当該GETメソッドの引数から当該識別子を知るようにしてもよい。
情報転送プログラムは、window.frames[n-1].funcnameの値を調べることにより、「window」の子である任意のフレームオブジェクトが、「funcname」という識別子の関数を実装しているか否かを知ることができる。ここで、「window」は前述の選択ブラウズ領域を指す。また、frames[n-1]は、選択ブラウズ領域の子であるn番目のフレームオブジェクトを指す。nの取りうる最大の値は、windows.frames.lengthの値から知ることができる。
情報転送プログラムは、ドメインAの或るブラウズ領域に「funcname」という識別子(転送先識別子)の関数を発見すると、当該ドメインAのブラウズ領域を情報利用ブラウズ領域として選択する。
一方、情報転送プログラムは、「funcname」という識別子の関数を発見できなかった場合、今回検査した子のフレームの更に子のフレームについて、関数「funcname」を探す処理を繰り返す。情報転送プログラムは、window.frames[n-1].frames[m-1].funcnameの値を調べることにより、2階層下の子のフレームについても「funcname」関数の存在を調べることができる。ここで、frames[m-1]は、frames[n-1]の子であるm番目のフレームオブジェクトを指す。3階層以降の子のフレームについても同様にframesプロパティを重ねることで調べることができる。
このように、選択ブラウズ領域から子の子を辿っても関数「funcname」を発見できない場合、情報転送プログラムは、現在の選択ブラウズ領域の親であるブラウズ領域を、新たな選択ブラウズ領域とする。前述のようにparentプロパティを参照することにより、親のブラウズ領域を知ることができる。そして、情報転送プログラムは、新たな選択ブラウズ領域について、情報転送プログラムは、「funcname」という識別子の関数を実装しているか否かを知る。新たな選択ブラウズ領域が当該関数を実装していない場合は、上記の「funcname」関数を探す処理を繰り返す。このとき、windowの値をwindow.parentの値に置き換えてもよいし、windowの記述をwindow.parentの記述に置き換えてもよい。また、上記の「funcname」関数を探す処理を繰り返す際には、すでに調べているフレームについては「funcname」関数を探すことを省略するような仕組みにしてもよい。
以上の処理を繰り返すことによって、木構造を情報転送ブラウズ領域を基点として参照して取得できるすべてのブラウズ領域について関数「funcname」をくまなく検索することが可能である。この方法は、実施形態1において、転送プログラムがデータ要求プログラムを探すプロセスに採用することもできる。
この結果、図4の例では、情報転送ブラウズ領域は、情報転送ブラウズ領域「window」から見た情報利用ブラウズ領域の識別情報がwindow.parent.parent.frames[0]であることを知る。同様に、図5の例では、情報利用ブラウズ領域の識別情報がwindow.parent.parent.parent.frames[0]であることを知る。(ただし、いずれの例でも、情報利用ブラウズ領域を表示するフレームのインデックスを0と仮定した場合。)
情報転送プログラムは、知り得た情報利用ブラウズ領域の識別情報を利用し、ドメインBのサーバから取得した情報を情報利用ブラウズ領域に実装された情報利用関数「funcname」に渡す。情報利用関数「funcname」は、情報転送プログラムを経由してドメインBのサーバから取得した情報を用いて所定の処理を行う。情報利用関数「funcname」は、情報利用ブラウズ領域にて実装されており、情報利用ブラウズ領域はドメインAのブラウズ領域なので、情報利用ブラウズ領域は、同じドメインAのブラウズ領域である情報転送ブラウズ領域の情報転送プログラムが取得したドメインBの情報取得ブラウズ領域の情報をHTTPクライアントのセキュリティ制限の範囲内で利用することができる。
ここで、情報転送プログラムから情報利用関数へのデータの引渡しは、情報転送プログラムが情報利用関数を呼ぶ処理と同時に行うことができる。情報転送プログラムのロジック内で、関数funcnameの場所を指定してfuncname(arg1,arg2,...)を実行することにより、引数arg1,arg2,・・・を情報利用関数へ引き渡すことができる。
[実施形態2の効果]
本実施形態によれば、実施形態1と同様に、HTTPクライアント(ブラウザ)のセキュリティ制限に則ったスクリプト言語を実行しつつ別ドメインの情報を利用することができる。更に、情報転送ブラウズ領域から親又は親の親を辿って見つけられるブラウズ領域だけに限らず、直接の親子関係に無いブラウズ領域に対しても別ドメインの情報を渡すことができる。
[変形例]
図4の例では、情報利用ブラウズ領域を子に持つ選択ブラウズ領域がドメインCであり、情報転送ブラウズ領域のドメインAと異なる。しかし、情報転送ブラウズ領域のドメインと情報利用ブラウズ領域のドメインとが共通するため、ブラウザのセキュリティ制限の範囲で情報を渡すことができる。つまり、選択ブラウズ領域のドメインの種類は問わない。
また、図5に示すように、図4より多くのブラウズ領域が挟まれている場合や、情報取得ブラウズ領域(ドメインB)と情報転送ブラウズ領域(ドメインA)との間に他のブラウズ領域が挟まれている場合でも、情報転送プログラムは、実施形態2の方法で、情報利用ブラウズ領域を探すことができる。
本発明は上記実施形態に限られない。例えば、実施形態1に示したのと同様の方法で、情報取得ブラウズ領域から情報転送ブラウズ領域にGETメソッドの引数として情報を送る際に、複数の情報転送ブラウズ領域を生成し、それぞれに分割して情報を渡すようにすることもできる。また、情報転送プログラムから情報を受け取るのは情報利用ブラウズ領域に実装された情報利用関数だとしたが、情報利用関数の替わりに情報利用ブラウズ領域に所定の変数を用意し、この変数に情報を渡すようにしても構わない。また、本実施形態においては、親子関係にあるウィンドウ・オブジェクトで子ウィンドウ・オブジェクトを取得する方法については、子ウィンドウ・オブジェクトは親ウィンドウ・オブジェクトに生成される親フレームである場合について説明したが、子となるウィンドウ・オブジェクトが新規ウィンドウとして立ち上がる場合でも、例えば、当該新規ウィンドウを生成する際に親ウィンドウのJavascript(登録商標)のロジックで子ウィンドウへのポインタを生成しており、その親ウィンドウが情報転送ブラウズ領域と同じドメインのウィンドウ・オブジェクトを表示するものであれば、情報転送ブラウズ領域は当該ポインタ情報を取得できるので、これに基づいて、当該子ウィンドウを取得できる。また、各ウィンドウ・オブジェクトが表示されているか、非表示されているかを問わない。また、木の探索方法には、実施形態で紹介した方法に限らず、種々の探索方法を採用することができる。
[ネットワーク情報処理システム]
次に、前述の「別ドメインの情報を取得する方法」を利用したネットワーク情報処理システムを紹介する。
本実施形態のネットワーク情報処理システムは、HTTP(HyperText Transfer Protocol)に従うクライアント/サーバ通信環境において、クライアントが表示する一のドメインに対しユーザが情報を与える操作を行ったときに、当該情報を他のドメインのサーバに保管する技術に関する。
HTTPクライアントが、一のドメイン(ドメインAとする)のWEBページを表示しているとき、当該ドメインAのWEBページに情報を与える操作を行うと、その情報が別のドメイン(ドメインBとする)のサーバに保管されるようにしたい、という需要がある。
また、HTTPクライアントが、一のドメイン(ドメインAとする)のWEBページを表示しているとき、当該ドメインAのWEBページが別のドメイン(ドメインBとする)のサーバに保管された情報を取得したい、という需要がある。
ここで、ドメイン「A」と「B」の文字は、互いに異なるドメインであることを表すために用いており、「A」,「B」の文字自体に特別な意味を持たない。
以下、ネットワーク情報処理システムの実施形態を図面を参照しつつ説明する。
図6は、ネットワーク情報処理システムのブロック図である。本システムは、コンピュータネットワーク(インターネット)400に接続されたクライアントコンピュータ(クライアント)100と、ストレージサーバコンピュータ(ストレージサーバ)200と、アプリケーションサーバコンピュータ(アプリケーションサーバ)300とを備えている。
各コンピュータ100〜300は、キーボードやマウス等の情報入力手段と、ディスプレイ等の情報表示手段と、メモリやHDD(Hard Disk Drive)等の情報記憶手段と、NIC(Network Interface Card)等の情報通信手段と、CPU(Central Processing Unit)等の情報処理手段とを備えている。
各コンピュータ100〜300において、情報の入力は入力手段によって行われる。また、情報の表示は表示手段によって行われる。また、処理手段又は通信手段において扱われる情報は、記憶手段に記憶され又は記憶手段から読み出される。また、各コンピュータ間で行われる情報の送受は、通信手段を介して行われる。処理手段は、プログラムを実行することによって、各種の処理を実行し、各種の機能を実現する。
図7は、クライアント100が実行するプログラム(ソフトウェア)の構成図である。クライアント100は、Windows(登録商標)等のOS(Operating System)101を実行し、その上でHTTPクライアント102と、拡張プログラム103とを実行する。拡張プログラム103は、HTTPクライアント102を監視する機能を備えている。HTTPクライアント102は、JavaScript(登録商標)等の標準的なスクリプト実行環境104を備え、当該スクリプト実行環境104においてJavaScript(登録商標)等によるスクリプト105を実行する。
本実施形態において、OS101はWindows(登録商標)、HTTPクライアント102はインターネットエクスプローラー(登録商標)、スクリプト105はJavaScript(登録商標)であるとする。
また、本実施形態において、スクリプト105は、ストレージサーバ200で認証を受けるための認証情報であって、アプリケーションサーバ300又は他の図示しないサーバから予め取得したユーザ認証情報pを備える。このユーザ認証情報pの取得方法として、前述した「別ドメインの情報を取得する方法」を利用する。
一方、ストレージサーバ200は、HTTPサーバを実行し、クライアント100のユーザを当該HTTPサーバを介して認証する機能と、クライアント100から送信された情報を当該HTTPサーバを介して記憶手段に格納する機能と、クライアント100から要求された情報を記憶手段から読み出し当該HTTPサーバを介して当該クライアント100に送信する機能とを備えている。本実施形態において、ストレージサーバ200が実行するHTTPサーバには、ドメインBが設定されているものとする。
また、アプリケーションサーバ300は、HTTPサーバを実行し、スクリプトの実行指示を含むWEBページを当該HTTPサーバを介してクライアント100に送信する機能を備えている。本実施形態において、アプリケーションサーバ300が実行するHTTPサーバには、ストレージサーバ200とは異なるドメインAが設定されているものとする。
図8は、クライアント100が表示手段に表示する画面の構成図である。クライアント100は、表示手段に、デスクトップやファイルフォルダ等のOS管理領域を表示し、その領域に管理されているファイルのアイコンやサムネイル等のコンテンツシンボルを表示する。また、クライアント100は、HTTPクライアント102のウィンドウを表示し、当該HTTPクライアント102がアプリケーションサーバ300から取得したWEBページを表示する。また、クライアント100は、当該WEBページのプログラムの記述に基づいて、コンテンツ供給領域と、コンテンツ表示領域を形成する。
そして、本実施形態では、OS管理領域に管理されているコンテンツのシンボルをコンテンツ供給領域にドラッグアンドドロップ操作すると、当該コンテンツの実体が拡張プログラム103によってストレージサーバ200に送られて保管されるようになっている。更に、当該ストレージサーバ200に保管されたコンテンツの実体をHTTPクライアント102が取得して当該コンテンツの実体又はそのシンボルをコンテンツ表示領域に表示するようになっている(音声再生コンテンツの場合は必ずしもコンテンツ表示領域を必要としない)。ストレージサーバ200に保管されたコンテンツの実体をHTTPクライアント102が取得する動作の詳細は後述するが、以上のような処理により、クライアント100のユーザは、コンテンツの保管先がドメインBであることを意識することなく、ドメインAのWEBページを利用することになる。
次に、本実施形態の動作を図9に基づいて説明する。
まず、HTTPクライアント102は、ドメインAのアプリケーションサーバ300に対し、スクリプトの実行指示を含むWEBページを要求する。この際、HTTPクライアント102は、ドメインAのアプリケーションサーバ300とコネクションを確立し、当該WEBページを要求する。アプリケーションサーバ300は、要求されたWEBページをHTTPクライアント102に提供する(S1)。
HTTPクライアント102は、受信したWEBページのソースの実行に従って図8のように、クライアント100の表示手段にドメインAのWEBページを表示し、そこにコンテンツ供給領域と、コンテンツ表示領域とを形成する。また、当該WEBページのソースの実行に従ってスクリプト105としての第1のスクリプトを実行する。ここで、コンテンツ供給領域には、ストレージサーバ200(ドメインB)にファイルをアップロードするための所定のアップロードパス識別子が、当該コンテンツ供給領域を成すオブジェクトのスタイル属性の値として埋め込まれている。当該識別子は、アップロードのためのURL(Uniform Resource Locator)のようなものでも良い。
拡張プログラム103は、当該WEBページに形成されたコンテンツ供給領域にOS管理領域からコンテンツシンボルがドラッグアンドドロップされるのを監視している。
クライアント100のユーザは、入力手段を操作し、表示手段のOS管理領域に表示されているコンテンツシンボルをドラッグし、WEBページ内のコンテンツ供給領域にドロップする(S2)。
拡張プログラム103は、コンテンツシンボルのドラッグされた場所が、コンテンツ供給領域であることを、当該コンテンツ供給領域が所定のスタイル属性を持っていることから検知する。この結果、ドロップされた場所がコンテンツ供給領域であれば、拡張プログラム103は、HTTPクライアント102から、前述の「別ドメインの情報を取得する方法」により事前に取得されているドメインB用のユーザ認証情報pと、上記アップロードパスとを取得し、OSからは、ドロップされたコンテンツシンボルに対応するコンテンツの実体の格納場所(OS管理領域内の格納場所)を取得する。そして、拡張プログラム103は、当該コンテンツの実体を、当該取得したアップロードパスに対し、即ちドメインBのストレージサーバ200に対し、送信する。この際、コンテンツ実体の格納場所を指定したPOSTメソッドを実行する(S3)。また、当該POSTのパラメータとして上記ドメインB用のユーザ認証情報pを付加する。
当該POSTを受信したストレージサーバ200は、当該POSTに付加されたユーザ認証情報pに基づいて当該POSTの正当性を判断し、正当なアクセスであれば、当該POSTの対象であるコンテンツの実体をクライアント100から受信し、所定の格納場所(記憶領域)に格納する。そして、格納の完了を上記POSTへの応答として拡張プログラム103に通知する。
一方、スクリプト実行環境104では、ストレージサーバ200からコンテンツ実体を取得するためのコールバック関数(スクリプト105としての第2のスクリプト)の実行を待機している。拡張プログラム103は、上記の格納完了通知をストレージサーバ200から受けると、当該コールバック関数の処理の開始をHTTPクライアント102に指示する。この指示を受けて、HTTPクライアント102は当該コールバック関数を実行する。ここで、スクリプト105としての第1のスクリプトと、第2のスクリプトは、それぞれ単独で存在していれば足りる。
コールバック関数が作動すると、HTTPクライアント102は、当該コールバック関数の記述に従い、ストレージサーバ200に、ファイルリストを要求する。ファイルリストとは、ストレージサーバ200の記憶手段に格納されたファイルのリストであって、上述のドラッグアンドドロップ操作が今回及びそれ以前で一回または複数回行われたことによって、ストレージサーバ200の記憶手段に格納されたコンテンツ実体のリストである。当該ファイルリストは、コンテンツ実体のファイル名と、当該ファイルを取得するためのURL(Uniform Resource Locator)の情報とを含んでいる。このとき、ドメインAのWEBページを表示するHTTPクライアント102が、ドメインBのストレージサーバ200に対してファイルリストを要求するので、前述した「別ドメインの情報を取得する方法」を利用する。
ストレージサーバ200は、HTTPクライアント102からファイルリストの要求を受けると、当該要求されたファイルリストを記憶手段から読み出し、前述の「別ドメインの情報を取得する方法」によって、ファイルリストをHTTPクライアント102に送信する。
HTTPクライアント102は、このファイルリストを受信し、コールバック関数に渡す。このファイルリストを取得したコールバック関数は、当該ファイルリストに記述されたファイル名とファイルパスとの関連付けをファイル毎に読み出し、コンテンツ表示領域を構成するHTMLに対し、innerHTMLの値を書き換える等によって、ファイル毎に以下のような画像取得用のHTMLを生成する。ここでは画像コンテンツを想定したが、その他の種類のコンテンツでもよく、生成するHTMLの内容はコンテンツの種類に適合するものであればよい。
Figure 2007132848
HTTPクライアント102は、コンテンツ表示領域に生成された画像取得用のHTMLを実行し、その結果、ファイルリストに列記されたファイルパスのコンテンツファイルをストレージサーバ200に要求する。ストレージサーバ200は、要求されたコンテンツファイルを、当該要求に付加されたファイルパスの指定に基づいて記憶手段から読み出し、HTTPクライアント102に送信する。HTTPクライアント102は、ストレージサーバ200から受信したコンテンツファイルをコンテンツ表示領域に再生する。
以上説明した本実施形態によれば、HTTPクライアント102が、ドメインAのWEBページを表示しているとき、当該ドメインAのWEBページに与えられた情報をドメインBのストレージサーバ200に保管することができる。また、HTTPクライアント102が、ドメインAのWEBページを表示しているとき、当該ドメインAのWEBページがドメインBのサーバに保管された情報を取得して動的に利用することができる。
ここで、上記実施形態では、HTTPクライアント102が、ストレージサーバ200から認証情報pを取得する構成としたが、これに限らず、拡張プログラム103が認証情報pをストレージサーバ200から取得してもよい。その場合、拡張プログラムが、ユーザID、パスワードなどの認証に必要な情報をユーザに入力させるなどして取得し、その情報を元に拡張プログラムが認証情報を取得するといった方法が考えられる。また、OS管理領域に表示されているコンテンツシンボルを複数ドラッグアンドドロップして、複数のコンテンツを連続してストレージサーバ200にアップロードできるようにしてもよい。
また、上記実施形態では、コンテンツに関連する情報として、コンテンツの画像ファイルを取得する場合を例示したが、これに限らない。例えば、コンテンツに関連する情報として取得するファイルリストはファイルごとにファイル名、ファイルタイプ、ファイルサイズを含むものとし、その内容をコンテンツ表示領域に表示するようにしてもよい。
実施形態1の構成および動作を示すブロック図である。 実施形態2のハードウェア構成を示すブロック図である。 実施形態2のソフトウェア構造を示すブロック図である。 実施形態2の動作を説明するための説明図である。 実施形態2の動作を説明するための説明図である。 ネットワーク情報処理システムの実施形態の構成を示すブロック図である。 図6のクライアントコンピュータが実行するソフトウェアの構造図である。 図6のクライアントコンピュータが表示手段に表示する画面の構造図である。 図6に示すシステムの動作説明図である。
符号の説明
A〜F 動作の流れ

Claims (4)

  1. 第1ドメインのHTTPサーバからHTTPクライアントに提供された主プログラムが、当該主プログラムの実行中に、第2ドメインのHTTPサーバから提供される情報を利用する方法であって、
    前記第1ドメインのHTTPサーバからHTTPクライアントに提供された主プログラムが、第1プログラムを実行し、当該第1プログラムが、前記第2ドメインのHTTPサーバからHTTPクライアントに提供される第2プログラムの起動を付勢するステップと、
    当該第2プログラムが、前記第2ドメインのHTTPサーバから所定の情報を取得し記憶手段に格納するステップと、前記第1ドメインのHTTPサーバからHTTPクライアントに提供される第3プログラムの起動を付勢するステップと、前記記憶手段に格納した第2ドメイン提供の情報を当該第3プログラムの実行領域に引き渡すステップと、
    第3プログラムが、前記第1プログラムに対し、前記第2プログラムから引き渡された第2ドメイン提供の情報を引き渡すステップと、
    前記第1ドメインのHTTPサーバからHTTPクライアントに提供された主プログラムが、前記第3プログラムから引き渡された第2ドメイン提供の情報を当該主プログラムの実行に利用するステップと、
    をコンピュータが実行することを特徴とした別ドメインの情報を利用する方法。
  2. 請求項1記載の方法において、前記第1プログラムであるデータ要求プログラムの識別子を記憶手段に格納し、
    前記第1プログラムであるデータ要求プログラムが、前記記憶手段に格納されたデータ要求プログラムの識別子を前記第2プログラムであるデータ分配プログラムに渡すステップと、
    前記データ分配プログラムが、前記データ要求プログラムから渡された当該データ要求プログラムの識別子を前記第3プログラムである転送プログラムに渡すステップと、
    前記転送プログラムが、前記データ分配プログラムから渡された前記データ要求プログラムの識別子を前記第2ドメイン提供の情報に関連付けて前記主プログラムを実行中のHTTPクライアントに渡すステップと、
    前記主プログラムを実行中のHTTPクライアントが、前記転送プログラムから渡されたデータ要求プログラムの識別子に基づいて前記データ要求プログラムに前記第2ドメイン提供の情報を渡すステップと、
    前記データ要求プログラムが、前記HTTPクライアントから渡された前記第2ドメイン提供の情報を前記主プログラムに利用させるステップと、
    をコンピュータに実行させる、別ドメインの情報を利用するためのプログラム。
  3. 第2ドメインのサーバから情報を取得する第2ドメインの情報取得ブラウズ領域と、当該情報を情報利用ブラウズ領域に渡す第1ドメインの情報転送ブラウズ領域と、この情報転送ブラウズ領域から前記情報を取得して利用する第1ドメインの前記情報利用ブラウズ領域と、これら各ブラウズ領域を含む複数のブラウズ領域をノードとする木の構造を記憶する記憶手段と、前記情報転送ブラウズ領域で実行される情報転送プログラムとを備え、
    前記第2ドメインの情報取得ブラウズ領域が、前記第2ドメインのサーバから情報を取得し、当該情報を記憶手段に格納するステップと、
    当該第2ドメインの情報取得ブラウズ領域で実行されるプログラムが、前記第1ドメインの情報転送ブラウズ領域を開き、この情報転送ブラウズ領域に前記記憶手段に格納した前記第2ドメインのサーバから取得した情報を渡すステップと、
    前記情報転送ブラウズ領域で実行される情報転送プログラムが、前記記憶手段に格納された木の構造を参照し、前記情報利用ブラウズ領域を選択するステップと、
    当該選択した第1ドメインの情報利用ブラウズ領域に、前記記憶手段に格納された前記第2ドメインのサーバから取得した情報を渡すステップと、
    をコンピュータが実行することを特徴とした別ドメインの情報を利用する方法。
  4. 請求項3に記載の情報転送プログラムであって、
    前記情報利用ブラウズ領域に設定された転送先識別子を取得するステップと、
    前記記憶手段に記憶された木の構造に含まれるノードのブラウズ領域から前記情報利用ブラウズ領域に設定された転送先識別子と同一の転送先識別子が設定されたブラウズ領域を選択するステップと、
    当該選択したブラウズ領域である情報利用ブラウズ領域に前記第2ドメインのサーバから取得した情報を渡すステップと、
    をコンピュータに実行させるための情報転送プログラム。
JP2008515564A 2006-05-15 2007-05-15 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム Expired - Fee Related JP4807411B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008515564A JP4807411B2 (ja) 2006-05-15 2007-05-15 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP2006135897 2006-05-15
JP2006135897 2006-05-15
JP2006263005 2006-09-27
JP2006263005 2006-09-27
JP2007082877 2007-03-27
JP2007082876 2007-03-27
JP2007082876 2007-03-27
JP2007082877 2007-03-27
JP2008515564A JP4807411B2 (ja) 2006-05-15 2007-05-15 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
PCT/JP2007/059963 WO2007132848A1 (ja) 2006-05-15 2007-05-15 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム

Publications (2)

Publication Number Publication Date
JPWO2007132848A1 true JPWO2007132848A1 (ja) 2009-09-24
JP4807411B2 JP4807411B2 (ja) 2011-11-02

Family

ID=38693938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008515564A Expired - Fee Related JP4807411B2 (ja) 2006-05-15 2007-05-15 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム

Country Status (3)

Country Link
US (1) US8127314B2 (ja)
JP (1) JP4807411B2 (ja)
WO (2) WO2007132850A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316103B2 (en) * 2006-05-15 2012-11-20 Sony Corporation Method for acquiring long data by GET method
TW201015912A (en) * 2008-10-01 2010-04-16 Avermedia Tech Inc Network communication method, dispatch server and server
US8639778B2 (en) 2011-02-01 2014-01-28 Ebay Inc. Commerce applications: data handshake between an on-line service and a third-party partner
US9135042B2 (en) * 2013-06-13 2015-09-15 International Business Machines Corporation Provisioning a secure customer domain in a virtualized multi-tenant environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145228A (ja) * 1997-06-04 1999-02-16 Internatl Business Mach Corp <Ibm> オブジェクトのリダイレクト管理方法及びアプレットの通信を可能とする方法
JP2004272595A (ja) * 2003-03-07 2004-09-30 Ntt Docomo Inc 通信システム、サーバ、移動機、プログラムおよび記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152195A (ja) * 2000-11-10 2002-05-24 Ntt Docomo Inc 認証サーバ、認証方法及び記録媒体
US20020133585A1 (en) * 2001-03-13 2002-09-19 Deming Douglas R. Computer program for recording and selective playback of a communication involving the hypertext transfer protocol
US7515240B2 (en) * 2004-10-05 2009-04-07 Au Optronics Corporation Flat display panel and assembly process or driver components in flat display panel
US7778987B2 (en) * 2006-10-06 2010-08-17 Microsoft Corporation Locally storing web-based database data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145228A (ja) * 1997-06-04 1999-02-16 Internatl Business Mach Corp <Ibm> オブジェクトのリダイレクト管理方法及びアプレットの通信を可能とする方法
JP2004272595A (ja) * 2003-03-07 2004-09-30 Ntt Docomo Inc 通信システム、サーバ、移動機、プログラムおよび記録媒体

Also Published As

Publication number Publication date
US8127314B2 (en) 2012-02-28
US20090328061A1 (en) 2009-12-31
WO2007132850A1 (ja) 2007-11-22
JP4807411B2 (ja) 2011-11-02
WO2007132848A1 (ja) 2007-11-22

Similar Documents

Publication Publication Date Title
US8438312B2 (en) Dynamically rehosting web content
US9875314B2 (en) Content request with HTTP request-header rendering template that is independent of content storage location
US20090276455A1 (en) Sharing information about a document across a private compuer network
US10447742B2 (en) Information sharing method and device
US20080229231A1 (en) Methods, systems, and computer program products for consolidating web pages displayed in multiple browsers
JP4788768B2 (ja) Getメソッドで長いデータを取得する方法
US20100070856A1 (en) Method for Graphical Visualization of Multiple Traversed Breadcrumb Trails
JP4807411B2 (ja) 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
GB2519113A (en) Generation of combined documents from content and layout documents based on semantically neutral elements
CN110740118B (zh) 与合作伙伴站点发起会话的协议
JP2006004136A (ja) Htmlファイル処理方法及びプログラム
JP2008158695A (ja) オンラインサービスを提供する情報処理システム及びプログラム
JP2014238699A (ja) 文書管理サーバ、文書管理方法、コンピュータプログラム
JP2005250826A (ja) 情報提供システム、情報提供方法、及び情報提供処理プログラム
JP2007272444A (ja) コンテンツ管理装置、コンテンツ管理方法およびコンテンツ管理プログラム
US11803695B1 (en) Dynamic sharable web clippings
JP2012058913A (ja) 情報提示装置、情報提示方法および情報提示プログラム
JP5020355B2 (ja) プロフィール表示装置、方法、プログラム及びシステム
JP5533432B2 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
JP5858071B2 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
JP2004013565A (ja) コンテンツ閲覧状態管理システム及びコンテンツ閲覧状態管理方法及びプログラム及び記録媒体
JP5948930B2 (ja) 中継装置、方法及びプログラム
Al-Farsi et al. Application system for file uploading using ASP .NET
JP2018109888A (ja) 情報処理装置、制御方法、プログラム
JP2008117339A (ja) Webアプリケーションの任意の機能に対するショートカットを定義する方法および装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090630

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees