JP4328806B2 - ピアツーピア通信ネットワーク内のデジタルドキュメントにアクセスし、または共有するシステム、方法及び装置 - Google Patents

ピアツーピア通信ネットワーク内のデジタルドキュメントにアクセスし、または共有するシステム、方法及び装置 Download PDF

Info

Publication number
JP4328806B2
JP4328806B2 JP2006538994A JP2006538994A JP4328806B2 JP 4328806 B2 JP4328806 B2 JP 4328806B2 JP 2006538994 A JP2006538994 A JP 2006538994A JP 2006538994 A JP2006538994 A JP 2006538994A JP 4328806 B2 JP4328806 B2 JP 4328806B2
Authority
JP
Japan
Prior art keywords
station
data item
central server
thumbnail data
thumbnail
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.)
Expired - Fee Related
Application number
JP2006538994A
Other languages
English (en)
Other versions
JP2007510996A (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.)
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
Priority claimed from FR0313381A external-priority patent/FR2862460A1/fr
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2007510996A publication Critical patent/JP2007510996A/ja
Application granted granted Critical
Publication of JP4328806B2 publication Critical patent/JP4328806B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Description

本発明は、一般に「ピアツーピア」トポロジを有すると称される、分散型通信ネットワークにおけるデジタルドキュメントへのアクセスまたはその共有に関し、より詳細には、ネットワークのあらゆるステーションからデジタルドキュメントのデータ項目への、同じデジタルドキュメントの別のデータ項目に基づいたアクセスに関する。
数年前から、ピアツーピアネットワークが、現在まで広く用いられてきたクライアントサーバシステムに変わる選択肢の1つになってきた。これは、ピアツーピアネットワークが、その分散型アーキテクチャのおかげでコストのかかるインフラストラクチャを必要とせずに、多数のユーザの間で大量のデジタルデータを共有することを可能にしたからである。
実際、ピアツーピアネットワークにおいて、各ステーションは、クライアント及びサーバの役割を果たす。従って、各ステーションは、ネットワークの他のどのステーションに対しても、データ項目またはデジタルドキュメントを要求することができ、データの交換は、あるステーションから別のステーションへ直接実施することができる。
以下の説明では、「ドキュメントまたはデジタルデータ項目」という用語は、画像またはデジタル映像、あるいはデジタルテキストに等しく適用される。
概して、同種のデジタルドキュメントは、解像度、バージョン、言語、サイズまたはコンテンツの点において階層タイプ及び/または品質の編集関係に従って互いに結び付けられた、少なくとも第1及び第2のデータ項目を含む。実際、オリジナルデータ項目(ここでは、共有するデジタルドキュメントの第2のデータ項目と呼ばれる)は、解像度が最も高く、解像度が最も低いデータ項目は、サムネイルと呼ばれる(ここでは、共有するデジタルドキュメントの第1のデータ項目に対応する)。
デジタルドキュメントが画像の場合、オリジナルデータ項目は元の画像、すなわち、最大解像度の画像に対応し、サムネイルはより低い解像度の画像に対応する。
デジタルドキュメントが映像の場合、オリジナルデータ項目は、一連の元画像に対応し、サムネイルは、たとえば、元の映像の解像度より低い解像度での映像の1枚目の画像に対応する。
ピアツーピアネットワークは、低コストでインストールができること、ネットワークに非常に多数のコンピュータが接続された現状、そしてブロードバンド接続の発展に伴い、現在、データの配布はますますピアツーピアネットワークに依拠している。
しかし、ピアツーピアネットワークは不安定である。これは、クライアント装置が(その結果、サーバ装置も)ネットワークに定期的に接続して切断するため、データの存在を極めて予測不可能にするからである。さらに、クライアント及び/またはサーバ装置のアドレスが予測不可能であり、接続毎に異なるものになる傾向にある。
この結果、ピアツーピアタイプの通信ネットワーク上のコンテンツへのアクセスは依然として、かなり困難である。というのは、データ項目の取得における遅れはもはや、従来のクライアントサーバトポロジでのように、データの取出しに必要な時間によるものだけではなく、そのデータ項目を有するサーバ装置を探索する時間における遅れでもあるからである。関与するピアツーピアネットワークのトポロジによって、この探索段階は、無視することができる場合も、できない場合もある。
こうした欠点を克服するための1つの解決方法は、最低限のサービス品質を保障する中央サーバを使用することである。これは従って、ハイブリッドピアツーピアネットワークと呼ばれる。
実際、ピアツーピア通信ネットワークを介したデジタルドキュメントの共有は、
共有するドキュメントを選択するステップ、
ネットワーク上のドキュメントの場所を見つけられるようにする一意の識別子を関連付けるステップ、
オリジナルデータ項目に基づいてサムネイルを計算するステップ、
共有されるドキュメントの識別子をそれぞれがドキュメントに対するサーバである1つの(またはいくつかの)ステーション(群)に関連付けることによって、中央サーバにある索引テーブルをアップデートするステップという、公知の一連のステップからなる。
この公知の一連のステップは、ほとんどのピアツーピアネットワークにおいて、ユーザコミュニティーがドキュメントを共有するのに用いられる。すなわち、識別子を知っていれば、共有されるドキュメントに誰でもアクセスすることができる。これは従って、公開共有と呼ばれる。
これに対し、ドキュメントを友人グループと共有し、そのドキュメントへのアクセスをその友人グループに制限することが可能である。これは従って、制限つきアクセス共有(非公開共有)と呼ばれる。
この場合、ドキュメントの非公開共有は、
受信者を選択するステップと、
受信者それぞれに通知を送信して、受信者に新規ドキュメントが共有されていることを知らせるようにするステップ
という、2つの追加ステップを必要とする。
実際には、本発明は、こうした共有システムのいずれが使われるのかに関わらず、全く修正されない。以下、ドキュメントが公開共有される場合について、本発明を記載する。
ピアツーピアネットワークのステーションは、通常、有線ネットワークを介してネットワークに接続されたコンピュータである。しかしながら、どのタイプの機器もそのネットワークに接続することができる。たとえば、移動電話や携帯情報端末である。こうした機器はその能力(メモリ、計算能力)に応じて、サーバ(たとえば、移動電話)の役割を果たさないようにすることができる。こうしたケースはシンステーションと呼ばれ、ステーションのクライアント機能、すなわち、送信されるドキュメントまたはデジタルデータを見たり共有したりするが、データの供給はしないというような受動的役割のみを提供する、。
従って、解決するべき課題の1つは、機器自体がステーションであるか、それともシンステーションであるかに関わらず、どのデジタル機器からのデジタルドキュメントも共有することである。
上述した従来技術の共有機構は、共有が起こるステーションがサーバの役割を果たすことを意味する。逆のケース、すなわち、共有がシンステーションから起こる場合、サムネイルのみが実際に共有され、オリジナルデータ項目は、データ項目を供給することができないシンステーション上に格納される。実際、そのオリジナルデータ項目は、サーバの役割を果たすステーション上に格納されると、アクセス可能になる。
US−A−5949551 M.J.Swain、D.H.Ballard、「Color Indexing」、Inter.Journal of Comp.Vision、7:1、pp 11−32、1991
従って、解決するべき問題は以下の例を用いて説明することができる。
撮影された何枚かの写真があり、ユーザが、シンステーション(例えば、移動電話)からその写真(またはその一部)を共有することを望む。別のユーザがドキュメント識別子を介してオリジナルデータ項目を要求したとき、そのオリジナルデータ項目は、共有システムを介してアクセス可能ではない。
ここで、写真撮影者がそのオリジナルデータ項目を別のステーション(撮影者がサムネイルを共有したシンステーションとは異なる)からアクセス可能にしている場合、オリジナルデータ項目を格納するステーションが、識別子を含む要求に答えることができるように、そのオリジナルデータ項目をサムネイルと照合すること(同じ識別子の割振り)が問題となる。
言い換えると、デジタルドキュメントの解像度が異なる2つのバージョンが異なるタイミングまたは異なるステーションから共有されるときに、これら2つのバージョン(ここでは、第1のドキュメントの第1及び第2のデータ項目と呼ぶ)を同期させることを課題とする。
ドキュメントが共有される、すなわち、サムネイル及びオリジナルデータ項目が一意の識別子に関連付けられると、どのユーザも、その識別子に基づいてオリジナルデータ項目にアクセスすることができる。これは、サムネイルが別のユーザによって取り出される前に、識別子がサムネイルに関連付けられることを意味する。これが成り立たない場合、要求を送出するステーションは識別子を知らないので、前述した探索機構を用いることはできない。
たとえば、2人のユーザが、サムネイルに識別子を属性として与えることをデジタルドキュメントのサムネイルを交換したとする。この例では、送信ユーザがデジタルカメラで写真を撮り、その写真のサムネイルを、たとえば近距離無線リンクを介して受信ユーザのカメラに送信する。また、写真は元の解像度で送信されるが、受信ユーザのカメラがメモリ領域不足の為にその写真を格納することができないことがある。その際、受信機器は、受信した元の画像に基づいてサムネイルを生成する。なお、受信ユーザのサムネイルと送信ユーザのカメラによって生成されたサムネールとは、サブサンプリングプロセスが必ずしも同じではないので、互いに異なることもある。同じようなことが、特にマイクロコンピュータ(eメールによってサムネイルを送出する)を含む移動電話または他のどのデジタル機器に基づいて想定することもできる。同様に、データ(オリジナル及びサムネイル)は、十分な記憶容量をもっていなかったり、ネットワークに絶えず接続することはできないために、ピアツーピア通信ネットワークのステーションと等しく扱うことができない機器が取得することもある。従って、本発明は、送信ユーザがオリジナルデータ及びサムネイルをステーションにダウンロードし、受信ユーザがそのサムネイルをネットワークの別のステーションにダウンロードするときに用いられる。
従って、送信ユーザのステーション上に格納されたサムネイル(第1のデジタルドキュメントの第1のデータ項目)及びオリジナルデジタルデータ(第1のデジタルドキュメントの第2のデータ項目)を一意の識別子に関連付けること、ならびに同じ識別子を受信ユーザのステーション上に格納されたサムネイル(第2のドキュメントの第1のデータ項目)に関連付けることを解決する課題とする。これにより、その受信ユーザは、ピアツーピア共有システムにおいて従来用いられてきた探索機構により、その識別子に基づいて、デジタルドキュメントのバージョンすべてにアクセスすることができる。
言い換えると、同じデジタルドキュメントの2つのドキュメント(異なる解像度及び異なるソース)が同期させること、すなわち、2つのドキュメントがアクセス可能になると直ちに、同じ一意の識別子を属性として与えることを課題とする。
現在、共同編集という状況においてデジタルドキュメントの同期について記述したいくつかのシステムが存在する。こうしたシステムは、遠隔操作によりドキュメントの編集を可能にし、ドキュメントに対して行われる異なる変更を同期させる。
更に、問題は、複数解像度のドキュメントを共有する場合では異なる。というのは、データのバージョンが共有されると、データのバージョンはそれ以上変更されず、ユーザが要求したときにのみユーザは新規バージョンを受け取るからである。
たとえば、特許文献1は、複数解像度のドキュメントを高品質印刷するためのシステムを記載している。紙の上の画像をポストで送るのに加え、このシステムは、画像のオリジナルデジタルバージョン及びより低い解像度(サムネイル)のバージョンを作成するように画像をデジタル化する。次に、サムネイルは、クライアントまたは媒介マシンに送信される。クライアントは、印刷サービスを発注するときにサムネイルを指定すると、その媒介マシンからそのサムネイルを取り出すことができる。システムは次に、最大解像度の画像がクライアントに送信されなければならない最終的な時間である時間制限を計算する。この時間は、クライアントによって課される時間制限、通信ネットワークの資源という、いくつかのパラメータに依存する。この期間中、最大解像度の画像は、サムネイルの送信に使われる第1の手段とは異なる第2の通信手段によって送信される。送信を与えられた時間内にできない場合、システムは、この問題を検出し、クライアントにこの情報を報告する。
このシステムでは、同じマシンによって生成される2つの画像バージョンが同期しなくてもよい。というのは、作成時から、同じ識別子がサムネイル及びオリジナルデータ項目に関連付けられるからである。この識別子は、サムネイルと同時にクライアントまたは媒介マシンに送信される。この識別子により、画像を生成したマシンから入手可能な元の画像へのアクセスが可能になる。従って、クライアントは、サムネイル及び識別子を受け取った時点で、そのマシンについて知っていることになる。
発明の要旨
本発明は、クライアントがドキュメントへのアクセスを可能にするマシンも、共有するドキュメントの識別子も知らない場合の同期問題に対する解決策を的確に提供する。
本発明は、通信ネットワーク内のデジタルドキュメントが複数のステーションの間で共有されるデジタルドキュメントシステムに関し、前記システムは、
第1のサムネイルデータ項目と対応するオリジナルデータ項目を有する第1のステーションと、
第2のサムネイルデータ項目を有する第2のステーションと、
中央サーバとを備え、中央サーバは、
前記第1のサムネイルデータ項目と、前記第2のサムネイルデータ項目とを比較する比較手段と、
前記比較の結果に従って、オリジナルデータ項目にアクセスするための情報を、第2のステーションに送信する送信手段とを備える。
また、本発明は、通信ネットワークを介して複数のステーションと通信することが可能な中央サーバを制御するための制御方法に関し、この方法は、
1)比較手段が、第1のステーションにある第1のサムネイルデータ項目と、第2のステーションにある第2のサムネイルデータ項目を比較する工程と、
2)送信手段が、前記比較の結果に従って、前記第1のサムネイルデータ項目に対応する、前記第1のステーションにあるオリジナルデータ項目にアクセスするための情報を、前記第2のステーションに送信する工程とを含む。
一実施形態によると、第2のステーションに含まれるサムネイルデータ項目は、第1のステーション内で生成される。
別の実施形態によると、各サムネイルデータ項目に基づく各カラーヒストグラムが、前記計算するステップにおいて署名として計算される。
たとえば、前記比較するステップにおいてサムネイルデータ項目から計算された差分及び閾値に基づいて比較を行う。
例えば、前記通信ネットワークは、ピアツーピアネットワークである。
たとえば、第1のステーションはデジタルカメラ機器であり、オリジナルデータ項目を生成する。
更に、本発明は、通信ネットワーク上のデジタルドキュメントにアクセスする装置に関し、この装置は、上述した方法を実行するための手段を備えることを特徴とする。
本発明は、情報キャリアに格納されたコンピュータプログラムに関し、前記プログラムは、プログラムがコンピュータシステムによってロードされ実行されると、上述した処理方法を実行可能にする命令を有する。
以下の詳細な説明及び図面を検討することにより、本発明の他の特徴及び利点が明らかになるであろう。
図1Aに示すように、本発明を実行する、デジタルドキュメントを共有するためのシステムの概略構成は、中央サーバ100A及び2つのステーション101A、102Aから成る。これらの異なる装置は、インターネット等の通信ネットワーク104Aによって相互に接続される。
本発明は、共有するデジタルドキュメントDDを探索する機構に関わる。このために、識別子Idに基づいて共有されるドキュメントへのアクセスを可能にする索引テーブルが好適に使われる。この索引テーブルは、分散させても集中させてもよい。本発明を実行するための好ましい実施形態について、中央サーバ上に格納された集中化されたテーブルを用いる探索機構に基づいて記載する。
さらに、上述したように、ここで記載する本発明は、オリジナルデータ項目HR及びサムネイルTHが第1のステーション101A上に格納され、オリジナルデータ項目HR2に基づいて計算された別のサムネイルTH2が第2のステーション102A上に格納されているものと仮定する。
以下において、照合機構は索引テーブルの各エントリの体系的分析を必要とすることが明らかになるであろう。そのテーブル中のエントリの数が莫大(数千または数百万ものエントリ)になると、このような分析は、非現実的である。このアルゴリズムの変形例は、送信ユーザによって共有されるデータまたはその送信ユーザに接続された基準ステーションによって供給されるデータに対応するエントリの分析を制限することからなる。
このために、そのオリジナルデータ項目HR1またはサムネイルTH1を受信ユーザ102Aに送信する際、送信ユーザ101Aは、識別されるべき送信される項目に対する情報項目を含む。たとえば、その送信ユーザの識別子は、共有するデータ項目またはドキュメントのヘッダ中に隠すことができる。
以下において、図6、7、8、12Aが、共有されるドキュメントをその識別子に基づいて探索する従来のシステムの動作を説明する。
中央サーバ100Aの役割は、ある特定数の情報を集中させ、一時的に格納することであるが、これについては後でより詳しく説明する。中央サーバ100Aは、たとえばマイクロコンピュータでもワークステーションでもよく、ピアツーピアネットワークに絶えず接続されている。このようなマシンを、図2A及び3Aを参照して説明する。
ステーション101A、102Aは、たとえばマイクロコンピュータでもワークステーションでもよい。こうした機器は、ステーションの役割、すなわちクライアント及びサーバの役割を十分に果たす。このために、こうした機器は、そうした役割専用に、本発明の一部を実行するのに十分なメモリ容量及び計算能力を有する。
機器100Aは通信バス209Aを備え、このバスには、
機器の様々な構成要素間における交換を制御する中央処理装置202A(マイクロプロセッサ)と、
プログラムを格納することができる読出し専用メモリ201Aと、
図9A、10A、11Aに示すように、プログラムの実行中に生成され変更された変数及びパラメータを格納するためのレジスタ208Aを備えるランダムアクセスメモリ205Aと、
上述したプログラムを記憶することができるハードディスク203Aと、
ディスケット210Aを受け取り、本発明に従って処理済みの、またはこれから処理されるデータをディスケット210Aに対して読み出したり書き込んだりするためのディスクドライブ211Aと、
たとえばインターネット等の通信ネットワーク104Aに接続された通信インタフェース206Aであって、データを送受信することができるインタフェースとが接続される。
通信バスは、機器100Aに含まれるか、接続された異なる要素間の通信及び相互操作を可能にする。バスという表現は非限定的であり、具体的には、中央処理装置が、機器100Aのどの要素に対しても、直接または機器100Aの別の要素を用いて命令を伝達することが可能である。
プログラム可能な機器が本発明の方法を実行できるようにする各プログラムの実行可能コードは、たとえば、ハードディスク203Aに格納しても、読出し専用メモリ201Aに格納してもよい。
変形例によれば、ディスケット210Aは、データ並びに上述したプログラムの実行可能コードを格納することができ、こうしたデータやコードは、機器100Aによって一旦読み取られると、ハードディスク203Aに格納される。
第2の変形例として、プログラムの実行可能コードは、前述したのと同一の方式で格納するために、通信ネットワーク104Aを媒介として、インタフェース206Aを介して受信することができる。
ディスケットは、コンパクトディスク(CD−ROM)やメモリカード等、どの情報キャリアで置き換えてもよい。一般的には、情報格納手段は、機器と一体化された、または一体化されていないコンピュータまたはマイクロプロセッサによって読み取ることができ、取外し可能であってもよいが、実行することによって本発明による方法を実現することができる1つまたは複数のプログラムを格納する。
より一般的には、1つまたは複数のプログラムは、実行前に、機器100Aの格納手段の1つにロードするようにしてもよい。
中央処理装置202Aは、本発明にかかる1つまたは複数のプログラムのソフトウェアコードの命令またはいくつかの部分の実行を制御及び指示し、こうした命令は、ハードディスク203Aまたは読出し専用メモリ201Aあるいは上述した他の記憶素子内に格納される。起動する際、たとえばハードディスク203AやROM201A等の不揮発性メモリに格納された1つまたは複数のプログラムは、RAM205Aに転送され、RAM205Aは、本発明にかかる1つまたは複数のプログラムの実行可能コード、ならびに本発明の実行に必要な変数及びパラメータを格納するレジスタを有することになる。
本発明による装置を備える通信機器は、プログラムされた機器でもよい。
この装置はさらに、たとえば、特定用途向け集積回路(ASIC)中に固定された1つまたは複数のコンピュータプログラムのコードを含む。
図3Aを参照して、中央サーバ100A上に格納される情報の編成について説明する。
本発明の好ましい実施形態によると、共有されるドキュメントまたはデータ、応答待ち要求に関する情報、ならびにユーザ及びステーションについての情報は、中央サーバ100A上に集中される。しかしながら、本発明は、この情報(またはその一部)をステーション102Aまたはそれ以外のステーション(基準ステーションは図示せず)に分散させるシステムに適用することができる。
中央サーバ上に格納された情報は、ルックアップテーブルにまとめられ、たとえば、ユーザテーブル、ステーションテーブル、索引テーブル及び要求テーブルという4つのテーブルに更に分割される。
ドキュメントまたはデータ項目の共有を望むユーザは皆、共有のために中央サーバに登録することが好ましく、ユーザは、ウェブサービスを介して、または共有システム専用のグラフィカルアプリケーションを介して中央サーバに接続する。
好ましい一実施形態によれば、ウェブインタフェースが用いられる。中央サーバはフォームを送信し、ユーザはログイン名及びパスワードを使ってフォームを埋める。
変形例によれば、この手順の間、中央サーバは、ユーザが接続されるステーションを基準ステーションとして登録する。
当然ながら、ユーザは、たとえば、その基準ステーションを変更するために、この登録情報にアクセスすることもできる。すべての情報は、ユーザテーブル中に格納されている。さらに中央サーバは、新規に登録されたユーザに、一意の識別子を関連付ける。
ステーションテーブル(IPアドレス等)は、その識別子に基づいてステーションへの接続を可能にする情報を含む。このテーブルは、登録されたステーションが接続または切断される度に更新される。この接続または切断状況は、他のものの中でも、データ項目を供給することができるかどうかを判定するための重要な条件の1つである。
システムが始動するとき、索引テーブルは空である。このテーブルは、共有するドキュメントの各バージョンごとに、以下の4つのフィールドから構成されるエントリを含む。
共有されるドキュメントの一意の識別子、
共有されるドキュメントのバージョンの識別子(第1または第2のデータ項目)、
ドキュメントのバージョンを供給するステーションの識別子のリスト、
ドキュメントのバージョンが中央サーバ上に格納される場合は、ローカルアクセスパス。
2つの識別子が、各共有ドキュメントに関連付けられる。識別子の1つは一意であり、ドキュメントを識別するためのもので、もう1つは、そのドキュメントのバージョン(オリジナルバージョン、サムネイル等)を識別するためのものである。リモートドキュメントを供給するステーションのリストならびにそのデータ項目へのアクセスのためのローカルパスが格納される。
なお、この索引テーブルは、新規サムネイルが共有された時、ステーションがドキュメントのあるバージョンを供給しなくなった時、また、ステーションが共有されるドキュメントの新規バージョンを取得した時に、直ちにアップデートされる。
この集中化索引テーブルは、図6、7、8を参照して説明する、ピアツーピアネットワーク内で従来の探索機構が実行できるようにする。
要求テーブルは、対応することができない要求を一時的に格納する。サムネイル、探索されるドキュメントのバージョンの識別子、及び要求を送信したステーションの識別子が、要求テーブル中に格納される。 図4Aを参照して、ステーション101A、102A専用の、本発明の一部を実行するプログラム可能な機器を説明する。この本発明の一部は、図9Aを参照して説明する。
機器101A、102Aは、通信バス409Aを備え、このバスには、
機器の様々な構成要素間における交換を制御する中央処理装置402A(マイクロプロセッサ)と、
プログラムを格納することができる読出し専用メモリ401Aと、
図9A、10A、11Aに示すように、プログラムの実行中に作成され変更された変数及びパラメータを格納するためのレジスタ413Aを備えるランダムアクセスメモリ412Aと、
データを表示し、かつ/またはグラフィカルインタフェースをユーザに供給するスクリーン403Aであって、ユーザは、本発明によって、キーボード404Aまたは、たとえばマウスや光学スタイラス等のポインティングデバイス(図示せず)等、何らかの手段を使ってプログラムと対話することができるスクリーンと、
上述したプログラムを格納することができるハードディスク405Aと、
ディスケット407Aを受け取り、本発明に従って処理済みの、またはこれから処理されるデータをディスケット407Aに対して読み出したり書き込んだりするためのディスクドライブ406Aと、
たとえばインターネット等の通信ネットワーク411A接続された通信インタフェース410Aであって、データを送受信することができるインタフェースとが接続される。
通信バスは、マイクロコンピュータ101A、102Aに含まれるか接続された異なる要素間における通信及び相互操作を可能にする。バスという表現は非限定的であり、具体的には、中央処理装置が、マイクロコンピュータ101A、102Aのどの要素に対しても、直接またはそのマイクロコンピュータの別の要素を用いて命令を伝達することが可能である。
プログラム可能な機器が本発明の処理を実行できるようにする各プログラムの実行可能コードは、たとえば、ハードディスク405Aに格納しても、読出し専用メモリ401Aに格納してもよい。
変形例によれば、ディスケット407Aは、データ並びに上述したプログラムの実行可能コードを格納することができ、こうしたデータやコードは、機器101A、102Aによって一度読み取られると、ハードディスク405A上に格納される。
第2の変形例として、プログラムの実行可能コードは、前述したのと同一の方式で格納するために、通信ネットワーク411Aを媒介として、インタフェース410Aを介して受信することができる。
ディスケットは、コンパクトディスク(CD−ROM)やメモリカード等、どの情報キャリアでも置き換えることができる。一般的に、情報格納手段は、機器と一体化された、または一体化されていないコンピュータまたはマイクロプロセッサによって読み取ることができ、取外し可能であってもよいが、実行することによって本発明による方法を実現することができる1つまたは複数のプログラムを格納する。
より一般的には、1つまたは複数のプログラムは、実行前に、機器101A、102Aの格納手段の1つにロードするようにしてもよい。
中央処理装置402Aは、本発明にかかる1つまたは複数のプログラムのソフトウェアコードの命令またはいくつかの部分の実行を制御して指令し、こうした命令は、ハードディスク405Aまたは読出し専用メモリ401Aあるいは上述した他の記憶素子内に格納される。起動する際、たとえばハードディスク405AやROMメモリ401A等の不揮発性メモリに格納された1つまたは複数のプログラムは、ランダムアクセスメモリRAM412Aに転送され、RAM412Aは次いで、本発明にかかる1つまたは複数のプログラムの実行可能コード、ならびに本発明の実行に必要な変数及びパラメータを格納するレジスタを有することになる。
本発明による装置を備える通信機器は、プログラムされた機器でもよい。この機器はさらに、たとえば、特定用途向け集積回路(ASIC)中に固定された1つまたは複数のコンピュータプログラムのコードを含む。
図5を参照して、ステーション101A、102A上に格納される情報の編成を説明する。
ドキュメントテーブルは、ステーション上に格納されたドキュメントのバージョンに、バージョン及びドキュメント識別子に基づいてアクセスすることを可能にする。このテーブルは、そうした識別子が特定された要求をステーションが受け取ったときに使われる。要求への応答は、図8を参照して説明する。
サムネイルテーブルは、ユーザがグラフィカルインタフェースを介して行った選択に基づいて、バージョン及びドキュメント識別子をローカルに取り出すことを可能にする。このプロセスについて、図6を参照して説明する。
図6を参照して、共有されるドキュメントのバージョンの要求を可能にする方法について説明する。
本方法は、ステップS600で始まり、その間に、ユーザは取り出すドキュメント、たとえば画像を選択する。たとえば、この選択は、ステーションのスクリーンに1組のサムネイルを表示するグラフィカルインタフェースを介して行うことができる。こうしたサムネイルはそれぞれ、共有されるドキュメントに対応している。ユーザは、こうしたサムネイルの1つを選択し、取り出したいドキュメントのバージョンを指定する。プロセスはこの情報を翻訳し、そのドキュメントのバージョンを一意に識別する文字列をサムネイルテーブル内に生成する。
ステップS601で、その文字列に対応する識別子を取り出し、中央サーバに送信する(S602)。
図7を参照して、ステーションがドキュメントのバージョンを提供することを可能にする方法について説明する。要求ステーションによって要求(S700)が送信されると、本プロセスは、その要求の識別子を抽出し(S701)、データテーブルのアクセスパスを抽出する(S703)。ステップS704では、要求ステーションへデータを送信する。
図8を参照して、デジタルドキュメントを探索する機構について説明する。ユーザによってステーションから要求が送信されると(S602)、本方法は開始される。この要求は、求めるデータのバージョンを定義する2つの識別子と、要求を送信したステーションの識別子(そのステーションに応答を送信できるようにするため)とから構成される。
要求を受信すると(S800)、中央サーバは、共有するドキュメントの識別子を抽出し(S801)、そうした2つの識別子に対応する、索引テーブルのエントリを探索する(S802)。このドキュメントがローカルに入手可能な(「アクセスパス」フィールドに記述がある)場合(S803)、中央サーバは、ステーションにドキュメントを送信し(S804)、方法は停止する。ローカルに入手可能でない場合には、ステーションの識別子のリストが索引テーブルのエントリから抽出される(S805)。次に、そうしたステーションそれぞれの接続情報をステーションテーブルから取り出す(S806〜S809)。そのテーブルにおいて参照されるステーションはすべて、ネットワークに接続されることを思い起こすことができよう。その1つが切断されると直ちに中央サーバに知らせ、サーバはテーブルをアップデートする。新規接続や、ステーションの接続情報が変わってすぐの場合にも、同様に行われる。このステーション情報は、リストLに一時的に格納される(S810)。そのリストが空(ステーションが1つも接続されていない)の場合(S812)、要求は、その1つが接続されるまでスタンバイ状態に置かれる(S813)。リストが空でない場合には、中央サーバは、要求ステーションにリストLを送信する(S814)。
要求を送信したステーションが応答を受信すると、プロセスは、要求したドキュメントを応答が含むかどうか分析する。含む場合、探索方法は終了する。含まない場合、ステーションは、応答に基づいて抽出されたリストLの各ステーションに順に要求を送信する。
要求したドキュメントをステーションの1つが供給した時点で、方法は停止する。
図9Aを参照して、共有するドキュメントの要求を可能にする手順について説明する。なお、この時点では、要求ステーションは、共有するドキュメントDD1、HR1の識別子Id1を所有しておらず、共有するドキュメントのサムネイルTH2及びそのサムネイルTH2を提供したユーザの識別子のみを所有している。
本方法は、ステップS900Aで始まり、その間、ユーザが、取り出すサムネイルTH2を選択する。たとえば、この選択は、ステーションのスクリーンに1組のサムネイルを表示するグラフィカルインタフェースを介して行うことができる。こうしたサムネイルTHはそれぞれ、共有されるドキュメントDDに対応する。ユーザは、こうしたサムネイルの1つを選択し、自分が取り出したいと望むドキュメントのバージョンを指定する(S901A)。ステップS902Aでは、そうしたサムネイルTH2及びバージョン識別子を、ドキュメントのバージョンを供給することが可能なステーション、たとえば中央サーバに送信する。
図10A、11Aを参照して、要求したドキュメントDD1の識別子Id1をそのサムネイルTH1に基づいてステーションが見つけることを可能にする方法について説明する。好ましい一実施形態によると、このステーションは、中央サーバである。しかしながら、後で説明する本方法を構成する異なる方法を、異なるステーション、たとえばステーション101A上で実行してもよい。
要求が要求ステーションから送出されると(S1000A)、本プロセスは(好ましい実施形態によれば)、サムネイルTH2、要求したドキュメントのバージョン識別子、及びその要求のユーザ識別子を抽出し(S1001A)、そのサムネイルTH2の署名を計算する(S1002A)。本発明の好ましい実施形態によれば、この署名は、サムネイルTH2に基づいて計算されるカラーヒストグラムである。
ステップS1003A〜S1009Aは、そのサムネイルTH2を、共有するドキュメントの格納されたサムネイルTH1(索引テーブル中で参照される)と照合する機構を表している。
ステップS1003Aでは、識別子が要求に含まれるユーザから送られたデータの共有後に生成された索引テーブルのエントリを選択する。その識別子が要求中に存在しない場合、テーブルのエントリをすべて検討する。
さらに、要求に含まれるバージョン識別子に対応するエントリのみを検討する。
ステップS1004A〜S1009Aは、受信したサムネイルTH2の署名Sと、索引テーブルの選択されたエントリによって参照されるサムネイルTH1から生じた署名間の照合を行う機構を表している。このために、2つの署名間の基準値が定義される。カラーヒストグラムの場合、M.J.Swain、D.H.Ballard、「Color Indexing」、Inter.Journal of Comp.Vision、7:1、pp 11‐32、1991において定義される距離である。この距離は、両方の署名が等しい場合は値が1であり、等しくない場合は0である。署名Sが閾値より大きい場合(0と1の間)、ステップS1007AからステップS1008Aに進んで、対応する索引テーブル中のエントリのサムネイルTH1の識別子を抽出する。当然ながら、エントリが存在しない場合、要求はスタンバイ状態に置かれる。新規エントリが生成されると直ちに、本プロセスは、図10Aのプロセスが図11AのステップS1011Aで継続できるように、要求に含まれるバージョン及びユーザ識別子をその新規エントリが含むかどうかテストする。このステップS1011Aは、ドキュメントのバージョンが中央サーバ上で入手可能かどうかテストする。このドキュメントがローカルに入手可能な(「アクセスパス」フィールドに記述がある)場合、中央サーバは、要求ステーションにオリジナルデータ項目を送信し(S1012A)、方法は停止する。入手可能でない場合は、ステーションの識別子のリストが、索引テーブルのエントリから抽出される(S1013A)。次に、プロセスは、こうしたステーションそれぞれの接続情報をステーションテーブルから取り出す(S1014A〜S1019S)。テーブルにおいて参照されるステーションはすべて、ネットワークに接続されることを思い起こすことができよう。その1つが切断されると直ちに中央サーバに知らせ、サーバはテーブルをアップデートする。新規接続や、ステーションの接続情報が変わってすぐの場合にも、同様に行われる。このステーション情報は、リストLに一時的に格納される(S1017A)。そのリストが空(ステーションが1つも接続されていない)の場合(S1020A)、要求は、その1つが接続されるまでスタンバイ状態に置かれる(S1021A)。リストが空でない場合には、中央サーバは、要求ステーションにリストLを送信する(S1022A)。
要求を送信したステーションが応答を受信すると、プロセスは、要求したオリジナルデータ項目の識別子に対応するアクセスパスを応答が含むかどうか分析する。含む場合、探索方法は終了する。含まない場合、ステーションは、応答に基づいて抽出されたリストLの各ステーションに順に要求を送信する。要求したドキュメントまたはオリジナルデータ項目をステーションの1つが供給した時点で、方法は停止する。
この探索機構の変形例として、別の2つの構成を取った場合について説明する。第1の変形例では、中央サーバは、1つのステーションのみに関する情報の送信のみを行う。第2の変形例では、中央サーバは、そうしたステーションを所定順に並べたリストを送信する。なお、所定順は、ステーションの接続容量(帯域幅)またはそのステーションの存在時間(ある期間におけるネットワークへの接続時間)に基づく。
図12Aを参照して、ステーションからのドキュメントの共有について説明する。この共有機構は、本発明を備える(または備えない)ピアツーピアの共有システムにおいて用いられる。
共有するドキュメントは、ステーション上にローカルに格納される。まず、送信ユーザ101Aは、自分のログイン及びパスワードを提示して中央サーバにより認証される(S1100A)。送信ユーザ101Aは次に、1つまたは複数の共有するオリジナルデータ項目を選択する(S1101A)。こうした項目それぞれに対してサムネイルTH1を計算する(S1103A)。サムネイルTH1はローカルに格納される。また、2つの識別子Id(ドキュメント及びバージョンのId)を、サムネイルTH1それぞれに関連付ける(S1104A)。サムネイルTH1のテーブルをアップデートする(S1105A)。最後に、中央サーバにメッセージを送信する(S1107A)。このメッセージは、識別子及び共有するドキュメントDDそれぞれのサムネイルTH1から構成される。
変形例としては、識別子Idを計算する中央サーバへ、サムネイルTH1のみ送信する。この場合、識別子Idは、中央サーバによって生成されると、要求を送出したステーション102Aに返送される。ステーションは、こうした識別子をサムネイルTHのテーブルに格納する。
中央サーバが、ステップS1107Aのメッセージを受け取ると、識別子(識別子が送信されている場合)及びサムネイルのリストを抽出する。このステップでは当然ながら、ドキュメント及びバージョン識別子が受信されていない場合、それらを関連付ける。サムネイル、そのアクセスパス及び識別子はローカルに格納され、索引テーブルはアップデートされる。このために、共有するドキュメントの各バージョンごとに新規エントリが作成される。こうしたエントリはそれぞれ、ドキュメントの識別子、バージョンの識別子、及び、エントリがサムネイルに対応する場合はサムネイルへのアクセスを可能にするローカルアクセスパスを含む。エントリがオリジナルデータ項目に対応する場合、そのフィールドは参照されない。
図1A、13Aを参照して、本発明による共有方法の全体的ステップについて説明する。
たとえば、第1の送信ユーザP1が、ドキュメントDD1の第1のデータ項目TH1を、第2の受信ユーザP2と交換する。この動作は、動作F1で示す。交換は自由であり、特にどの機能も使わない。たとえば、送信ユーザP1は、デジタルカメラで写真を撮り、その写真のサムネイルTH1を受信ユーザP2のカメラに近距離無線リンクを介して送信する。変形例として、写真は元の解像度HR1で送信されるが、受信ユーザのカメラがメモリ空間の不足によりその写真を格納することができない場合がある。その際、受信機器は、受信した元の画像に基づいてサムネイルTH2を生成する。なお、サブサンプリングプロセスは必ずしも同じではないので、受信ユーザP2のサムネイルは、送信ユーザP1のカメラによって生成されたものとは異なり得る。
また、受信ユーザP2のカメラが元の画像を自分のカメラで受けつけることができる場合もある。その場合、元の画像はカメラに保存され、第2のデジタルドキュメントDD2の第2のデータ項目HR2と呼ばれるものに対応する。そして、対応するサムネイルTH2は、受信ユーザP2のステーション102A上で取得することができる。
同じようなことが、特にマイクロコンピュータ(eメールによってサムネイルを送出する)を含む移動電話または他のどのデジタル機器に基づいて想定することもできる。
ここで説明する例では、受信ユーザP2は、上述した交換に加えて、第1のドキュメントDD1の第2のデータ項目HR1にアクセスすることを望む。第2のデータ項目HR1はたとえば、第1のドキュメントDD1の最大解像度でのオリジナルデータ項目であり、また、第1のデータ項目はより低い解像度のサムネイルTH1であり、本発明によれば、共有する第1のデジタルドキュメントの第1のデータ項目と第2のデータ項目の間の階層タイプの第1の編集関係に対応する。
送信ユーザP1は、自分のステーション101A上に、第1のデジタルドキュメントDD1の第1のデータ項目TH1及び第2のデータ項目HR1をロードする(動作F2)。第1のデジタルドキュメントDD1は、選んだ識別子Id1によって識別される。この識別は、ステーション101Aによって直接、または矢印F4で示すように、ステーション101Aとサーバステーション100A間の交換に加えて実施される。
受信ユーザP2は、このようにして交換された、ここでは第2のデジタルドキュメントDD2の第1のデータ項目TH2を、自分のステーション102A上にロードし(動作F3)、前記第1及び第2のデジタルドキュメントDD1、DD2は、選んだ第2の時間的地理的編集関係に従って、互いに対してリンクされる。
受信ユーザP2は、第2のドキュメントDD2の第1のデータ項目(サムネイル)TH2に基づいてドキュメントDD1の識別子Id1を取得するために、本発明によれば、ピアツーピア通信ネットワークに要求を送出する。この要求は、送信ユーザによって指定された、ここではサーバ100A、ステーション101Aもしくは基準ステーション103AにあるドキュメントDD1を供給することが可能な少なくとも1つのステーションに送信される(動作F5)。要求は、少なくとも第のデータ項目TH2を含む。
ステーション101、基準ステーション103Aまたはサーバ100Aは、第2のデータ項目TH2を受信し、このようにして取得された第1及び第2のデジタルドキュメントの第1のデータ項目TH1、TH2を比較する。
比較の結果、同じであると判断されると、識別子Id1を第2のデジタルドキュメントDD2の属性とする。
ステーション102Aで、第1のデジタルドキュメントDD1の第2のデータ項目HR1が、第2のデジタルドキュメントDD2として識別されたものからアクセスされる。
図1Bに示すように、本発明の第2の実施形態によれば、本発明を実行するデジタルデータを共有するための装置は、中央サーバ100B、シンステーション101B、基準ステーション102B及び要求ステーション(このステーションは、ユーザがその識別子に基づいてオリジナルデータ項目を要求する起点となるステーションである)から成る。これらの異なる装置は、インターネット等の通信ネットワーク104Bによって接続される。
記載している本発明は、探索機構には直接関わらない。従って、その識別子に基づいて、共有されるドキュメントへのアクセスを可能にする索引テーブルは、分散させても集中させてもよい。本発明を実行するための好ましい実施形態を、集中化されたテーブルを用いる探索機構に基づいて記載する。
中央サーバ100Bの役割は、ある特定数の後述する情報の項目を集中させ、一時的に格納することである。このマシンは、たとえばマイクロコンピュータでもワークステーションでもよく、ピアツーピアネットワークに永続的に接続される。このサーバについては、図2B、3Bを参照してより詳しく説明する。
シンステーション101Bはたとえば、マイクロコンピュータ、携帯電話、携帯情報端末PDA、あるいは有線または無線通信手段を有するどの機器でもよい。実際、このステーションは、高記憶容量も高計算容量も必要としない。
最後に、ステーション102B、103Bは、たとえばマイクロコンピュータでもワークステーションでもよい。こうした機器は、ステーションの役割、すなわちクライアント及びサーバの役割を十分に果たす。このために、こうした機器は、本発明の一部を実行するために、専用の十分なメモリ及び計算容量を有する。
図2Bを参照して、中央サーバ100B専用の、本発明の一部を実行するプログラム可能な機器を説明する。この本発明の一部は、図8、10Bを参照して説明する。
機器100Bは通信バス209Bを備え、このバスには、
機器の様々な構成要素間における交換を制御する中央処理装置202B(マイクロプロセッサ)と、
プログラムを格納することができる読出し専用メモリ201Bと、
図8に示すように、プログラムの実行中に生成され変更された変数及びパラメータ、具体的にはカウンタi、p及びリストLを記録するためのレジスタ208Bを備えるランダムアクセスメモリ205Bと、
上述したプログラムを記憶することができるハードディスク203Bと、
ディスケット210Bを受け取り、本発明に従って処理済みの、またはこれから処理されるデータをディスケット210Aに対して読み出したり書き込んだりするためのディスクドライブ211Bと、
たとえばインターネット等の通信ネットワーク104Bに接続された通信インタフェース206Bであって、データを送受信することができるインタフェースとが接続される。
通信バスは、機器100Bに含まれるか接続された異なる要素間の通信及び相互操作を可能にする。バスという表現は非限定的であり、具体的には、中央処理装置が、機器100Bのどの要素に対しても、直接または機器100Bの別の要素を用いて命令を伝達することが可能である。
プログラム可能な機器が本発明の処理を実行できるようにする各プログラムの実行可能コードは、たとえば、ハードディスク203Bに格納しても、読出し専用メモリ201Bに格納してもよい。
変形例によれば、ディスケット210Bは、データ並びに上述したプログラムの実行可能コードを格納することができ、こうしたデータやコードは、機器100Bによって一旦読み取られると、ハードディスク203Bに格納される。
第2の変形例として、プログラムの実行可能コードは、前述したのと同一の方式で格納するために、通信ネットワーク104Bを媒介として、インタフェース206Bを介して受信することができる。
ディスケットは、コンパクトディスク(CD−ROM)やメモリカード等、どの情報キャリアで置き換えてもよい。一般的には、情報格納手段は、機器と一体化された、または一体化されていないコンピュータまたはマイクロプロセッサによって読み取ることができ、取外し可能であってもよいが、実行することによって本発明による方法を実現することができる1つまたは複数のプログラムを格納する。
より一般的には、1つまたは複数のプログラムは、実行前に、機器100Bの格納手段の1つにロードするようにしてもよい。
中央処理装置202Bは、本発明にかかる1つまたは複数のプログラムのソフトウェアコードの命令またはいくつかの部分の実行を制御及び指示し、こうした命令は、ハードディスク203Bまたは読出し専用メモリ201Bあるいは上述した他の記憶素子内に格納される。起動する際、たとえばハードディスク203BやROM201B等の不揮発性メモリに格納された1つまたは複数のプログラムは、RAM205Bに転送され、RAM205Bは、本発明にかかる1つまたは複数のプログラムの実行可能コード、ならびに本発明の実行に必要な変数及びパラメータを格納するレジスタを有することになる。
本発明による装置を備える通信機器は、プログラムされた機器でもよい。この機器はさらに、たとえば、特定用途向け集積回路(ASIC)中に固定された1つまたは複数のコンピュータプログラムのコードを含む。
図3Bを参照して、中央サーバ100B上に格納される情報の編成について説明する。
本発明の好ましい実施形態によると、共有されるドキュメントに関する情報、ならびにユーザ及びステーションについての情報は、中央サーバ100B上に集中される。しかしながら、本発明は、この情報(またはその一部)をステーション102Bまたは103Bに分散させるシステムに適用することができる。
中央サーバ上に格納された情報は、以下の3つのテーブルに更に分割されるルックアップテーブルにまとめられる。
「ユーザテーブル」と呼ばれる第1のテーブル
「ステーションテーブル」と呼ばれる第2のテーブル
「索引テーブル」と呼ばれる第3のテーブル
ドキュメントの共有を望むユーザは皆、中央サーバに登録される。そのために、ユーザは、ウェブサービスを介して、または共有システム専用のグラフィカルアプリケーションを介して中央サーバに接続する。好ましい一実施形態によれば、ウェブインタフェースが用いられる。中央サーバは、フォームを送信し、ユーザは、ログイン名及びパスワードを使ってフォームを埋める。さらに、この手順の間、中央サーバは、ユーザが接続されるステーションを基準ステーション(このステーションは、データサーバの役割を果たさなければならない)として登録する。当然ながら、ユーザは、たとえば、その基準ステーションを変更するために、この登録情報にアクセスすることもできる。このすべての情報は、ユーザテーブル中に格納される。さらに中央サーバは、新規に登録されたユーザに、一意の識別子を関連付ける。
ステーションテーブル(IPアドレス等)は、その識別子に基づいてステーションへの接続を可能にする情報を含む。このテーブルは、登録されたステーションが接続または切断される度に更新される。この接続または切断状況は、他のものの中でも、オリジナルデータ項目を供給することができるかどうかを判定するための重要な条件の1つである。
なお、ステーションそのもののみが、そのテーブルに登録される。
以下では、ステーションがシンであるかどうかは指定しない。デフォルトでステーションが参照される場合には、そのステーションが、クライアント及びサーバの役割を果たすことを意味する。
ユーザの登録をマシンの登録と分離することで、各ユーザが、どのステーションからでもデータ共有システムにアクセスするが可能になる。
システムが始動するとき、索引テーブルは空である。このテーブルは、共有項目の各バージョンごとに、4つのフィールドから構成されるエントリを含む。
共有されるドキュメントの一意の識別子、
共有されるドキュメントのバージョンの識別子(第1または第2のデータ項目)、
ドキュメントのバージョンを供給する、接続されたステーションの識別子のリスト、
ドキュメントのバージョンが中央サーバ上に格納される場合は、ローカルアクセスパス。
2つの識別子は、各共有ドキュメントに関連付けられる。識別子の1つは一意であり、ドキュメントを識別するためのもので、もう1つは、そのドキュメントのバージョン(オリジナルバージョン、サムネイル等)を識別するためのものである。
なお、この索引テーブルは、
サムネイルが共有されたとき、
ポストがドキュメントのあるバージョンを供給しなくなったとき、
ステーションが共有されるドキュメントの新規バージョン(サムネイル以外)を取り出したとき
にアップデートされる。
この集中化索引テーブルは、図6、7、8で説明した、ピアツーピアネットワーク内で従来の探索機構が実行できるようにする。
図4Bを参照して、シンステーション101A及びステーション102A、103A専用の、本発明の一部を実行するプログラム可能な機器を説明する。この本発明の一部は、図6、9B、11Bも参照して説明する。
機器101B、102B、または103Bは、通信バス409Bを備え、このバスには、
機器の様々な構成要素間における交換を制御する中央処理装置402B(マイクロプロセッサ)と、
プログラムを格納することができる読出し専用メモリ401Bと、
図9B、11Bに示すようにを参照、プログラムの実行中に作成され変更された変数及びパラメータ、具体的にはカウンタi、j及び変数I、Jを格納するためのレジスタ413Bを備えるランダムアクセスメモリ412Bと、
データを表示し、かつ/またはグラフィカルインタフェースをユーザに供給するスクリーン403Bであって、ユーザは、本発明によって、キーボード404Bまたは、たとえば、マウスや光学スタイラス等のポインティングデバイス等、何らかの手段を使ってプログラムと対話することができるスクリーンと、
上述したプログラムを格納することができるハードディスク405Bと、
ディスケット407Bを受け取り、本発明に従って処理済みの、またはこれから処理されるデータをディスケット407Aに対して読み込んだり書き込んだりするためのディスクドライブ406Bと、
たとえばインターネット等の通信ネットワーク411Aに接続された通信インタフェース410Bであって、データを送受信することができるインタフェースとが接続される。
通信バスは、マイクロコンピュータ101B、102B、または103Bに含まれるか接続された異なる要素間における通信及び相互操作を可能にする。バスという表現は非限定的であり、具体的には、中央処理装置が、マイクロコンピュータ101B、102B、または103Bのどの要素に対しても、直接またはそのマイクロコンピュータの別の要素を用いて命令を伝達することが可能である。
プログラム可能な機器が本発明の処理を実行できるようにする各プログラムの実行可能コードは、たとえば、ハードディスク405Bに格納してもも、読出し専用メモリ401Bに格納してもよい。
変形例によれば、ディスケット407Bは、データならびに上述したプログラムの実行可能コードを格納することができ、こうしたデータやコードは、機器101B、102B、または103Bによって一旦読み取られると、ハードディスク405B上に格納される。
第2の変形例として、プログラムの実行可能コードは、前述したのと同一の方式で格納するために、通信ネットワーク411Bを媒介として、インタフェース410Bを介して受信することができる。
ディスケットは、コンパクトディスク(CD−ROM)やメモリカード等、どの情報キャリアで置き換えてもよい。一般的には、情報格納手段は、機器と一体化された、または一体化されていないコンピュータまたはマイクロプロセッサによって読み取ることができ、取外し可能であったもよいが、実行することによって本発明による方法を実現することができる1つまたは複数のプログラムを格納する。
より一般的には、1つまたは複数のプログラムは、実行前に、機器101B、102B、または103Bの格納手段の1つにロードするようにしてもよい。
中央処理装置402Bは、本発明にかかる1つまたは複数のプログラムのソフトウェアコードの命令またはいくつかの部分の実行を制御及び指示し、こうした命令は、ハードディスク405Bまたは読出し専用メモリ401Bあるいは上述した他の記憶素子内に格納される。起動する際、たとえばハードディスク405BやROM401B等の不揮発性メモリに格納された1つまたは複数のプログラムは、RAM412Bに転送され、RAM412Bは、本発明にかかる1つまたは複数のプログラムの実行可能コード、ならびに本発明の実行に必要な変数及びパラメータを格納するレジスタを有することになる。
本発明による装置を備える通信機器は、プログラムされた機器でもよい。この機器はさらに、たとえば、特定用途向け集積回路(ASIC)中に固定された1つまたは複数のコンピュータプログラムのコードを含む。
図5を参照して、ステーション102B、103B、すなわち、共有されるデータのサーバの役割を有するステーション上に格納された情報の編成について説明する。
データテーブルは、ステーション上の格納されたドキュメントのバージョンに、バージョン及びデータ識別子に基づいてアクセスすることを可能にする。このテーブルは、そうした識別子が指定される要求をステーションが受け取ったときに用いられる。要求への応答は図7を参照して説明する。このテーブルは、データを供給しないシンステーション上には存在しない。
サムネイルテーブルは、ユーザがグラフィカルインタフェースを介して行った選択に基づいてバージョン及びドキュメント(データ)識別子をローカルに取り出すことを可能にする。このプロセスは図6を参照して説明する。
図6を参照して、識別子に基づいて共有されるドキュメントのバージョンの要求を可能にする、一般的に用いられる方法について説明する。本方法は、ステップS600で始まり、その間に、ユーザは取り出す画像を選択する。たとえば、この選択は、ステーションのスクリーンに1組のサムネイルを表示するグラフィカルインタフェースを介して行うことができる。こうしたサムネイルはそれぞれ、共有されるドキュメントに対応している。ユーザは、こうしたサムネイルの1つを選択し、取り出したいドキュメントのバージョンを指定する。方法はこの情報を翻訳し、そのドキュメントのバージョンを一意に識別する文字列をサムネイルテーブル内に生成する。ステップS601で、その文字列に対応する識別子を取り出し、中央サーバに送信する(S602)。
図7を参照して、ステーションがドキュメントのバージョンを提供することを可能にする、一般的に用いられる方法について説明する。要求を行ったステーションによって要求が送信されると(S700)、プロセスは、その要求の識別子を抽出し(S701)、データテーブルのアクセスパスを抽出する(S702)。ステップS703では、要求ステーションへデータを送信する。
図8を参照して、識別子に基づいてデジタルドキュメントを探索する機構について説明する(この機構は、集中化索引テーブルを備えるほとんどの共有システムにおいて用いられる)。ユーザによってステーションから要求が送信されると(S602)、本方法は開始される。この要求は、求められるドキュメントのバージョンを定義する2つの識別子と、要求を送信したステーションの識別子(そのステーションに応答を送信できるようにするため)とから構成される。
要求を受信すると(S800)、中央サーバは、共有するドキュメントの識別子を抽出し(S801)、そうした2つの識別子に対応する、索引テーブルのエントリを探索する(S802)。当然ながら、エントリが存在しない場合、要求は、スタンバイ状態に置かれる。新規エントリが生成されると直ちに、本方法は、ステップS803で継続するように、その新規エントリが要求のドキュメント及びバージョン識別子を含むかどうかテストする。対応する第1または第2のデータ項目がローカルに入手可能な(「アクセスパス」フィールドに記述がある)場合(S803)、中央サーバは、ステーションに対応する第1または第2のデータ項目を送信し(S804)、方法は停止する。ローカルに入手可能でない場合には、ステーションの識別子のリストが索引テーブルのエントリから抽出される(S805)。次に、そうしたステーションそれぞれの接続情報をステーションテーブルから取り出す(S806〜S809)。そのテーブルにおいて参照されるステーションはすべて、ネットワークに接続されることを思い起こすことができよう。その1つが切断されると直ちに中央サーバに知らせ、サーバはテーブルをアップデートする。新規接続や、ステーションの接続情報が変わってすぐの場合にも、同様に行われる。このステーション情報は、リストLに一時的に格納される(S810)。そのリストが空(ステーションが1つも接続されていない)の場合(S812)、要求は、その1つが接続されるまでスタンバイ状態に置かれる(S813)。リストが空でない場合には、中央サーバは、要求ステーションにリストLを送信する(S814)。
要求を送信したステーションが応答を受信すると、方法は、要求したドキュメントを応答が含むかどうか分析する。含む場合、探索方法は終了する。含まない場合、ステーションは、応答に基づいて抽出されたリストLの各ステーションに順に要求(2つの識別子及び要求ステーションの識別子を含む)を送信する。要求したドキュメントをステーションの1つが供給した時点で、方法は停止する。
この探索機構の変形例として、別の2つの構成を取った場合について説明する。
1)中央サーバが、1つのステーションのみに関する情報の送信のみを行う。
2)中央サーバが、そうしたステーションを所定順に並べたリストを送信する。なお、所定順は、ステーションの接続容量(帯域幅)またはそのステーションの存在時間(一定の期間におけるネットワークへの接続時間)に基づく。
図9Bを参照して、シンステーション専用の本発明の一部について説明する。本方法は、ドキュメントの共有からなる。このドキュメントは、ステーション上にローカルに格納される。まず、ユーザは、自分のログイン及びパスワードを提示して、中央サーバにより認証される(S900B)。ユーザは次に、1つまたは複数の共有するオリジナルデータ項目を選択する(S901B)。こうした項目それぞれに対してサムネイルを計算する(S903B)。サムネイルはローカルに格納される。最後に、サムネイルを中央サーバに送信する(S906B)。
図10Bを参照して、図9Bに従って送信されたメッセージを受信する方法について説明する(S906B)。
受信したメッセージに基づいて(S1000B)、中央サーバは、サムネイルのリストを抽出する(S1001B)。サムネイルは、ローカルに格納される(S1002B)。こうしたサムネイルそれぞれに識別子を関連付け(S1003B)、索引テーブルをアップデートする(S1004B)。このために、受信したサムネイルそれぞれに対して、そのテーブル中に新規エントリが生成される。こうしたエントリはそれぞれ、ドキュメントの識別子、バージョンの識別子、及びサムネイルへのアクセスを可能にするローカルアクセスパスを含む。次に、中央サーバはメッセージを送信したユーザの基準ステーションの識別子をユーザテーブルから抽出する(S1005B)。ユーザはこのようにして基準ステーションを特定する情報を提供する。最後に、新規メッセージが生成され、その基準ステーションに送信される(S1006B)。このメッセージは、サムネイル及び中央サーバによって受信されたサムネイルすべての識別子を含む。
図11Bを参照して、シンステーション専用の本発明の一部を説明する。この一部は、オリジナルデータ(まだネットワーク上でアクセス可能ではない)を、索引テーブル中で共有され参照されるサムネイルと同期させる。基準ステーションは、中央サーバから、新たに共有される画像のサムネイル及び識別子を受信したことを思い起こすことができよう。こうしたサムネイルの数は、Jである。
ユーザは始めに、中央サーバで認証される(S1100B)。次に、ユーザは、ステーションに格納されたオリジナルデータを選択する。なお、そのデータがシンステーション(携帯電話、または他の任意の機器)から作成された場合、そのオリジナルデータは、たとえば、そのステーションへの本発明のインストール時に、基準ステーション上で、予め定義されたフォルダにロードされる(S1101B)。さらに、そのデータを、受信したサムネイルに対応させないことが可能である。その時、後述する方法は、ステーションに他のデータがロードされるまで、スタンバイ状態に置かれる。説明を分かりやすくするために、以下では、各サムネイルを、ロードされた第1のデータ項目と照合することができるものとするが、これは本発明を限定するものでは全くない。
受信したJ個のサムネイルそれぞれに対して、以下で署名Sと呼ばれる、その第1のデータ項目のコンテンツのデータ項目特性を計算する(S1102B)。たとえば、画像の場合、サムネイルに基づいてカラーヒストグラムが計算される。
ロードされたI個のオリジナルデータ項目それぞれに対しても、その署名を計算する(S1104B)。なお、署名がカラーヒストグラムの場合、署名は、サムネイルの解像度まで削減された元の画像に基づいて抽出される。
この署名は次に、受信したサムネイルに関連付けられたJ個の署名それぞれと比較される(S1106B)。このために、2つの署名iとjの間の基準値が定義される。
カラーヒストグラムの場合、たとえば、M.J.Swain、D.H.Ballard、「Color Indexing」、Inter.Journal of Comp.Vision、7:1、pp 11‐32、1991において定義される距離を使うことができる。この距離は、両方の署名が等しい場合は値が1であり、それ以外の場合は0である。中間値に対して、距離が閾値より大きい場合、ステップS1106Bの後には、第1のデータ項目jと合致するデータ識別子を現在のオリジナルデータ項目iに関連付けるステップS1107Bが続く。別の例として、その距離の値に基づいて決定を行うことができなかった場合、オリジナルデータ項目と2つのサムネイルの間の照合の確認を要求するようにしてもよい。
この照合方法が終了すると、すなわち、各サムネイルがオリジナルデータ項目に適合すると、ステーションは、識別子(ドキュメント及びバージョン識別子)ならびに基準ステーションの識別子のリストを含むメッセージを中央サーバに送信する(S1113B)。このようにして、中央サーバは、そのテーブルに新規エントリを追加することによって、索引テーブルをアップデートする。このように、新規ステーションがオリジナルデータ項目を供給できることを中央サーバに知らせる。
図1B、13Bを参照して、本発明による、写真タイプのドキュメントを共有する方法の一般的なステップを説明する。
たとえば、カメラAP1で何枚かの写真を撮影すると、送信ユーザがシンステーション101B(通常、移動電話TM1)から、そうした写真(またはその何枚か)を共有することを望む。
シンステーションは、公開アクセス可能なコンピュータ等、ユーザのものではないコンピュータOR1でもよい。この場合、ユーザは、カメラAP1の写真を、ネットワークのステーション、たとえば、中央サーバ100Bに送信するために、公開コンピュータOR1上に一時的にロードする。
従って、ステーション101Bは、第1のデジタルドキュメントDD1の第1のデータ項目TH1(サムネイル)を、中央サーバ100Bに送信する。ユーザは、ドキュメントDD1の識別子Id1を送信してもよく、この識別子Id1は、中央サーバ100Bによって作成することもできる。ステーション101Bは、基準ステーション102Bを特定する情報項目、通常はそのユーザ識別子も送信する。この動作は、図13Bに矢印F1で示す。
デジタルドキュメントDD1の第2のデータ項目HR1は、まだネットワーク上で入手可能ではない。第2のデータ項目HR1はたとえば、第1のドキュメントDD1の最大解像度でのオリジナルデータ項目であり、また、第1のデータ項目はより低い解像度のサムネイルTH1であり、本発明によれば、共有する第1のデジタルドキュメントDD1の第1のデータ項目と第2のデータ項目の間の階層タイプの第1の編集関係に対応する。
とりわけ、その特定情報項目を受信する中央サーバ100Bは、第1のデジタルドキュメントの第1のデータ項目TH1及びその識別子Id1の送信先である基準ステーション102Bを選択する(動作F2)。
この選択は、たとえば、その存在時間やそのステーションで使用可能な帯域幅等、基準ステーション102Bの特性にリンクされた選択基準に従って行うこともできる。
中央サーバ100Bは、第1のデジタルドキュメントDD1の第1のデータ項目TH1及びその識別子Id1を、こうした情報を要求する、ネットワーク等のユーザ、特にステーション103Bが入手可能にすることができる。
自分の基準ステーション102Bに戻る撮影者は、自分のカメラAP1、メモリカードまたは携帯電話TM1から、第2のデジタルドキュメントDD2の第2のデータ項目HR2をダウンロードする(動作F3)。第1及び第2のデジタルドキュメントDD1、DD2は、ここでは選んだ第2の地理的及び時間的編集関係によって相互に結び付けられる。
ステーション102Bは、その第2のデジタルドキュメントDD2の第1のデータ項目TH2を推論する。なお、第2のドキュメントDD2の第2のデータ項目HR2は、第1のドキュメントDD1の第2のデータ項目HR1と恐らくは同じであるが、第2のドキュメントの第1のデータ項目TH2は、異なる機器AP1及び102Bによって実施されるサブサンプリング方法によって得られる第1のドキュメントの第1のデータ項目TH1とは異なる場合がある。
従って、2つのドキュメントDD1、DD2の2つの第2のデータ項目が本当に同一であることを確認するために、ステーション102Bは、中央サーバ100Bから受信した第1のドキュメントDD1の第1のデータ項目TH1を、第2のドキュメントDD2の第1のデータ項目TH2と比較する処理を実施する。
比較の結果、同じであると判断されると、第1のドキュメントDD1の識別子Id1を、第2のデジタルドキュメントDD2の属性とする。ステーション102Bは次いで、ドキュメントDD1の第2のデータ項目HR1の受信確認を中央サーバ100Bに送信する(動作F4)。
これにより、サーバ100Bは第1のドキュメントDD1のオリジナルデータ項目HR1が入手可能であり、従って供給できることを知ることができる。
ユーザが、ドキュメントId1の識別子を介して、ステーション103Bに対してオリジナルデータ項目HR1を要求した場合(動作F5)、中央サーバ100Bは、ドキュメントDD1のオリジナルデータ項目HR1を、基準ステーション102Bから、またはそれを介して配信することができる。
第1の実施形態におけるデジタルドキュメントを共有するためのシステムの概略構成を示す図である。 第1の実施形態における中央サーバ専用の、本発明の一部を実行する装置を示す図である。 第1の実施形態における中央サーバのテーブルに格納される情報を示すブロック図である。 第1の実施形態におけるユーザステーション専用の、本発明の一部を実行する装置を示す図である。 ユーザステーションのテーブルに格納されるデータの構成を示すブロック図である。 ユーザステーションからの、識別子を含む要求の作成を示すブロック図である。 識別子に応じたユーザステーションによるドキュメントの配信を示すブロック図である。 識別子に基づいてデジタルドキュメントを探索する機構を示すブロック図である。 第1の実施形態におけるユーザステーションからのサムネイルを含む要求の作成を示すブロック図である。 第1の実施形態におけるサムネイルに基づいてデジタルドキュメントを探索する機構を示すブロック図である。 第1の実施形態におけるサムネイルに基づいてデジタルドキュメントを探索する機構を示すブロック図である。 第1の実施形態における新規ドキュメントを共有する機構を示すブロック図である。 本発明の第1の実施形態における写真タイプのデジタルドキュメントを共有する方法の概略ステップを示す図である。 第2の実施形態における本発明を実行する、デジタルデータを共有する装置の概略構成を示すブロック図である。 第2の実施形態における中央サーバ専用の、本発明の一部を実行するプログラム可能な機器を示す図である。 第2の実施形態における中央サーバ上に格納される情報の構成を示す図である。 第2の実施形態におけるステーションの構成を示す図である。 第2の実施形態におけるシンステーション専用の、本発明の一部を示す図である。 第2の実施形態における図9Bに従って送信されたメッセージを受信する方法を示す図である。 第2の実施形態における基準ステーション専用の、本発明の一部を示すステップを示す図である。 本発明の第2の実施形態における写真タイプのドキュメントを共有する方法のステップを示す図である。

