JP2008511078A - ゲスト画像閲覧性能を向上するための写真共有ピア・ツー・ピア・ネットワークにおけるプロキシ・キャッシング - Google Patents

ゲスト画像閲覧性能を向上するための写真共有ピア・ツー・ピア・ネットワークにおけるプロキシ・キャッシング Download PDF

Info

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
Application number
JP2007529986A
Other languages
English (en)
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.)
Qurio Holdings Inc
Original Assignee
Qurio Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qurio Holdings Inc filed Critical Qurio Holdings Inc
Publication of JP2008511078A publication Critical patent/JP2008511078A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource 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アクセスが可能になる。
本発明は示された実施形態にしたがって説明されており、当業者であれば、本実施形態に対する変更形態が存在しうるということが容易に認識されよう。例えば、好ましい実施形態はウェブ基盤のピア・ツー・ピア・ネットワークに関連して説明されてきたが、同一の原理は、クライアント・コンピュータがプロキシ・サーバを利用せずにピア・サーバと直接通信する従来のクライアント・サーバ環境に適用されることが可能であることが、当業者であれば容易に理解されよう。いかなる変形形態も本発明の技術思想および範囲の中に含まれる。したがって多くの変更形態は、添付の特許請求項の技術思想および範囲から逸脱することなく、当業者によって作成されてもよい。
例示的なウェブ基盤のピア・ツー・ピア環境を示すブロック図。 例示的なウェブ基盤のピア・ツー・ピア環境を示すブロック図。 本発明の好ましい実施形態による改良型写真共有ネットワークの詳細なブロック図。 写真共有ピア・ツー・ピア・ネットワークにおいてピア・サーバに記憶された画像のゲスト閲覧性能を向上するための工程を示すフロー図。 ピア・サーバがその供給能力をファイヤウォールを通じて評価可能なものにするために、写真共有ピア・ツー・ピア・ネットワークに登録を行う工程を示すフロー図。 プロキシ・サーバの構成要素、およびウェブ・ブラウザがプロキシ・サーバを通じてピア・サーバへのHTTPアクセスを有することを可能にするための、リクエストを出すウェブ・サーバとプロキシ・サーバとピア・サーバとの間のフローを示す図。 ピア・リクエスト・パケットのコンテントを示す図。 ピア応答パケットのコンテントを示す図。

