JP4958951B2 - コンテンツ収集 - Google Patents

コンテンツ収集 Download PDF

Info

Publication number
JP4958951B2
JP4958951B2 JP2009187566A JP2009187566A JP4958951B2 JP 4958951 B2 JP4958951 B2 JP 4958951B2 JP 2009187566 A JP2009187566 A JP 2009187566A JP 2009187566 A JP2009187566 A JP 2009187566A JP 4958951 B2 JP4958951 B2 JP 4958951B2
Authority
JP
Japan
Prior art keywords
web server
server agent
file
web
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.)
Expired - Lifetime
Application number
JP2009187566A
Other languages
English (en)
Other versions
JP2010003311A (ja
Inventor
アボット フリーランド
ララ マルコ
ネオギ デパンカー
ハーディー ジェフ
Original Assignee
ヤフー! インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/532,483 external-priority patent/US7143193B1/en
Application filed by ヤフー! インコーポレイテッド filed Critical ヤフー! インコーポレイテッド
Publication of JP2010003311A publication Critical patent/JP2010003311A/ja
Application granted granted Critical
Publication of JP4958951B2 publication Critical patent/JP4958951B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

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

Description

(関連出願の相互参照)
本発明は、米国特許仮出願シリアルナンバー第60/117,674号(1999年1月28日出願)に対して優先権およびその利益を主張する。本発明は、米国特許出願シリアルナンバー第09/086,821号(1998年5月29日出願)、シリアルナンバー第09/086,836号(1998年5月29日出願)、シリアルナンバー第09/086,874号(1998年5月29日出願)、シリアルナンバー第09/087,263号(1998年5月29日出願)、シリアルナンバー第09/376,017号(1999年8月19日出願)およびシリアルナンバー第09/377,611号(1999年8月19日出願)の一部継続出願である。これらの関連出願の各々は、参考のため、その全体を本明細書中で援用する。
(技術分野)
本発明は、複数のウェブサーバの管理、より具体的には、ウェブサービスシステムにおいて各ウェブサーバから単一のコンピュータまでのコンテンツをシステムオペレータが収集することを可能にするウェブサービスシステムに関する。
(参考資料)
コンピュータネットワーク環境において、ウェブサーバはコンピュータネットワークを介して伝送されるユーザのウェブページリクエストに応答するために用いられる。ウェブページリクエストは、コンテンツリクエストとも呼ばれ、通常、ユーザのコンピュータ上で動作するブラウザによってなされる。ウェブサーバは、ウェブページリクエストに関する1つ以上のコンピュータネットワークアドレス/ポートエンドポイントを監視し、リクエストにウェブページを伝送することによってウェブページリクエストに応答する。ウェブサーバは、特殊目的デバイスであり得るか、または汎用コンピュータ上で動作するソフトウェアプログラムを用いて実行され得る。ウェブサーバの有効容量(service capacity)は、所与のタイムインターバルで受信され得、応答され得るウェブページの数を制限する。
ウェブサービスシステムは、1つのウェブサーバまたは1つ以上のウェブサーバを含む。一般に、ウェブサービスシステムが1つより多いウェブサーバを含むとき、ウェブサービスシステムは、複数のウェブサーバの各々がウェブページリクエストに応答するように設計される。通常、ユーザのウェブページリクエストはウェブサーバの1つに向けられ、そのウェブサーバはそのウェブページリクエストに応答する。多数のウェブページリクエストを受信するように設計されたウェブサービスシステムは、さらに、通常、複数のウェブサーバを含む。
一般に、複数のウェブサーバを有するシステムにおいて、システムオペレータまたはオペレータは、種々のウェブサーバによって提供されたコンテンツを管理する。システムオペレータは、各ウェブサーバ上で生成および格納されたデータにアクセスすることを時折所望し得る。例えば、システムオペレータは、各ウェブサーバによって生成されたウェブサーバログファイルにアクセスすることを所望し得る。これは困難であり、多大な時間を必要とする。なぜなら、異なったコンピュータ上に配置されたファイルを集め、アクセスすることは厄介であり得るからである。
(発明の要旨)
1つ以上のウェブサーバを有するウェブサービスシステムにおいて、コンテンツを各ウェブサーバから単一のコンピュータに直接的に配信するシステムおよび方法はシステムオペレータにとって有用である。例えば、システムオペレータがアクセスするために、ウェブサーバ上に集められたファイルを中央ロケーションに伝送することがしばしば所望される。複数のウェブサーバによって生成されたファイルが単一のコンピュータ上に集められた場合、処理および解析は、すべてのファイルに関して、より容易に行なわれ得る。
一般に、1局面において、本発明は、ウェブサービスシステムにおける1つのコンピュータから別のコンピュータにコンテンツを伝送するシステムおよび方法に関する。ウェブサービスシステムは、ウェブページリクエストに応答してウェブページを提供するウェブサーバを含む。第1のウェブサーバエージェントおよび第2のウェブサーバエージェントは、ウェブサービスシステムと第1のコンピュータと第2のコンピュータとの間にそれぞれインターフェースを提供する。第1のウェブサーバエージェントは第1のコンピュータ上で動作し、第2のコンピュータ上で動作する第2のウェブサーバエージェントに伝送するファイルの少なくとも1部を識別する。第1のウェブサーバエージェントからのファイルの少なくとも1部は、第2のウェブサーバエージェントに伝送され、その後、第2のウェブサーバエージェントによって格納される。
1実施形態において、ファイルはその全体が識別、伝送、および格納される。別の実施形態において、ファイルは繰返し識別、伝送、および格納される。さらに別の実施形態において、本方法は、前に伝送されなかったファイルの1部を識別する工程を含む。さらに別の実施形態において、本方法は、任意の前の識別に続いて加えられたコンテンツを含むファイルの1部を識別する工程を含む。別の実施形態において、本方法は、ファイルに関して動作するコンピュータプログラムを実行する工程も含む。別の実施形態において、伝送されるべきファイルは、ウェブサービスシステムにおける1つ以上のウェブサーバに対するユーザリクエストについての情報を含むログファイルである。
一般に、別の局面において、本発明は、ウェブサービスシステムにおける1つのコンピュータから別のコンピュータにコンテンツを伝送する方法に関する。ウェブサービスシステムにおける第1のコンピュータ上で動作する第1のウェブサーバエージェントは、第1のファイルが第2の名称を有し、第2のファイルが第1の名称を有するように第1の名称を有する第1のファイルが第2の名称に変更される。第2の名称を有する第1のファイルは、その後識別される。第2のウェブサーバエージェントは第2のコンピュータ上で動作し、この第2のウェブサーバエージェントに第1のファイルの名称が変更されたことが通知される。第1のファイルの少なくとも1部は、第1のウェブサーバエージェントから第2のウェブサーバエージェントに伝送される。第1の名称を有する第2のファイルは識別され、第2のファイルの1部は、第1のウェブサーバエージェントから第2のウェブサーバエージェントに伝送される。
通常、さらに別の局面において、本発明は、ウェブサービスシステムにおける1つのコンピュータから別のコンピュータにコンテンツを伝送する方法に関する。ウェブサービスシステムは、ウェブページリクエストに応答してウェブページを提供する。第1のウェブサーバエージェントは、ウェブサービスシステムと第1のコンピュータとの間にインターフェースを提供する。第1のウェブサーバエージェントは、第1のコンピュータ上で動作し、コンピュータプログラムを識別し、動作させる。コンピュータプログラムの出力は、その後、第1のウェブサーバエージェントから第2のコンピュータ上で動作する第2のウェブサーバエージェントに伝送され、この出力は、その後、第2のウェブサーバエージェントによって格納される。
概して、さらに別の局面において、本発明は、ウェブサービスシステムにおいて、あるコンピュータから別のコンピュータへとコンテンツを伝達する方法に関する。第1のウェブサーバエージェントは、ウェブサービスシステムと第1のコンピュータとの間にインターフェースを提供する。第1のウェブサーバエージェントは、第1のコンピュータ上で動作し、第2のコンピュータ上で動作する第2のウェブサーバエージェントへと伝達されるファイルの少なくとも一部分を識別する。ファイルの識別された部分は、第1のウェブサーバエージェントから第2のウェブサーバエージェントへと伝達される。第2のウェブサーバエージェントは、伝達ファイルの受信された部分を入力としてコンピュータプログラムに提供する。
概して、さらに別の局面において、本発明は、ウェブサービスシステムにおいて、あるコンピュータから別のコンピュータへとコンテンツを伝達する方法に関する。第1のウェブサーバエージェントは、ウェブサービスシステムと第1のコンピュータとの間にインターフェースを提供する。第1のウェブサーバエージェントは、第1のコンピュータ上で動作し、コンピュータプログラムを識別かつ実行する。コンピュータプログラムの出力は、次いで、第1のウェブサーバエージェントから、第2のコンピュータ上で動作する第2のウェブサーバエージェントへと伝達される。第2のウェブサーバエージェントは、伝達ファイルの受信された部分を入力としてコンピュータプログラムに提供する。
概して、さらに別の局面において、本発明は、ウェブサービスシステムにおいて、あるコンピュータから別のコンピュータへとコンテンツを伝達する方法に関する。第1のウェブサーバエージェントは、第1のコンピュータ上で動作し、ウェブサービスシステムと第1のコンピュータとの間にインターフェースを提供する。第1のウェブサーバエージェントは、第2のコンピュータ上で動作する第2のウェブサーバエージェントへと伝達されるファイルの少なくとも一部分を識別する。第1のコンピュータは、第1のウェブサーバエージェントから第2のウェブサーバエージェントへとファイルの少なくとも一部分を伝達する。第2のコンピュータは、第2のウェブサーバエージェントによって伝達ファイルの少なくとも一部分が格納される格納媒体を含む。
概して、さらに別の局面において、本発明は、コンピュータ読み取り可能な媒体上に組み入れられているコンピュータプログラムに関する。コンピュータプログラムは、識別コードセグメントを含み、これにより、ウェブサービスシステムにおいて第1のコンピュータ上で動作する第1のウェブサーバエージェントによって、第2のコンピュータ上で動作する第2のウェブサーバエージェントへと伝達されるファイルの少なくとも一部分が識別される。ウェブサービスシステムは、ウェブページリクエストに応答してウェブページを提供するウェブサーバを含む。第1および第2のウェブサーバエージェントはそれぞれ、ウェブサービスシステムと第1および第2のコンピュータとの間にインターフェースをそれぞれ提供する。コンピュータプログラムはさらに、伝達コードセグメントを含み、これにより、第1のウェブサーバエージェントから第2のウェブサーバエージェントへのファイルの少なくとも一部分が伝達される。
(項目1) コンテンツを伝送する方法であって、
ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントに伝送するファイルの少なくとも1部分を識別するステップであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供し、該第1および第2のウェブサーバエージェントはそれぞれ、該ウェブサービスシステムと該第1および第2のコンピュータのそれぞれとの間にインターフェースを提供する、ステップと、
該第1のウェブサーバエージェントから該第2のウェブサーバエージェントへと該ファイルの少なくとも1部分を伝送するステップと、
該第2のウェブサーバエージェントによって、該伝送されたファイルの該少なくとも1部分を格納するステップと、
を包含する方法。
(項目2) 前記識別するステップが、前記ファイルの全体を識別するステップを包含し、
前記伝送するステップが、前記ファイルの全体を伝送するステップを包含し、
前記格納するステップが、前記第2のウェブサーバエージェントによって、前記伝送されたファイルの全体を格納するステップを包含する、
項目1に記載の方法。
(項目3) 前記識別するステップ、前記伝送するステップ、および前記格納するステップを繰り返すステップをさらに包含する、項目1に記載の方法。
(項目4) 前記識別するステップが、前記ファイルの以前に伝送されなかった部分を識別するステップを包含する、項目3に記載の方法。
(項目5) 前記識別するステップ、前記伝送するステップ、および前記格納するステップを繰り返すステップをさらに包含し、該識別するステップが、前記ファイルの、任意の以前の識別するステップに続いて追加されたコンテンツを含む部分を識別するステップを包含する、項目1に記載の方法。
(項目6) 前記識別するステップの前に、前記ファイル上で動作するプログラムを実行するステップをさらに包含する、項目1に記載の方法。
(項目7) 前記識別するステップが、前記第1のウェブサーバエージェントによって、前記ファイルの、前記ウェブサーバへのユーザ要求に関するログファイルを含む少なくとも1部分を識別するステップを包含する、項目1に記載の方法。
(項目8) コンテンツを伝送する方法であって、
第1のファイルが第2の名前を有し、第2のファイルが第1の名前を有するように、第1の名前を有する第1のファイルが第2の名前に改名されたことを、ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって判定するステップであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供する、ステップと、
該第2の名前を有する該第1のファイルを識別するステップと、
該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントに、該第1のファイルが改名されたことを通知するステップと、
該第1のウェブサーバエージェントから該第2のウェブサーバエージェントへと該ファイルの少なくとも1部分を伝送するステップと、
該第1の名前を有する該第2のファイルを識別するステップと、
第2のファイルの1部分を該第1のウェブサーバエージェントから該第2のウェブサーバエージェントへと伝送するステップと、
を包含する方法。
(項目9) コンテンツを伝送する方法であって、
ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、コンピュータプログラムを識別するステップであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供し、該第1のウェブサーバエージェントは、該ウェブサービスシステムと該第1のコンピュータとの間にインターフェースを提供する、ステップと、
該第1のウェブサーバエージェントによって該コンピュータプログラムを実行するステップと、
該コンピュータプログラムの出力を、該第1のウェブサーバエージェントから、該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントへと伝送するステップと、
該第2のウェブサーバエージェントによって該コンピュータプログラムの出力を格納するステップと、
を包含する方法。
(項目10) 前記識別するステップが、前記ファイルの全体を識別するステップを包含し、
前記伝送するステップが、前記ファイルの全体を伝送するステップを包含し、
前記格納するステップが、前記第2のウェブサーバエージェントによって、前記伝送されたファイルの全体を格納するステップを包含する、
項目9に記載の方法。
(項目11) 前記識別するステップ、前記伝送するステップ、および前記格納するステップを繰り返すステップをさらに包含する、項目9に記載の方法。
(項目12) 前記識別するステップが、前記ファイルの以前に伝送されなかった部分を識別するステップを包含する、項目11に記載の方法。
(項目13) 前記識別するステップ、前記伝送するステップ、および前記格納するステップを繰り返すステップをさらに包含し、該識別するステップが、前記ファイルの、任意の以前の識別するステップに続いて追加されたコンテンツを含む1部分を識別するステップを包含する、項目9に記載の方法。
(項目14) 前記識別するステップの前に、前記ファイル上で動作するプログラムを実行するステップをさらに包含する、項目9に記載の方法。
(項目15) 前記識別するステップが、前記第1のウェブサーバエージェントによって、前記ファイルの、前記ウェブサーバへのユーザ要求に関するログファイルを含む少なくとも1部分を識別するステップを包含する、項目9に記載のシステム。
(項目16) コンテンツを伝送する方法であって、
ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントに伝送するファイルの少なくとも1部分を識別するステップであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供し、該第1のウェブサーバエージェントは、該ウェブサービスシステムと該第1のコンピュータとの間にインターフェースを提供する、ステップと、
該第1のウェブサーバエージェントから該第2のウェブサーバエージェントへと該ファイルの少なくとも1部分を伝送するステップと、
第2のウェブサーバエージェントによって、該伝送されたファイルの受け取られた部分をコンピュータプログラムへの入力として提供するステップと、
を包含する方法。
(項目17) コンテンツを伝送する方法であって、
ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、コンピュータプログラムを識別するステップであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供し、該第1のウェブサーバエージェントは、該ウェブサービスシステムと該第1のコンピュータとの間にインターフェースを提供する、ステップと、
該第1のウェブサーバエージェントによって該コンピュータプログラムを実行するステップと、
該コンピュータプログラムの出力を、該第1のウェブサーバエージェントから、該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントへと伝送するステップと、
該第2のウェブサーバエージェントによって、該伝送されたファイルの受け取られた部分をコンピュータプログラムへの入力として提供するステップと、
を包含する方法。
(項目18) コンテンツを伝送するシステムであって、
ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供し、該第1のウェブサーバエージェントは、該ウェブサービスシステムと該第1のコンピュータとの間にインターフェースを提供し、該第1のウェブサーバエージェントは、該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントに伝送するファイルの少なくとも1部分を識別し、該第1のコンピュータは、該第1のウェブサーバエージェントから該第2のウェブサーバエージェントへと該ファイルの少なくとも1部分を伝送する伝送器を含み、該第2のコンピュータは、該第2のウェブサーバエージェントによって、該伝送されたファイルの該少なくとも1部分を格納する記憶媒体を含む、第1のウェブサーバエージェント、
を包含する方法。
(項目19) コンピュータ読み取り可能媒体上に組み込まれたコンテンツを伝送するコンピュータプログラムであって、
ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、該ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントに伝送するファイルの少なくとも1部分を識別する識別コードセグメントであって、該ウェブサービスシステムは、ウェブページ要求に応答してウェブページを提供し、該第1および第2のウェブサーバエージェントはそれぞれ、該ウェブサービスシステムと該第1および第2のコンピュータのそれぞれとの間にインターフェースを提供する、識別コードセグメントと、
該第1のウェブサーバエージェントから該第2のウェブサーバエージェントへと該ファイルの少なくとも1部分を伝送する伝送コードセグメントと、
を含む、コンピュータプログラム。
図1は、本発明によるウェブサービスシステムの実施形態のブロック図である。 図2は、ウェブサービスシステムの実施形態のより具体的なブロック図である。 図3は、本発明の実施形態によるファイル転送のフローチャートである。 図4は、本発明の別の実施形態によるファイルの一部分の転送(file portion transfer)のフローチャートである。 図5は、ファイルローテーション(rotation)を表す。 図6は、本発明の実施形態によってファイルローテーション(図5)を検出するファイル転送のフローチャートである。 図7は、本発明の実施形態による配信システム内の複数のホストを示す。
本発明の前述および他の目的、局面、機能、および利点は、下記の説明からより明らかになる。
図面中、同様の参照文字は、概して、異なる図面にわたって同じ部分を参照する。さらに、図面は必ずしも一律の縮尺に従わず、むしろ、本発明の原理を示すことを重要視する。
(詳細)
ウェブページを供給するシステムは、複数のウェブサーバを有し、複数のウェブサーバの操作を調整する機能およびツールをシステムオペレータに提供する。このシステムは、たった1つのウェブサーバを有することも可能であるが、典型的には、1つ以上のウェブサーバを含む。このシステムは、ウェブページリクエスト(通常、クライアントコンピュータ上のウェブブラウザから発信される)を利用可能なウェブサーバに誘導することにより、トラフィックを管理し得、従って、複数のサーバにわたってウェブページリクエストのサービスロードのバランスをとり得る。このシステムは、ウェブページリクエストのデータを収集し得、ウェブサーバは、それらのウェブページリクエストに応答し、データの報告ならびに自動かつ手動の分析ツールを提供する。このシステムは、特定のイベントを監視し得、このようなイベントが生じると自動的に作動し得る。これらのイベントは、差し迫ったシステムの問題を示す予測および閾値を含む。このシステムは、自動的なエラー回復を提供するため、かつ、構成要素の故障またはネットワーク環境の問題などのイベントから回復するために行われ得る可能な行動によりシステムオペレータを先導するための危機管理能力を含み得る。このシステムは、システム操作に関する現在の情報をシステムオペレータに提示し得る。このシステムは、バージョン制御とデータ更新との間のコンテンツ反復を管理し得る。この機能性のいくつかまたは全ては、特定の実施形態において提供され得る。
図1を参照すると、ウェブサービスシステム90の実施形態が、ウェブページリクエストをブラウザ1から受信する。これに関連して、ウェブページは、リクエストに応答してコンピュータネットワーク2上で利用可能になり得る電子コンテンツである。ウェブページの例は、コンピュータによって実行可能または解釈可能な情報、グラフィックス、音、テキスト、および/または映像を含むデータファイルであり、このデータファイルは、表示、実行、再生、処理、ストリーミング、および/または格納され得、他のウェブページへのリンクまたはポインタを含み得る。リクエストは、典型的には、ウェブブラウザ1から発信され、通信ネットワーク2にわたって通信される。一実施形態において、通信ネットワーク2は、イントラネットである。別の実施形態において、通信ネットワーク2は、インターネットとして公知のグローバル通信ネットワークである。ブラウザ1は、ウェブページリクエストを生成するようにユーザによって操作され得る。ブラウザ1はまた、コンピュータまたはコンピュータプログラムによって操作され得、コンピュータのプログラミングに基づいてリクエストを自動的に生成する。ウェブページリクエストは、ハイパーテキスト転送プロトコル(「http」)フォーマットを使用して生成され得、かつ、リクエスト機能を提供する他のプロトコルを使用しても生成され得る。
図2を参照して、ウェブサービスシステム90の一実施形態は種々のコンポーネント100〜126を含む。コンポーネントは一つ以上のコンピュータネットワークを介して通信する。コンポーネントの物理位置は、種々のコンポーネント間の通信リンクが十分なデータ通信機能を有する限り、システムの機能または性能に影響を与えない。ウェブサービスシステム90は種々の設計のファイアウォールを介して機能し得、そして遠隔で構成および管理され得る。
ウェブサービスシステム90は一つ以上のホスト100を管理する。二つのホスト100を一例として示す。ウェブサービスシステム90の一実施形態は任意の数のホスト100を有し得る。各ホスト100は、市販されそしてUNIX(R)またはWINDOWS(R)NTTMなどのマルチスレッドのオペレーティングシステムを用いることが可能なコンピュータシステムであり得る。各ホスト100は、コンピュータネットワークへの少なくとも一つのネットワーク接続(例えば、インターネットまたはイントラネット)を有し得るか、またはホスト100がウェブページリクエストに応答してウェブページを提供することを可能にする任意の他のネットワークを有し得る。各ホスト100は、少なくとも一つのウェブサーバ102を含む。
ウェブサーバ102は、コンピュータネットワーク上で受信されたウェブページリクエストに応答してウェブページを提供する任意のウェブサーバであり得る。このようなウェブサーバのうちの二つの例は、カリフォルニア州Mountain ViewのNetscape Communications Corporationから入手可能なNETSCAPE ENTERPRISE SERVER、およびワシントン州RedmondのMicrosoft Corporationから入手可能なMICROSOFT INTERNET INFORMATION SERVICES SERVERとして市販されている。ウェブサーバ102は、ブラウザおよび/またはウェブページリクエスターとも呼ばれるウェブクライアントからウェブページリクエスト113を受信することが可能である。ブラウザからのウェブページリクエスト113は、コンテンツリクエストとも呼ばれ、またはウェブサーバの観点から「ヒット」とも呼ばれる。ウェブページリクエストは、いくつかのリクエストおよび応答に関与するウェブサーバ102との連続した通信の一部である場合が多い。セッションと呼ばれるこのような連続の一つは、ウェブサーバとの延長した相互通信である。より短い相互通信、例えば、アイテムの購入は、トランザクションと呼ばれる。セッションはいくつかのトランザクションを含み得る。ユーザは、ウェブサーバ102の最初のリクエスト113を行うことによってウェブサーバ102と相互通信を行う。この結果、ウェブサーバ102が応答してウェブページを送信する。ウェブページは、情報を含み得、そしてさらに、またはあるいは、ユーザがウェブサーバ102または恐らく他のウェブサーバから行い得る他のリクエストへのポインタを含み得る。リクエストは、データベースから取り出される必要がある情報用である時もあれば、リクエストはデータベース内に格納される情報を含む時もある。リクエストは、ウェブサーバ102による処理または別のコンピュータシステムとの相互通信を必要とする時もある。精巧なウェブサーバおよびブラウザは種々の方法で相互通信し得る。
関連するトピックまたは特定のソース(通常、同じウェブサーバ102からであるが常にそうであるわけではない)に関する一組のウェブページとしてユーザに提示される関連するウェブページの集合はアプリケーションとして呼ばれる。アプリケーションの一例は、会社に関する情報を提供する一組のページである。アプリケーションの別の例は、ユーザが貯蓄銀行とのトランザクションを行うことを可能にする一連のページである。二つの組のウェブページは一つのアプリケーションと考えられ得、または二つの別々のアプリケーションと考えられ得る。例えば、一組のウェブページは銀行に関する情報を提供し得、そして顧客サービスの組のウェブページにより銀行との商用トランザクションが可能になり得る。一組のウェブページが一つのアプリケーションであるかいくつかのアプリケーションであるかはアプリケーションデザイナーによってなされる決定である。ウェブサービスシステム90は、一つ以上のアプリケーションをユーザに送達し得る。ウェブサービスシステム90は、ウェブサーバ102の所定の下位セットが専ら一つのアプリケーションを提供するように構成され得る。一実施形態において、所定のウェブサーバ102は利用可能なアプリケーションの下位セットを提供し、他のウェブサーバ102は他のアプリケーションを提供する。別の実施形態において、すべてのウェブサーバ102はすべての利用可能なアプリケーションを提供する。
ユーザのウェブブラウザからのウェブページリクエスト113に応答してユーザに提示されるウェブページは、ホスト100のファイルシステムまたはウェブサーバ102にアクセス可能な別のファイルシステムに格納され得る。所定またはすべてのウェブページコンテンツは、ウェブサーバ102によってウェブサーバ102に利用可能なデータを処理することによって生成され得る。例えば、あるトピックに関する文書であるウェブページに関して、ウェブページは生成(設計)されて、そしてウェブサーバ102のファイルシステム内に格納され得る。ウェブページリクエストに応答して、このようなウェブページは、ちょうどファイルシステム内に格納された際にユーザに送信され得る。しかし、銀行業務のトランザクションシステムにおいて、ユーザの銀行口座に関する情報がデータベース内に格納される可能性が高い。ウェブサーバ102は、ユーザがページをリクエストするたびにデータベースリクエストを行うことによってユーザの口座情報を含むウェブページを生成し得る。ウェブページが部分的にファイルシステム内に格納され、そしてリクエストが行われた際にウェブサーバ102によって一部が生成されることが多い。
種々の技術を用いて状態情報が格納される。状態情報は、ウェブサーバ102とのユーザセッションの「状態」としても呼ばれる。ユーザは、ウェブサーバ102との相互通信の間、ウェブサーバ102に行われたリクエストおよびこれらのリクエストに応答して受信されたウェブページを介して状態を展開させ得る。ユーザの状態は、一例として、ユーザを識別する情報を含み得る。別の例として、状態は、ユーザがすでにリクエストしたウェブページを指定する情報、またはユーザがシステムと相互通信する際に選択したオプションを含み得る。別の例として、状態は、ユーザが商用の販売アプリケーションからの購入に選択したアイテムを含み得る。通常、例えば、ウェブサービスシステム90にユーザを識別するクッキーとしてのクライアントウェブブラウザ内に格納されたセッションの状態に関するまたはセッションの状態を識別する所定の情報、および所定の情報がウェブサーバ102内に格納され得る。
各ウェブサーバ102は、サーバ上で動作するコンピュータプログラムの状態、コンポーネントの故障、またはネットワーク環境の問題等のウェブサーバの動作中に発生する種々のイベントと同様に、ウェブサーバに対してなされたウェブページに対する全てのリクエスト113、これらのリクエストに対するウェブサーバの応答のログファイルを生成し、かつ維持し得る。さらに、各ウェブサーバ102は、ブラウザから他の情報を受信し、それをホスト100に格納することができる。
ホスト100は、ホスト容量、性能、およびコスト上の理由に依存して、ホスト上で動作する任意の数のウェブサーバ102を有し得る。1つの実施形態では、ホスト100は、1つのウェブサーバ102を備える。他の実施形態では、ホストは、1より多くのウェブサーバ102を備える。図2のホスト100上の1つのウェブサーバ102は、簡略化された例証的な例であり、ホスト上で動作し得る可能なウェブサーバの数を制限することを意図していない。各ウェブサーバ102は、エンドポイントとも呼ばれる、少なくとも1つのネットワークアドレスおよびポートを監視する。特定のアドレスおよびポートは、エンドポイントと呼ばれるが、通信のための実質的なエンドポイントであるためである。ネットワーク接続は、1つのアドレス/ポートエンドポイントと別のアドレス/ポートエンドポイントとの間で行われる。ウェブサーバ102は、そのエンドポイントのうちの1つに向けられたリクエストを受信し、それらのリクエストに対して、ウェブページ形式のデータで応答する。
多数のネットワークアドレス/ポートエンドポイントでリクエストを受信するウェブサーバ102は、実際には1つのウェブサーバ102として実現されていたとしても、複数の個別のウェブサーバ102であるかのように動作し得る。このようなウェブサーバは、多数エンドポイントウェブサーバ(multiple
endpoint web server)と呼ばれる。この議論の目的のために、多数エンドポイントウェブサーバは、実際に、各ウェブサーバ102がネットワークアドレス/ポートエンドポイントでリクエストを受け取る、多数のウェブサーバ102であるかのように説明され得る。1つの実施形態では、このような多数エンドポイントウェブサーバは、複数のエンドポイントの全てに対するインターフェースである、1つのウェブサーバインターフェース104を有する。
各ウェブサーバ102は、ウェブサーバインターフェース104と関連づけられ得る。ウェブサーバインターフェースは、ウェブサーバ102とウェブサービスシステム90の他のコンポーネントとのインターフェースとして機能するウェブサーバ102に関連づけられた、プラグイン、フィルタ、または他のソフトウェアであり得る。このコンテキストにおいて、ウェブサーバインターフェースという用語は、ホスト100上に存在し得る、ネットワークインターフェースとは異なる。例えば、ウェブサーバ102は、ウェブサーバインターフェース104を有する。ホスト100上の各ウェブサーバインターフェース104は、エージェント106と通信し得る。
各ホスト100はエージェント106を含み得る。エージェント106は、ウェブサービスシステム90に、マネージャ110と、オペレーティングシステムを含むホスト100上で動作する任意の他のソフトウェアとの媒介物として機能する、ホスト100とのインターフェースを提供する。エージェント106は、(もしあれば)ウェブサーバインターフェース104をウェブサービスシステム90にリンクづけをする。エージェント106はまた、ホスト100をウェブサービスシステム90にリンクづけする。1つの実施形態では、エージェント106は、JAVA(R)プログラミング言語を用いるソフトウェアで実現される。エージェント106は、バックグラウンドで動作し得る。UNIX(R)システム上では、デーモン(deamon)として動作し得、WINDOWS(R)NTTM上では、サービスとして動作し得る。多数のウェブサーバを有するホスト上でさえ、通常、ホスト100上で動作するただ1つのエージェント106が存在するが、1より多くのエージェントを有することは可能である。各エージェント106は、システムコンポーネントに関する情報を含む、データベース108へのアクセスを有する。
エージェント106は、各ウェブサーバ102に関連づけられたウェブサーバインターフェース104を介して、ホスト100上の1以上のウェブサーバ102と通信する。ウェブサーバインターフェース104は、エージェント106に、ユーザから受け取ったウェブページリクエスト、およびそれらのリクエストに応答して送信されたページに関する情報を提供する。
1つの実施形態では、ウェブサーバインターフェース104からエージェント106への通信は、共有されたメモリチャンネル上で起こる。エージェント106は、共有されたメモリを保存し、ウェブサーバインターフェース104は、その共有されたメモリにデータを書き込むことができる。これは、ソケットを用いるよりも速いという利点を有し、エージェント106が、1つのバッファで、全てのウェブサーバインターフェース104からのデータを受け取ることを可能にする。この通信リンクはまた、ソケット、または他のプロセス間通信で実現され得る。
ホスト100上のエージェント106は、ウェブサービスシステムマネジャ110と通信する。マネージャ110は、ホスト100およびウェブサーバ102の状態に関する、エージェント106からの情報を受け取る。マネージャ110は、エージェント106にコマンドを送信し、ホスト100を設定し、ウェブサーバ102を始動、停止、または一時的に休止させ、ウェブサーバ102上の負荷を管理し得る。マネージャ110は、システムアクティビティおよびイベントをロギングするために用いられる、ロギングデータベース114へのアクセスを有する.マネージャ110はまた、システムの種々のコンポーネントに関する情報を格納するために用いられる、管理オブジェクトデータベース112へのアクセスを有する。マネージャ110はまた、一般に、116で呼ばれる、1以上のコンソール116A〜116Xと通信する。コンソール116は、システムオペレータに、ユーザインターフェースを提供する。システムオペレータは、システムの状態を監視し、コンソールを介してシステムを設定し得る。マネージャ110は、ウェブサーバ102またはトラフィックマネージャ120のうちの1つ等の他のウェブサービスシステム90のコンポーネントと同じホスト100上で動作し得るか、または十分な容量の別のコンピュータ上で動作し得る。
エージェント106は、リンク127で示されるように、相互に直接通信する能力を有する。1つの実施形態では、通信は、エージェント106のうちの1つ目から第2のエージェント106まで開いた、TCP/IPソケット上で生じる。メッセージは、ファイル、およびファイルに関する情報を伝達するためにそのソケット上で送信され得る。1つの設定では、それらの間のファイアウォールのために、第1のエージェント106は、第2のエージェント106へのソケットを開け得ない。1つのこのような実施形態では、第1のエージェント106は、マネージャ110へのソケットを開く。第1のエージェント106は、マネージャ110を介して、第2のエージェント106に、第1のエージェント106へのソケットを開くことをリクエストするメッセージを送信する。マネージャは、このリクエストを第2のエージェント106に渡し、第2のエージェント106は、第1のエージェントへのソケットを開く。次いで、第1のエージェント106は、このソケットを用いて第2のエージェントにメッセージを送信し得る。
一実施形態において、通信プロトコルは、第1のエージェント106が、ファイル全体を第2のエージェント106に転送することを可能にする。また、通信プロトコルは、第1のエージェント106が、ファイルの一部分を第2のエージェント上のファイルに追加するように、第2のエージェント106に転送することを可能にする。また、通信プロトコルは、第1のエージェント106が、第2のエージェント上のファイルの名前を変更するように、第2のエージェント106に命令することを可能にする。また、通信プロトコルは、第1のエージェント106が、第2のエージェント上のファイルを削除することを可能にする。
一実施形態において、マネージャ110は、トラフィックマネージャ120と通信する。トラフィックマネージャ120は、インターセプター(interceptor)とも呼ばれる。トラフィックマネージャ120は、ウェブページリクエスト113を、ウェブサーバ102に向ける。ウェブサービスシステムにとって、トラフィックマネージャ120、または、いずれか特定のタイプのトラフィックマネージャ120を含む必要はない。一実施形態において、トラフィックマネージャ120は、マネージャ110から情報およびコマンドを受信する。また、トラフィックマネージャ120は、トラフィックマネージャコントロールプログラム122からも情報およびコマンドを受信する。トラフィックマネージャコントロールプログラムは、トラフィックマネージャ120と同じコンピュータ上にあってもよいし、あるいは、他のシステム上で実行されてもよい。トラフィックマネージャ120は、ウェブページリクエスト113を受信し、リクエストを、ウェブサーバ102のうちの1つに差し向ける。一実施形態において、トラフィックマネージャ120は、ウェブページリクエストに応答して、メッセージをブラウザに送信し、ブラウザをウェブサーバ102のうちの1つに差し向ける。その後、ブラウザは、リクエスト113を、ウェブサーバ102に対して直接行う。あるいは、トラフィックマネージャは、リクエストを、ウェブサーバ102まで通し、応答を、ブラウザに返し得る(不図示)。
ウェブサービスシステム90の管理能力の一部は、ウェブサーバ102に対して行われるウェブページリクエストと、ウェブサーバ102およびホスト100上で得られる負荷をモニタリングすることによって達成される。ウェブページリクエストは、ウェブサーバ102間で負荷の均衡を取るにように向けられ得る。一実施形態において、トラフィックマネージャ120は、ユーザにとって、第1の接点である。トラフィックマネージャ120は、ウェブページリクエストを、ユーザから受信し、ユーザのウェブブラウザを、そのリクエストにとって適切なウェブサーバ102に「差し向ける」。ユーザのウェブブラウザは、適切なウェブサーバ102上のウェブページに差し向けて、ウェブページリクエストに応答することによって、差し向けられる。この差し向ける能力は、ハイパーテキスト転送プロトコルに組み込まれた能力によって達成され得るが、他の方法によって達成されてもよい。ユーザは、ウェブブラウザが、適切なウェブサーバ102に差し向けられたかどうか、認識してもよいし、認識しなくてもよい。ユーザは、そのウェブサーバ102上のアプリケーションにアクセスし、そのウェブサーバ102からウェブページリクエストに対する応答を受信する。一実施形態において、ウェブサーバ102が過負荷状態になる場合、そのウェブサーバ102は、マネージャ110の指令の下で、ユーザを、トラフィックマネージャ120に差し戻してもよいし、アプリケーションを配信することができる他のウェブサーバ102に差し向けてもよい。
トラフィックマネージャ120は、ユーザからリクエストを受信して、ユーザのリクエストをウェブサーバ102にリダイレクトする。一実施形態において、トラフィックマネージャ120は、全てのユーザを、1つのウェブサーバ102、例えば他のトラフィックマネージャ120または1つの終点に向けるように用いられる。このようにして、トラフィックマネージャ120は、分路として機能する。すなわち、トラフィックマネージャ120は、ホスト上の1つ以上のウェブサーバに向けられた全てのリクエストを、他のウェブサーバ102に向ける。他の実施形態において、トラフィックマネージャ120は、マネージャ110からステータス情報を受信し、その情報を用いてユーザをリダイレクトする。ステータス情報は、サーバのアベイラビリティおよび負荷、管理者の変更、ならびにアプリケーションまたはウェブサーバ102の開始および終了動作を含む。トラフィックマネージャ120は、速度および安全性が上がるように設計される。トラフィックマネージャ120は、しばしばシステムへの入り口であり、トラフィックマネージャ120の性能が、ウェブサービスシステム90全体の知覚される性能に影響を与える。トラフィックマネージャ120を、ネットワークトポロジーの意味で、可能な限りバックボーンの近くに位置付けることが有用であり得る。そうすることによって、トラフィックマネージャ120は、必然的に、ウェブサービスシステム90の最も露出された構成要素となる。
一実施形態において、トラフィックマネージャ120は、ハードウェアにおいて実現される。他の実施形態において、トラフィックマネージャ120は、ホストコンピュータ上で実行されるソフトウェアプログラムである。ソフトウェアの一実施形態において、トラフィックマネージャ120は、マルチスレッドオペレーティングシステムを実行する能力を有するサーバ−クラスコンピュータ上で実行される独立型プログラムである。例えば、UNIX(R)の下で、トラフィックマネージャ120は、デーモンとして実行され得る。WINDOWS(R) NT(登録商標)の下で、トラフィックマネージャ120は、サービスとして実行され得る。
他の実施形態において、トラフィックマネージャ120は、1つの終点に対して行われたリクエストを、ウェブサーバ102に属する終点に向けるインターネットプロトコルブリッジまたはルータである。このようにして、トラフィックマネージャ120は、ウェブページリクエストを1つ以上のウェブサーバに向ける。このようなトラフィックマネージャの一例として、San Jose,CaliforniaのCisco Systems,Inc.製のLOCALDIRECTORがある。さらに他の実施形態において、トラフィックマネージャ120は、Westford,MassachusettsのArrowpoint
Communications,Inc.製のCONTENT SMART WEB SWITCHのようなウェブスイッチである。トラフィックマネージャ120は、各ウェブページリクエストを受信し、そのリクエストに基づいて、ウェブサーバにリクエストを向ける。
一実施形態において、ウェブサービスシステム90は、バージョンコントローラをも含む。バージョンコントローラは、コンテンツディストリビュータ125とも呼ばれる。このコンテキストにおいて、コンテンツディストリビュータ125は、バージョンおよびコンテンツ複製を管理し、ウェブサービスシステム90内の各種のウェブサーバ102のコンテンツ更新を提供し得る。コンテンツディストリビュータ125に対するシステムオペレータインターフェースは、コンテンツコントロール126によって提供される。一実施形態において、コンテンツディストリビュータ125およびコンテンツコントロール126は、それぞれ、ホスト100上で動作する独立型プロセスである。他の実施形態において、コンテンツディストリビュータ125およびコンテンツコントロール126は、マネージャ110と同じホスト上で動作する。さらに他の実施形態において、コンテンツディストリビュータ125およびコンテンツコントロール126は、他のホスト上で動作する。コンテンツディストリビュータ125およびコンテンツコントロール126は、同じホスト上で動作してもよいし、異なるホスト上で動作してもよい。他の実施形態において、コンテンツディストリビュータ125は、マネージャ110の機能、またはシステム90の他の構成要素に組み込まれる。
図3を参照して、前述したウェブサービスシステムの一実施形態において、ウェブサーバ102上においてエージェント106(送信エージェントと呼ぶ)によってファイルを識別する(ステップ500)。このファイルは任意の種類のファイルであり得、任意の種類のコンテンツを含み得る。ファイルの識別方法は様々なものがあり得る。ファイル識別は、例えばシステムオペレータにファイルシステム経路およびファイル名を識別させるなどの手入力によって行ってもよいし、コンピュータに全てのファイル(または1組のファイル)に対する事前規定された一連の属性をマッチングさせてマッチングを見付けさせることなどによって行ってもよい。その後、事前規定された属性にマッチングするファイルを識別する。このマッチングしたファイルは、事前規定されたアプリケーションプログラム、システムユーティリティ、JAVA(登録商標)クラスまたは他のプロセスからの出力であり得る。一実施形態において、この識別されたファイルは、エージェントに直接ストリーミングされるコンピュータプログラムからの出力である。
任意選択として、識別されたファイルを処理してもよい(ステップ501)。識別されたファイルは、アプリケーションプログラム、オペレーティングシステムユーティリティ、JAVA(登録商標)クラスまたは他のプロセスに処理対象として入力として提供され得、処理される。この処理ステップでは、ファイルのフォーマット変更、ファイル圧縮、あるフォーマットのアドレスから別のアドレスへの置換(例えば、IPアドレスからDNS名への分解)を行うことができ、あるいは、伝送対象ファイルの作成またはファイルからの情報抽出を行うこともできる。
一実施形態において、エージェントはJAVA(登録商標)でインプリメントされ、識別機能、処理機能および送信機能もJAVA(登録商標)様式でインプリメントされる。システムオペレータは、デフォルトと異なるJAVA(登録商標)クラスを提供して、さらなる機能をインプリメントすることができる。システムオペレータがデフォルトと異なるJAVA(登録商標)クラスを提供すると、そのJAVA(登録商標)クラスが用いられる。これにより、エージェントは、例えば、入力ファイルの代わりにプロセスからの出力を用い、様々な種類の処理を行い、または送信の際に特定の通信プロトコルを用いることができる。
ファイルは、処理を受けた後にまたは未処理のままの状態で、受信のコンピュータに送信される(ステップ502)。受信コンピュータに、ホスト100、コンテンツ配信器125、またはウェブサービスシステム90中の別のコンピュータのうちの1つであり得る。受信コンピュータに、システムオペレータが特定のファイル送信を行う前に選択したものを用いてもよいし、または、同じ受信コンピュータを全ての送信に用いてもよい。一実施形態において、上述したエージェント−エージェントプロトコルを用いて送信を達成する。他の実施形態において、他の様々なプロトコルを用いてファイル送信を達成することもできる。
ファイルは、受信コンピュータ上で実行されているエージェント(受信エージェントと呼ぶ)によって受信される(ステップ503)。任意選択として、ファイルを受信コンピュータによって処理することもある(ステップ504)。例えば、受信されたファイルを、アプリケーションプログラム、オペレーティングシステムユーティリティ、JAVA(登録商標)クラスまたは他のプロセスへの入力として提供することが可能である。このような処理ステップには、送信されたファイルを別のファイルフォーマットに変換するステップ、ファイルを解凍するステップなどが含まれ得る。このような処理ステップには、送信されたファイルからのデータをデータベースに組み込むステップも含まれ得る。このような処理ステップには、送信されたファイルからのデータを、1つ以上のホストからのファイルからのデータを含むファイルに組み込むステップも含まれ得る。
受信されたファイルは、処理を受けた後であってもまたは未処理のままの状態であっても、受信コンピュータによって格納される(ステップ505)。ファイルを受信コンピュータのファイルシステムに格納する際、当該ファイルが送信コンピュータのファイルシステム上において持っていた名称と同じ名称を用いて格納を行うことが可能である。別の名称(例えば、送信コンピュータの名称を含むファイル名)を用いてファイルを格納することも可能である。別の実施形態において、アプリケーションプログラム、システムユーティリティ、JAVA(登録商標)クラスまたは他のプロセスへの入力としてファイルを提供することにより、ファイル格納を達成する。
一実施形態において、エージェントはJAVA(登録商標)様式でインプリメントされ、受信機能、処理機能および格納機能もJAVA(登録商標)様式でインプリメントされる。システムオペレータは、デフォルトと異なるJAVA(登録商標)クラスを提供して、さらなる機能をインプリメントすることができる。システムオペレータがデフォルトと異なるJAVA(登録商標)クラスを提供すると、そのJAVA(登録商標)クラスが用いられる。これにより、エージェントは、例えば、通信の際に特定のプロトコルを用い、様々な種類の処理を行い、または、ファイルの代わりにプロセスへの出力を提供することができるようになる。
一実施形態において、システムオペレータは、「ジョブ」を構成する。ジョブとは、1度だけ行われるかまたは繰り返し行われる転送であり、特定のタイミングまたは時間間隔で行われる。ジョブの明細を以下に挙げる:すなわち、ジョブ名(これは、システムオペレータがジョブの識別を容易にするために割り当てる識別子である);ソースホスト(これは、送信エージェントを動作させているホストの名称である);ソースファイル名(これは、ファイルシステム経路およびファイル名である);送信コンピュータのプログラム識別子(これは、(一実施形態において)JAVA(登録商標)クラスであり、デフォルトであるかまたはシステムオペレータによって提供されたクラスのいずれかである);スケジュール(これは、時間または時間間隔であり得、また、マニュアル起動を要求し得る);属性(例えば、ソースファイルを継続的に更新するか否かおよびローテートされたファイル(例えば、図4および図5を参照して上述したようなファイル)であるか否か、ならびに例えば送信前に圧縮を必要とするファイルであるか否か);宛先ホスト(これは、受信エージェントを実行させるホストである);宛先ファイル名(これは、ファイルシステム経路およびファイル名である);および受信コンピュータプログラム識別子(これはJAVA(登録商標)クラスであり、デフォルトであるか、またはシステムオペレータによって提供されたクラスである)。
エージェント106は、起動すると、待ち状態のジョブを全てスキャンし、これにより、ウェブサーバ102上のファイルのうち、規定されたスケジュールに従って送信すべきものを決定する。適切な時期になると、エージェント106は、受信ホスト上のエージェントに接続しようとする。受信エージェントへの接続が開始すると、ファイルのソースエージェントによる処理(例えば、ファイルの圧縮(ただし、当該ジョブが圧縮対象として構成されている場合))、ファイルの受信エージェントへの送信、受信エージェントによるファイルの処理(例えば、ファイルの解凍(ただし、当該ジョブが解凍対象として構成されている場合))、ファイルの宛先ロケーションへのインストールが可能となる。別の実施形態において、ファイルを受信エージェントに送信して解凍した後、そのファイルをコンピュータプログラムに送って処理させ、その後そのファイルを受信コンピュータに格納する。
図4を参照する。いくつかのファイルは、経時的に連続して更新され得る。連続して更新されるファイルの1例はログファイルである。ログファイルは、ウェブサーバまたはオペレーティングシステムなどのコンピュータプログラムによってリポートされるイベントおよび/またはステータスのランニングレコードである。多くの場合、そのようなファイルはイベントが生じる際に更新され、周期的にステータス、または両方を記録する。多くの場合、そのようなファイルは、あるイベントまたはステータス情報をファイルの最後に追加することによってファイルに変更を行うアプリケーションによって更新される。
1つの実施形態において、ジョブ属性が、ファイルが連続的に更新されることを示すならば、システムは適切なアクションをとり得る。例えば、前回送信されなかったファイルの一部(あれば)が識別される(ステップ510)。変更がなされなかったならば、さらなるアクションはとられない。この判定は、前回送信されたファイルの長さを格納し、そして前回の送信以後にファイル中に含まれるいずれの追加部分(変更)を識別することによって達成され得る。ファイルへの変更がステップ510で識別された後、必要に応じて、図3のステップ501について上記されたようにその変更が処理され(ステップ511)、そして受信コンピュータへ送信される(ステップ512)。必要に応じて、受信コンピュータは、図3のステップ504について上記されたように、受信したデータを処理する(ステップ513)。例えば、ファイル変更は、ファイル中への挿入(例えば、展開)のために処理されるか、またはデータベースもしくは他のデータ集合体中への挿入のために処理される。ステップ514の処理の後または未処理のいずれの場合も、変更は格納される(ステップ515)。1つの実施形態において、変更は、受信コンピュータに存在する変更されたファイルのコピーに対してなされる。別の実施形態において、変更は別のファイル中に格納される。別の実施形態において、変更は、上記のようにコンピュータプログラムへ提供される。
図5を参照する。いくつかのシステムにおいて、ウェブサーバまたは他のアプリケーションは、連続して更新されるファイルを「ローテート(rotate)」またはリネームする。例えば、連続して更新されるファイルは、その最初のオリジナルネームから第2のネームにリネームされ得る。新しいファイルにオリジナルネームが与えられ、そしてこの新しいファイルがその時点以降更新される。言い換えると、リネームされたファイルはアーカイブとなり、そして新しいファイルは連続した更新を受け取る。この手法はログファイルに対して使用されることが多い。なぜなら、それによりファイルが無限に長くなることを防ぎ、そして特定のデータが存在し得るファイルを識別できるようになるからである。
例えば、図5をさらに参照して、「SERVER.LOG」517Aと呼ばれるウェブサーバログファイルは、毎日正午に日付を含むネームを用いて周期的にリネームされる。ファイルがリネームされた場合、オリジナルネーム「SERVER.LOG」518B、519Cを有する新しいファイルが生成される。このように、この例において、1999年11月1日に「SERVER.LOG」ファイル517Aは、「SERVER.LOG−01−11−99」517Bにリネームされ、ログが1999年11月1日にリネームされたことを示す。この新しい「SERVER.LOG」ファイル518Bは、1999年11月1日正午から1999年11月2日午前11:50まで連続更新を受け取る。1999年11月2日正午に、1999年11月1日に生成されそして1999年11月1日の正午以来の変更を現在において含む「SERVER.LOG」ファイル518Bは「SERVER.LOG−02−11−99」518Cにリネームされる。新しい、空の「SERVER.LOG」ファイル519Cがその時点で生成される。この新しい「SERVER.LOG」ファイル519Cは次の24時間の間に更新される、等々。ログファイルローテーションが、数日、数週間、数ヶ月または数年などの任意の規則的な時間間隔で生じ得るか、またはファイルがあるサイズに達した場合に生じ得る。
図6を参照する。1つの実施形態において、ジョブ属性が、ファイルがローテートされ得ることを示すならば、エージェントはローテーションが生じたと判定し、したがってファイルデータを転送する。前回送信されなかったローテートされたファイルからの変更が送信され、そして同様に新しいファイルからの変更が送信される。
まず、ファイルが上記と同様に識別される(ステップ520)。エージェントは、識別されたファイルが、エージェントが前回アクセスしたファイルと同じであるかどうかを判定する、言い換えると、エージェントは、ローテーションが生じたかどうかを判定する(ステップ521)。例えば、UNIX(R)システム上で、ファイルシステムはファイルシステム中のファイルにiノードを割り当てる;ファイルが変更される場合、ファイルに新しいiノード番号が与えられる。UNIX(R)システム上で、エージェントは、ファイルが同じiノード番号を有するかどうかを判定することによってファイルがローテートしたかどうかを判定する。ファイルが異なるiノードを有するならば、ローテーションが生じた。ファイルシステムがiノードを使用しないWINDOWS(R) NTTMなどの他のオペレーティングシステムを用いたシステム上では、前回のバージョンを有するカレントファイルの生成または変更日の比較などの他のメカニズムが使用されなければならない。以下の議論において説明を簡単にするために、リネームされるオリジナルファイルを第1のファイルと称し、そして新しく生成された空ファイルを第2のファイルと称す。
ファイルローテーションが生じたならば、エージェントはリネームされた第1のファイルを識別する(ステップ522)。1つの実施形態において、これを行うために、オリジナルファイルと同じ接頭文字を有するすべてのファイルを検索し、そして第1のファイルのiノード、生成または変更日、または初期コンテンツを第1のファイルの記録された既知値と比較することによって一番最近のファイルがどれかを判定する。それらが一致するならば、候補ファイルが第1のファイルであると識別される。別の実施形態において、識別は、オリジナルファイルと同じ接尾文字を有するすべてのファイルを検索することによって行われる。
前のファイルを識別する(ステップ522)と、エージェントは、直近の送信の後にファイルに対する変更(更新)がなされたか否かを判定する。変更がなされている場合、変更が識別される(ステップ523)。変更は上述したように、必要に応じて処理され(ステップ524)、処理されたまたは未処理の変更が受信エージェントに送信される(ステップ525)。受信エージェントは、変更を受け取り(ステップ526)、変更を処理し得る(ステップ527)。受信エージェントは、上述したように、処理されたまたは未処理の変更を格納する(ステップ528)。受信エージェントは、新しいファイル名を通知される(ステップ529)。一実施形態において、通知は、ファイルの名称を変更して送信ホスト上の名称を変更されたファイルと同一の名称を有するようにするという命令である。名称の変更を通知されると、受信エージェントは、ファイル名を変更する。送信エージェントは、第1のソースファイル名からどのような変更がなされたかを決定し、第1の宛先ファイル名にも同一の変更がなされ、これにより宛先ファイルの名称が変更される。前のファイルに変更がなされなかったと判定された場合(ステップ525)、変更は送信されず(ステップ252)、受信されず(ステップ526)、格納もされない(ステップ528)。処理はステップ529で継続する。いずれの場合も、第2のファイルが識別される(ステップ530)。
ステップ521でローテーションが検出された場合、第2のファイルが識別され(ステップ530)、ローテーションが起こらなかった場合、第1のファイルが識別される(ステップ520)。いずれの場合も、処理は図4に示すように継続し、ファイルに対する変更が識別される(ステップ531)。ローテーションが起こった場合、ファイル全体が「変更」である。ローテーションが起こらなかった場合、直近の送信後の変更が識別される。必要に応じて、変更が上述したように処理される(ステップ532)。(処理されたまたは未処理の)変更が、受信エージェントに送信される(ステップ533)。受信エージェントは変更を受け取り(ステップ534)、必要に応じて上述したように変更を処理する(ステップ535)。(処理されたまたは未処理の)変更は、受信エージェントによって、これもまた上述したように格納される(ステップ536)。
方法を特定の順序で起こるステップとして述べたが、ステップの順序は変化し得、送信ステップおよび受信ステップなどのいくつかのステップは同時に起こり得る。さらに、ファイル伝送を、1つの送信器および1つの受信器に関して述べてきたが、ファイル伝送は、上記方法を用いて2つ以上の送信エージェントが各々、ファイルを単一の受信エージェントに通信し得るように、拡張され得ることが明らかなはずである。従って受信エージェントは、送信エージェントからのすべてのファイルの集中格納手段となる。
たとえば一実施形態において図7を参照すると、配信システム内の複数のホスト550−1、550−2、550−3、550−4および550−5(概して550)が、各々、1つのホスト550−1にファイルを通信する。ここでも、図示する複数のホスト550は説明のためにのみ示されており、本発明をいずれかの特定の数のホストに限定することを意図するわけではない。配信システムは、図2のウェブサービスシステムであってもよいし、別のタイプのウェブサービスシステムまたは別のタイプのサービスシステム(たとえばファイルサービスシステム)であってもよい。または、複数のホスト550を含むいかなるシステムであってもよい。各ホスト550は、エージェント556−1、556−2、556−3、556−4および556−5(概して556)を含む。エージェント556は、上述したようなエージェント106であり得る。エージェント106は、ウェブサービスシステム90に対するインターフェースを提供する。または別のシステムにおいては、エージェントはコンテンツ収集に加えて別の機能を有し得る。あるいは、エージェント556は、コンテンツ収集の目的のためのみに用いられるエージェント556であり得る。
各ホスト550は、ファイルシステム553−1、553−2、553−3、553−4および553−5(概して553)を含む。ファイルシステム553はエージェント556によってアクセス可能である。ファイルシステム553は、一時的および永久的データ格納用に用いられる媒体、たとえば、ハードディスク、フロッピー(R)ディスク、リムーバブルディスク、光ディスク、RAM、ROM、FLASH ROM、CD−R、CD−RWなどで実行され得る。ファイルシステムは概して、ホスト550上で動作するオペレーティングシステムによって実行される。ファイルシステムは、物理的にホスト550の一部であってもよいし、シリアルバス、通信ネットワーク、または他のこのようなリンクによってホスト550にアクセス可能でありホスト550と通信していてもよい。
配信システムにおいて、エージェント556−2、556−3、556−4および556−5の各々は、上述した方法のうちの少なくとも1つを用いて、エージェント556−1のうちの1つにファイルを通信する。エージェントの各々には、コンテンツ収集ジョブが割り当てられている。エージェントが起動すると、エージェントは、コンテンツ収集ジョブのいずれを実行するべきでありスケジューリングするべきであるかを決定し、適宜ジョブを実行およびスケジューリングする。ジョブが実行されると、図3、図4および図5に示す方法のうちの1以上を用いてコンテンツ収集が行われる。このようにしてファイルシステム553−2、553−3、553−4および553−5上に格納されたファイルのいくつかの(またはすべての)サブセットが受信ホスト550−1のファイルシステム553−1上に複写される。上述したように、伝送は処理、ファイルデータ変換、テーブルまたはデータベースへのファイルデータの統合、または他の変更を含み得る。その結果、ホスト550上のファイルはすべて単一のシステムに収集される。そうすると、システムオペレータは、様々なホスト550からのファイルにアクセスするために、1つの場所のみを見ればよい。
当業者であれば、本明細書に記載されたことの、請求の範囲に記載の本発明の精神および範囲から逸脱しない変更、改変、および他の実行を考えつく。したがって、本発明は、説明のための明細書によってではなく、請求の範囲の精神および範囲によって規定される。

Claims (14)

  1. コンテンツを伝送する方法であって、
    ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、前記第1のウェブサーバエージェントが前記ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントにソケットを開くことができない場合に、マネージャにソケットを開くステップと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに前記マネージャを介してメッセージを送るステップであって、前記メッセージは前記第2のウェブサーバエージェントが前記第1のウェブサーバエージェントへのソケットを開くことを要求するものであるステップと、
    前記第2のウェブサーバエージェントによって開かれた前記ソケットを使用して前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに更にメッセージを送るステップと、
    前記第1のウェブサーバエージェントによって、前記第2のウェブサーバエージェントに伝送するファイルの1部分を識別するステップであって、前記第1および第2のウェブサーバエージェントはそれぞれ、前記ウェブサービスシステムと前記第1および第2のコンピュータのそれぞれとの間にインターフェースを提供する、ステップと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントへと前記ファイルの1部分を伝送するステップと、
    前記第2のウェブサーバエージェントによって、前記伝送されたファイルの前記1部分を格納するステップと、
    を包含する方法。
  2. 前記識別するステップ、前記伝送するステップ、および前記格納するステップを繰り返すステップをさらに包含する、請求項1に記載の方法。
  3. 前記識別するステップが、前記ファイルの以前に伝送されなかった部分を識別するステップを包含する、請求項2に記載の方法。
  4. 前記識別するステップ、前記伝送するステップ、および前記格納するステップを繰り返すステップをさらに包含し、前記識別するステップが、意の以前の識別するステップに続いて追加されたコンテンツを含む前記ファイルの部分を識別するステップを包含する、請求項1に記載の方法。
  5. 前記識別するステップの前に、前記ファイル上で動作するプログラムを実行するステップをさらに包含する、請求項1に記載の方法。
  6. 前記プログラムはIPアドレスを解決してドメイン名サービスの名前にする、請求項5に記載の方法。
  7. 前記識別するステップが、前記第1のウェブサーバエージェントによって、前記ファイルの、前記ウェブサーバへのユーザ要求に関するログファイルを含む1部分を識別するステップを包含する、請求項1に記載の方法。
  8. 前記識別するステップが、前記ファイルの以前に伝送されなかった部分を識別するステップを包含する、請求項1に記載の方法。
  9. コンテンツを伝送する方法であって、
    ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、前記第1のウェブサーバエージェントが前記ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントにソケットを開くことができない場合に、マネージャにソケットを開くステップと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに前記マネージャを介してメッセージを送るステップであって、前記メッセージは前記第2のウェブサーバエージェントが前記第1のウェブサーバエージェントへのソケットを開くことを要求するものであるステップと、
    前記第2のウェブサーバエージェントによって開かれた前記ソケットを使用して前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに更にメッセージを送るステップと、
    前記第1のウェブサーバエージェントによって、前記第2のウェブサーバエージェントに伝送するファイルの1部分を識別するステップであって、前記第1のウェブサーバエージェントは、前記ウェブサービスシステムと前記第1のコンピュータの間にインターフェースを提供する、ステップと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントへと前記ファイルの1部分を伝送するステップと、
    前記第2のウェブサーバエージェントによって、前記伝送されたファイルの受信された1部分をコンピュータプログラムに入力として提供するステップと、
    を包含する方法。
  10. 前記伝送されたファイルを前記第2のコンピュータ上に、前記第1のコンピュータの名前を一部として含むファイル名で格納するステップをさらに有する請求項に記載の方法。
  11. 前記識別するステップ及び前記伝送するステップは、JAVAメソッドを使用して実施され、前記第2のウェブサーバエージェントはさらにJAVAメソッドを使用して前記伝送されたファイルの前記一部を受信する請求項に記載の方法。
  12. コンテンツを伝送する方法であって、
    ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、前記第1のウェブサーバエージェントが前記ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントにソケットを開くことができない場合に、マネージャにソケットを開くステップと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに前記マネージャを介してメッセージを送るステップであって、前記メッセージは前記第2のウェブサーバエージェントが前記第1のウェブサーバエージェントへのソケットを開くことを要求するものであるステップと、
    前記第2のウェブサーバエージェントによって開かれた前記ソケットを使用して前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに更にメッセージを送るステップと、
    前記第1のウェブサーバエージェントによって、コンピュータプログラムを識別するステップであって、前記第1のウェブサーバエージェントは、前記ウェブサービスシステムと前記第1のコンピュータの間にインターフェースを提供する、ステップと、
    前記第1のウェブサーバエージェントによって前記コンピュータプログラムを実行するステップと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントへと前記コンピュータプログラムの出力を伝送するステップと、
    前記第2のウェブサーバエージェントによって、前記受信された出力をコンピュータプログラムへの入力として提供するステップと、
    を包含する方法。
  13. 前記識別するステップ、前記実行するステップ、及び前記伝送するステップは、JAVAメソッドを使用して実施される請求項12に記載の方法。
  14. コンピュータ読み取り可能記録媒体上に組み込まれたコンテンツを伝送するためのコンピュータプログラムであって、
    ウェブサービスシステム内の第1のコンピュータ上で実行されている第1のウェブサーバエージェントによって、前記ウェブサービスシステム内の第2のコンピュータ上で実行されている第2のウェブサーバエージェントに伝送するファイルの1部分を識別する識別コードセグメントであって、前記第1および第2のウェブサーバエージェントはそれぞれ、前記ウェブサービスシステムと前記第1および第2のコンピュータのそれぞれとの間にインターフェースを提供する、識別コードセグメントと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントへと前記ファイルの少なくとも1部分を伝送する伝送コードセグメントと、
    前記第1のウェブサーバエージェントによって、前記第1のウェブサーバエージェントが前記第2のウェブサーバエージェントにソケットを開くことができない場合に、マネージャにソケットを開くソケットオープニングセグメントと、
    前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに前記マネージャを介してメッセージを送るメッセージ送信セグメントであって、前記メッセージは前記第2のウェブサーバエージェントが前記第1のウェブサーバエージェントへのソケットを開くことを要求するものであるメッセージ送信セグメントと、
    前記第2のウェブサーバエージェントによって開かれた前記ソケットを使用して前記第1のウェブサーバエージェントから前記第2のウェブサーバエージェントに更にメッセージを送る追加的メッセージ送信セグメントと、
    を含む、コンピュータプログラム。
JP2009187566A 1999-12-13 2009-08-12 コンテンツ収集 Expired - Lifetime JP4958951B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/532,483 1999-12-13
US09/532,483 US7143193B1 (en) 1998-05-29 1999-12-13 Content collection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001544209A Division JP2003516586A (ja) 1999-12-13 2000-12-12 コンテンツ収集

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012012307A Division JP2012079350A (ja) 1999-12-13 2012-01-24 コンテンツ収集

Publications (2)

Publication Number Publication Date
JP2010003311A JP2010003311A (ja) 2010-01-07
JP4958951B2 true JP4958951B2 (ja) 2012-06-20

Family

ID=24122007

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001544209A Abandoned JP2003516586A (ja) 1999-12-13 2000-12-12 コンテンツ収集
JP2009187566A Expired - Lifetime JP4958951B2 (ja) 1999-12-13 2009-08-12 コンテンツ収集
JP2012012307A Pending JP2012079350A (ja) 1999-12-13 2012-01-24 コンテンツ収集

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001544209A Abandoned JP2003516586A (ja) 1999-12-13 2000-12-12 コンテンツ収集

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012012307A Pending JP2012079350A (ja) 1999-12-13 2012-01-24 コンテンツ収集

Country Status (5)

Country Link
JP (3) JP2003516586A (ja)
AU (1) AU4716101A (ja)
DE (1) DE10085300T1 (ja)
GB (1) GB2374699B (ja)
WO (1) WO2001042990A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6954751B2 (en) * 2000-09-06 2005-10-11 Oracle International Corporation Accessing data stored at an intermediary from a service
US20030212663A1 (en) * 2002-05-08 2003-11-13 Doug Leno Neural network feedback for enhancing text search
US8489668B2 (en) * 2007-11-13 2013-07-16 Intuit Inc. Open platform for managing an agent network
JP4506841B2 (ja) * 2008-01-23 2010-07-21 日本電気株式会社 ファイル管理方法、ファイル管理装置およびプログラム
US8510807B1 (en) * 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
JP2013062627A (ja) * 2011-09-12 2013-04-04 Nippon Telegr & Teleph Corp <Ntt> ネットワーク情報蓄積装置及び方法及びプログラム
CN103701773A (zh) * 2013-11-29 2014-04-02 金蝶软件(中国)有限公司 基于Web Service的文件传输、服务调用方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954719A (ja) * 1995-08-14 1997-02-25 Meidensha Corp クライアント・サーバ型データベース
JP2830826B2 (ja) * 1996-03-27 1998-12-02 日本電気株式会社 分散ファイルの同期システムと方法
JP3042600B2 (ja) * 1996-08-22 2000-05-15 日本電気株式会社 分散ファイルの同期方式
JPH10224349A (ja) * 1997-02-03 1998-08-21 Hitachi Ltd ネットワークアクセス分析システム
JP4134357B2 (ja) * 1997-05-15 2008-08-20 株式会社日立製作所 分散データ管理方法
GB2327783A (en) * 1997-07-26 1999-02-03 Ibm Remotely assessing which of the software modules installed in a server are active
JPH11238036A (ja) * 1998-02-19 1999-08-31 Nec Corp 分散処理障害ログ自動管理システム
NL1008926C1 (nl) * 1998-04-17 1999-10-19 Koninkl Kpn Nv Netwerkserver en werkwijze voor het aanpassen van verwijzingsgegevens.
JPH11327964A (ja) * 1998-05-14 1999-11-30 Toshiba Tec Corp 店舗監視システム
JP2000076218A (ja) * 1998-08-27 2000-03-14 Ntt Data Corp データベース間の同期化システム
EP1098486B1 (de) * 1999-11-05 2007-09-12 media transfer AG Caching-Verfahren und Cachesystem

Also Published As

Publication number Publication date
GB2374699A (en) 2002-10-23
JP2012079350A (ja) 2012-04-19
DE10085300T1 (de) 2002-10-31
JP2010003311A (ja) 2010-01-07
JP2003516586A (ja) 2003-05-13
WO2001042990A2 (en) 2001-06-14
GB2374699B (en) 2004-07-14
AU4716101A (en) 2001-06-18
WO2001042990A3 (en) 2002-02-14
GB0215573D0 (en) 2002-08-14

Similar Documents

Publication Publication Date Title
US7356589B2 (en) Content collection
JP4958951B2 (ja) コンテンツ収集
US8108347B2 (en) Web server content replication
US7035943B2 (en) Web server content replication
US7761900B2 (en) Distribution of content and advertisement
JP4545943B2 (ja) ウェブサーバコンテンツ複製
AU757667B2 (en) Access to content addressable data over a network
EP1410247B1 (en) A network storage system
CN1528079B (zh) 用于对等服务的方法和装备
US8024306B2 (en) Hash-based access to resources in a data processing network
US20080072264A1 (en) Distribution of content on a network
US10289694B1 (en) Method and system for restoring encrypted files from a virtual machine image
US20020198944A1 (en) Method for distributing large files to multiple recipients
US8365241B1 (en) Method and apparatus for archiving web content based on a policy
US20030046357A1 (en) Intelligent content placement in a distributed computing network
US20020156931A1 (en) Remote file system using network multicast

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100810

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20101108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110310

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110315

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120124

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120312

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120319

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4958951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term