Claims (13)

  1. 通信ネットワークにおいてデジタルドキュメントが複数のステーション間で共有されるデジタルドキュメントシステムであって、
    第1のサムネイルデータ項目と対応するオリジナルデータ項目を有する第1のステーションと、
    第2のサムネイルデータ項目を有する第2のステーションと、
    中央サーバとを備え、前記中央サーバが、
    前記第1のサムネイルデータ項目と、前記第2のサムネイルデータ項目を比較する比較手段と、
    前記比較の結果に従って、前記オリジナルデータ項目にアクセスするための情報を、前記第2のステーションに送信する送信手段とを備えることを特徴とするデジタルドキュメントシステム。
  2. 前記比較手段は、前記第1のサムネイルデータ項目の第1の署名と前記第2のサムネイルデータ項目の第2の署名を用いて、前記第1のサムネイルデータ項目と前記第2のサムネイルデータ項目とを比較することを特徴とする請求項1に記載のデジタルドキュメントシステム。
  3. 通信ネットワークを介して複数のステーションと通信する中央サーバであって、
    第1のステーションにある第1のサムネイルデータ項目と、第2のステーションにある第2のサムネイルデータ項目を比較する比較手段と、
    前記比較の結果に従って、前記第1のサムネイルデータ項目に対応する、前記第1のステーションにあるオリジナルデータ項目にアクセスするための情報を、前記第2のステーションに送信する送信手段とを備えることを特徴とする中央サーバ
  4. 前記第1のサムネイルデータ項目から第1の署名を、前記第2のサムネイルデータ項目から第2の署名を導出する導出手段を更に有し、
    前記比較手段は、前記第1の署名と前記第2の署名を用いて、前記第1のサムネイルデータ項目と前記第2のサムネイルデータ項目とを比較することを特徴とする請求項3に記載の中央サーバ
  5. 前記導出手段は、それぞれがサムネイルデータ項目に基づいたカラーヒストグラムを署名として導出することを特徴とする請求項4に記載の中央サーバ
  6. 前記導出手段は、テーブルを参照することで署名を導出することを特徴とする請求項4に記載の中央サーバ
  7. 前記比較手段は、前記第1のサムネイルデータ項目と前記第2のサムネイルデータ項目から導出される差及び閾値に基づいて比較を行うことを特徴とする請求項3に記載の中央サーバ
  8. 前記第2のステーションから要求を受信する受信手段を更に有し、
    前記要求は、前記第2のサムネイルデータ項目を含むことを特徴とする請求項3に記載の中央サーバ
  9. 前記通信ネットワークは、ピアツーピアネットワークであることを特徴とする請求項3に記載の中央サーバ
  10. 前記第1のステーションはデジタルカメラ装置であって、前記オリジナルデータ項目を生成することを特徴とする請求項3に記載の中央サーバ
  11. 前記第2のサムネイルデータ項目は、前記第1のステーションで生成されることを特徴とする請求項3に記載の中央サーバ
  12. 通信ネットワークを介して複数のステーションと通信することが可能な中央サーバを制御するための制御方法であって、
    1)比較手段が、第1のステーションにある第1のサムネイルデータ項目と、第2のステーションにある第2のサムネイルデータ項目を比較する工程と、
    2)送信手段が、前記比較の結果に従って、前記第1のサムネイルデータ項目に対応する、前記第1のステーションにあるオリジナルデータ項目にアクセスするための情報を、前記第2のステーションに送信する工程とを含むことを特徴とする制御方法。
  13. 情報キャリアに格納されたコンピュータプログラムであって、前記プログラムが、コンピュータシステムによってロードされ実行されると、請求項12に記載の制御方法の実行を可能にする命令を備えることを特徴とするコンピュータプログラム。