Claims (36)

  1. 写真共有システム・サーバに接続された少なくとも1つのピア・コンピュータを有するネットワーク写真共有システムにおいて、リクエストを出すコンピュータに、該ピア・コンピュータに記憶された画像を与えるための方法であって、
    (a)該写真共有サーバに該画像のコピーをキャッシュすること、
    (b)該写真共有サーバに応答して、該ピア・コンピュータに記憶された該画像を閲覧するために、該リクエストを出すコンピュータからリクエストを受信し、該写真共有サーバから該ピア・コンピュータにリクエストを送信して、該ピア・コンピュータに記憶された該画像が変更されているかどうかを判定すること、
    (c)該ピア・コンピュータからの応答が該画像が変更されていないことを示す場合、キャッシュされた画像を該写真共有サーバから該リクエストを出すコンピュータに送信すること、
    (d)該画像が変更されている場合、変更された画像のコピーを該写真共有サーバにキャッシュし、該変更された画像を該写真共有サーバから該リクエストを出すコンピュータに送信すること、を備える方法。
  2. 工程(b)は、前記リクエストをHTTPリクエストとして前記ピア・コンピュータに送信することをさらに含む請求項1に記載の方法。
  3. 工程(b)は、前記リクエストとして、HTTP If−Modified−Sinceヘッダと、前記キャッシュされた画像のタイムスタンプとを送信することをさらに含む請求項2に記載の方法。
  4. 工程(b)は、前記HTTPリクエストを受信する前記ピア・コンピュータに応答して、
    (i)前記キャッシュされた画像の前記タイムスタンプを前記ピア・コンピュータに記憶された前記画像のタイムスタンプと比較すること、
    (ii)前記タイムスタンプが異なる場合、前記変更された画像を前記写真共有サーバに転送することによって応答すること、
    (iii)前記タイムスタンプが異なっていない場合、前記画像が変更されていないことを示す応答を送信することをさらに含む請求項3に記載の方法。
  5. 工程(a)は、
    (i)前記ピア・コンピュータに記憶された前記画像が前記写真共有サーバにも記憶されているかどうかを判定すること、
    (ii)前記写真共有サーバに前記画像が記憶されていない場合、記憶のために前記画像のコピーを前記写真共有サーバに転送することをさらに含む請求項1に記載の方法。
  6. 工程(a)は、前記画像が最初にリクエストされるときに実行される請求項5に記載の方法。
  7. 工程(a)は、前記写真共有サーバと前記ピア・サーバとの間の同期化工程の間に実行される請求項6に記載の方法。
  8. 前記同期化工程が一旦起動されると、前記ピア・サーバに記憶された前記画像のタイムスタンプを前記写真共有サーバにアップロードし、アップロードされたタイムスタンプと前記キャッシュ中の前記画像の前記タイムスタンプとを比較して、前記キャッシュされた画像が最新のものであるのかどうかと、前記キャッシュの中で失われた画像があるのかどうかとを判定することをさらに含む請求項7に記載の方法。
  9. 変更されている、または失われていると識別された任意の画像のために、前記写真共有サーバから前記ピア・サーバにリクエストを送信し、それによって前記写真共有サーバにキャッシュされた前記画像を前記ピア・サーバに記憶された前記画像と同期化することをさらに含む請求項8に記載の方法。
  10. バックグラウンド同期化を実行することをさらに含む請求項9に記載の方法。
  11. 前記写真共有サーバは前記タイムスタンプの比較を実行するための前記同期化サーバを含む請求項9に記載の方法。
  12. 前記写真共有サーバは、ファイヤウォールの背後に配置される場合、前記リクエストを出すコンピュータの前記ピア・サーバへのHTTPアクセスを提供するプロキシ・サーバを備える請求項1に記載の方法。
  13. 写真共有システム・サーバに接続された少なくとも1つのピア・コンピュータを有するネットワーク写真共有システムであって、
    (a)該写真共有サーバに画像のコピーをキャッシュするための手段と、
    (b)該写真共有サーバに応答して、該ピア・コンピュータに記憶された該画像を閲覧するために、リクエストを出すコンピュータからリクエストを受信し、該写真共有サーバから該ピア・コンピュータにリクエストを送信して、該ピア・コンピュータに記憶された該画像が変更されているかどうかを判定するための手段と、
    (c)該ピア・コンピュータからの応答が、該画像が変更されていないことを示す場合、キャッシュされた画像を該写真共有サーバから該リクエストを出すコンピュータに送信するための手段と、
    (d)該画像が変更されている場合、変更された画像のコピーを該写真共有サーバにキャッシュし、該変更された画像を該写真共有サーバから該リクエストを出すコンピュータに送信するための手段と、を備えるシステム。
  14. 前記リクエストを受信するための手段は、HTTPリクエストとして前記リクエストを前記ピア・コンピュータに送信する請求項13に記載のシステム。
  15. 前記リクエストを受信するための手段は、前記リクエストとして、HTTP If−Modified−Sinceヘッダと前記キャッシュされた画像のタイムスタンプとを送信する請求項14に記載のシステム。
  16. 前記リクエストを受信するために手段は、前記HTTPリクエストを受信する前記ピア・コンピュータに応答して、
    (i)前記キャッシュされた画像の前記タイムスタンプ、前記ピア・コンピュータに記憶された前記画像のタイムスタンプと比較し、
    (ii)前記タイムスタンプが異なっている場合、前記変更された画像を前記写真共有サーバに転送することによって応答し、
    (iii)前記タイムスタンプが異なっていない場合、前記画像が変更されていないことを示す応答を送信する請求項15に記載のシステム。
  17. 前記キャッシュするための手段は、
    (i)前記ピア・コンピュータに記憶された前記画像が前記写真共有サーバにも記憶されているかどうかを判定するための手段と、
    (ii)前記画像が前記写真共有サーバに記憶されていない場合、記憶のために、前記画像のコピーを前記写真共有サーバに転送するための手段とをさらに含む請求項13に記載のシステム。
  18. 前記画像は、前記画像が最初にリクエストされるときにキャッシュされる請求項17に記載のシステム。
  19. 前記画像は、前記写真共有サーバと前記ピア・サーバとの間の同期化工程の間にキャッシュされる請求項17に記載のシステム。
  20. 前記同期化工程が一旦起動されると、前記ピア・サーバに記憶された前記画像のタイムスタンプは前記写真共有サーバにアップロードされ、アップロードされたタイムスタンプと前記キャッシュの中の前記画像の前記タイムスタンプとが比較されて、前記キャッシュされた画像が最新のものであるかどうかと、前記キャッシュの中で失われた画像があるかどうかとを判定する請求項19に記載のシステム。
  21. リクエストは、変更されている、または失われていると識別された任意の画像のために前記写真共有サーバから前記ピア・サーバに送信され、それによって前記写真共有サーバにキャッシュされた前記画像を前記ピア・サーバに記憶された前記画像と同期化する請求項20に記載のシステム。
  22. 同期化はバックグラウンドで実行される請求項21に記載のシステム。
  23. 前記写真共有サーバは、前記タイムスタンプの比較を実行するための前記同期化サーバを含む請求項21に記載のシステム。
  24. 前記写真共有サーバは、ファイヤウォールの背後に配置される場合、前記リクエストを出すコンピュータの前記ピア・サーバへのHTTPアクセスを提供するプロキシ・サーバを備える請求項13に記載のシステム。
  25. ピア・コンピュータが写真共有システム・サーバに接続されたネットワーク写真共有システムにおいて、該ピア・コンピュータに記憶された画像を、リクエストを出すコンピュータに与えるためのプログラム命令を含むコンピュータ可読媒体であって、前記命令が、
    (a)該写真共有サーバに該画像のコピーをキャッシュし、
    (b)該写真共有サーバに応答して、該ピア・コンピュータに記憶された該画像を閲覧するために、該リクエストを出すコンピュータからリクエストを受信し、該写真共有サーバから該ピア・コンピュータにリクエストを送信して、該ピア・コンピュータに記憶された該画像が変更されているかどうかを判定し、
    (c)該ピア・コンピュータからの応答が、該画像が変更されていないことを示す場合、キャッシュされた画像を該写真共有サーバから該リクエストを出すコンピュータに送信し、
    (d)該画像が変更されている場合、変更された画像のコピーを該写真共有サーバにキャッシュし、該変更された画像を該写真共有サーバから該リクエストを出すコンピュータに送信するための命令であるコンピュータ可読媒体。
  26. 命令(b)は、前記リクエストをHTTPリクエストとして前記ピア・コンピュータに送信することをさらに含む請求項25に記載のコンピュータ可読媒体。
  27. 命令(b)は、前記リクエストとして、HTTP If−Modified−Sinceヘッダと、前記キャッシュされた画像のタイムスタンプとを送信することをさらに含む請求項26に記載のコンピュータ可読媒体。
  28. 命令(b)は、前記HTTPリクエストを受信する前記ピア・コンピュータに応答して、
    (i)前記キャッシュされた画像の前記タイムスタンプを、前記ピア・コンピュータに記憶された前記画像のタイムスタンプと比較すること、
    (ii)前記タイムスタンプが異なる場合、前記変更された画像を前記写真共有サーバに転送することによって応答すること、
    (iii)前記タイムスタンプが異なっていない場合、前記画像が変更されていないことを示す応答を送信することをさらに含む請求項28に記載のコンピュータ可読媒体。
  29. 命令(a)は、
    (i)前記ピア・コンピュータに記憶された前記画像が前記写真共有サーバにも記憶されているかどうかを判定すること、
    (ii)前記写真共有サーバに前記画像が記憶されていない場合、記憶のために前記画像のコピーを前記写真共有サーバに転送することをさらに含む請求項25に記載のコンピュータ可読媒体。
  30. 命令(a)は、前記画像が最初にリクエストされるときに実行される請求項29に記載のコンピュータ可読媒体。
  31. 命令(a)は、前記写真共有サーバと前記ピア・サーバとの間の同期化工程の間に実行される請求項30に記載のコンピュータ可読媒体。
  32. 前記同期化工程が一旦起動されると、前記ピア・サーバに記憶された前記画像のタイムスタンプを前記写真共有サーバにアップロードし、アップロードされたタイムスタンプと前記キャッシュ中の前記画像の前記タイムスタンプとを比較して、前記キャッシュされた画像が最新のものであるのかどうかと、前記キャッシュの中で失われた画像があるのかどうかとを判定することをさらに含む請求項31に記載のコンピュータ可読媒体。
  33. 変更されている、または失われていると識別された任意の画像のために、前記写真共有サーバから前記ピア・サーバにリクエストを送信し、それによって前記写真共有サーバにキャッシュされた前記画像を、前記ピア・サーバに記憶された前記画像と同期化することをさらに含む請求項32に記載のコンピュータ可読媒体。
  34. バックグラウンド同期化を実行することをさらに含む請求項33に記載のコンピュータ可読媒体。
  35. 前記写真共有サーバは、前記タイムスタンプの比較を実行するための前記同期化サーバを含む請求項33に記載のコンピュータ可読媒体。
  36. 前記写真共有サーバは、ファイヤウォールの背後に配置される場合、前記リクエストを出すコンピュータの前記ピア・サーバへのHTTPアクセスを提供するプロキシ・サーバを含む請求項25に記載のコンピュータ可読媒体。
JP2007529986A 2004-08-25 2005-08-16 ゲスト画像閲覧性能を向上するための写真共有ピア・ツー・ピア・ネットワークにおけるプロキシ・キャッシング Pending JP2008511078A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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