JP2005122693A - P2p通信ネットワーク上におけるデジタル文書アクセス方法及びシェア方法 - Google Patents

P2p通信ネットワーク上におけるデジタル文書アクセス方法及びシェア方法 Download PDF

Info

Publication number
JP2005122693A
JP2005122693A JP2004210101A JP2004210101A JP2005122693A JP 2005122693 A JP2005122693 A JP 2005122693A JP 2004210101 A JP2004210101 A JP 2004210101A JP 2004210101 A JP2004210101 A JP 2004210101A JP 2005122693 A JP2005122693 A JP 2005122693A
Authority
JP
Japan
Prior art keywords
document
server
local
page
address
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.)
Pending
Application number
JP2004210101A
Other languages
English (en)
Inventor
Frederic Maze
マゼ フレデリック
Eric Nassor
ナッソー エリック
Pascal Viger
ヴィジェ パスカル
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2005122693A publication Critical patent/JP2005122693A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】デジタル文書の処理専用のP2Pローカルアプリケーションを持っているか否かを前もって知る必要なしに、一定の方法で受信者であるクライアントデバイスに通知する方法を提供する。
【解決手段】アクセス方法は、次のステップ、すなわち、i)受信側クライアントデバイスが、デジタル文書を処理することができるローカルアプリケーションを備えているかどうかを検出するのに適した、少なくとも1つの実行可能なコマンドを含む、ネットワーク上で利用可能な少なくとも1つのデジタル文書の存在を示す通知を受信するステップと、ii)ローカルアプリケーションを検出するために1つ以上のコマンドを実行するステップと、iii)検出した場合は、ローカルサーバからデジタル文書へアクセスするのに対して、検出しなかった場合は、リモートサーバのアドレスからその文書へアクセスするステップと、を有する。
【選択図】図2

Description