JP2006538994A 2003-11-14 2004-11-10 ピアツーピア通信ネットワーク内のデジタルドキュメントにアクセスし、または共有するシステム、方法及び装置 Expired - Fee Related JP4328806B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0313381A FR2862460A1 (fr) 2003-11-14 2003-11-14 Procede d'acces a un document numerique dans un reseau de communication
FR0313382 2003-11-14
PCT/IB2004/003883 WO2005048565A1 (en) 2003-11-14 2004-11-10 System, method and devices for accessing or sharing a digital document in a peer-to-peer communication network

Publications (2)

Publication Number Publication Date
JP2007510996A JP2007510996A (ja) 2007-04-26
JP4328806B2 true JP4328806B2 (ja) 2009-09-09

Family

ID=34593695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006538994A Expired - Fee Related JP4328806B2 (ja) 2003-11-14 2004-11-10 ピアツーピア通信ネットワーク内のデジタルドキュメントにアクセスし、または共有するシステム、方法及び装置

Country Status (6)

Country Link
US (1) US7707421B2 (ja)
EP (1) EP1683326B1 (ja)
JP (1) JP4328806B2 (ja)
KR (1) KR100799006B1 (ja)
DE (1) DE602004015138D1 (ja)
WO (1) WO2005048565A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072432A (ja) * 2004-08-31 2006-03-16 Onkyo Corp ピアツーピア型コンテンツ配信システム
US7734584B1 (en) * 2005-03-24 2010-06-08 Google Inc. Method and systems for storing and distributing data
US7991767B2 (en) * 2005-04-29 2011-08-02 International Business Machines Corporation Method for providing a shared search index in a peer to peer network
JP4765482B2 (ja) * 2005-08-25 2011-09-07 富士ゼロックス株式会社 文書管理システム、文書管理プログラム及び文書管理方法
JP4079169B2 (ja) * 2005-10-06 2008-04-23 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、その装置を備える画像処理システム、画像処理方法およびコンピュータを画像処理装置として機能させるためのプログラム
US7801912B2 (en) * 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US7685109B1 (en) 2005-12-29 2010-03-23 Amazon Technologies, Inc. Method and apparatus for data partitioning and replication in a searchable data service
JP4818791B2 (ja) * 2006-04-20 2011-11-16 株式会社東芝 表示制御装置、画像処理装置、表示制御方法
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
US8181257B2 (en) * 2007-06-15 2012-05-15 International Business Machines Corporation Method to allow role based selective document access between domains
US8150807B2 (en) * 2007-10-03 2012-04-03 Eastman Kodak Company Image storage system, device and method
JP5197075B2 (ja) 2008-03-10 2013-05-15 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
US9026918B2 (en) * 2008-10-16 2015-05-05 Accenture Global Services Limited Enabling a user device to access enterprise data
US20100153866A1 (en) * 2008-12-11 2010-06-17 Accenture Global Services Gmbh Method and system for modifying the execution of a native application running on a portable electronic device
JP5797382B2 (ja) * 2010-06-09 2015-10-21 株式会社リコー ファイル交換システム、ファイル交換方法、モバイル機器及びプログラム
US9710619B2 (en) * 2015-03-31 2017-07-18 Canon Information And Imaging Solutions, Inc. System and method for providing an electronic document
US11783120B2 (en) * 2015-08-26 2023-10-10 Roar Software Pty Ltd. System and process for generating an internet application
AU2015255223B2 (en) * 2015-08-26 2021-02-25 Roar Software Pty Ltd System and process for generating an internet application

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949551A (en) * 1997-04-25 1999-09-07 Eastman Kodak Company Image handling method using different image resolutions
JP2002183167A (ja) 2000-12-14 2002-06-28 Canon Inc データ通信装置及び画像蓄積システム
JP2003092719A (ja) 2001-07-13 2003-03-28 Matsushita Electric Ind Co Ltd デジタルカメラ
US7154535B2 (en) * 2001-07-13 2006-12-26 Matsushita Electric Industrial Co., Ltd. Digital camera capable of directly accessing images recorded on another digital camera
US6629100B2 (en) * 2001-10-01 2003-09-30 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture for search and delivery of private images and metadata
FR2851389B1 (fr) * 2003-02-14 2005-04-29 Canon Kk Procede et dispositif de gestion de requetes dans une architecture du type client-serveur
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
FR2855691B1 (fr) * 2003-06-02 2005-11-11 Canon Kk Securisation de la distribution de documents numeriques dans un reseau pair a pair
FR2857763A1 (fr) * 2003-07-18 2005-01-21 Canon Kk Procede d'acces et de partage d'un document numerique dans un reseau de communication p2p
FR2860935B1 (fr) * 2003-10-09 2006-03-03 Canon Kk Procede et dispositif de traitement de donnees numeriques
FR2863127A1 (fr) * 2003-12-02 2005-06-03 Canon Kk Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
US7114074B2 (en) * 2003-12-22 2006-09-26 Graphic Security Systems Corporation Method and system for controlling encoded image production using image signatures
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
JP4765482B2 (ja) * 2005-08-25 2011-09-07 富士ゼロックス株式会社 文書管理システム、文書管理プログラム及び文書管理方法
JP4865282B2 (ja) * 2005-09-09 2012-02-01 キヤノン株式会社 画像処理装置の制御方法、画像処理装置、プログラムコード及び記憶媒体

