JP2008511078A - ゲスト画像閲覧性能を向上するための写真共有ピア・ツー・ピア・ネットワークにおけるプロキシ・キャッシング - Google Patents
ゲスト画像閲覧性能を向上するための写真共有ピア・ツー・ピア・ネットワークにおけるプロキシ・キャッシング Download PDFInfo
- Publication number
- JP2008511078A JP2008511078A JP2007529986A JP2007529986A JP2008511078A JP 2008511078 A JP2008511078 A JP 2008511078A JP 2007529986 A JP2007529986 A JP 2007529986A JP 2007529986 A JP2007529986 A JP 2007529986A JP 2008511078 A JP2008511078 A JP 2008511078A
- Authority
- JP
- Japan
- Prior art keywords
- image
- peer
- server
- photo sharing
- computer
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本発明は、ピア・コンピュータが写真共有システム・サーバに接続されたネットワーク写真共有システムにおいて、リクエストを出すコンピュータに、ピア・コンピュータに記憶された画像を与えるための方法およびシステムを提供する。本発明の態様は、写真共有サーバの中に画像のコピーをキャッシュすること、写真共有サーバに応答して、ピア・コンピュータに記憶された画像を閲覧するためにリクエストを出すコンピュータからのリクエストを受信すること、キャッシュされた画像を写真共有サーバからリクエストを出すコンピュータに送信することを含み、それによって、画像を閲覧するための各々のリクエストに対して、画像をピア・コンピュータから写真共有サーバに転送する必要性を回避する。
Description
本発明はネットワークを介したデジタル画像の共有に関し、より詳細には、写真共有ピア・ツー・ピア・ネットワークにおいて、ピア・コンピュータに記憶された画像のゲスト閲覧性能を向上するための方法およびシステムに関する。
ここ数年来、写真共有は写真愛好家によって広く受け入れられるようになってきた。現在、サーバへの記憶のために、およびインターネットを介した他者による閲覧のために、ユーザがデジタル画像をサイトにアップロードすることができる多くのウェブサイトが存在している。しばしば画像はグループ化されてアルバム・ウェブ・ページを形成するので、各々の個別の画像に対して、アルバム・ウェブ・ページを閲覧するために、ユーザは他者を招くことができる。
しかしながら、写真共有のこの方法はいくつかの欠点を示している。特に、ユーザは画像をサイトにアップロードすることが求められ、このことは時間の浪費になる可能性があり、サイトはすべてのユーザの画像を記憶するために膨大な記憶容量を必要とし、このことは不経済なものになる可能性がある。
これらの懸念事に対処するために、本発明の譲受人は、ネットワーク中のすべてのワークステーションおよびコンピュータ(ピア)が局所的に画像を記憶し、ネットワーク上で他のユーザに対してサーバとしての機能を果たす、ウェブ基盤のピア・ツー・ピア写真共有システムを開発した。すべてのピアによるアクセスが可能な中央サイトは、ピアの調整、ピアのための検索能力の提供、購入注文の履行等のさらなる機能を提供する。
図1Aは、ウェブ基盤のピア・ツー・ピア写真共有システムを示すブロック図である。ピア・ツー・ピア写真共有システム20は、ピア・ノード・ソフトウェア26とウェブ・サーバ・ソフトウェア28とを実行する複数のピア・サーバ24を備える写真共有P2Pネットワーク22を含む。ピア・ノードならびに、ソフトウェア24および26によってコンピュータのユーザは、自らの写真をウェブサイトにアップロードすることを必要とせずに、ウェブ・ブラウザ30を通じて、ネットワーク22の中で他の人と画像を共有することができる。写真共有P2Pネットワーク22の新しい特徴は、ファイヤウォールの背後でピアのためのネットワーキング・トラフィックを調整するための中央プロキシ・サーバ36を組み込んだ、一般的なHTTP/ウェブ・ブラウザ構成のための複合型ピア・ツー・ピア構造を提供することであり、したがってファイヤウォールの背後での、その他のピアによるピアへのアクセス、およびネットワーク22の中にはない訪問コンピュータ32によるピアへのアクセスを可能にする。プロキシ・サーバ36は、訪問コンピュータ32が標準的なウェブ・ブラウザ30を介してピア・サーバ24から画像にアクセスする経路を提供するとともに、ピア24に対するサービスの支援を提供する。実質的にすべての企業はファイヤウォールを使用しており、ユーザのホーム・システムにインストールされたソフトウェア・ファイヤウォールは至る所で使用されるようになっているので、ファイヤウォールの背後に配置されたピア・サーバ上でホストされる画像への一般的なHTTPアクセスを可能にすることは、ますます重要になってきている。
図1Bは、画像がプロキシ・サーバ36を通じて、ピア24のうちの1つから訪問コンピュータ32に与えられる場合に使用されるデータ経路を示す図である。工程は、画像を閲覧するために、ゲストが訪問コンピュータ32のウェブ・ブラウザ30からリクエストを開始するときに始まり、リクエストは経路(A)を介してプロキシ・サーバ36に発送される。次に、プロキシ・サーバ36は経路(B)を介してリクエストをピア・サーバ24に発送する。ピア・サーバ24はリクエストに対処し、経路(C)を介して画像をプロキシ・サーバに返送する。次いで、プロキシ・サーバ36は経路(D)を介して、表示のために画像を訪問コンピュータ32に送信する。
プロキシ・サーバ36を通じて画像を発送することにともなう1つの問題は、このことが追加の帯域幅を必要とすることである。つまり画像は2回移動されなければならず、すなわち1回目にピア・サーバ24からプロキシ・サーバ36に移動され、次に2回目にプロキシ・サーバ36から訪問コンピュータ32へ移動されなければならない。さらに、ピア・サーバ24は典型的に、ダウンリンク速度(経路B)よりもずっと遅いアップリンク速度(経路C)を有するケーブル・モデムまたはDSLの備え付けられたユーザの家でホストされることから、一般に経路(C)は最も長い待ち時間を有する。ゆえに、ピア・サーバ24とプロキシ・サーバ36との間の経路(C)の帯域幅の制限のために、ユーザはプロキシ・サーバ36を通じて発送される画像を閲覧する場合に、著しい遅延を経験する。
したがって、ゲスト画像閲覧性能を向上するために、ピア・サーバとプロキシ・サーバとの間(経路C)のネットワーク・トラフィックの量を減少させるための方法およびシステムが必要とされる。本発明はこのような必要に対処するものである。
本発明は、ピア・コンピュータが上述のようなプロキシ・サーバである写真共有サーバに接続されたネットワーク写真共有システムにおいて、ピア・コンピュータに記憶された画像を、リクエストを出すコンピュータに与えるための方法およびシステムを提供する。本発明の態様は、写真共有サーバに画像のコピーをキャッシュすること、写真共有サーバに応答して、ピア・コンピュータに記憶された画像を閲覧するために、リクエストを出すコンピュータからリクエストを受信すること、キャッシュされた画像を写真共有サーバからリクエストを出すコンピュータに送信することを含み、それによって、画像を閲覧するための各リクエストに対して、画像をピア・コンピュータから写真共有サーバに転送する必要性を回避する。本発明の第2の態様において、写真共有サーバは、リクエストを出すコンピュータにキャッシュされた画像を与える前に、キャッシュされた画像のタイムスタンプを備えたHTTPリクエストをピア・コンピュータに送信することによって、キャッシュされた画像がキャッシュされて以来変更されたかどうかを判定する。次いでピア・コンピュータは、キャッシュされた画像のタイムスタンプをピアに記憶された画像のタイムスタンプと比較し、タイムスタンプが合致するか否かに基づいて、画像が変更されているかどうかを示す応答を写真共有サーバに送信する。画像が変更されている場合、次いで変更されて画像は写真共有サーバにキャッシュされ、リクエストを出すコンピュータに与えられる。本発明の別の態様において、ピア・コンピュータに記憶された画像は写真共有サーバの画像と自動的に同期化されるので、写真共有サーバは常に画像の最新版を、リクエストを出す側に与えることができる。
本明細書で開示される方法およびシステムによって、写真共有サーバに画像をキャッシュすることは、画像を閲覧するための各リクエストに対して、画像をピア・コンピュータから写真共有サーバへ(経路(C))転送する必要性を回避する。したがって、本発明はピア・コンピュータと写真共有サーバとの間のネットワーク・トラフィックを大きく減少させ、写真共有ネットワークの画像閲覧性能を高める。
本発明はネットワークを介してデジタル画像を共有することに関し、より詳細にはゲスト画像閲覧性能を向上するための方法およびシステムに関する。以下の説明は、当業者が本発明を作成し、使用できるようにするために示され、特許出願およびその要件を背景として提示される。本明細書で説明される好ましい実施形態に対する様々な変更、一般原理および特徴は、当業者には容易に明らかとなろう。例えば、好ましい実施形態はピア・ツー・ピア・ネットワークの状況の中にあるが、同じ原理は、ゲスト・ブラウザがアルバムおよび画像を記憶しているコンピュータ・システムと直接通信するクライアント・サーバ環境に適用されることが可能である。したがって、本発明は示される実施形態に限定されることが意図されているわけではなく、本明細書で説明される原理および特徴と矛盾しない最も広い範囲に一致するものである。
本発明は、ピア・サーバがそれらのユーザの画像を記憶し、プロキシ・サーバなどの少なくとも1つの写真共有システム・サーバに接続されたピア・ツー・ピア写真共有ネットワークの閲覧性能を向上するための方法およびシステムを提供する。
図2は、本発明の好ましい実施形態による改良型写真共有ネットワークの詳細なブロック図である。図1Aに示される構成要素の他に、各ピア・サーバ42は本発明にしたがって機能するピア・ノード・アプリケーション44と、記憶された画像48のデータベース46とを含む。当技術分野でよく知られているように、画像48は典型的にはホスティング・コンピュータ・システムのハード・ドライブに記憶され、ホスト・オペレーティング・システムによって作成日時または変更日時を示すタイムスタンプ50が与えられる。
プロキシ・サーバ40は、プロキシ・サーバ40への事前に確立された接続を有する分散型ピア・サーバ42のために、プロキシとしての機能を果たす。プロキシ・サーバ40は、ファイヤウォールに保護されたピア・サーバ42からのプロキシ・サーバ36とのアウトバウンド接続を確立することによって、ファイヤウォールに保護されたピア・サーバ42が一般のHTTPアクセスを着信できるようにする。ファイヤウォールで保護されたピア・サーバ42の着信ウェブ・トラフィックは、その後プロキシ・サーバ40に向けられる。プロキシ・サーバ40は、専用のプロトコルを使用してウェブ・トラフィックをピア・サーバ42に多重送信するので、これによって一般のウェブ・トラフィックは、ファイヤウォール(不図示)の存在にもかかわらずピア・サーバ42の方に流れるようになる。複数のファイヤウォールに保護されたピア・サーバ42が存在する場合、プロキシ・サーバ40は着信HTTPリクエストを受信して、これを適切なピア・サーバ42に発信するためのスイッチボードとしての役割を果たす。ピア・ツー・ピア・ネットワークにおいて、ファイヤウォールを通じてウェブ閲覧を提供するための工程は、図4〜図6Bに関してさらに詳細に説明される。本明細書で使用される際、ピア・サーバ24、プロキシ・サーバ36および訪問コンピュータ32はPC、ワークステーション、携帯電話およびPDAなどの、適切なソフトウェアを実行するために必要な構成要素を備えた任意のコンピューティング・デバイスを含んでもよい。また、好ましい実施形態の中では物理的通信ネットワークはインターネットであるが、任意の種類のネットワークが使用されることが可能である。
本発明によって、訪問コンピュータ32による閲覧のためにリクエストされる、ピア・サーバ42に記憶された画像40は、最初に画像がリクエストされたときの前か後のいずれかで、プロキシ・サーバ40のキャッシュ52に記憶される。その後、続いて起こる画像に対するリクエストは、ホスティング・ピア・サーバ42から引き出されるのではなく、プロキシ・サーバのキャッシュ52から与えられるので、閲覧性能は高まる。さらにプロキシ・サーバ42は、リクエストされた画像48’がキャッシュされて以来変更されているかどうかを検査するために、リクエストをピア・サーバ42に送信することによってキャッシュされた画像48’が新しいものであることを保証する。このことは、キャッシュされた画像48’のタイムスタンプ50’をピア・サーバ42に記憶された画像40のタイムスタンプ50と比較することによって達成される。タイムスタンプの比較が、ピア・サーバ42の画像48が変更されていることを示す場合、次いでピア・サーバ42は、プロキシ・サーバ42が画像をリクエストを出す側に与える前に、変更された画像をプロキシ・サーバ42に転送する。
画像48’をプロキシ・サーバ40にキャッシュすることによって、本発明は各画像リクエストを満たすために、経路(C)に沿って画像をピア・サーバ42からプロキシ・サーバ40に転送する必要を大きく減少させ、それによってネットワークの閲覧性能を向上する。プロキシのキャッシュ52が依然として新しいものであるかどうかを判定するために、プロキシ・サーバ40とピア・サーバ42との間で少量のデータが転送されるが、各画像リクエストのためにピア・サーバ42からプロキシ・サーバ40に画像を転送するのに必要とされるキロバイトまたはメガバイトとは対照的に、このトラフィックは一般にほんの数バイトである。
図3は、写真共有ピア・ツー・ピア・ネットワークにおいて、ピア・サーバに記憶された画像のゲスト閲覧性能を向上するための工程を示す流れ図である。図2および3の両方を参照すると、工程は、ピア・サーバ42に記憶された画像48を閲覧するために、訪問コンピュータ32がリクエストを出す工程60で始まる。リクエストは、経路(A)を介してプロキシ・サーバ40に発送される。工程62で、プロキシ・サーバ40は経路(E)を介して画像のコピー48’がキャッシュ52に記憶されたかどうかを検査する。画像が最初にリクエストされるときに起こるかもしれないことであるが、画像のコピー48’がキャッシュに記憶されない場合(キャッシュ・ミス)、次に工程64で、プロキシ・サーバ40は経路(B)を介して、リクエストされた画像48をホストするピア・サーバ42に、画像に対するリクエストを送信する。
工程68で、ピア・サーバ42は画像48を取り出し、経路(C)を介して画像48のコピーをプロキシ・サーバ40に送信する。工程70で、画像のコピー48’はキャッシュ52に記憶される。工程72で、プロキシ・サーバ40は経路(F)を介してキャッシュされた画像48’を取り出し、それを経路(E)を介してリクエストを出す訪問コンピュータ32に与える。好ましい実施形態において、リクエストが作られる時間と画像が返送される時間との間の遅延をさらに減少させるために、プロキシ・サーバ40は画像48’を訪問コンピュータ32に流入させる一方で、画像48’はピア・サーバ42からダウンロードされる。
再び工程62を参照すると、画像48’がキャッシュ52の中に現れている場合(キャッシュ・ヒット)、プロキシ・サーバ40は経路(B)を介して、キャッシュされた画像48’のタイムスタンプ50’を備えた標準的なHTTP「IF−Modified−Since」ヘッダの形態で、リクエストをピア・サーバ42に送信することによって、キャッシュされた画像48’が依然として新しいものであるかどうかを工程74で判定する。工程76で、ピア・サーバ42上のピア・ノード・アプリケーション44は、キャッシュされた画像48’のタイムスタンプ50’をピア・サーバ42に記憶された画像40のタイムスタンプ50と比較する。ピア・サーバ42に記憶された画像48のタイムスタンプ50がキャッシュされた画像48’のタイムスタンプ50’と異なっている場合(すなわち、より新しい場合)、次いでピア・サーバ42は、ピア・サーバ42の画像48が、画像がキャッシュされて以来変更されていることを判定する(古いキャッシュ)。工程68で、ピア・サーバ42は経路(C)を介して、画像48のコピーを応答として返送する。
ピア・サーバ42が工程76で、局所的に記憶された画像48がプロキシ・サーバ40によって送信されたタイムスタンプ50’よりも新しいタイムスタンプ50を有していないことを判定する場合、次いで工程78で、ピア・サーバ42は経路(C)を介して、画像が変更されていないことを示す応答として、304HTTP返送コードをプロキシ・サーバ40に送信する。次いで、プロキシ・サーバ40は経路(F)を介してキャッシュ52から画像48’を取り出し、それを経路(D)を介して、工程72を介して訪問コンピュータ32に与える。
時折、特にユーザが使用していないときにPCをシャット・ダウンすることがよくある家庭内の環境で、ピア・サーバ42はプロキシ・サーバ40から接続を遮断される。この場合プロキシ・サーバ40は、キャッシュ52の中の画像48’が依然として有効かどうかを判定するために、ピア・サーバ42と通信することができない。したがってプロキシ・サーバ40は、ピア・サーバ42がオフラインになる前に、更新された最新の画像のセットと、それらの画像を取り囲むウェブ・ページの構成要素とを必要とする。
本発明のさらなる態様によって、これは同期化サーバ54(図2)と同期化プロトコルとを介して処理される。図2および3の両方を参照すると、動作中、ピア・サーバ42の接続を断つ前に、工程80でユーザはピア・サーバ42と同期化サーバ54との間で同期化プロトコルを開始してもよい。好ましい実施形態において、ピア・ノード44のユーザ・インターフェースはピア同期化アイコン、またはユーザが選択してもよいメニュー項目を表示する。代替として、ユーザは同期化を実行することを促されてもよく、ユーザは同期化を受け入れるのか、それとも退けるのかを選択してもよい。
一旦同期化が起動されると、工程82でピア・サーバ42は経路(C)を介して、すべての画像48のタイムスタンプ50を同期化サーバ54にアップロードする。工程84で、同期化サーバ54はアップロードされたタイムスタンプ50をタイムスタンプ50’と比較して、キャッシュされた画像48’が最新のものであるかどうかと、キャッシュ52の中で何らかの失われた画像があるのかどうかとを判定する。工程86で、同期化サーバ54は変更されている、または失われていると識別された任意の画像のために、ピア・サーバ42にリクエストを送信する。工程68で、ピア・サーバ42はリクエストされた画像48を取り出し、経路(C)を経由してそれをプロキシ・サーバ40に送信する。
好ましい実施形態において、同期化は、ユーザによるリクエストに応じて直ちに実行される。しかしながら代替の実施形態において、同期化はバックグラウンドで自動的に実行されてもよい。すなわち、プロキシ・サーバ40が訪問コンピュータ32に画像を与えるのと同時に、プロキシ・サーバ40はピア・サーバ42と同期化されてもよい。この実施形態において同期化は、ピア・サーバ42がプロキシ・サーバ40に最初に接続するときに実行されてもよい。またバックグラウンド同期化は、ピア・サーバの接続がアイドルであることが検出されるときに実行されてもよい。バックグラウンド同期化のいずれの形態でも、ユーザがアクティブ・セッションの後にピア・サーバ42をシャット・ダウンする時間によって、プロキシ・サーバ44との同期化は間違いなく完了されてもよい。
好ましい実施形態において、同期化サーバ54はプロキシ・サーバ40の構成要素である。しかしながら、同期化サーバ54はプロキシ・サーバ40から独立していてもよく、独立のコンピュータ上で動作してもよい。
理解されるように、典型的には画像がリクエストされるまさに1回目の場合であり、キャッシュ52の中の画像が更新されることを必要とするときである、画像がキャッシュ52の中に存在しない場合、画像は経路(C)を介してピア・サーバ42からプロキシ・サーバ40に転送されるだけである。しかしながら、画像がリクエストされる第1回目以外に、画像はキャッシュ52の中に存在し、ピア・サーバ42とプロキシ・サーバ40との間で経路(C)を介して渡される唯一のデータは、画像を転送するためのメガバイトではなくほんの数バイトのHTTP返送コードである。ピア・サーバ42とプロキシ・サーバ40との間のこのトラフィックの削減によって、ゲストのためのP2Pネットワークの画像閲覧性能は大きく高められる。
図4は、ピア・サーバ42がその供給能力をファイヤウォール34を通じて評価可能なものとするために、写真共有ピア・ツー・ピア・ネットワーク22に登録を行う工程を示すフロー図である。好ましい実施形態において、P2Pネットワーク22は、まとめてプロキシ・サーバ配列40と呼ばれる複数のプロキシ・サーバ40a〜n、ピア・サーバ・テーブル70、登録サーバ72およびDNSサーバ74を含む。
登録工程は工程100で始まり、そこでピア・ノード44はその名前を登録サーバ72に伝え、登録サーバ72はピア名が固有のものであることを確かめるために検査を行い、割り当てられているプロキシ・サーバ40の名前とIPアドレスとをピア・ノード44に返送する。工程102で、ピア・ノード44はそのプロキシ・サーバ名とプロキシ・サーバIPアドレスとをDNSサーバ74に登録する。DNSサーバ74はすべてのピア名と、それらの対応しているプロキシのIPアドレスとのテーブルを維持する。工程104でピア・ノード44は、ピア・サーバ名と、割り当てられているプロキシ・サーバ40へのソケットとを登録する。
工程106で、訪問コンピュータ32のユーザは、閲覧のためにコンテント(例えば写真)がピア・サーバ42に存在することを通知される。通知は複数の方法を使用して実施されることが可能であるが、好ましい実施形態においては、ピア・サーバ42中のコンテントのURLを含む電子メールを用いて、ユーザは電子メールを介して通知される。工程108で、訪問コンピュータ32のユーザは電子メールを受信し、URLをクリックする。訪問コンピュータ32はリクエストを送信するために、URLの中のピア名を使用してDNSサーバ74と接触し、その中のプロキシ・サーバ40のアイデンティティを判定する。DNSサーバ74は、ピア・サーバ42に割り当てられているプロキシ・サーバ40のIPアドレスで応答する。工程110で、プロキシのIPアドレスが与えられると、訪問コンピュータ32のウェブ・ブラウザ30は、HTTPリクエストをプロキシ・サーバ40に送信する。
図5はプロキシ・サーバ40の構成要素、およびプロキシ・サーバ40を通じてウェブ・ブラウザ30がピア・サーバ42へのHTTPアクセスを有することを可能にするための、リクエストを出すウェブ・サーバ30とプロキシ・サーバ40とピア・サーバ42との間のフローを示す図である。好ましい実施形態において、プロキシ・サーバ40は多重サーブレット(multipleservlet)・スレッド150、登録マネージャ152、ピア・マネージャ154、ピア・メッセージ・ボックス156およびピア・パケット・マネージャ・スレッド158を含む。
工程は、プロキシ・サーバ40のサーブレット・スレッド150が、ウェブ・ブラウザ30からURLの形態でHTTPリクエストを受信する工程200で始まる。工程202で、登録マネージャ152は、リクエストを出すURLの中で識別されたピア・サーバがピア・サーバ42に登録されているかどうかを判定するためにサーバ・テーブル70(図4参照)を検査し、もし登録されていれば、対応するピアのソケットを返送する。工程204で、サーブレット・スレッド150はHTTPリクエストからピア・リクエスト・パケット160を作り出し、次いでそのパケットをピア・マネージャ154に伝える。
図6Aは、ピア・リクエスト・パケット160のコンテントを示す図である。好ましい実施形態において、ピア・リクエスト・パケット160はメッセージ・ボックスID162、HTTP URL164、複数のHTTPヘッダ166、およびHTTPポスト・データ・フィールド168を含む。メッセージ・ボックスID162は関連するピア・リクエスト・パケット162、ピア応答パケット170およびピア・メッセージ・ボックス156のための固有の識別子である。HTTP URL164は、訪問ウェブ・ブラウザ30からリクエストされたURLである。HTTPヘッダ166は、訪問ウェブ・ブラウザ30からの元々のリクエストに由来するHTTPヘッダである。HTTPポスト・データ・フィールド168は、リクエストがPOSTコマンドであってGETコマンドではない場合のデータを含む。
工程206で再び図5を参照すると、ピア・マネージャ154はピア・サーバ42へのソケット接続を見つけ出し、ピア・リクエスト・パケット160をピア・サーバ42に伝える。工程210で、サーブレット・スレッド150はピア・マネージャ154およびブロックからピア・メッセージ・ボックス156を取得し、ピア・メッセージ・ボックス156で応答パケットが到着するのを待つ。
工程212で、ピア・ノード44はリクエスト・パケット160を受信して、パケット160をHTTPリクエストに変換し直し、HTTPリクエストをウェブ・サーバ28に送信する。工程214で、HTTP応答はウェブ・サーバ28からピア・ノード44に送信され、次いでピア・ノード44は応答からHTTPヘッダを取り出してピア応答パケット170を作り出し、それをプロキシ・サーバ40に返信する。HTTP応答の残りの部分は、工程216で2Kのチャンクに分割され、続きのピア応答パケット170の中でプロキシ・サーバ40に送信される。好ましい実施形態において、ピア・ノード44は各ピア応答パケット170にルーティング・アドレスを挿入する。プロキシ・サーバ40からのリクエストを処理する複数のスレッドが存在しうることに留意されたい。したがって、ピア・ノード44は同じ応答ソケットを介してそれらの応答をプロキシ・サーバ40に多重送信し返す。
図6Bはピア応答パケット170のコンテントを示す図である。好ましい実施形態において、ピア応答パケット170はメッセージ・ボックスID172、パケット・サイズ174、パケット・タイプ176およびペイロード・フィールド178を含む。メッセージ・ボックスID172は関連するピア・リクエスト・パケット162、ピア応答パケット170およびピア・メッセージ・ボックス156のための固有の識別子である。パケット・サイズ174は、ピア・リクエスト・パケット160への応答がプロキシ・サーバ40にチャンクで送信し返されるという事実に関係する。好ましい実施形態の中では2Kのパケット・サイズが使用される。個々のパケットは完全なHTTP応答を形成するためにプロキシ・サーバ40上で再び組み立てられ、次いでそれらは訪問ウェブ・ブラウザ30に返送される。パケット・タイプ176はペイロード・フィールド178で返送されたデータのタイプを示す。可能な値は「データ、ヘッダ、最終パケット」を含む。ペイロード・フィールド178はピア応答パケット170のデータ部分である。
再び図5を参照すると、工程218でプロキシ・サーバ40は応答ソケットを介して生バイトを受信し、スレッド・プールから選択されたピア・パケット・マネージャ158のスレッドにそれらを伝える。好ましい実施形態において、プロキシ・サーバ40、170の中でリクエスト158を能動的に受信するのは、ピアに対して1つのパケット・マネージャ・スレッドしかない。工程220で、ピア・パケット・マネージャ・スレッド158は、そのバッファの中に完全なパケットがあるまで待機し、次いで完全なピア応答パケット170を対応のピア・メッセージ・ボックス156に発送する。ピア・メッセージ・ボックス156にパケット170が到着すると、対応のサーブレット・スレッド150は起動して、完全なピア応答パケット170を取り出す。工程242で、サーブレット・スレッド150はピア応答パケット170をHTTP応答に変換し直し、次いでHTTP応答を、リクエストを出すウェブ・ブラウザ30に送信し返す。本明細書で開示されるように、プロキシ・サーバ40とピア・ノード44との組合せによって、訪問ウェブ・ブラウザ30による、ファイヤウォール34の背後に配置されたピア・サーバ42へのHTTPアクセスが可能になる。
本発明は示された実施形態にしたがって説明されており、当業者であれば、本実施形態に対する変更形態が存在しうるということが容易に認識されよう。例えば、好ましい実施形態はウェブ基盤のピア・ツー・ピア・ネットワークに関連して説明されてきたが、同一の原理は、クライアント・コンピュータがプロキシ・サーバを利用せずにピア・サーバと直接通信する従来のクライアント・サーバ環境に適用されることが可能であることが、当業者であれば容易に理解されよう。いかなる変形形態も本発明の技術思想および範囲の中に含まれる。したがって多くの変更形態は、添付の特許請求項の技術思想および範囲から逸脱することなく、当業者によって作成されてもよい。
Claims (36)
- 写真共有システム・サーバに接続された少なくとも1つのピア・コンピュータを有するネットワーク写真共有システムにおいて、リクエストを出すコンピュータに、該ピア・コンピュータに記憶された画像を与えるための方法であって、
(a)該写真共有サーバに該画像のコピーをキャッシュすること、
(b)該写真共有サーバに応答して、該ピア・コンピュータに記憶された該画像を閲覧するために、該リクエストを出すコンピュータからリクエストを受信し、該写真共有サーバから該ピア・コンピュータにリクエストを送信して、該ピア・コンピュータに記憶された該画像が変更されているかどうかを判定すること、
(c)該ピア・コンピュータからの応答が該画像が変更されていないことを示す場合、キャッシュされた画像を該写真共有サーバから該リクエストを出すコンピュータに送信すること、
(d)該画像が変更されている場合、変更された画像のコピーを該写真共有サーバにキャッシュし、該変更された画像を該写真共有サーバから該リクエストを出すコンピュータに送信すること、を備える方法。 - 工程(b)は、前記リクエストをHTTPリクエストとして前記ピア・コンピュータに送信することをさらに含む請求項1に記載の方法。
- 工程(b)は、前記リクエストとして、HTTP If−Modified−Sinceヘッダと、前記キャッシュされた画像のタイムスタンプとを送信することをさらに含む請求項2に記載の方法。
- 工程(b)は、前記HTTPリクエストを受信する前記ピア・コンピュータに応答して、
(i)前記キャッシュされた画像の前記タイムスタンプを前記ピア・コンピュータに記憶された前記画像のタイムスタンプと比較すること、
(ii)前記タイムスタンプが異なる場合、前記変更された画像を前記写真共有サーバに転送することによって応答すること、
(iii)前記タイムスタンプが異なっていない場合、前記画像が変更されていないことを示す応答を送信することをさらに含む請求項3に記載の方法。 - 工程(a)は、
(i)前記ピア・コンピュータに記憶された前記画像が前記写真共有サーバにも記憶されているかどうかを判定すること、
(ii)前記写真共有サーバに前記画像が記憶されていない場合、記憶のために前記画像のコピーを前記写真共有サーバに転送することをさらに含む請求項1に記載の方法。 - 工程(a)は、前記画像が最初にリクエストされるときに実行される請求項5に記載の方法。
- 工程(a)は、前記写真共有サーバと前記ピア・サーバとの間の同期化工程の間に実行される請求項6に記載の方法。
- 前記同期化工程が一旦起動されると、前記ピア・サーバに記憶された前記画像のタイムスタンプを前記写真共有サーバにアップロードし、アップロードされたタイムスタンプと前記キャッシュ中の前記画像の前記タイムスタンプとを比較して、前記キャッシュされた画像が最新のものであるのかどうかと、前記キャッシュの中で失われた画像があるのかどうかとを判定することをさらに含む請求項7に記載の方法。
- 変更されている、または失われていると識別された任意の画像のために、前記写真共有サーバから前記ピア・サーバにリクエストを送信し、それによって前記写真共有サーバにキャッシュされた前記画像を前記ピア・サーバに記憶された前記画像と同期化することをさらに含む請求項8に記載の方法。
- バックグラウンド同期化を実行することをさらに含む請求項9に記載の方法。
- 前記写真共有サーバは前記タイムスタンプの比較を実行するための前記同期化サーバを含む請求項9に記載の方法。
- 前記写真共有サーバは、ファイヤウォールの背後に配置される場合、前記リクエストを出すコンピュータの前記ピア・サーバへのHTTPアクセスを提供するプロキシ・サーバを備える請求項1に記載の方法。
- 写真共有システム・サーバに接続された少なくとも1つのピア・コンピュータを有するネットワーク写真共有システムであって、
(a)該写真共有サーバに画像のコピーをキャッシュするための手段と、
(b)該写真共有サーバに応答して、該ピア・コンピュータに記憶された該画像を閲覧するために、リクエストを出すコンピュータからリクエストを受信し、該写真共有サーバから該ピア・コンピュータにリクエストを送信して、該ピア・コンピュータに記憶された該画像が変更されているかどうかを判定するための手段と、
(c)該ピア・コンピュータからの応答が、該画像が変更されていないことを示す場合、キャッシュされた画像を該写真共有サーバから該リクエストを出すコンピュータに送信するための手段と、
(d)該画像が変更されている場合、変更された画像のコピーを該写真共有サーバにキャッシュし、該変更された画像を該写真共有サーバから該リクエストを出すコンピュータに送信するための手段と、を備えるシステム。 - 前記リクエストを受信するための手段は、HTTPリクエストとして前記リクエストを前記ピア・コンピュータに送信する請求項13に記載のシステム。
- 前記リクエストを受信するための手段は、前記リクエストとして、HTTP If−Modified−Sinceヘッダと前記キャッシュされた画像のタイムスタンプとを送信する請求項14に記載のシステム。
- 前記リクエストを受信するために手段は、前記HTTPリクエストを受信する前記ピア・コンピュータに応答して、
(i)前記キャッシュされた画像の前記タイムスタンプ、前記ピア・コンピュータに記憶された前記画像のタイムスタンプと比較し、
(ii)前記タイムスタンプが異なっている場合、前記変更された画像を前記写真共有サーバに転送することによって応答し、
(iii)前記タイムスタンプが異なっていない場合、前記画像が変更されていないことを示す応答を送信する請求項15に記載のシステム。 - 前記キャッシュするための手段は、
(i)前記ピア・コンピュータに記憶された前記画像が前記写真共有サーバにも記憶されているかどうかを判定するための手段と、
(ii)前記画像が前記写真共有サーバに記憶されていない場合、記憶のために、前記画像のコピーを前記写真共有サーバに転送するための手段とをさらに含む請求項13に記載のシステム。 - 前記画像は、前記画像が最初にリクエストされるときにキャッシュされる請求項17に記載のシステム。
- 前記画像は、前記写真共有サーバと前記ピア・サーバとの間の同期化工程の間にキャッシュされる請求項17に記載のシステム。
- 前記同期化工程が一旦起動されると、前記ピア・サーバに記憶された前記画像のタイムスタンプは前記写真共有サーバにアップロードされ、アップロードされたタイムスタンプと前記キャッシュの中の前記画像の前記タイムスタンプとが比較されて、前記キャッシュされた画像が最新のものであるかどうかと、前記キャッシュの中で失われた画像があるかどうかとを判定する請求項19に記載のシステム。
- リクエストは、変更されている、または失われていると識別された任意の画像のために前記写真共有サーバから前記ピア・サーバに送信され、それによって前記写真共有サーバにキャッシュされた前記画像を前記ピア・サーバに記憶された前記画像と同期化する請求項20に記載のシステム。
- 同期化はバックグラウンドで実行される請求項21に記載のシステム。
- 前記写真共有サーバは、前記タイムスタンプの比較を実行するための前記同期化サーバを含む請求項21に記載のシステム。
- 前記写真共有サーバは、ファイヤウォールの背後に配置される場合、前記リクエストを出すコンピュータの前記ピア・サーバへのHTTPアクセスを提供するプロキシ・サーバを備える請求項13に記載のシステム。
- ピア・コンピュータが写真共有システム・サーバに接続されたネットワーク写真共有システムにおいて、該ピア・コンピュータに記憶された画像を、リクエストを出すコンピュータに与えるためのプログラム命令を含むコンピュータ可読媒体であって、前記命令が、
(a)該写真共有サーバに該画像のコピーをキャッシュし、
(b)該写真共有サーバに応答して、該ピア・コンピュータに記憶された該画像を閲覧するために、該リクエストを出すコンピュータからリクエストを受信し、該写真共有サーバから該ピア・コンピュータにリクエストを送信して、該ピア・コンピュータに記憶された該画像が変更されているかどうかを判定し、
(c)該ピア・コンピュータからの応答が、該画像が変更されていないことを示す場合、キャッシュされた画像を該写真共有サーバから該リクエストを出すコンピュータに送信し、
(d)該画像が変更されている場合、変更された画像のコピーを該写真共有サーバにキャッシュし、該変更された画像を該写真共有サーバから該リクエストを出すコンピュータに送信するための命令であるコンピュータ可読媒体。 - 命令(b)は、前記リクエストをHTTPリクエストとして前記ピア・コンピュータに送信することをさらに含む請求項25に記載のコンピュータ可読媒体。
- 命令(b)は、前記リクエストとして、HTTP If−Modified−Sinceヘッダと、前記キャッシュされた画像のタイムスタンプとを送信することをさらに含む請求項26に記載のコンピュータ可読媒体。
- 命令(b)は、前記HTTPリクエストを受信する前記ピア・コンピュータに応答して、
(i)前記キャッシュされた画像の前記タイムスタンプを、前記ピア・コンピュータに記憶された前記画像のタイムスタンプと比較すること、
(ii)前記タイムスタンプが異なる場合、前記変更された画像を前記写真共有サーバに転送することによって応答すること、
(iii)前記タイムスタンプが異なっていない場合、前記画像が変更されていないことを示す応答を送信することをさらに含む請求項28に記載のコンピュータ可読媒体。 - 命令(a)は、
(i)前記ピア・コンピュータに記憶された前記画像が前記写真共有サーバにも記憶されているかどうかを判定すること、
(ii)前記写真共有サーバに前記画像が記憶されていない場合、記憶のために前記画像のコピーを前記写真共有サーバに転送することをさらに含む請求項25に記載のコンピュータ可読媒体。 - 命令(a)は、前記画像が最初にリクエストされるときに実行される請求項29に記載のコンピュータ可読媒体。
- 命令(a)は、前記写真共有サーバと前記ピア・サーバとの間の同期化工程の間に実行される請求項30に記載のコンピュータ可読媒体。
- 前記同期化工程が一旦起動されると、前記ピア・サーバに記憶された前記画像のタイムスタンプを前記写真共有サーバにアップロードし、アップロードされたタイムスタンプと前記キャッシュ中の前記画像の前記タイムスタンプとを比較して、前記キャッシュされた画像が最新のものであるのかどうかと、前記キャッシュの中で失われた画像があるのかどうかとを判定することをさらに含む請求項31に記載のコンピュータ可読媒体。
- 変更されている、または失われていると識別された任意の画像のために、前記写真共有サーバから前記ピア・サーバにリクエストを送信し、それによって前記写真共有サーバにキャッシュされた前記画像を、前記ピア・サーバに記憶された前記画像と同期化することをさらに含む請求項32に記載のコンピュータ可読媒体。
- バックグラウンド同期化を実行することをさらに含む請求項33に記載のコンピュータ可読媒体。
- 前記写真共有サーバは、前記タイムスタンプの比較を実行するための前記同期化サーバを含む請求項33に記載のコンピュータ可読媒体。
- 前記写真共有サーバは、ファイヤウォールの背後に配置される場合、前記リクエストを出すコンピュータの前記ピア・サーバへのHTTPアクセスを提供するプロキシ・サーバを含む請求項25に記載のコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/927,291 US8234414B2 (en) | 2004-03-31 | 2004-08-25 | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance |
PCT/US2005/029561 WO2006026193A2 (en) | 2004-08-25 | 2005-08-16 | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008511078A true JP2008511078A (ja) | 2008-04-10 |
Family
ID=36000533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007529986A Pending JP2008511078A (ja) | 2004-08-25 | 2005-08-16 | ゲスト画像閲覧性能を向上するための写真共有ピア・ツー・ピア・ネットワークにおけるプロキシ・キャッシング |
Country Status (5)
Country | Link |
---|---|
US (2) | US8234414B2 (ja) |
EP (1) | EP1810166A4 (ja) |
JP (1) | JP2008511078A (ja) |
CN (2) | CN103051663A (ja) |
WO (1) | WO2006026193A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010541098A (ja) * | 2007-10-03 | 2010-12-24 | イーストマン コダック カンパニー | 画像ストレージシステム、装置及び方法 |
JP2013077079A (ja) * | 2011-09-29 | 2013-04-25 | Nec Biglobe Ltd | ストレージシステム、ストレージサーバ、ユーザデータ共有方法、及びプログラム |
JP2013156791A (ja) * | 2012-01-30 | 2013-08-15 | Hitachi Ltd | ゲートウェイ装置 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010670B2 (en) | 2003-12-23 | 2011-08-30 | Slipstream Data Inc. | Meta-data based method for local cache utilization |
US8234414B2 (en) | 2004-03-31 | 2012-07-31 | Qurio Holdings, Inc. | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance |
US8195744B2 (en) | 2004-07-09 | 2012-06-05 | Orb Networks, Inc. | File sharing system for use with a network |
US7937484B2 (en) | 2004-07-09 | 2011-05-03 | Orb Networks, Inc. | System and method for remotely controlling network resources |
US8787164B2 (en) | 2004-07-09 | 2014-07-22 | Qualcomm Incorporated | Media delivery system and method for transporting media to desired target devices |
US9077766B2 (en) | 2004-07-09 | 2015-07-07 | Qualcomm Incorporated | System and method for combining memory resources for use on a personal network |
US8819140B2 (en) | 2004-07-09 | 2014-08-26 | Qualcomm Incorporated | System and method for enabling the establishment and use of a personal network |
US8738693B2 (en) * | 2004-07-09 | 2014-05-27 | Qualcomm Incorporated | System and method for managing distribution of media files |
US7719971B1 (en) * | 2004-09-15 | 2010-05-18 | Qurio Holdings, Inc. | Peer proxy binding |
US7698386B2 (en) * | 2004-11-16 | 2010-04-13 | Qurio Holdings, Inc. | Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request |
US8688801B2 (en) | 2005-07-25 | 2014-04-01 | Qurio Holdings, Inc. | Syndication feeds for peer computer devices and peer networks |
US8447828B2 (en) | 2005-09-21 | 2013-05-21 | Qurio Holdings, Inc. | System and method for hosting images embedded in external websites |
US8005889B1 (en) | 2005-11-16 | 2011-08-23 | Qurio Holdings, Inc. | Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network |
US8788572B1 (en) | 2005-12-27 | 2014-07-22 | Qurio Holdings, Inc. | Caching proxy server for a peer-to-peer photosharing system |
US20070160069A1 (en) * | 2006-01-12 | 2007-07-12 | George David A | Method and apparatus for peer-to-peer connection assistance |
US7779004B1 (en) | 2006-02-22 | 2010-08-17 | Qurio Holdings, Inc. | Methods, systems, and products for characterizing target systems |
US7764701B1 (en) | 2006-02-22 | 2010-07-27 | Qurio Holdings, Inc. | Methods, systems, and products for classifying peer systems |
EP2036346A4 (en) * | 2006-06-27 | 2009-09-16 | Thomson Licensing | SUPPORT FOR INTERACTIVE REPRODUCTION DEVICES FOR PERFORMANCE-AWARENESS PEER-TO-PEER VIDEO-ON-NEED SERVICE |
GB2440759A (en) * | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Selecting a download cache for digital data |
US7873988B1 (en) | 2006-09-06 | 2011-01-18 | Qurio Holdings, Inc. | System and method for rights propagation and license management in conjunction with distribution of digital content in a social network |
US7992171B2 (en) | 2006-09-06 | 2011-08-02 | Qurio Holdings, Inc. | System and method for controlled viral distribution of digital content in a social network |
US7801971B1 (en) | 2006-09-26 | 2010-09-21 | Qurio Holdings, Inc. | Systems and methods for discovering, creating, using, and managing social network circuits |
US7925592B1 (en) | 2006-09-27 | 2011-04-12 | Qurio Holdings, Inc. | System and method of using a proxy server to manage lazy content distribution in a social network |
US8554827B2 (en) | 2006-09-29 | 2013-10-08 | Qurio Holdings, Inc. | Virtual peer for a content sharing system |
US7782866B1 (en) | 2006-09-29 | 2010-08-24 | Qurio Holdings, Inc. | Virtual peer in a peer-to-peer network |
US7886334B1 (en) | 2006-12-11 | 2011-02-08 | Qurio Holdings, Inc. | System and method for social network trust assessment |
US7698380B1 (en) | 2006-12-14 | 2010-04-13 | Qurio Holdings, Inc. | System and method of optimizing social networks and user levels based on prior network interactions |
US7730216B1 (en) | 2006-12-14 | 2010-06-01 | Qurio Holdings, Inc. | System and method of sharing content among multiple social network nodes using an aggregation node |
US8533221B2 (en) * | 2007-08-30 | 2013-09-10 | 5Th Tier Limited | Provision of targeted content |
US20090150570A1 (en) * | 2007-12-07 | 2009-06-11 | Bo Tao | Sharing Assets Between UPnP Networks |
US20090150480A1 (en) * | 2007-12-08 | 2009-06-11 | Xiyuan Xia | Publishing Assets Of Dynamic Nature In UPnP Networks |
US20090150520A1 (en) * | 2007-12-07 | 2009-06-11 | David Garcia | Transmitting Assets In UPnP Networks To Remote Servers |
US20090150481A1 (en) * | 2007-12-08 | 2009-06-11 | David Garcia | Organizing And Publishing Assets In UPnP Networks |
US8990338B2 (en) * | 2009-09-10 | 2015-03-24 | Google Technology Holdings LLC | Method of exchanging photos with interface content provider website |
US9026581B2 (en) * | 2009-09-10 | 2015-05-05 | Google Technology Holdings LLC | Mobile device and method of operating same to interface content provider website |
CN102196506B (zh) * | 2010-03-15 | 2013-12-04 | 华为技术有限公司 | 网络资源访问控制方法、系统及装置 |
US9037656B2 (en) | 2010-12-20 | 2015-05-19 | Google Technology Holdings LLC | Method and system for facilitating interaction with multiple content provider websites |
US20120158755A1 (en) * | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Granular metadata for digital content |
CN102624761A (zh) * | 2011-01-27 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种获取图文信息的装置、系统及方法 |
JP2012252452A (ja) * | 2011-06-01 | 2012-12-20 | Ricoh Co Ltd | 情報処理装置、情報処理システム、及びプログラム |
CN103312736B (zh) * | 2012-03-08 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 网页处理方法和系统、及代理服务器 |
US9542177B1 (en) * | 2012-10-30 | 2017-01-10 | Amazon Technologies, Inc. | Peer configuration analysis and enforcement |
US9338192B1 (en) * | 2012-12-28 | 2016-05-10 | Juniper Networks, Inc. | Connection management using connection request transfer protocol |
US9503499B1 (en) * | 2013-03-07 | 2016-11-22 | Amazon Technologies, Inc. | Concealing latency in display of pages |
US10410244B2 (en) | 2013-11-13 | 2019-09-10 | Bi Science (2009) Ltd | Behavioral content discovery |
US9697189B2 (en) | 2013-11-15 | 2017-07-04 | Instart Logic, Inc. | Partial website optimization for a web publisher |
US9930132B2 (en) * | 2014-01-10 | 2018-03-27 | Facebook, Inc. | Content specific router caching |
US10397357B2 (en) | 2014-07-23 | 2019-08-27 | Facebook, Inc. | Rural area network device |
US10291735B2 (en) | 2014-07-23 | 2019-05-14 | Facebook, Inc. | Residential cache appliance utilizing a social network |
US10205797B2 (en) | 2014-12-29 | 2019-02-12 | Facebook, Inc. | Application service delivery through an application service avatar |
CN104965877A (zh) * | 2015-06-12 | 2015-10-07 | 郑州悉知信息技术有限公司 | 网页图片获取方法、图片缓存服务器、协调服务器及系统 |
CN108063772B (zh) * | 2018-01-18 | 2021-05-18 | 吉浦斯信息咨询(深圳)有限公司 | 一种基于服务侧的数据安全访问方法及系统 |
US10931640B2 (en) * | 2018-06-22 | 2021-02-23 | International Business Machines Corporation | Tunneling network traffic using object storage |
Family Cites Families (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4427620A (en) * | 1981-02-04 | 1984-01-24 | Westinghouse Electric Corp. | Nuclear reactor power supply |
US4448033A (en) * | 1982-03-29 | 1984-05-15 | Carrier Corporation | Thermostat self-test apparatus and method |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
US5768119A (en) * | 1996-04-12 | 1998-06-16 | Fisher-Rosemount Systems, Inc. | Process control system including alarm priority adjustment |
US5918013A (en) * | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
US5935207A (en) | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
US5915252A (en) * | 1996-09-30 | 1999-06-22 | International Business Machines Corporation | Object oriented framework mechanism for data transfer between a data source and a data target |
US5970430A (en) * | 1996-10-04 | 1999-10-19 | Fisher Controls International, Inc. | Local device and process diagnostics in a process control network having distributed control functions |
US6578113B2 (en) * | 1997-06-02 | 2003-06-10 | At&T Corp. | Method for cache validation for proxy caches |
US6292523B1 (en) * | 1997-06-06 | 2001-09-18 | Westinghouse Electric Company Llc | Digital engineered safety features actuation system |
US6014612A (en) * | 1997-10-02 | 2000-01-11 | Fisher Controls International, Inc. | Remote diagnostics in a process control network having distributed control functions |
US6292835B1 (en) * | 1997-11-26 | 2001-09-18 | International Business Machines Corporation | Network bandwidth and object obsolescence sensitive scheduling method and apparatus for objects distributed broadcasting |
US6959318B1 (en) * | 1998-03-06 | 2005-10-25 | Intel Corporation | Method of proxy-assisted predictive pre-fetching with transcoding |
US6205432B1 (en) | 1998-06-05 | 2001-03-20 | Creative Internet Concepts, Llc | Background advertising system |
US6757705B1 (en) * | 1998-08-14 | 2004-06-29 | Microsoft Corporation | Method and system for client-side caching |
AU5926499A (en) * | 1998-09-15 | 2000-04-03 | Microsoft Corporation | Interactive playlist generation using annotations |
US20030069968A1 (en) * | 1998-10-01 | 2003-04-10 | O'neil Kevin M. | System for balancing loads among network servers |
US6487538B1 (en) | 1998-11-16 | 2002-11-26 | Sun Microsystems, Inc. | Method and apparatus for local advertising |
US6490615B1 (en) | 1998-11-20 | 2002-12-03 | International Business Machines Corporation | Scalable cache |
WO2000033217A1 (en) * | 1998-11-30 | 2000-06-08 | Siebel Systems, Inc. | Client server system with thin client architecture |
US6564218B1 (en) * | 1998-12-10 | 2003-05-13 | Premitech Aps | Method of checking the validity of a set of digital information, and a method and an apparatus for retrieving digital information from an information source |
US6774786B1 (en) * | 2000-11-07 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Integrated alarm display in a process control network |
US6186167B1 (en) * | 1999-03-04 | 2001-02-13 | Fisher Controls International Inc. | Emergency shutdown test system |
US6349336B1 (en) * | 1999-04-26 | 2002-02-19 | Hewlett-Packard Company | Agent/proxy connection control across a firewall |
US6571234B1 (en) * | 1999-05-11 | 2003-05-27 | Prophet Financial Systems, Inc. | System and method for managing online message board |
US20030191832A1 (en) * | 1999-06-01 | 2003-10-09 | Ramakrishna Satyavolu | Method and apparatus for controlled establishment of a turnkey system providing a centralized data aggregation and summary capability to third party entities |
US6658463B1 (en) | 1999-06-10 | 2003-12-02 | Hughes Electronics Corporation | Satellite multicast performance enhancing multicast HTTP proxy system and method |
US6631369B1 (en) | 1999-06-30 | 2003-10-07 | Microsoft Corporation | Method and system for incremental web crawling |
US6553409B1 (en) * | 1999-07-09 | 2003-04-22 | Microsoft Corporation | Background cache synchronization |
US6463508B1 (en) * | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
US7181438B1 (en) * | 1999-07-21 | 2007-02-20 | Alberti Anemometer, Llc | Database access system |
US6449657B2 (en) * | 1999-08-06 | 2002-09-10 | Namezero.Com, Inc. | Internet hosting system |
US6646754B1 (en) | 1999-08-31 | 2003-11-11 | Shutterfly, Inc. | Backprinting image prints |
US6754699B2 (en) * | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US7934251B2 (en) * | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
JP2001283079A (ja) | 2000-03-28 | 2001-10-12 | Sony Corp | 通信サービス方法とその装置、通信端末装置、通信システム、広告宣伝方法 |
US6622168B1 (en) * | 2000-04-10 | 2003-09-16 | Chutney Technologies, Inc. | Dynamic page generation acceleration using component-level caching |
US7814208B2 (en) * | 2000-04-11 | 2010-10-12 | Science Applications International Corporation | System and method for projecting content beyond firewalls |
US7725523B2 (en) * | 2000-04-11 | 2010-05-25 | Bolnick David A | System, method and computer program product for gathering and delivering personalized user information |
US7702995B2 (en) * | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
US6965447B2 (en) | 2000-05-08 | 2005-11-15 | Konica Corporation | Method for producing a print having a visual image and specific printed information |
US6697850B1 (en) * | 2000-05-09 | 2004-02-24 | Northrop Grumman Corporation | Satellite-based communications system having an on-board internet web proxy cache |
US6944651B2 (en) * | 2000-05-19 | 2005-09-13 | Fusionone, Inc. | Single click synchronization of data from a public information store to a private information store |
US6934735B1 (en) * | 2000-07-07 | 2005-08-23 | International Business Machines Corporation | Software and method for controlling the timing of delayed downloads |
US20060064716A1 (en) * | 2000-07-24 | 2006-03-23 | Vivcom, Inc. | Techniques for navigating multiple video streams |
US7089301B1 (en) | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
US20020046262A1 (en) * | 2000-08-18 | 2002-04-18 | Joerg Heilig | Data access system and method with proxy and remote processing |
KR100399759B1 (ko) * | 2000-11-01 | 2003-09-29 | 한국과학기술원 | 원자력 발전소의 디지털 온라인 능동 시험 발전소 보호시스템 및 그 방법 |
US7043524B2 (en) * | 2000-11-06 | 2006-05-09 | Omnishift Technologies, Inc. | Network caching system for streamed applications |
US7587446B1 (en) * | 2000-11-10 | 2009-09-08 | Fusionone, Inc. | Acquisition and synchronization of digital media to a personal information space |
US7594030B2 (en) * | 2000-11-22 | 2009-09-22 | Microsoft Corporation | Locator and tracking service for peer to peer resources |
US6891635B2 (en) * | 2000-11-30 | 2005-05-10 | International Business Machines Corporation | System and method for advertisements in web-based printing |
US20020109729A1 (en) * | 2000-12-14 | 2002-08-15 | Rabindranath Dutta | Integrating content with virtual advertisements using vector graphics images obtainable on the web |
US20020078134A1 (en) * | 2000-12-18 | 2002-06-20 | Stone Alan E. | Push-based web site content indexing |
US6651141B2 (en) | 2000-12-29 | 2003-11-18 | Intel Corporation | System and method for populating cache servers with popular media contents |
US6722383B2 (en) * | 2001-01-09 | 2004-04-20 | Angela Summers | Variable function voting solenoid-operated valve apparatus and testing method therefor |
US7188145B2 (en) * | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
WO2002059761A1 (en) * | 2001-01-26 | 2002-08-01 | Pictureiq Corporation | Method and apparatus for dynamic optimization and network delivery of multimedia content |
US6859840B2 (en) * | 2001-01-29 | 2005-02-22 | Kasenna, Inc. | Prefix caching for media objects |
US7043644B2 (en) * | 2001-01-31 | 2006-05-09 | Qurio Holdings, Inc. | Facilitating file access from firewall-protected nodes in a peer-to-peer network |
US20020133601A1 (en) * | 2001-03-16 | 2002-09-19 | Kennamer Walter J. | Failover of servers over which data is partitioned |
US7047406B2 (en) * | 2001-03-21 | 2006-05-16 | Qurlo Holdings, Inc. | Method and system for providing a secure peer-to-peer file delivery network |
US20020138362A1 (en) | 2001-03-21 | 2002-09-26 | Kitze Christopher Allin | Digital file marketplace |
CN1288520C (zh) * | 2001-04-05 | 2006-12-06 | 费希尔控制国际公司 | 在过程控制环境中人工启动紧急关断测试和收集诊断数据的系统 |
US7092699B1 (en) * | 2001-04-11 | 2006-08-15 | Verizon Laboratories Inc. | Seamless wireless phone access service |
US7272645B2 (en) * | 2001-05-25 | 2007-09-18 | Sbc Technology Resources, Inc. | Method of improving the reliability of peer-to-peer network downloads |
GB2376314A (en) * | 2001-06-04 | 2002-12-11 | Hewlett Packard Co | Peer-to-peer network search popularity statistical information collection |
US20030001903A1 (en) * | 2001-06-08 | 2003-01-02 | Michael Duffy | Software-based system for educational tools |
US7231651B2 (en) | 2001-06-18 | 2007-06-12 | Ta-Ching Pong | System and method for insertion and modification of advertisements |
US6954752B2 (en) * | 2001-07-19 | 2005-10-11 | International Business Machines Corporation | Methods and apparatus for clustering and prefetching data objects |
JP4251794B2 (ja) | 2001-08-07 | 2009-04-08 | ソニー株式会社 | 情報配信システム及び情報配信方法、並びに情報供給装置及び情報供給方法 |
WO2003014955A1 (en) * | 2001-08-09 | 2003-02-20 | Gigamedia Access Corporation | Hybrid system architecture for secure peer-to-peer-communication |
US20030046586A1 (en) * | 2001-09-05 | 2003-03-06 | Satyam Bheemarasetti | Secure remote access to data between peers |
US7007074B2 (en) * | 2001-09-10 | 2006-02-28 | Yahoo! Inc. | Targeted advertisements using time-dependent key search terms |
US6757684B2 (en) * | 2001-10-01 | 2004-06-29 | Ipac Acquisition Subsidiary I, Llc | Network-based photosharing architecture |
US7363258B2 (en) | 2001-10-01 | 2008-04-22 | Qurio Holdings, Inc. | Method and system for distributing affiliate images in a peer-to-peer (P2P) photosharing network through affiliate branding |
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 |
US7068309B2 (en) * | 2001-10-09 | 2006-06-27 | Microsoft Corp. | Image exchange with image annotation |
US7191146B2 (en) | 2001-10-22 | 2007-03-13 | Eastman Kodak Company | Printing and delivery of digital images and merged information from a central receiving agency |
US20030084162A1 (en) * | 2001-10-31 | 2003-05-01 | Johnson Bruce L. | Managing peer-to-peer access to a device behind a firewall |
US7227864B2 (en) * | 2001-12-17 | 2007-06-05 | Microsoft Corporation | Methods and systems for establishing communications through firewalls and network address translators |
US7039784B1 (en) * | 2001-12-20 | 2006-05-02 | Info Value Computing Inc. | Video distribution system using dynamic disk load balancing with variable sub-segmenting |
US20030154306A1 (en) * | 2002-02-11 | 2003-08-14 | Perry Stephen Hastings | System and method to proxy inbound connections to privately addressed hosts |
US20040024827A1 (en) * | 2002-03-20 | 2004-02-05 | Masako Yoshimura | Two way e-mail system and recording medium |
US6868439B2 (en) | 2002-04-04 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection |
US7606881B2 (en) * | 2002-04-25 | 2009-10-20 | Oracle International Corporation | System and method for synchronization of version annotated objects |
US6925485B1 (en) * | 2002-05-24 | 2005-08-02 | Sun Microsystems, Inc. | Proxy cache preloader |
JP2003341150A (ja) * | 2002-05-29 | 2003-12-03 | Kyocera Corp | 画像形成装置および画像形成システム |
US20030225885A1 (en) | 2002-05-31 | 2003-12-04 | Comverse, Ltd. | Caching for limited bandwidth networks |
US8307046B2 (en) | 2002-06-19 | 2012-11-06 | Eastman Kodak Company | Method and system for setting up a system for sharing images over a communication network between multiple users |
US7392296B2 (en) | 2002-06-19 | 2008-06-24 | Eastman Kodak Company | Method and computer software program for sharing images over a communication network among a plurality of users in accordance with a criteria |
CN1221898C (zh) * | 2002-08-13 | 2005-10-05 | 国际商业机器公司 | 刷新网络代理高速缓存服务器对象的系统和方法 |
US7051161B2 (en) * | 2002-09-17 | 2006-05-23 | Nokia Corporation | Memory admission control based on object size or request frequency |
US7657597B2 (en) * | 2002-09-26 | 2010-02-02 | Sun Microsystems, Inc. | Instant messaging using distributed indexes |
US8204992B2 (en) * | 2002-09-26 | 2012-06-19 | Oracle America, Inc. | Presence detection using distributed indexes in peer-to-peer networks |
US7206934B2 (en) * | 2002-09-26 | 2007-04-17 | Sun Microsystems, Inc. | Distributed indexing of identity information in a peer-to-peer network |
JP2004118576A (ja) * | 2002-09-26 | 2004-04-15 | Ricoh Co Ltd | 発注・問い合わせシステム、広告用サーバ、画像形成装置及び情報処理装置 |
US7254608B2 (en) * | 2002-10-31 | 2007-08-07 | Sun Microsystems, Inc. | Managing distribution of content using mobile agents in peer-topeer networks |
US7395536B2 (en) * | 2002-11-14 | 2008-07-01 | Sun Microsystems, Inc. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
US7027513B2 (en) * | 2003-01-15 | 2006-04-11 | Microsoft Corporation | Method and system for extracting key frames from video using a triangle model of motion based on perceived motion energy |
US7970854B2 (en) * | 2003-01-15 | 2011-06-28 | Qurio Holdings, Inc. | Method and system for requesting image prints in an online photosharing system |
US7769881B2 (en) | 2003-01-24 | 2010-08-03 | Hitachi, Ltd. | Method and apparatus for peer-to peer access |
US7774495B2 (en) * | 2003-02-13 | 2010-08-10 | Oracle America, Inc, | Infrastructure for accessing a peer-to-peer network environment |
US6898468B2 (en) * | 2003-03-28 | 2005-05-24 | Fisher-Rosemount Systems, Inc. | Function block implementation of a cause and effect matrix for use in a process safety system |
US7941554B2 (en) * | 2003-08-01 | 2011-05-10 | Microsoft Corporation | Sparse caching for streaming media |
US20050086386A1 (en) * | 2003-10-17 | 2005-04-21 | Bo Shen | Shared running-buffer-based caching system |
US20050091220A1 (en) * | 2003-10-28 | 2005-04-28 | Klemow Jason L. | Method and system for syndicating business information for online search and directories |
US7251649B2 (en) * | 2003-10-31 | 2007-07-31 | Hewlett-Packard Development Company, L.P. | Method for prioritizing content |
US8010670B2 (en) * | 2003-12-23 | 2011-08-30 | Slipstream Data Inc. | Meta-data based method for local cache utilization |
US8195761B2 (en) * | 2004-01-13 | 2012-06-05 | International Business Machines Corporation | Prefetching web resources based on proxy triggers |
US8418067B2 (en) * | 2004-01-15 | 2013-04-09 | Microsoft Corporation | Rich profile communication with notifications |
US7581028B2 (en) * | 2004-01-22 | 2009-08-25 | The United States Of America As Represented By The Secretary Of The Air Force | Method for efficient image distribution and management |
US8316128B2 (en) | 2004-01-26 | 2012-11-20 | Forte Internet Software, Inc. | Methods and system for creating and managing identity oriented networked communication |
US20050229243A1 (en) | 2004-03-31 | 2005-10-13 | Svendsen Hugh B | Method and system for providing Web browsing through a firewall in a peer to peer network |
US8234414B2 (en) | 2004-03-31 | 2012-07-31 | Qurio Holdings, Inc. | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance |
US20050246634A1 (en) * | 2004-05-03 | 2005-11-03 | Andrew Ortwein | Synchronized sharing of a dynamically updated image |
US8065383B2 (en) | 2004-05-17 | 2011-11-22 | Simplefeed, Inc. | Customizable and measurable information feeds for personalized communication |
US7596571B2 (en) * | 2004-06-30 | 2009-09-29 | Technorati, Inc. | Ecosystem method of aggregation and search and related techniques |
US7698386B2 (en) * | 2004-11-16 | 2010-04-13 | Qurio Holdings, Inc. | Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request |
US9729829B2 (en) * | 2006-12-05 | 2017-08-08 | Crackle, Inc. | Video sharing platform providing for posting content to other websites |
-
2004
- 2004-08-25 US US10/927,291 patent/US8234414B2/en not_active Expired - Fee Related
-
2005
- 2005-08-16 CN CN2012102023371A patent/CN103051663A/zh active Pending
- 2005-08-16 JP JP2007529986A patent/JP2008511078A/ja active Pending
- 2005-08-16 EP EP05787556A patent/EP1810166A4/en not_active Withdrawn
- 2005-08-16 WO PCT/US2005/029561 patent/WO2006026193A2/en active Application Filing
- 2005-08-16 CN CNA2005800363625A patent/CN101052957A/zh active Pending
-
2012
- 2012-07-02 US US13/539,741 patent/US8433826B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010541098A (ja) * | 2007-10-03 | 2010-12-24 | イーストマン コダック カンパニー | 画像ストレージシステム、装置及び方法 |
JP2013077079A (ja) * | 2011-09-29 | 2013-04-25 | Nec Biglobe Ltd | ストレージシステム、ストレージサーバ、ユーザデータ共有方法、及びプログラム |
JP2013156791A (ja) * | 2012-01-30 | 2013-08-15 | Hitachi Ltd | ゲートウェイ装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2006026193B1 (en) | 2007-03-15 |
US20060010225A1 (en) | 2006-01-12 |
EP1810166A2 (en) | 2007-07-25 |
EP1810166A4 (en) | 2007-10-31 |
US20120271905A1 (en) | 2012-10-25 |
CN103051663A (zh) | 2013-04-17 |
CN101052957A (zh) | 2007-10-10 |
WO2006026193A2 (en) | 2006-03-09 |
US8433826B2 (en) | 2013-04-30 |
US8234414B2 (en) | 2012-07-31 |
WO2006026193A3 (en) | 2007-02-01 |
WO2006026193A8 (en) | 2006-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234414B2 (en) | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance | |
US7698386B2 (en) | Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request | |
US11303717B2 (en) | Processing DNS queries to identify pre-processing information | |
US9608957B2 (en) | Request routing using network computing components | |
US8631091B2 (en) | Content distribution network using a web browser and locally stored content to directly exchange content between users | |
US8352613B2 (en) | Content management | |
US20050229243A1 (en) | Method and system for providing Web browsing through a firewall in a peer to peer network | |
US7231458B2 (en) | Method and apparatus for discovering client proximity using race type translations | |
JP2012501493A (ja) | 画像処理方法、画像処理装置および画像処理システム | |
US8005889B1 (en) | Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network | |
US12034824B2 (en) | Processing DNS queries to identify pre-processing information |