本発明は、複数のクライアントデバイスを互いにリンクする通信ネットワーク上で利用可能な、少なくとも1つのデジタル文書へのアクセス及びシェア或いはそのどちらかに関するものである。前記方法は、そのネットワーク上で利用可能なデジタル文書の有無を知らせる通知を利用する方法であり、その通知は、デジタル文書を処理可能なローカルアプリケーションの適応及びそのデジタル文書が存在するかどうかということに適している。
通信ネットワーク上で利用可能なデジタル文書の処理では、一般的なアプリケーションが存在する。特に、ピア・ツー・ピアタイプの通信ネットワークは、以下のごとくP2Pという頭文字で表される。
P2P通信システムは、近年、ファイルシェアリングの分野において、従来のクライアント・サーバモデルとに比して明らかな発達を遂げている。P2Pシステムにおいては、通信ネットワークを構成する各マシン(ノード又はピアとも称される)は、サーバデバイスとしてはもとより、クライアントデバイスとしても機能する。したがって、P2Pネットワーク上では、それらのデバイスは全て同等にシェアするという原理にしたがって、すなわち、P2Pネットワークの各マシンはクライアント及びサーバとして機能し、それらに共通な状態でリソースを動かす。そのようなネットワークは、リソースが中央のサーバデバイスに格納される従来のクライアント・サーバネットワークと、このようにして区別される。
現在、データの分配は、安価な設備や、ネットワーク接続されたコンピュータが大変多数存在するため、またブロードバンド接続が発達したために、P2Pネットワークにますます依存している。
しかしながら、P2Pネットワークは不安定である。この原因は、クライアントデバイスが(そして、必然的にサーバデバイスも)定期的にネットワーク接続及び切断を繰り返し、その結果、非常に予測し難いデータの有無をレンダリングするからである。更に、クライアント及びサーバデバイス、或いはそのいずれかのアドレスが予測不能となり、また接続のたびにアドレスが異なってしまう傾向がある。
このような特異性があるため、一般にP2Pシステムは、併せてP2Pローカルアプリケーションとも称されるローカルの専用クライアントアプリケーションを利用する。そのようなP2Pローカルアプリケーションは、P2Pネットワーク上で利用可能なデジタル内容を検索し、アクセスすることと同様にデジタルコンテンツのシェアを確実に行う。
例えば、P2Pローカルアプリケーションは、固有のプロトコルに従い、ネットワーク上の新しいデジタルコンテンツをシェアしたばかりの1人またはそれ以上のクライアントデバイスへ通知することを可能にするために、メッセージの交換に基づく通知メカニズムを提供しうる。
また、P2Pローカルアプリケーションは、通知のための主なメカニズムとして或いは専用通知システムの補助として電子メールを利用しうる。この場合、電子メールには一人または複数の受信者の元にあるP2Pローカルアプリケーションによって解釈された、1つ以上の固有な添付ファイルが含まれていてもよい。
また、P2Pシステムは、どんなP2Pローカルアプリケーションも有しない利用者が、ブラウザやインターネットナビゲータ等のような、より従来式で広く知られているインターネットアクセスツールを用いて、ネットワーク上のコンテンツにアクセスすることを可能にするものであるということは周知である。
そのようなシステムでは、ネットワーク上のある特定のサーバデバイスかクライアントデバイスが、インターネットアクセスツール(ブラウザ、エクスプローラ、ナビゲータ)やP2Pネットワークの間でゲートウェイの役割を果たすサーバデバイスとして機能する。それらのマシンは、インターネットツールのためにP2Pネットワーク上で求められたリソースを検索するという役割を担うプロキシデバイスとしてみなれる。これらのシステムでは、電子メールは通知メカニズムとして従来どおり利用される。そして、電子メールにはマークアップ言語で書かれたページか、その電子メールの受信者であるユーザ情報にアクセスするためのリンク(”Uniform Resource Locator”の頭文字からURLとも称される)が含まれる。
したがって、P2Pシステム上で、P2Pローカルアプリケーションを利用して、ユーザはネットワーク上のデジタルコンテンツをシェアし、またP2Pネットワーク上で利用可能なコンテンツを読んだり、アクセスすることができる。
また、P2Pローカルアプリケーションをもたないユーザ、或いは提供されているインターフェースの利用を望まないユーザは、デジタルコンテンツにアクセスためにマークアップ言語で表示できるツール(マークアップ言語でかかれたページを表示することができるウェブエクスプローラ、電子メールリーダ、あるいは他のアプリケーション)を利用しうる。
例えば、ユーザは、グループ内の人たちとデジタルコンテンツのコレクション(collection)をシェアするかもしれないが、それは、P2Pローカルアプリケーションをもっているか否かに関わらず可能である。
本出願人は、前記受信者が、デジタル文書の処理専用のP2Pローカルアプリケーションをもっているか否かということを前もって知る必要なしに、一定の方法で受信者であるクライアントデバイスに通知する方法を提供するという問題に取り掛かった。本発明はまさにこの問題の解決するための方法である。
その方法は、複数のクライアントデバイスを互いにリンクする通信ネットワーク上で利用可能な少なくとも1つのデジタル文書にアクセスする方法に関するものであり、当該アクセス方法は、受信側クライアントデバイス上で実行される。本発明の概要によると、前記方法は、以下のステップを有することを特徴とする。すなわち、
i)デジタル文書を処理可能なローカルアプリケーションを受信側クライアントデバイスが有するか否かを検出するのに適した、少なくとも1つの実行可能なコマンドを含む、ネットワーク上で利用可能な少なくとも1つのデジタル文書の存在を示す通知を受信するステップ。
ii)ローカルアプリケーションが存在するか、そしてそれが利用可能な状態であるかを検出するために1つ以上のコマンドを実行するステップ。
iii)ローカルアプリケーションが存在し、またそれがアクティブであった場合は、ローカルサーバからデジタル文書にアクセスするのに対し、ローカルアプリケーションが存在しない、或いは使用可能な状態ではない場合は、リモートサーバからデジタル文書にアクセスするステップ、である。
このように、前記方法は、ネットワーク上のユーザ全員に、誰がローカルアプリケーションを保持しているか否かを通知する。より詳細には、前記方法は、アプリケーションを保持していないユーザも共存しながら、そのローカルアプリケーションが利用可能な状態になるとすぐに、デジタル文書を閲覧するためのローカルアプリケーションを利用可能にしようと検索することにより、通知を通してネットワークの利用を最適化するものである。
従って、ローカルアプリケーションとその受信者の有無に応じて、閲覧時に送られる通知に含まれる情報を修正するようにする。
実際には、通知は、マークアップ言語で記述されている、デジタル文書を指定する少なくとも1つの識別子及びリモートサーバを指定するリモートアドレスを含むページを更に有している。
ある実施形態によると、前記方法は、ステップii)の後、ステップiii)の前に、ローカルアプリケーションは存在しているがアクティブではない場合に、選択された実行可能なコマンドを受けて、受信側クライアントであるユーザの承認に加えて、ローカルアプリケーションをアクティブにするようにする、ステップiia)を有する。
また別の実施形態として、前記方法は、ステップii)の後、ステップiii)の前に、ローカルアプリケーションは存在しているものの、アクティブではない場合に、選択された実行可能なコマンドに従い、ローカルアプリケーションを自動的にアクティブにするようにするステップとして、更にステップiib)を有する。
さらに別の実施形態によると、前記方法は、ステップiii)の後に、ローカルアプリケーションが存在し、またアクティブな場合に、ローカルサーバ上に文書が存在することを確かめるようになっており、そして、前記文書が存在しなかった場合にネットワーク上を探し、またネットワーク上に存在した場合はそれをダウンロードし、アクセス要求に応じてそれを供給する前に、ローカルに保存するステップとして、更にステップiv)を有する。
別の実施形態によると、ローカルアプリケーションが存在しアクティブな場合に、ローカルサーバのアドレスからデジタル文書にアクセスできるように、マークアップ言語で記述されたページがローカルで適応するようにする。実際には、ページのアダプテーション(adaptation)は、ローカルサーバのアドレスをマークアップ言語で記述されているリンク変数に設定するということを含む。
更に、また別の実施形態によると、ローカルアプリケーションが存在しないか或いはアクティブでない場合、リモートサーバのアドレスからデジタル文書にアクセスできるように、マークアップ言語で記述されたページがローカルで適応するようにする。実際には、ページのアダプテーションはリモートサーバのアドレスに、マークアップ言語で記述されたリンク変数の設定をすることを含む。
実際には、通信ネットワークは、集結しているか、分散しているか、或いはその両方が混合しているピア・ツー・ピアタイプのものである。
例えば、そのページは、HTMLタイプか、それと同様のマークアップ言語で記述されているか、或いはマークアップ言語で記述されたページにActive Xタイプ、或いはActive Xタイプと同様のローカルプログラムを呼び出すコマンドが含まれており、そのページは、前記ローカルサーバに関する構造パラメータを検索することはもとより、ローカルサーバの存在とそれがアクティブな状態であるかを確かめることに適応している。
例えば、実行可能な1つ以上のコマンドはJavaScriptやVB Scriptなどのスクリプトプログラムタイプの言語で記述されたものかもしれないが、このように通知されたページに前記1つ以上のコマンドはこのようにしてページに組み込まれている。
例えば、ローカルサーバを指定するローカルアドレスは、前記ローカルサーバの構造パラメータを検索するのに適したスクリプト言語プログラムによって確認することもできる。
前記コマンドは、更に、文書にアクセス可能にするローカル或いはリモートアドレスをリンクするのに適した機能を有する。
実際には、そのページは電子メールの添付ファイルとして通知される。
別の方法によると、前記ページは選択されたリモートサーバへダウンロードされ、そしてそのページへのレファレンスは、通知を受けることになっているすべての受信者へ送られ、例えばURL形式等によるそのページへのレファレンスは、電子メール記載される。
本発明は、また、複数のクライアントデバイスを互いにリンクする通信ネットワーク上において、デジタル文書をシェアする方法に関するものであり、前記方法はクライアントデバイス上で送信する際に実行される。
本発明の別の態様によると、前記方法は以下のステップを有する。すなわち、
- ネットワーク上で、利用可能な少なくとも1つのデジタル文書が存在するということを知らせる通知を、少なくとも1つの受信クライアントデバイスに送信し、前記通知は、受信クライアントデバイスが、デジタル文書を処理することが可能なローカルアプリケーションを有しているか否かを検出し、そしてローカルアプリケーションが存在し、アクティブな場合は、ローカルサーバのアドレスから前記文書にアクセスし、それ以外の場合はリモートサーバのアドレスから前記文書にアクセスするのに適した少なくとも1つの実行可能なコマンドを有する。
また、本発明は、本発明に関するアクセス方法に従って実行されるのに適した、少なくとも1つのデジタル文書にアクセスするためのデバイスに関する。
同様に、本発明は、前述したシェア方法を実行するのに適したデジタル文書シェア装置に関する。
本発明は、また、コンピュータシステムによって読み取り可能な情報媒体に関するものであり、その全部または一部はリムーバブル式の場合があって、特にCD−ROM、ハードディスクやディスケットなどの磁気媒体、或いは電気信号または光学信号などのような伝送可能な媒体であり、プログラムがコンピュータシステムによりロードされ、また実行された際に、本発明に関する方法の実行を可能にする、コンピュータプログラムの指示を有することを特徴とする。
最後に、本発明は、また、情報媒体に組み込まれているコンピュータプログラムに関するものであり、前記プログラムはプログラムがコンピュータシステムによりロードされ、また実行された際に、本発明に従った処理方法の実行を可能にする指示を備える。
本発明の他の特徴及び長所は、以下の詳細な説明及び図面の見解においても現れている。すなわち、
- 図1は、本発明に関するアクセス方法に従い、実行するために適した受信側クライアントデバイスの必須要素を示すダイヤグラムである。
- 図2は、本発明に関する複数のクライアントデバイスを互いにリンクする通信ネットワークを示すダイヤグラムである。
- 図3は、本発明に関するマークアップ言語で記述されたページを閲覧することに関するステップを説明するためのフローチャートである。
- 図4は、本発明に関するローカルアプリケーションが使用可能であるかどうかを検証することに関するステップを説明するためのフローチャートである。
- 図5は、本発明に関するローカルサーバの動作を説明するためのフローチャートである。
図1に関して、本発明を実行する装置は、例えばマイクロコンピュータ10、或いはデジタルムービングイメージカメラ11(もしくはスキャナ、他のイメージのようなデジタル文書を取得または記録する装置)のような、様々な周辺機器に接続されたワークステーションのような装置であるが、入出力カード(図示せず)に接続され、当該装置へマルチメディアデータを供給する。
装置10は、例えば以下のようないくつかの要素に接続された通信バス101を備える。それらは、
- 中央処理装置102(マイクロプロセッサ、図1に示されたCPU)、
- 本発明に関するプログラムを含むことのできるリード・オンリー・メモリ103、
- 出力後、発明を実行するのに必要な変数やパラメータを記録するのに適したレジスタのみならず、本発明に関する方法の実行可能なコードを含むランダム・アクセス・メモリ104、
- キーボード106或いはポインティングデバイス、例えばマウス107や光学スタイラス(図示せず)のような他の装置を用いて、本発明に関するプログラムを相互に作用することができる、データを表示するため、またはユーザとのグラフィックインターフェイスとして供給するため、或いはその両方のためのスクリーン105、
- 本発明が実行される際にデータを使用したり、データを作成したりするのみならず、本発明に関するプログラムを格納することができるハードディスク108、
- ディスケット12を受け、読み込み或いは書き込みをするのに適し、その後、本発明に従って、データが処理されるか或いは処理待ちの状態となるディスクドライブ109、及び
- 通信ネットワーク13に接続されて、そのインターフェースはデータを送受信することに適している通信インターフェース110である。
オーディオデータの場合は、装置10は、さらにマイクロホン14に接続されている入出力カード(図示せず)を備えていてもよい。
通信バス101は、装置10に含まれている、或いはそれに接続されている異なる要素の間で、通信及び相互運用性を提供する。バスの表示は非制限的であり、そして、特に中央処理をすることは、装置10のいかなる要素への命令を直接、或いは装置10の他の要素を媒介して伝達することができる。
ディスケット12は、再書き込み可能かどうかは問わず、コンパクトディスク(CD−ROM)、ZIPディスク或いはメモリーカードなど、いかなる情報媒体でも置き換えることが可能である。
一般に、マイクロコンピュータやマイクロプロセッサによって読み込み可能な情報蓄積装置は、一体化しているか、或いはデバイスの中にはなく、そしてことによるとリムーバブルであるかもしれないものであるが、本発明に関する方法を実行することを可能にする、1つ以上のプログラムを格納するのに適している。
前記装置が、本発明を実施可能にしている前記実行可能なコードは、同時におそらく、リード・オンリー・メモリ103内、ハードディスク108上、或いは前述のとおりディスケット12のようなリームーバブルデジタル媒体上に格納される。
別の方法によると、前記プログラムの実行可能コードは、通信ネットワーク13の媒介から受信し、インターフェース110を通じて、実行する前に、装置10うちの1つの格納装置(ハードディスク108)に格納される。
中央処理装置102は、命令或いは本発明に関する1つ以上のプログラムのソフトウェアコードの一部の実行を制御、指示し、これらの命令は前記格納装置の1つに格納されている。
動作が開始されると、1つ以上のプログラムが、例えばハードディスク108のような不揮発性のメモリ、或いはリード・オンリー・メモリ103に格納され、それらは本発明を実行するために必要な変数及びパラメータを格納するレジスタと同じく、ランダム・アクセス・メモリ104(RAM)に伝送される。そのプログラムには、本発明に関する1つ以上のプログラムの実行可能なコードが含まれる。
本発明に関するデバイスを備える装置は、プログラムされた装置でもよいことに留意すべきである。そして、この装置は、例えば、1つ以上の特定用途向け集積回路(ASIC)に記憶されているような、コンピュータプログラムのコードを含む。
図2に示すように、通信ネットワーク13はクライアント1(21)、クライアント2(22)、およびクライアント3(23)として個別化されるいくつかのクライアントデバイスや端末と接続する。それぞれのクライアントデバイスは、ブロードバンドまたはナローバンド通信手段など(xDSLモデム、PSTNまたはケーブル)の異なった通信手段によってネットワーク13に接続できる。ネットワーク13は、ローカル・エリア・ネットワーク(LAN)上やその両方の組合せのように、インターネットネットワークの上においても、同様にうまく構成することができる。
クライアントデバイスの端末は、2つの異なったカテゴリに分類される。これらには、専用の”ピア・ツー・ピア”P2Pアプリケーションが提供される端末(クライアント2とクライアント1)或いは、専用の”ピア・ツー・ピア”P2Pアプリケーションを提供されない端末(クライアント3)のいずれかである。
専用の”ピア・ツー・ピア”P2Pアプリケーションが提供される端末は、それらの間において、通信ネットワーク13を通じて、そしてその技術の分野における通常の知識を有する者に知られているトポロジーの1つ(集結しているか、セントラルサーバ”スーパーピアーズ”の有無に関わらず分散しているか、或いはその両方か)に従って、”ピア・ツー・ピア”P2Pタイプの通信ネットワークを形成する。
”ピア・ツー・ピア”P2Pアプリケーションは、クライアントデバイス21におけるレファレンス218、或いはクライアントデバイス22におけるレファレンス228を有する、少なくとも1つのサーバモジュールを備える。P2Pアプリケーションは、さらに、記憶手段或いはキャッシュ217、226を備える。
サーバモジュール218或いは228には、”ピア・ツー・ピア”リソースへのアクセスのためのリクエストに応じるタスクが与えられる。そのリクエストは、サーバと同じ端末上にあるアプリケーションの場合と同じように、リモートアプリケーションからもうまく届くことができる。
インターネットで一般的に利用されるHTTP(ハイパー・テキスト・トランスファー・プロトコル)に従った、”ピア・ツー・ピア”アプリケーション固有のプロトコルによって、そのリクエストはおそらく同じようにうまく届く。
記憶手段217、226は、サーバモジュール218、228の補助によって、”ピア・ツー・ピア”ネットワーク上でシェアされるデジタルコンテンツを含む。”ピア・ツー・ピア”アプリケーションは、またP2P専用のローカルクライアントローカルアプリケーション(219、229)の補助を受けて、”ピア・ツー・ピア”ネットワーク上でデジタルコンテンツを検索、アクセス、閲覧そしてシェアすることを可能にする、インターフェースを提供する。
すべての端末は、専用の”ピア・ツー・ピア”アプリケーション提供されるか否かに関わりなく、HTTP通信プロトコルの助けを得て、デジタルコンテンツにアクセスするために、HTMLタイプのマークアップ言語を閲覧することを可能にするツール(227、237)を利用することができる。
1つ以上の特定のプロキシ/ゲートウェイサーバ24は、ネットワーク13に接続することができ、これらのサーバは、専用”ピア・ツー・ピア”クライアントを持たず、HTTP通信プロトコルを利用しているクライアントに、”ピア・ツー・ピア”ネットワークへのエントリーポイントを提供する。
”ピア・ツー・ピア”ネットワークのリソースをリクエストされた場合、プロキシサーバ24は、”ピア・ツー・ピア”ネットワークのマシンのなかで、リソースをリクエストしそうなものを1つ以上割り出す。そして、そのリクエスタ(requester)に前記マシンのうちの1台をリダイレクトするか、或いはリクエスタに代わって前記マシンのうちの1台からリソースを取り戻し、そしてそれをプロキシタイプサーバのようなリクエスタに提供する。
プロキシ/ゲートウェイサーバのこの役割は、それぞれ21と22の番号が付されているクライアントデバイス1及び2のような、専用の”ピア・ツー・ピア”アプリケーションを有していれば、クライアントデバイス自身でもまた実行することができることに留意すべきである。
本発明によると、マシン21に接続されているユーザが、マシン21のディスク217上に存在する、イメージ1、イメージ2、およびイメージ3として個別化されたイメージで構成されたデジタルコンテンツの新しいコレクションを、クライアント22及び23と共にシェアすることを希望した場合、前記3つのイメージで構成された新しいコレクションを作成し、シェアするために、P2Pローカルアプリケーション219を利用する。
シェア中に、P2Pローカルなアプリケーション219は、それぞれのイメージについて、独自の識別子イメージ1ID、イメージ2ID、イメージ3IDに関連付ける。その技術の分野における通常の知識を有する者ならばよく知っているツールにより、ほとんど重複する可能性なしに、識別子を作り出すことが可能になる。
”ピア・ツー・ピア”アプリケーション特有の実際のシェア操作の後、P2Pローカルアプリケーション219は、新しいコレクションを説明するページ25を、デジタルデジタルコンテンツの新しいコレクションはネットワーク上で利用可能であるということを、クライアント22と23に通知するために、HTMLマークアップ言語で生成する。このHTMLページには、JavaScriptのような少なくともいくつかのスクリプト252と、それぞれの新しくシェアされたデジタルコンテンツ253の識別子のレファレンスが含まれている。
HTMLページ25がひとたび作り出されると、ユーザが、新しくシェアしたデジタルコンテンツの存在を、知らせたいすべての人へそのページを送ることができる(クライアント2及びクライアント3の例を参照)。
好適な実施形態において、ユーザは、そのHTMLページ25を電子メールの添付ファイルとして送信する。
他の実施形態では、ユーザは、そのHTMLページ25を、サーバ24などのサーバにダウンロードする。さらに、ユーザは、前記サーバ上にあるそのHTMLページを指定するレファレンスを、通知したいと思う全ての人に、例えば電子メールにURLを含める形式などで送信する。受信者は、サーバ24から通知として受信したレファレンスを用いて(前述のURL)、HTMLページ25をダウンロードする。
ユーザは、受信者へHTMLページを送信することを可能にするような他のいかなる方法をも、同じようにうまく利用することができる(例えば、”ピア・ツー・ピア”ファイルエクスチェンジシステム、HTMLを含むディスケットを物理的に郵送するなど)。
HTMLページ25を受信し、受信者が、アプリケーション227及び237を用いて表示する場合、そのアプリケーションは、すなわちインターネットナビゲータ、電子メールリーダ、或いはHTMLページを解釈し、表示を可能にする他のいかなるアプリケーションのことであるが、そのページのコンテンツが解釈され、そして実行可能なコード(スクリプト)は実行されたページに含まれている。
最初のコードには、専用の”ピア・ツー・ピア”P2Pローカルアプリケーションがインストールされているかどうかを判断するというタスクが与えられている。
もしも、専用のアプリケーションがインストールされていた場合は、最初のコードは、HTMLページの外部にある2番目のコードを用いて(例えば、active X)、そのアプリケーションによって利用されたネットワークポートに結び付けられている数などの、”ピア・ツー・ピア”アプリケーション上の構造情報を検索する。次に、最初のコードは、その3番目のコード変数を初期化するが、それにはHTMLページ25に3番目のコードが埋め込まれており、デジタルコンテンツへアクセスするために利用するURLアドレスを作成するタスクが与えられている。
3番目のコードは、シェアされたデジタルコンテンツをそれぞれ参照するためのHTMLページを解釈する際に呼び出される。もしも、1番目のコードにより、”ピア・ツー・ピア”ローカルサーバ228が、インストールされておりアクティブであると検知された場合、3番目のコードは、”ピア・ツー・ピア”ローカルサーバへ導くURLが記載されたHTMLコードを返す(図2におけるクライアント2のケースC1)。前記URLは、http://localhost:80/RUIDという形式であり、ここでRUIDとは、シェアされたリソースの独自な識別子を意味する。
もしも、”ピア・ツー・ピア”ローカルサーバ228が、マシン22上に存在しないかアクティブでない場合は、3番目のコードは、httpウェブリクエストと、”ピア・ツー・ピア”プロキシ/ゲートウェイウェブ/サーバ24のような”ピア・ツー・ピア”ネットワーク間のゲートウェイを提供する、所定のリモートサーバへ導くURLのHTMLコードを送り返す(図2におけるクライアント3のケース及びクライアント2のケースC2)。
返送されたURLの形式は、http://www.server.com/RUIDであり、www.server.comは、サーバ24のウェブアドレスを意味し、RUIDは、シェアされたリソースの独自の識別子を意味する。
本発明は、従って、受信者が”ピア・ツー・ピア”アプリケーションを有しているか否かによって、通知のコンテンツ(HTMLページ25)を適応させることができる。
この例では、デバイスクライアント3(23)は、”ピア・ツー・ピア”アプリケーションを有していない。このケースでは、シェアされたデジタルコンテンツへの全てのアクセスは、従ってプロキシサーバ24に向けられる。
他方では、デバイスクライアント2(22)に関して、デジタルコンテンツへのアクセスは、”ピア・ツー・ピア”サーバ228がアクティブで(ケースC1)あった場合は、”ピア・ツー・ピア”サーバ228へ直接導かれ、そしてアクティブではない場合(ケースC2)は、プロキシサーバ24ヘ直接へ導かれる。
利用可能であるとすぐに”ピア・ツー・ピア”サーバを利用することの利点は、データが”ピア・ツー・ピア”サーバ上にすでにキャッシュされている場合、特にネットワークへアクセスしないことである。さらに、デジタルコンテンツが”ピア・ツー・ピア”ローカルサーバを通してアクセスされるならば、前記コンテンツは、その結果、サーバ上のキャッシュに存在することになり、従ってその代わりにリモートマシンへ提供されることとなる。”ピア・ツー・ピア”ネットワークにある、特定のデジタルコンテンツを提供することができるマシンの数は、従って増加する。その結果、マシンがいつ何時切断されたときでも、ネットワーク上の特定のデジタルコンテンツを、どんなときでも見つけることができる可能性は増加する。
図3に示すフローチャートは、”ピア・ツー・ピア”ローカルサーバがマシン上で存在しておりアクティブかどうかを判断するタスクが与えられているスクリプトの作用を図解したものである。
このスクリプトは、###が利用する言語を意味する<SCRIPT LANGUAGE=###> と </SCRIPT>のHTMLタグによって制限されたスクリプト252の形式か、或いは外部ファイルへのレファレンスの形式で、HTMLページ25に組み込まれる。
そのスクリプトは、HTMLページが毎回表示されるたびに解釈され、実行される。
ステップS302では、「ピア・ツー・ピア」アプリケーションが、マシンにインストールされているか否かを確かめることからそのスクリプトが始まる。これに関しては、そのスクリプトは、active Xプログラムか、”ピア・ツー・ピア”アプリケーションの拡張モジュール(プラグイン)形成部分の存在を検知しようとする。
例えば、検出するプログラムがactiveXであるならば、以下のVBscriptプログラムによって定義される関数を呼び出すことができる。すなわち、
<SCRIPT LANGUAGE="VBscript">
<!--
Function detectActiveXControl(activeXControlName)
on error resume next
detectActiveXControl = False
detectActiveXControl = IsObject(CreateObject(activeXControlName))
End Function
rem -->
</SCRIPT>
である。
前記関数detectActiveXControlは、パラメータとしてactiveXという名称を解釈し、activeXがマシン上に存在している場合はTrue、さもなければFalseとする。
ステップS303では、アプリケーションがマシンの上に存在していないとして検出されたならば、アルゴリズムは、S308に進んで、変数が、HTMLページ使用の以下の処理におけるそれがリモートサーバ24に向けられるURLで作られていなければならないことを示すように設定する。
これに反して、P2Pアプリケーションが検出されたならば、前記スクリプトは、ステップS304において、”ピア・ツー・ピア”ローカルサーバ228が現在アクティブであるかどうか(すなわち、実行中であるか)を判断する。このため、現在の”ピア・ツー・ピア”サーバ228の構成を検索するために、レジスタや構成ファイルを調べて、前のステップにおいて検出されたactiveXプログラムを利用する。
例えば、activeXプログラムは、サーバ228が受信しているネットワークポートの数を検索する。もしも、後者がアクティブでないならば、ポートの値はゼロである。もしも、その値がゼロでないならば、ステップS309において、サーバ228が受信しているポート番号を含む変数を設定する。
ステップS310では、HTMLページ25利用の次の処理において、デジタルコンテンツにアクセスするために、ローカルサーバ228へ導くURLアドレスで作られなくてはならないということを意味する変数をスクリプトが設定する。
例えば、GetRegValueがactiveX MpActiveXVBの関数であって、レジスタがアクセスされることを可能にするものであるならば、以下のプログラムは、ローカルサーバがアクティブか否かを判断し、そしてそのポート番号を検索するために利用することができる(ステップS304及びS309)。すなわち、
<SCRIPT LANGUAGE="JavaScript">
<!--
var IsLocalServerActive = false;
var LocalServerPort = 80;

function CheckLocalServer()
{

LocalServerPort = MpActiveXVB.GetRegValue("SOFTWARE\\LocalServer\\Config\\ListenPort}");

if(LocalServerPort != 0)
{
return true;
}
return false;
}

IsLocalServerActive=CheckLocalServer();
// -->
</SCRIPT>
である。
もしも、サーバ228が、S304でアクティブでないことを検出した場合、そのプログラムはユーザに対して、activeXの関数を用いてダイアログボックスを開くことにより、”ピア・ツー・ピア”ローカルサーバ228を立ち上げるよう勧めることができる。
もしも、ユーザがその提案を受け付ける場合は、ステップS307で、ローカルサーバを立ち上げるために、activeXの関数が呼び出される。
ステップS311では、HTMLページ25の解釈が継続される。
図4に示されるように、HTMLページ25が、インターネットナビゲータ或いは電子メールリーダ(227、237)のようなアプリケーションによって解析されるたびに、そのページに埋め込まれているJavaScript関数が、前記デジタルコンテンツにアクセスするために使用するURLアドレスを提供するために、デジタルコンテンツを参照するたびに呼び出される。
HTMLページにおける、前記関数の呼出しは以下の形式をとる。すなわち、
<SCRIPT LANGUAGE="JavaScript"> GetRessourceAddress('abcde23404-3143492ef-23232', 'blue_mountain.jpg');
</SCRIPT>
である。
タグ<SCRIPT LANGUAGE= ###>は、HTMLページを実行するコードの始まりを示すが、ここで、###には利用する言語の種類(例えば、JavaScriptかVBScript)を記載する。タグ</SCRIPT>は、実行するコードの終わりを示す。
ここのGetRessourceAddressは、呼び出すJavaScript関数名に対応している。この関数は、関数拡張子”.js”で終わっており、それ自体がHTMLページで参照されているような名称の外部ファイルか、或いは直接HTMLページの冒頭の部分において(すなわち、タグ<HEAD>と</HEAD>で、はさまれているヘッダにおいて、タグ<SCRIPT LANGUAGE="JavaScript">と</SCRIPT>で、はさまれたJavaScriptコードの部分において)、予め定義されていなければならない。
最初のケースにおいて、スクリプトを提供するサーバの名称が”www.server.com”であり、そして、その関数の定義を含むファイルが”mp.js”という名称で、そのファイルがサーバ上の”スクリプト”フォルダにおいて検出されたならば、HTMLページの”mp.js”ファイルを含むコマンドは以下のとおりである。すなわち、
<SCRIPT LANGUAGE="JavaScript"
src="http://www.server.com/script/mp.js"></SCRIPT>
である。
図4は、URLアドレスを提供するタスクが与えられている、JavaScript関数GetRessourceAddressの作用について説明している。
JavaScriptの対応するコードは以下のとおりである。すなわち、
function GetRessourceAddress(resID, title)
{
if(isLocalServerActif == false)
{
document.write("<A HREF=http://www.server.com/");
document.write(resID);
}
else
{
document.write("<A HREF=http://localhost:");
document.write(localServerHTTPPort);
document.write("/");
document.write(resID);
}
document.write(">");
document.write(title);
document.write("</A>");
}
である。
キーワード「function」は、新しい関数を作成することを示す。その名称はGetRessourceAddress hereであり、その関数にはパラメータとしてresIDとtitleの2つの変数がある。JavaScriptには、document.write(#) と名付けられたコマンドがあり、そのコマンドによって、ここに示された情報を細切れに、HTMLページを解釈する間にプログラムに送ることを可能にする。従って、送信された情報はインタプリタが理解しやすいように、HTMLフォーマットでなくてはならない。
isLocalServerActifとlocalServerHTTPPortは、あらかじめ初期化されたJavaScript変数を表すワードである(図3)。最初の関数は、”ピア・ツー・ピア”ローカルサーバが、マシン上で現在インストールされており、またアクティブであるということを示し、そして2番目の関数は、”ピア・ツー・ピア”ローカルサーバが待機しているポート番号を示す。
本発明によると、そのアルゴリズムは以下のとおりである。
パラメータとしてGetRessourceAddressと示したJavaScript関数は、少なくともリソース独自の識別子を持っており、resIDと示されるそのリソースは、HTMLページ25のリソースを参照するたびに呼び出される(ステップS401)。
ステップS402では、その関数は、”ピア・ツー・ピア”ローカルサーバが、isLocalServerActifによって指示された変数の値を確認することにより、図3のアルゴリズムによって検出されたかどうかを確認する。
ステップS403では、もしも現在アクティブな”ピア・ツー・ピア”ローカルサーバが存在しないということを変数が示した場合(変数の値がfalseの場合)、次にステップS404で、プロキシ/ゲートウェイタイプのサーバ24に対応している、所定のアドレスを通じて、リソースへのアクセスが可能になるURLが、その関数によって提供される。そのURLは、例えば、www.server.comといったものである。
JavaScript関数のコード及び前記実施形態に基づいて、関数より提供されたHTMLコードは以下のとおりである。すなわち、
<A HREF=http://www.server.com/abcde23404-3143492ef-23232> 'blue_mountain.jpg'</A>である。
このコードは、blue_mountain.jpg という名称のハイパーテキストリンクとアドレスhttp://www.server.com/abcde23404-3143492ef-23232へのリンクを意味する。
ステップS403では、もしも変数がマシン上で”ピア・ツー・ピア”ローカルサーバが存在しテいることを示し(変数の値がtrueの場合)、次にステップS405において、その関数は、ここではプロキシの役割を果たすローカルサーバ(図5)を通じてリソースにアクセスできるURLを提供する。そして、関数によって提供されるHTMLコードは以下の通りである。すなわち、
<A HREF=http://localhost:90/abcde23404-3143492ef-23232>'blue_mountain.jpg'</A>
である。ここで、localServerHTTPPortは、値90を有すると仮定する。
別の方法として、デジタルコンテンツを参照するたびにJavaScript関数GetRessourceAddressを呼び出すのではなく、相対URL(relative URL)の形式で記載することもできる。そのとき、レファレンスのためのHTMLコードの例は、以下の形式をとることができる。すなわち、
<A HREF=abcde23404-3143492ef-23232> 'blue_mountain.jpg'</A>
である。
従って、デジタルコンテンツを参照するたびにJavaScript関数GetRessourceAddressを繰り返し呼び出すことは、HTMLページ25のヘッダ内に、タグ<BASE>を定義をするというタスクが与えられたJavaScriptルーチンを一回呼び出すことに都合よく置き換えられる。このタグは、相対URLを解決(resolve)する基底URL(basic URL) として利用される、絶対URL(absolute URL)を定義する。
JavaScript関数は、マシン上でアクティブな”ピア・ツー・ピア”ローカルサーバが存在しない場合(変数isLocalServerActifの値がFalseの場合)、プロキシ/ゲートウェイタイプのサーバ24へリンクされるタグ<BASE>を提供する。その場合、関数から提供されるHTMLコードは以下のとおりである。すなわち、
<BASE HREF=http://www.server.com/>
である。
もしも、マシンの上にアクティブな”ピア・ツー・ピア”ローカルサーバが存在する場合(変数isLocalServerActifの値がtrueの場合)は、JavaScript関数はローカルサーバ228へリンクする<BASE>タグを提供する。その場合、関数から提供されるHTMLコードは以下のとおりである。すなわち、
<BASE HREF=http://localhost:90/>
であり、変数localServerHTTPPortの値は90と想定する。
図5には、ローカルサーバ228と218の作用が記述されている。
本発明によると、”ピア・ツー・ピア”ローカルサーバが、デジタルコンテンツRのリクエストを受信すると(S511)、それは、ステップS512において、そのリクエストがリモートアプリケーション(通信ネットワーク上の他のマシン上に存在する)からか、或いはローカルアプリケーション(そのサーバと同じマシン上で作動している)から届いたものかどうかを判断する。それは、リクエスタのIPアドレスを調べて、それ自身のIPアドレスと比較することにより、この情報を判断する。もしも、2つのアドレスが同じであるか、或いはリクエスタのアドレスが127.0.0.1(ループバックアドレス)の場合は、リクエスタがローカルに存在するか、そうでなければ、リモートリクエスタであるということを意味する。
もしも、リクエスタがローカルに存在するならば、そのサーバはステップS513へ進み、検索されたデータRがディスク上においてローカルには存在しないのかどうかを確認する。もしも、データがローカルに存在する場合は、それはリクエスタに送られる(ステップS517)。もしも、データがローカルに存在しない場合、サーバは、その技術の分野における通常の知識を有する者に知られている技術を使用して、”ピア・ツー・ピア”ネットワーク上のリソースの検索を実行する(ステップS514)。ステップS515で、データがネットワーク上で見つかった場合は、サーバは、ステップS516でデータRをダウンロードし、ディスク上のキャッシュ内においてそれをローカルにセーブして、ステップS517でそれをリクエスタに送り返す。反対のケースの場合は、サーバは、データが利用できないであることを示すために、ステップS518でリクエスタにエラーを返送する。
もしも、リクエスタがリモートに存在する場合、ステップS519で、サーバは、リソースがそのディスク上でローカルに利用可能であるかどうかを確認する。
もしも、そのデータが利用可能であるならば、それはステップS520でリクエスタに送り返される。反対のケースの場合は、要求が、例えば、インターネットナビゲータ([x]が、[y]によって確認されるマシンに関するリソースへのアクセスパスであるURL http://y/x の形式、またはその要求における、特定のヘッダの形式におけるもの)から来るウェブ要求であるかどうか、或いは独占”ピア・ツー・ピア”プロトコルによって、それが要求であるかどうかがステップS521で検証される。
そして、それがウェブ要求であるならば、サーバはステップS522で、”ピア・ツー・ピア”ネットワークに関するデータの検索を実行する。マシン24のプロキシ/ゲートウェイ作用は、ここでまた検出することができる。
ステップS523では、リソースが”ピア・ツー・ピア”ネットワーク上でローカライズされるならば、そのサーバは、リソースをダウンロードしないが、反対にステップS524において、以下のようなHTTPプロトコルを用いた簡単な形式のフォーワーディング・オーダー(forwarding order)を用いて、リソースを検索されたマシンへリクエスタをリダイレクトする。すなわち、
HTTP/1.1 302 See other URI
Location:http://nnn/zzz
である。
最初のキーワードhttp/1.1は、プロトコルのタイプとバージョンを示すことを可能にしている。302は、リソースがサーバ上で一時的に利用できないことを示す、特定のエラー値である。表示されうるコメントは、そのエラーコードに従う。Location:は、2番目のキーワードであり、それはインターネットナビゲータに対して、それ自体を他のURIへリダイレクトすることを示すものである。[nnn]は、リソースを取得するためにコンタクトするマシンへのアドレスであり、そして、[zzz]は、マシン[nnn]上のリソースへのアクセスパスである。
ステップS523では、もしもリソースが”ピア・ツー・ピア”ネットワーク上に存在しない場合、ステップS525においてサーバは、前のステップと同様にフォーワーディング・オーダーを用いて所定のマシンへリクエスタをリダイレクトする。所定のマシンは、要求されたリソースを利用できなかったケースについて、例えば、ユーザに後で自分のリクエストを更新するように勧める、所定のレスポンスを送り返すことにより対応するというタスクが与えられている。
もしも、ステップS521で、それがインターネットナビゲータから来るウェブリクエストではなく、専用の”ピア・ツー・ピア”アプリケーションから来るリクエストならば、サーバはリクエスタにエラーを返送する。
例えば、HTMLページには、以下のコンテンツがあるかもしれない。すなわち、
<HTML>
<HEAD>
<SCRIPT LANGUAGE="VBscript">
<!--
detectableWithVB = False
If ScriptEngineMajorVersion >= 2 then
detectableWithVB = True
End If

Function detectActiveXControl(activeXControlName)
on error resume next
detectActiveXControl = False
If detectableWithVB Then
detectActiveXControl = IsObject(CreateObject(activeXControlName))
End If
End Function
rem -->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
var pluginFound = false;
pluginFound = detectActiveXControl('MpActiveXVB.MpRegistry');
alert('MpActiveXVB found = ' + pluginFound);
if (pluginFound)
{
// Insert reference to activeX in HTML page
document.write("<OBJECT ID=");
document.write('\"MpActiveXVB\"');
document.write("CLASSID=");
document.write('\"CLSID:443E61FC-4AC1-49EC-A89A-F99EA5EE72A2\">');
document.writeln("</OBJECT>");
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var isLocalServerActif = false;
var localServerHTTPPort = 80;
function CheckServer()
{
if (pluginFound)
{
isLocalServerActif = MpActiveXVB.GetRegValue("SOFTWARE\\Classes\\CLSID\\{443E61FC-4AC1-49EC-A89A-F99EA5EE72A2}");
if(isLocalServerActif == false)
{
alert('Server Not Found');
}
else
{
localServerHTTPPort = MpActiveXVB.GetRegValue("SOFTWARE\\localserver\\config\\port");
alert('Server Port Value: ' + localServerHTTPPort);
}
}
}
function GetRessourceAddress (imageID, title)
{
document.writeln("");
document.writeln("Process the image ID...");
if(isLocalServerActif == false)
{
document.write("<A HREF=http://www.server.com/");
}
else
{
document.write("<A HREF=http://localhost:");
document.write(localServerHTTPPort);
document.write("/");
}
document.write(imageID);
document.write("><IMG SRC=");
document.write(title);
document.write("BORDER=0 ALT=");
document.write(title);
document.writeln("></A>");
}
CheckServer ();
// -->
</SCRIPT>

<NOSCRIPT>
<H1>No JavaScript</H1>
You see this text if JavaScript is disabled or unimplemented.
</NOSCRIPT>

<SCRIPT LANGUAGE="JavaScript">
GetRessourceAddress ('abcde23404-3143492ef-23232', 'blue_mountain.jpg');
GetRessourceAddress ('fffffeeeaa-bbe478999-aaaaa', 'red_mountain.jpg');
</SCRIPT>
</BODY>
</HTML>
である。
本発明により得ることのできる様々な効果の中で、受信者の能力に応じて、すなわち、専用のP2Pローカルアプリケーションを有しているかどうかによって、通知のコンテンツを適応させる必要はないということを、強調できる。さらに、ローカルアクセスかリモートアクセスかが、ユーザにとって大変わかりやすい。同様に、ユーザのインターネット設定を変更する必要がない(この場合、プロキシサーバかプロキシのアドレス)。最後に、P2Pアプリケーションを有するクライアントデバイスが、電子メールによって受信する通知のコンテンツを表示するために、そのローカルサーバをアクティブにしておかなくてもよく、ローカルサーバの有無によって、通知の表示が自動的に適応する。

Claims (23)

  1. 複数のクライアントデバイスを互いにリンクする通信ネットワーク上で利用可能な少なくとも1つのデジタル文書にアクセスするための方法であって、
    前記アクセス方法は、受信側クライアントデバイスの上で実行され、該方法は、
    i)前記受信側クライアントデバイスが、前記デジタル文書を処理可能なローカルアプリケーションを備えているかどうかを検出するのに適した、少なくとも1つの実行可能なコマンドを含む通知であって、前記ネットワーク上で利用可能な少なくとも1つのデジタル文書が存在することを示す通知を受信するステップと、
    ii)前記ローカルアプリケーションを検出するために1つ以上のコマンドを実行するステップと、
    iii)検出された場合は、ローカルサーバから前記デジタル文書にアクセスし、検出されなかった場合は、リモートサーバのアドレスから前記デジタル文書にアクセスするステップと
    を有することを特徴とする方法。
  2. 前記通知は、更に、前記デジタル文書を指定する識別子及びリモートサーバを指定するリモートアドレスを少なくとも1つ含む、マークアップ言語で記載されたページを少なくとも1ページ有することを特徴とする請求項1に記載の方法。
  3. ローカルアプリケーションが存在しアクティブではなかった場合、選択された実行可能なコマンドに従って前記ローカルアプリケーションの起動を続けるようにするステップiib)をステップii)の後であってステップiii)の前に更に有することを特徴とする請求項1に記載の方法。
  4. 前記文書が前記ネットワーク上に見つからなかった場合は、ローカルサーバ上の前記文書の存在を確認するようにして、見つかった場合は、それをダウンロードし、提供する前にローカルに保存するステップiv)をステップiii)の後に更に有することを特徴とする請求項1に記載の方法。
  5. 前記ページのアダプテーションは、ローカルサーバのアドレスにマークアップ言語で記述されているリンク変数を設定することを含み、ローカルサーバのアドレスから前記文書にアクセスできるように、マークアップ言語で記述された前記ページがローカルに適応するようにすることを特徴とする請求項2に記載の方法。
  6. 前記ページのアダプテーションは、リモートサーバのアドレスに、マークアップ言語で記述されているリンク変数を設定するということを含み、リモートサーバのアドレスから前記文書にアクセスできるように、マークアップ言語で記述された前記ページがローカルに適応するようにすることを特徴とする請求項2に記載の方法。
  7. 実行可能な1つ以上のコマンドが、通知に従って前記ページに組み込まれており、ステップii)において前記ページが解釈されることを特徴とする請求項2に記載の方法。
  8. ローカルサーバを指定するローカルアドレスは、前記ローカルサーバの構造パラメータを検索することに適した1つ以上のコマンドによって判断することを特徴とする請求項2に記載の方法。
  9. ローカルプログラムを必要とするマークアップ言語で記載された前記ページに含まれる、1つ以上のコマンドが、前記ローカルサーバの前記構造パラメータを検出するのと同様に該ローカルサーバの検出に適していることを特徴とする請求項2に記載の方法。
  10. 前記ページが、電子メールの添付ファイルとして通知されることを特徴とする請求項2に記載の方法。
  11. 前記ページが、選択されたリモートサーバ上にダウンロードされ、そのページへのレファレンスが、通知されるどのような受信者に送信されることを特徴とする請求項2に記載の方法。
  12. 複数のクライアントデバイスを互いにリンクする通信ネットワークの上で、利用可能なデジタル文書をシェアする方法であって、
    該方法は送信側クライアントデバイス上で実行され、
    前記ネットワーク上で利用可能な少なくとも1つのデジタル文書が存在するということを知らせる通知を、少なくとも1つの受信側クライアントデバイスに送信するステップであって、前記通知は、前記受信側クライアントデバイスが、前記デジタル文書を処理可能なローカルアプリケーションを備えているか否かを検出するステップと、
    存在が検出された場合は、ローカルサーバのアドレスから前記文書にアクセスし、それ以外の場合はリモートサーバのアドレスから前記文書にアクセスするステップと
    を有することを特徴とするシェア方法。
  13. 前記通知が、前記デジタル文書を指定する少なくとも1つの識別子と、リモートサーバを指定するリモートアドレスを含むマークアップ言語で記述されたページを含むことを特徴とする請求項12に記載の方法。
  14. 複数のクライアントデバイスを互いにリンクする通信ネットワークの上で利用可能な少なくとも1つのデジタル文書にアクセスする装置であって、
    前記アクセス装置は、受信側クライアントデバイスに組み込まれており、
    該アクセス装置は、前記ネットワーク上で利用可能な少なくとも1つのデジタル文書の存在を示す通知を受信し、前記通知は前記デジタル文書を処理可能なローカルアプリケーションを備える前記受信側クライアントデバイスが存在するか否かを検出するのに適した、少なくとも1つの実行可能なコマンドを含んでいる受信手段と、
    前記ローカルアプリケーションを検出するためにコマンドを実行する実行手段と、
    検出した場合は、ローカルサーバから前記デジタル文書へアクセスするのに対して、検出しなかった場合は、リモートサーバから前記文書へアクセスする処理手段と
    を備えることを特徴とするアクセス装置。
  15. 前記通知は、前記デジタル文書を指定する少なくとも1つの識別子及びリモートサーバを指定するリモートアドレスを含む、マークアップ言語で記述されたページを少なくとも1ページ有することを特徴とする請求項14に記載の装置。
  16. 前記処理手段は、前記ローカルサーバのアドレスにマークアップ言語で記述されたリンク変数を設定し、該処理手段が、前記ローカルサーバアドレスから前記文書にアクセスできるように、マークアップ言語で記述された前記ページがローカルで適応するのに適していることを特徴とする請求項15に記載の装置。
  17. 前記処理手段が、前記リモートサーバのアドレスにマークアップ言語で記述されたリンク変数を設定し、該処理手段が、リモートサーバのアドレスから前記文書にアクセスできるように、マークアップ言語で記述された前記ページがローカルで適合するのに適していることを特徴とする請求項15に記載の装置。
  18. 実行可能な1つ以上のコマンドが、通知に従って前記ページに組み込まれており、前記ページが解釈されることを特徴とする請求項15に記載の装置。
  19. 電子メールの添付ファイルとして前記ページが通知され、更に電子メール処理アプリケーションを備えていることを特徴とする請求項15に記載の装置。
  20. 複数のクライアントデバイスを互いにリンクする通信ネットワーク上でデジタル文書をシェアする装置であって、
    該シェア装置は送信側クライアントデバイスに組み込まれており、
    該デジタル文書シェア装置は、前記ネットワーク上で利用可能なデジタル文書を少なくとも1つ存在することを示す通知を、少なくとも1つの受信側クライアントデバイスに送信する送信手段を備え、
    前記通知は、前記デジタル文書を処理可能なローカルアプリケーションを備えているかどうかを検出するのに適した、少なくとも1つの実行可能なコマンドを含み、存在が検出された場合は、ローカルサーバのアドレスより前記文書へアクセスし、それ以外の場合はリモートサーバのアドレスより前記文書へアクセスすることを特徴とする装置。
  21. 前記通知が、前記デジタル文書を指定する少なくとも1つの識別子、及びリモートサーバを指定するリモートアドレスを含むマークアップ言語で記述されたページを更に有することを特徴とする請求項20に記載のデジタル文書シェア装置。
  22. コンピュータシステムによって読み取り可能な情報媒体であって、その全部または一部がリムーバブル式の場合であって、特にCD−ROM、ハードディスクやディスケットのような磁気媒体、或いは電気信号または光学信号シグナルのような伝送可能な媒体であって、プログラムがコンピュータシステムによりロードされ、また実行された際に、請求項1に記載の方法に従って実行可能なことを特徴とする媒体。
  23. 情報媒体に組み込まれているコンピュータプログラムであって、前記プログラムはプログラムがコンピュータシステムによりロードされ、また実行された際に、請求項1に記載の処理方法を実行することを可能にすることを特徴とするプログラム。
JP2004210101A 2003-07-18 2004-07-16 P2p通信ネットワーク上におけるデジタル文書アクセス方法及びシェア方法 Pending JP2005122693A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0308807A FR2857763A1 (fr) 2003-07-18 2003-07-18 Procede d'acces et de partage d'un document numerique dans un reseau de communication p2p

Publications (1)

Publication Number Publication Date
JP2005122693A true JP2005122693A (ja) 2005-05-12

Family

ID=33462563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004210101A Pending JP2005122693A (ja) 2003-07-18 2004-07-16 P2p通信ネットワーク上におけるデジタル文書アクセス方法及びシェア方法

Country Status (4)

Country Link
US (1) US7716302B2 (ja)
EP (1) EP1499089B1 (ja)
JP (1) JP2005122693A (ja)
FR (1) FR2857763A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2860935B1 (fr) * 2003-10-09 2006-03-03 Canon Kk Procede et dispositif de traitement de donnees numeriques
JP4328806B2 (ja) * 2003-11-14 2009-09-09 キヤノン株式会社 ピアツーピア通信ネットワーク内のデジタルドキュメントにアクセスし、または共有するシステム、方法及び装置
FR2863127A1 (fr) * 2003-12-02 2005-06-03 Canon Kk Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
FR2868896B1 (fr) * 2004-04-13 2008-03-14 Canon Kk Procede et dispositif de controle d'acces a un document numerique partage dans un reseau de communication de type poste a poste
FR2870022B1 (fr) 2004-05-07 2007-02-02 Canon Kk Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
US8316088B2 (en) * 2004-07-06 2012-11-20 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
US20060064386A1 (en) * 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
US11734393B2 (en) 2004-09-20 2023-08-22 Warner Bros. Entertainment Inc. Content distribution with renewable content protection
US10755313B2 (en) 2004-12-27 2020-08-25 Andrew Levi System and method for distribution of targeted content between mobile communication devices
US8155679B2 (en) * 2005-12-23 2012-04-10 Blue Calypso, Llc System and method for peer-to peer advertising between mobile communication devices
US8452646B2 (en) 2005-12-23 2013-05-28 Blue Calypso, Llc System and method for providing endorsed electronic offers between communication devices
US10354280B2 (en) 2004-12-27 2019-07-16 Blue Calypso, Llc System and method for distribution of targeted advertising between mobile communication devices
US9314697B2 (en) 2013-07-26 2016-04-19 Blue Calypso, Llc System and method for advertising distribution through mobile social gaming
US7664516B2 (en) * 2004-12-27 2010-02-16 Aztec Systems, Inc. Method and system for peer-to-peer advertising between mobile communication devices
US20060193265A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Peer-to-peer name resolution protocol with lightweight traffic
US20060212584A1 (en) * 2005-03-15 2006-09-21 Qian Xiang Shi Ji (Beijing) Technology Development Co. Ltd. Method and system for accelerating downloading of web page content by a peer-to-peer network
US9178940B2 (en) * 2005-04-12 2015-11-03 Tiversa Ip, Inc. System and method for detecting peer-to-peer network software
USRE47628E1 (en) * 2005-04-12 2019-10-01 Kroll Information Assurance, Llc System for identifying the presence of peer-to-peer network software applications
US7697520B2 (en) * 2005-04-12 2010-04-13 Tiversa, Inc. System for identifying the presence of Peer-to-Peer network software applications
FR2886494B1 (fr) 2005-05-24 2007-06-29 Canon Kk Procede et dispositif d'echange de donnees entre des stations mobiles dans un reseau pair a pair
US7734589B1 (en) 2005-09-16 2010-06-08 Qurio Holdings, Inc. System and method for optimizing data uploading in a network based media sharing system
US7747574B1 (en) 2005-09-19 2010-06-29 Qurio Holdings, Inc. System and method for archiving digital media
US9141825B2 (en) * 2005-11-18 2015-09-22 Qurio Holdings, Inc. System and method for controlling access to assets in a network-based media sharing system using tagging
US7836016B2 (en) * 2006-01-13 2010-11-16 International Business Machines Corporation Method and apparatus for disseminating new content notifications in peer-to-peer networks
US20110137986A1 (en) * 2009-12-08 2011-06-09 Wolf Edward O'brien Accessing content hosted on a peer device in a peer-to-peer network using a uniform resource locator (URL)
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
GB2438258A (en) * 2006-05-16 2007-11-21 Skinkers Ltd Provision of personal data in a data communications network
FR2906950B1 (fr) * 2006-10-05 2008-11-28 Canon Kk Procede et dispositifs pour adapter le debit de transmission d'un flux de donnees en presence d'interferences.
FR2909241B1 (fr) * 2006-11-27 2009-06-05 Canon Kk Procedes et dispositifs de gestion dynamique des erreurs de transmission par des points d'interconnexion de reseaux.
FR2916600B1 (fr) * 2007-05-24 2013-11-22 Canon Kk Procede et dispositif de transmission de donnees
FR2922391B1 (fr) * 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
US11641418B2 (en) 2007-12-31 2023-05-02 Bklk Ltd. Method and a system for rapid awareness, recognition, and response to digital messages
FR2926939A1 (fr) 2008-01-30 2009-07-31 Canon Kk Procede de transmission de donnees avec anticipation des acquittements, dispositif d'entree, produit programme d'ordinateur et moyen de stockage correspondants
FR2944938B1 (fr) * 2009-04-28 2011-10-21 Canon Kk Procede et dispositif de correction d'erreurs.
EP2400749B1 (en) * 2010-06-24 2013-05-01 Koninklijke KPN N.V. Access network controls distributed local caching upon end-user download
US8688734B1 (en) 2011-02-04 2014-04-01 hopTo Inc. System for and methods of controlling user access and/or visibility to directories and files of a computer
US8725168B2 (en) * 2011-10-17 2014-05-13 Facebook, Inc. Content surfacing based on geo-social factors
US9397521B2 (en) * 2012-01-20 2016-07-19 Salesforce.Com, Inc. Site management in an on-demand system
US9491123B2 (en) 2012-04-24 2016-11-08 Biscom Inc. Streamlined messaging client provisioning system
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US10095803B2 (en) * 2012-07-31 2018-10-09 Apple Inc. Delivering content to electronic devices using local caching servers
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
KR101422808B1 (ko) * 2012-09-21 2014-08-14 주식회사 팬택 드로잉 화면 공유 서비스의 제공 장치 및 방법과 이를 위한 휴대 단말
US10373431B2 (en) 2013-07-26 2019-08-06 Blue Calypso, Llc System and method for advertising distribution through mobile social gaming
US9814985B2 (en) 2013-07-26 2017-11-14 Blue Calypso, Llc System and method for advertising distribution through mobile social gaming
US9842095B2 (en) * 2016-05-10 2017-12-12 Adobe Systems Incorporated Cross-device document transactions
CN106470276B (zh) * 2016-08-23 2019-06-28 努比亚技术有限公司 一种实现数据交互的系统、方法及装置
CN107015870B (zh) * 2016-09-19 2020-11-03 创新先进技术有限公司 实现web页面与本地应用通信的方法、装置和电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
EP0993163A1 (en) * 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7206806B2 (en) * 2001-05-30 2007-04-17 Pineau Richard A Method and system for remote utilizing a mobile device to share data objects
US6975419B2 (en) * 2001-06-18 2005-12-13 Hewlett-Packard Development Company, L.P. System and method for mobile printing
US7440994B2 (en) * 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
FR2851866B1 (fr) * 2003-02-27 2005-10-28 Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication

Also Published As

Publication number Publication date
EP1499089A1 (en) 2005-01-19
EP1499089B1 (en) 2014-04-02
FR2857763A1 (fr) 2005-01-21
US7716302B2 (en) 2010-05-11
US20050044483A1 (en) 2005-02-24

Similar Documents

Publication Publication Date Title
JP2005122693A (ja) P2p通信ネットワーク上におけるデジタル文書アクセス方法及びシェア方法
US20020120721A1 (en) Client capability detection in a client and server system
US6658476B1 (en) Client-server protocol support list for standard request-response protocols
JP3561139B2 (ja) ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
JP3935586B2 (ja) html中で指定されたリンクに対応するウェブ・ページの事前ロード装置および方法
KR100288490B1 (ko) 상태정보를보존하는컴퓨터화된방법및상태정보보존컴퓨터시스템
US6209048B1 (en) Peripheral with integrated HTTP server for remote access using URL's
KR100472202B1 (ko) 아이 알 씨 프로토콜을 이용한 웹 공동 브라우징 시스템및 그 방법
JP3742272B2 (ja) ファイアウォール・サーバを動的に選択する方法
US6981210B2 (en) Self-maintaining web browser bookmarks
US7536445B2 (en) Enabling a web-crawling robot to collect information from web sites that tailor information content to the capabilities of accessing devices
US20020002451A1 (en) Translating system and translating apparatus
US8219692B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US20080140777A1 (en) Selective mirrored site accesses from a communication
JP2002229842A (ja) Httpアーカイブ・ファイル
WO2002082210A2 (en) Method, system, and software for transmission of information
US7865902B2 (en) Method and apparatus for optimizing web services binding
US6408296B1 (en) Computer implemented method and apparatus for enhancing access to a file
JP2000029813A (ja) サーバ選択システム
JPWO2007052353A1 (ja) データ伝送システムおよびその方法
JP2000285052A (ja) Url変換方法および装置
US7047483B1 (en) Computer implemented method and apparatus for providing a logical point of access to one or more files
US20070124445A1 (en) Browser adaptation for context based navigation
EP1008065B1 (en) A method and arrangement for browsing documents in a database
JP2000122912A (ja) 資源収集方法及び資源収集装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070416