Also Published As

Publication number Publication date
WO2005048565A1 (en) 2005-05-26
EP1683326A1 (en) 2006-07-26
JP2007510996A (ja) 2007-04-26
US7707421B2 (en) 2010-04-27
EP1683326B1 (en) 2008-07-16
US20070033262A1 (en) 2007-02-08
KR100799006B1 (ko) 2008-01-28
KR20060108677A (ko) 2006-10-18
DE602004015138D1 (de) 2008-08-28

Similar Documents

Publication Publication Date Title
JP4328806B2 (ja) ピアツーピア通信ネットワーク内のデジタルドキュメントにアクセスし、または共有するシステム、方法及び装置
US20160308960A1 (en) Connection management system, and a method for linking connection management server in thin client system
US9628563B2 (en) Sharing and synchronizing data across users of cloud computing systems
US6477543B1 (en) Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
US20070156434A1 (en) Synchronizing image data among applications and devices
US6983416B1 (en) System and method for cooperative editing of web document
RU2409846C2 (ru) Организация ресурсов в коллекции, способствующая более эффективному и надежному доступу к ресурсам
US8234414B2 (en) Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US20040068524A1 (en) Peer-to-peer file sharing
US7711804B2 (en) Methods and devices for the asynchronous delivery of digital data
US20140201173A1 (en) File-based social recommendations in a social network
JP2002540677A (ja) データネットワークの負荷管理
US8051157B2 (en) Discovery apparatus and method
JP4550604B2 (ja) 設定情報同期プログラム
JP6752944B2 (ja) ユーザ端末から受信されるイメージを他のユーザ端末に共有するための装置および方法
JP2007200271A (ja) コンテンツ・ネットワークにおいてマルチメディア・コンテンツを検索するシステム及びその検索方法
CN100542179C (zh) 在对等通信网络中访问或者共享数字文档的系统、方法和设备
KR100630072B1 (ko) 서버 주도형 클라이언트 동기화 방법
US7216151B2 (en) Computer apparatus and program for controlling same
JP2018180837A (ja) 添付ファイル共有システム、ユーザ端末、添付ファイル共有方法および添付ファイル共有プログラム
JPH11327987A (ja) データベース管理装置、および、そのプログラムが記録された記録媒体
KR20050091905A (ko) 메신저 서비스 시스템을 이용한 서버와 사용자 단말기간에 데이터 동기화 방법 및 그 시스템
KR19990079216A (ko) 인터넷상에서 데이터베이스의 공유방법
JPH07121467A (ja) 電子計算機システム
JP2005128678A (ja) 装置管理システム

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20060508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090514

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: 20090608

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: 20090615

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4328806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees