JP5015935B2 - モバイルサイトマップ - Google Patents

モバイルサイトマップ Download PDF

Info

Publication number
JP5015935B2
JP5015935B2 JP2008529108A JP2008529108A JP5015935B2 JP 5015935 B2 JP5015935 B2 JP 5015935B2 JP 2008529108 A JP2008529108 A JP 2008529108A JP 2008529108 A JP2008529108 A JP 2008529108A JP 5015935 B2 JP5015935 B2 JP 5015935B2
Authority
JP
Japan
Prior art keywords
document
site map
information
url
documents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008529108A
Other languages
English (en)
Other versions
JP2009510547A (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
Application filed by グーグル・インコーポレーテッド filed Critical グーグル・インコーポレーテッド
Priority claimed from PCT/US2006/032700 external-priority patent/WO2007027469A2/en
Publication of JP2009510547A publication Critical patent/JP2009510547A/ja
Application granted granted Critical
Publication of JP5015935B2 publication Critical patent/JP5015935B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本出願は、2005年8月29日出願の米国特許出願第11/214,708号の継続出願であって、その優先権を主張するものであり、参照によりこの出願を本明細書に組み込む。
本発明は、インターネットなどネットワーク上の情報の検索(locating)に関し、より詳細には、モバイルデバイスに役立つ検索エンジンなどのアプリケーションが、そのデバイスによって表示され得る形式のドキュメントに関連する結果をより容易に送ることができるように、モバイルフォーマットされたウェブサイトなどのドキュメントにインデックスを付ける技術に関する。
インターネットおよび他のネットワークで利用可能な情報が増加するのにつれて、それらに関連した特定の情報を検索することが、ユーザにとってより困難になる。例えば、「自転車に乗る」ことについて情報を探すユーザは、自転車に乗ることの生理学的な側面、特定の地域でのサイクリングルート、特定のスポーツ用品会社の相対的な販売に関する経済情報、または様々な自転車会社の販売ページに関する情報を得る可能性がある。ユーザに与えられた情報は、十分に研究された非常に専門的な情報から、不正確か、またはほとんど役に立たない指示にまで及ぶ可能性もある。ユーザは、できるだけ多くの情報にアクセスして、最悪の材料から最良の成果が検索されることも望むものである。
検索エンジンは、ユーザが関連データを見つけるのに役立つ。そうするために、検索エンジンは、ユーザが検索を要求するときインデックスを速く検索することができるように、一般に、利用可能なデータをすべて分類するかインデックスを付ける。一般に、検索エンジンは、例えば、ウェブページまたは画像ファイルなどのドキュメントに次々と接続するリンク(ハイパーリンクとも呼ばれる)をたどる「ウェブ巡回ロボット」を使用することにより情報を発見する。より詳細には、巡回ロボットは、各ウェブページを訪れ、次いで、そのページのすべてのリンクおよび下位のページのすべてのリンクを「クリックする」ことによって、すべてのページを訪れてインデックス付けするまでウェブを「サーフィン」する非常に好奇心の強い人によく似た動作をすることができる。このプロセスは「発見ベースの」クロール(“discovery-based”crawling)と呼ばれることがある。
従来の発見ベースのクロールは、いくつかの状況においてある欠点を有することがある。例えば、巡回ロボットが単にリンクをたどることによって発見することができないドキュメントがあるかもしれないので、クロール有効範囲が不完全かもしれない。また、巡回ロボットは、メニュー、ジャバスクリプトのスクリプトおよびデータベースのクエリを作動させるフォームなど他のウェブベースのアプリケーションロジックに埋め込まれているいくつかのリンクを認識しないかもしれない。また、巡回ロボットは、ドキュメントが先のクロール以来変化したかどうか識別しない可能性もあり、したがって、現在のクロールサイクルの間にこのドキュメントがスキップされるおそれがある。さらに、巡回ロボットは、特定のウェブサイトをいつクロールするべきであるか、クロールプロセス中にそのウェブサイトにどれだけの負荷を置くべきか、識別しないかもしれない。高トラフィック期間中のウェブサイトのクロールおよび/またはクロール中の過大負荷は、ウェブサイトからのネットワーク資源を消耗する恐れがあり、他者に対してウェブサイトをアクセスしづらくする。
巡回ロボットがモバイルコンテンツを探しているとき、その他の障害が発生するかもしれない。具体的には、インターネット上で利用可能な大部分のウェブサイトは、テキスト、図、アニメーションおよび他のリッチコンテンツを表示できるフル機能のデスクトップブラウザプログラム(例えばNetscape Navigator、Internet ExplorerまたはFirefox)で見るように意図されている。携帯用情報端末および携帯電話など多くのモバイルデバイスは、特定のタイプのコンテンツを表示するように能力が限定されている。したがって、それがモバイルコンテンツか、また、あるデバイスに適切に表示されるかどうかによって、あるインデックスを付けられたコンテンツを分類することが好ましいであろう。しかし、巡回ロボットがモバイルコンテンツを得ようとするとき、巡回ロボットは、コンテンツを得るために、ブラウザを使用して、実際の人間の動作をまねようとするかもしれない。すべてのタイプのコンテンツを確実に得ることができるように、巡回ロボットは、いくつかのモバイルデバイスが対応していない大きなフィーチャのセットを引き受けるかもしれず、したがって、何人かのユーザに対して不適当なコンテンツを指し示す恐れがある。また、巡回ロボットは、その巡回ロボットがフル機能のブラウザを有する高度なユーザであることを示すユーザエージェントストリングをサーバへ渡すかもしれない。次いで、サーバは、そのようなフル機能のブラウザを意図したコンテンツを返すかもしれず、また、特定のモバイルデバイスまたはモバイルデバイスのクラスを意図した等価であるがより簡単なモバイルコンテンツを隠すかもしれない。
したがって、巡回ロボットシステムの使用によるものなどのモバイルドキュメントの正確な解析を提供する能力の必要性がある。
この文献は、一般に、コンテンツプロバイダが、ウェブページなどの1つまたは複数のネットワークにアクセス可能なドキュメント用のサイトマップを作成することができ、かつ検索エンジンに関連したコンピュータなどの遠隔コンピュータにサイトマップを提示することができるシステムおよび方法について論じる。そこで、遠隔コンピュータは、ドキュメントまたはドキュメント中の情報に、より効率的にアクセスおよび/またはインデックス付けするためにサイトマップにアクセスすることができる。ウェブサイトまたは自動のコンテンツ管理システムを構築したウェブマスタなどのコンテンツプロバイダは、あるコンテンツが、特定のモバイルデバイスまたは表示能力が限定された他のデバイス上の表示を意図することを示してよい。遠隔コンピュータは、データへのアクセスおよびクロールのために適切な仕組みを選択するように、そのような指示を使用することができる。例えば、巡回ロボットは、XHTMLフォーマットのコンテンツの解釈を対象とするインスタンスを実現することができる。
一実施形態では、ドキュメントまたはドキュメントの関係を解析する方法は、1つまたは複数のネットワークアクセス可能なドキュメントについての情報を含む利用可能なメタデータドキュメントの通知を受け取るステップ、メタデータドキュメントに関連したドキュメントフォーマットインジケータを得るステップ、ドキュメントフォーマットインジケータを使用してドキュメント巡回ロボットを選択するステップ、および選択されたドキュメント巡回ロボットを使用してネットワークアクセス可能なドキュメントのうちの少なくともいくつかをクロールするステップを含む。ネットワークアクセス可能なドキュメントは、共通ドメインで複数のウェブページを備えてよく、メタデータドキュメントは、ドキュメント識別子のリストを含んでよい。さらに、ドキュメントフォーマットインジケータは、XHTML、WML、iModeおよびHTMLを含む1つまたは複数のモバイルコンテンツフォーマットを示すことができる。
いくつかの実装形態では、ネットワークアクセス可能なドキュメントのうちの少なくともいくつかのクロールから検索された情報が、インデックスに加えられてよい。また、モバイルデバイスから検索要求が受け取られてよく、検索結果は、インデックス中の情報を用いてモバイルデバイスに伝送されてよい。利用可能なメタデータドキュメントは、ドキュメントの複数のリストを参照するインデックスを備えてもよい。さらに、1つまたは複数のネットワークアクセス可能なドキュメントのためのドキュメントタイプの指示(例えば、ニュース、娯楽、通商、スポーツ、旅行、ゲームおよび金融)を受け取ることができ、このドキュメントタイプの指示を用いてドキュメントを分類することができる。プロバイダが信頼されていること保証するために、ドキュメントタイプの指示のプロバイダを確かめてもよい。
別の実装形態では、ネットワークアクセス可能なドキュメントのリストを作成する方法が提供される。この方法は、関連したネットワークアクセス可能なドキュメントの構造を示すドキュメントを生成するステップ、ならびにアクセス用にマッピングドキュメントが利用可能であるという指示およびドキュメントのフォーマットの指示を含む通知を遠隔コンピュータに伝送するステップを含む。マッピングドキュメントは、ドキュメント識別子のリストを含んでよく、ドキュメントフォーマットの指示は、ドキュメントを解釈する能力に影響を与える1つまたは複数のモバイルドキュメントフォーマットを示してよい。通知は、マッピングドキュメントの位置の指示を含んでもよく、ユーザがウェブベースのフォームに記入するとき伝送されてよい。
別の態様では、ネットワークアクセス可能なドキュメントをクロールするためのシステムが論じられる。このシステムは、1つまたは複数のウェブサイトにネットワークアクセス可能なドキュメントについての構成上の情報を格納するメモリ、ドキュメントについてのフォーマット情報、構成上の情報を用いてネットワークアクセス可能なドキュメントにアクセスするように構成された巡回ロボット、およびフォーマット情報によって示されたフォーマットに適合するペルソナを巡回ロボットに仮定させるように巡回ロボットに対応付けられたフォーマットセレクタを含む。構成上の情報は、URLのリストを含んでよい。また、選択されたペルソナを巡回ロボットに仮定させるためのパラメータを格納するエージェントリポジトリが与えられてよい。
別の実装形態では、ネットワークアクセス可能なドキュメントをクロールするためのシステムが提供され、1つまたは複数のウェブサイトにネットワークアクセス可能なドキュメントについての構成上の情報を格納するメモリ、ドキュメントについてのフォーマット情報、構成上の情報を用いてネットワークアクセス可能なドキュメントにアクセスするように構成された巡回ロボット、およびネットワークアクセス可能なドキュメントへのアクセスを与えるように巡回ロボットペルソナを選択するための手段を含む。
別の実装形態は、コンピュータシステムとともに使用するためのコンピュータプログラム製品を含む。この製品は、埋め込み式のコンピュータ可読記憶媒体およびコンピュータプログラムの仕組みを含む。この仕組みは、関連したネットワークアクセス可能なドキュメントの構造を示すマッピングドキュメントを生成し、かつアクセス用にリストが利用可能であるという指示およびドキュメントのフォーマットの指示を含む通知を遠隔コンピュータに伝送するための命令を含む。マッピングドキュメントは、ドキュメント識別子のリストを含んでよく、ドキュメントフォーマットの指示は、ドキュメントを解釈する能力に影響を与える1つまたは複数のモバイルドキュメントフォーマットを示してよい。さらに、通知は、マッピングドキュメントのロケーションの指示を含んでよく、この指示は、ユーザがウェブベースのフォームに記入するとき伝送されてよい。
本発明の1つまたは複数の実施形態の詳細が、添付図面および以下の説明に示される。本発明の他の特徴、目的および利点は、説明および図面ならびに特許請求の範囲から明らかになる。
様々な図面において同じ参照符号は同じ要素を示す。
図1は、システム10の一部における情報の構成へのアクセスおよび解析のためのシステム10内の要素間の通信を示す概念図である。一般に、システム10は、ウェブマスタなどのユーザが、ウェブページなど複数のリンクされたドキュメントのコンテンツを含むウェブサイト向けのコンテンツを開発することができるように構成される。そこで、ユーザは、ドキュメント構成の表現である「サイトマップ」を作成することができる。例えば、以下でより詳細に説明されるように、サイトマップは、ウェブサイトの構成を示すURLのリストを有するXMLまたは他の類似のファイルフォーマットを含んでよく、コンテンツが格納されるフォーマット、コンテンツがアクセスされるべき速度、およびコンテンツの表示が更新されるべき頻度など、ある追加の一般的なデータまたはメタデータも含んでよい。
そこで、ユーザは、直接またはアプリケーションプログラムを介して、検索エンジン向けの巡回ロボット(crawler)の要素など別のシステムに、サイトマップが有効であることを通知してよく、サイトマップのロケーションを与えてもよい。ユーザは、サイトマップが関係するドキュメントのフォーマットの指示を与えてもよい。例えば、それらがモバイルドキュメントであるならば、ユーザは、ドキュメントがXHTML、WMLまたはiModeフォーマットを有することを示すことができる。次いで、巡回ロボットは、検索エンジンのインデックスへの格納などのために、適切なクロールモードを選択し、かつドキュメントからより効率的に情報検索するように、この提示された情報を用いることができる。
ドキュメントまたはドキュメントのフォーマットのグループの識別も自動的に行われてよい。例えば、自動プロセスは、その特徴からドキュメントのフォーマットを暗示することにより、1つまたは複数のドキュメントの特徴を識別することができる。そのようなプロセスもマシン学習システムによって実行することができ、それによって、自動的に判断することができ、判断の精度がテストされ、フォーマットに従ってドキュメントを分類するためのルールがシステムの分類能力の向上に応じて更新される。特定のフォーマットを有するものとして分類するために、(諸)ドキュメント(a document or documents)のコンテンツに対して所定のルールのセットが適用されてもよい。そのような分類技術は、Google社に譲渡された、2005年6月15日出願の「Electronic Content Classification」という名称で同時係属の米国特許出願第11/153,123号に開示されており、参照によってその全体を本明細書に組み込む。
サイトマップが、データベースクエリによってのみアクセス可能なドキュメントなど、後続のリンクによるアクセスが不可能なドキュメントを含むことがあるので、ウェブ巡回ロボットがサイトマップを使用すると、より大きなクロール範囲を招く可能性がある。サイトマップは、最終修正日付を与えることもできる。ウェブ巡回ロボットは、ドキュメントが変化しているかどうか判断するために最終修正日付を用いることができ、それによって内容が変化していないドキュメントをクロールするのを避けることができる。変化していないドキュメントをクロールしないようにサイトマップを使用すると、ウェブ巡回ロボットおよびネットワーク巡回ロボットをかなり効率よくすることができる。サイトマップは、ウェブ巡回ロボットが、どのドキュメントを最初にクロールするか、ドキュメントをクロールするのに与えるべきフォーマットまたはペルソナ、およびクロール中にウェブサーバ上にどれだけの負荷を置くべきか、そこから判断することができる情報も含む。これも、ネットワーク資源を保護するのを支援することができる。
この例示のシステム10における主要構成要素は、クライアント14、クライアント14に関連したサーバ16、およびクライアント14と直接には関連しないサーバシステム12である。クライアント14は、例えば、クライアント14あるいはサーバ16またはサーバシステム12など他のコンピュータ上で走るプログラムにアクセス権を与えるように構成されたパーソナルコンピュータまたは他のコンピュータでよい。クライアントは、携帯用情報端末、ワークステーション、キオスクのコンピュータまたは他の適切なコンピュータプラットフォームでもあり得る。
サーバ16は、例えば、ウェブサーバまたはウェブに関連したコンテンツが格納されているウェブサーバと通信しているサーバでよい。したがって、例えば、クライアント14のユーザは、ウェブサイトを構築するウェブページなど複数のドキュメントを開発するために作業することができる。ユーザは、様々なドキュメントの間に、また、そのドキュメント中に、ハイパーリンクを挿入することができ、サーバ16上に格納されて、または他のところに、ウェブサイト外の他のドキュメントへのリンクも含めることができる。サーバ16は、それ自体がクライアント14の一部でもよい。特定の物理的構成は重要ではなく、様々な実装形態が当業者によって理解されるであろう。クライアント14およびサーバ16が、一般に単独の会社(ウェブサイトを有する企業など)によって稼動され、一方、サーバシステム12が、一般に個別の会社(検索エンジンプロバイダなど)によって稼動されるであろうということを示すために、クライアント14およびサーバ16は、サーバシステム12から分離した点線のボックス内に示されている。
サーバシステム12は、クライアント14およびサーバ16から離れたシステムの一部でよい。サーバは、例えばGoogleによって運転されるものなど、検索エンジンシステムの一部でよい。一連の類似のサーバコンピュータとして示されているが、サーバシステム12におけるサーバは、例えばクライアントからの要求を受け取って、要求に対して適切なレスポンスを与えるためのブレードサーバまたは他のコンピュータプラットフォームを含むことができる。以下でより詳細に説明されるように、サーバ16は、要求に応じるために適切な情報を集めるためのコンテンツサーバおよび適切な宣伝用コンテンツを選択し生成するための広告サーバとともに、要求を受け取ってレスポンスを伝送するためのウェブサーバを含んでよい。用語「クライアント」および「サーバ」の使用は、どちらのタイプのコンピュータにも特定の必要条件を課するようには意図されない。むしろ、クライアントは単にあるデータへのアクセスを期待するコンピュータでよく、一方、サーバはデータを供給するコンピュータでよい。したがって、単一のコンピュータが、ある状況ではクライアントであり、別の状況ではサーバであり得る。
図1において、文字の入った矢印は、システム10の要素間の情報の流れの例を示す。矢印Aによって示された最初の通信セッションでは、クライアント14は、ウェブベースのドキュメントなどのコンテンツを作成するためにサーバ16と通信する。例えば、クライアント14は、ウェブ製作アプリケーション(例えば、Adobe Sitemill、GoLive CyberStudio、HoTMetal Pro、Macromedia Dreamweaver、NetObjects Fusion、またはMicrosoft FrontPage)またはより複雑なコンテンツ管理システム(例えばVignette、Interwoven、またはStellant)のインスタンスを実行してよい。ユーザは、複数のウェブページを生成することができ、それらを様々なやり方でともに連結することができる。また、あるページ(例えば深いウェブコンテンツ)は、一般的な発見ベースのクロールが到達できるやり方でなければリンクできないかもしれない。ウェブアクセス可能なコンテンツを開発するためのプロセスは周知である。
以下でより詳細に説明されるように、ユーザがドキュメントを公に利用可能にすることを意図するときなど、ドキュメントがある完成時点にあるとき、ユーザは、ドキュメント用のサイトマップ17を生成することができる。サイトマップ17は、ドキュメントの構成の一部またはすべてを示してよく、例えば、ドキュメント用のリストまたはユニフォームリソースロケータ(URL)のグループ化を含むことができる。サイトマップ17は、所定のXMLタグを使用して、エクステンシブルマークアップランゲージ(XML)ドキュメントなどの適切な形式をとってよい。以下でより詳細に説明されるように、サイトマップ17は、ドキュメントがクロールされるべきやり方についての一般的情報などの他の情報を含んでよい。他のフォーマットも、プレーンテキスト、コンマで区切られた値およびセミコロンで区切られた値を含んで使用されてよい。したがって、サイトマップ17は、他のアプリケーションによって、ドキュメントの構成に対するガイドとしてメタデータの形で使用されてよい。
次いで、矢印Bによって示されるように、クライアント14は、(自動的にまたは手動で)サーバシステム12と連絡をとり、サイトマップ17についての情報を伝送することができる。例えば、クライアント14は、サイトマップ17のロケーションを提供してよい。さらに、クライアント14は、サイトマップ17に関連したドキュメントのフォーマットについての情報を提供してよい。例えば、クライアント14は、モバイルコンテンツ規格など特定の規格に従ってドキュメントがフォーマットされていることを示してよい。クライアント14は、ドキュメントをどれくらい頻繁にクロールするべきか(すなわち、たびたび更新されるドキュメントはたびたびクロールされるべきであるが、ほとんど更新されないドキュメントは、たびたびクロールされるべきでない)の指示を与えてもよい。他のそのようなパラメータも、クライアント14によって与えられ得る。1つまたは複数のそのようなパラメータもサイトマップ17または他の関連した(諸)ドキュメントに含まれてよく、その結果、サーバシステム12は、これらのパラメータに、クライアントの教唆で与えられるのでなくアクセスすることができる。
矢印Cは、サイトマップ17が存在することを一旦通知されたならば、サーバシステム12がサイトマップ17のデータを得ることができることを示す。例えば、サーバシステム12は、矢印Bによってラベルが付けられた通信で識別されたロケーションに対してHTTP要求を出すことができ、それによってサイトマップ17内のデータを得ることができる。さらに、サイトマップ17は、1つまたは複数の他のサイトマップを指すサイトマップインデックス、またはサーバシステム12が、サーバ16でドキュメントの構成についての情報を得ることを可能にする、サイトマップと関連した別のドキュメントでよい。
次いで、サーバシステム12は、矢印Dを通って、サーバ16上に格納されたドキュメントをクロールするかそうでなければドキュメントにアクセスすることができる。適切な環境において、サイトマップにリストを作成された各URLを通って進むことにより、クロールプロセスが生じることがあり得る。そのような識別されたドキュメントも、アクセスされたドキュメントのフルセットが、サイトマップにリストを作成されたドキュメントのスーパーセットを含み、また、すべてのドキュメントがそれらのドキュメント中で直接的または間接的に参照されるように、発見ベースのクロールによってナビゲートされてよい。
ドキュメントフォーマットインジケータがサーバシステム12に渡されていると、サーバシステム12は、クロール動作を行うためにブラウザの特定のペルソナを選択することができる。例えば、その要求において、巡回ロボットは、特定のデバイスまたはデバイスのクラス向けのユーザエージェントインジケータを含むことがある。例えば、ユーザエージェントインジケータは、巡回ロボットがWMLフォーマットのコンテンツを解釈することしかできないという指示を与えるかもしれない。そのようなインジケータを与えることにより、巡回ロボットが適切なフォーマットでコンテンツを受け取り、他のより複雑なコンテンツに向けられないであろうということを保証するのに役立つことができる。
巡回ロボットを有する特定のユーザエージェントを使用しても、巡回ロボットに、適切なフォーマットと関係がある特定のインデックス中のドキュメントについての情報を配置させることができる。例えば、サーバシステム12は、モバイルデバイスに表示するように設計されたコンテンツおよびモバイルデバイスには複雑すぎるコンテンツのために個別のインデックスを保持してよい。iMode、3g、xhtml、pdahtmlまたはwmlなどモバイルコンテンツの特定のタイプ(またはタイプのグループ)向けに、個別のインデックスも保持されてよい。したがって、後にユーザが検索要求を出すとき、システムは、ユーザが有するデバイスのタイプを判断することができ、そのようなデバイスに表示され得るコンテンツに関連したインデックス中でのみ検索することができる。適切なフォーマットのコンテンツが検索されるように、すべてのコンテンツが、各ドキュメントまたはドキュメントのグループのフォーマットを識別するのに有効なパラメータを有して、単一のインデックスに格納されてもよい。
要するに、今しがた説明されたプロセスによって、ウェブサイトの作成者は、ネットワークアクセス可能な(例えばLAN、WANまたはインターネット)あるドキュメントの構成を表す(諸)ドキュメントを手動で、または自動的に生成することができる。ユーザまたはユーザのアプリケーションは、インターネット検索エンジンと関連しているサーバなど(諸)遠隔サーバに、例えば(諸)ドキュメンについてのURLを渡すことによって、ドキュメントおよび恐らくドキュメントに関係する追加パラメータのロケーションを通知することができる。次いで、遠隔サーバは、(諸)サイトマップを使用して、サイトマップがなければ不可能なほど、より効率よく、より正確に、すなわちより完全に、ドキュメントをトラバースする。さらに、サーバは、巡回ロボットがモバイルフォーマットのコンテンツなど関係のあるコンテンツを得ることを可能にする巡回ロボットの特定のペルソナを選択してよく、また、インデックスを付けられた他のコンテンツと別にこの特別のコンテンツを格納するか、そうでなければこのコンテンツにフラグを立ててよい。
図2は、検索エンジンによるアクセスのためにインターネットドキュメントにインデックスを付けるためのシステム10の概略図である。再び、システムは、クライアント14、サーバ16およびサーバシステム12を含む。この図には、特にサーバシステム12の構成に関して追加の詳細が示されている。ここに図示されて説明された特定の構成は単に例示である。特定のアプリケーションのニーズによって必要とされるとき、他の適切かつ等価な構成も使用されてよい。また、様々な要素が加えられてよく、図示された要素が除去されてよく、あるいはシステム10の動作を変えることなく様々な要素が組み合わせられるかまたは分離されてよい。
図2では、クライアント14は、LANまたはWANなどのネットワークを介してサーバ16にリンクして示されている。したがって、例えば、クライアント14およびサーバ16は、単一組織または関連した組織の中で動作するコンピュータを備えてよい。例えば、クライアント14は、組織のウェブ管理者またはプログラマに割り当てられたパーソナルコンピュータでよい。サーバ16は、ウェブサーバと通信中のウェブサーバまたはコンピュータなどの構成によって動作されるサーバでよい。図示されたように、クライアント14は、サイトマップ17が生成されてサーバシステム12などに対して有効になるように、サーバ16と通信することができる。
サーバシステム12は、例えばインターネット、セルラー式データシステム、および公衆交換電話網(PSTN)を含み得るネットワーク20を介して、他のシステムに加えてクライアント14およびサーバ16と通信することができる。サーバシステム12と他の要素間の通信を管理するために、インターフェース22が与えられてよい。インターフェース22は、例えば1つまたは複数のウェブサーバを含んでよい。インターフェース22は、サーバシステム12の残りとの通信のいくらかまたはすべてを制御することができる。例えば、インターフェース22は、サーバシステム12の外から受け取られたメッセージを、サーバシステム12中の他の要素によって使用することができる形式へ再フォーマットすることができ、サーバシステム12中の適切な(諸)要素へメッセージを送ることもできる。さらに、インターフェース22は、サーバシステム12中の複数の要素からの情報を組み合わせて、サーバシステム12の外部に伝送することができるHTTPメッセージなどの形式へフォーマットすることができる。
インターフェース22は、例えば入力メッセージを解析するように構成され得る要求インタープリタ36へメッセージを与えてよい。そのような解析によって、要求インタープリタ36は、サーバシステム12中の様々な要素のうちのどれが特定のメッセージを受け取るべきか判断することが可能になる。メッセージが送られてきたロケーションまたは送ったデバイスのタイプなどメッセージの特性を求めるために、要求インタープリタ36は、例えばヘッダ情報を調べることがある。要求インタープリタ36は、システム12のどの要素がメッセージまたはメッセージ中のある情報を見る必要があるか判断するために、構文上の指示などでメッセージのコンテンツを調べることもある。要求インタープリタ36は、インターフェース22の一部でもよい。
検索結果を要求する入力メッセージは、検索エンジン26に送られてよく、検索エンジン26は、当技術で既知のように、検索要求に応じて適切な結果を与えることができる。例えば、検索エンジン26は、検索要求のコンテンツをインデックス28に格納された情報と比較することができる。インデックス28は、検索エンジン26が、URLなどを介してユーザに役立つ情報への接続をユーザに提供することができるように、インターネットなどのネットワーク上のドキュメント中の情報を表すデータを含むことができる。検索エンジン26は、周知のPageRankプロセスなどの方法を用いて、サーチ結果に対する一致を識別し、かつランク付けすることができる。
そのような結果は、結果を集めてフォーマットすることができるコンテンツサーバ32を介して送られてよい。例えば、コンテンツサーバ32は、ほぼ同時の多数のサーチ要求を大規模システムにわたって扱うことができるように、複数の検索エンジン26のインスタンスから結果を受け取ることができ、各要求の一部は、特定の検索エンジン26要素によって扱われる。コンテンツサーバ32は、個々に生成された結果のすべてを、各一致の抜粋およびアドレス情報とともに、URLのリストなどの結果リストへ合併してよい。
要求に応答した宣伝用のコンテンツなど他のコンテンツが、広告サーバ34によって提供されてよい。広告サーバ34は、それぞれが1つまたは複数のキーワードまたは他の識別子に関連する複数の販売促進項目にアクセスしてよい。広告サーバ34は、要求と識別子の一致を探してよく、次いで、要求と一致する販売促進項目を選択してよい。項目の選択および順位付けは、例えば、広告主が支払うことに合意した額、その項目についての要求と識別子の間の一致の度合、および要求と項目の間の関連性の指標(同じ要求を出している他のユーザがどれくらい多くその項目を選択したかなど)に基づいてよい。次いで、インターフェース22は、広告サーバ34とコンテンツサーバ32からの結果を組み合わせてよく、生成されたウェブページの形などで要求に対する結果を作成する。
検索エンジン26によって使用されるインデックス28は、巡回ロボット24によってネットワークから集められたデータを用いて構築され維持され得る。具体的には、巡回ロボット24は、ドキュメント間のリンクおよびそのドキュメント中のリンクの使用、あるいは、ドキュメント、それらのロケーション、および/またはそれらの他のドキュメントとの関係について供給されたマッピング情報の使用などによって、ネットワーク上のドキュメントをトラバースすることができる。巡回ロボット24は、連続的にまたはほぼ連続的に動作することができ、複数のクロールする列または連携して動作する個別のサーバまたは全く別個の諸巡回ロボットへ分割され得る。
巡回ロボット24は、ドキュメントの特定のフォーマットまたはスタイルを識別するように構成されてよく、あるいは複数のフォーマットまたはスタイルを解析するように構成されてよく、また、様々な有効なフォーマットまたはスタイルの間で切り換えられてよい。そのため、巡回ロボット24は、ネットワーク20上のドキュメントから情報を得るプロセスにおいて、複数の様々なエージェントまたはエージェントの組合せの役を勤めることができるかもしれない。例えば、巡回ロボット24は、WMLまたはXHTMLの能力を有する携帯電話、またはiModeデバイスの役を勤めることができる。モバイルフォーマット向けの巡回ロボットは、他のクロールするパイプラインより、個別のインスタンスまたは巡回ロボットのインスタンスとして動作することができる。しかし、モバイルのインスタンスの可視性を制限するパラメータを例外として、クロール向けの同じ一般的な構造が、フル機能のデスクトップのクロールのインスタンスと機能が限定されたモバイルのクロールの間で共有され得る。さらに、以下に説明されるように、モバイル巡回ロボットと非モバイル巡回ロボットは、ユーザまたはアプリケーションがシステムとインターフェースをとる共通のフロントエンドを共有することができる。
巡回ロボット24は、ルールセット30からのそのような各エージェント向けのパラメータにアクセスすることができる。ルールセット30は、例えば、第1のエージェント30aを定義するパラメータを含んでよく、このパラメータは、例えば、通常のHTMLフォーマットの情報を得るためのエージェントを定義してよい。ルールセット30は、第2のエージェント30bも含んでよく、このパラメータは、例えば、XHTMLおよびWMLフォーマットの情報を得るためのエージェントを定義してよい。最終的に、ルールセット30は、例えばiModeフォーマットの情報を得るためのエージェントを定義することができるn番目のエージェント30cを含んでよい。他のフォーマットまたはフォーマットのグループ向けの他のエージェントも定義されて有効になり得る。
巡回ロボット24は、あるドキュメントをクロールするとき巡回ロボット24によって得られたペルソナを制御するフォーマットセレクタ25を含んでもよい。フォーマットセレクタ25は、特定のサイトマップに対応する記憶装置27中の値を調べることにより、例えば特定のエージェント30a〜30nを選択してよい。例えば、クライアント14が、特定のフォーマットに一致するものとしてサイトマップ17を識別したならば、その同定が記憶装置27に格納されてよい。次いで、ユーザが最初にサイトマップ17の位置を与えた後、またはサイトマップ17の所定の更新時期などに、巡回ロボット24が、サイトマップ17によって示されたドキュメントをクロールすることを判断したとき、巡回ロボット24は、記憶装置27からのフォーマット識別および際とマップのロケーションにアクセスしてよく、巡回ロボット24が特定のデバイスのペルソナ(persona)またはデバイスのクラスを示すことを認可するエージェント30a〜30nを選択してもよい。次いで、巡回ロボット24は、サイトマップ17に関連したドキュメントをクロールし始めてよい。
サーバシステム12は、理解しやすいように、限定された数の要素しか含まずに図示されている。しかし、必要に応じてシステム10のユーザにフル装備のサービスを与えるように、システムは、多くの追加の機能および要素を含むことがあることを理解されたい。例えば、サーバシステム12は、ニュース、天候、ポータル、買物、マッピング、および他のサービスを提供することができる。さらに、サーバシステム12の要素は、適切に組み合わせるかまたは分離してよい。
図3は、システム内の情報の構成にアクセスし解析するための動作を示す流れ図である。理解しやすいように、その動作は、クライアント、ローカルサーバおよび遠隔サーバで起こるものとして示される。しかし、動作または類似の動作は、より少数のコンピュータ、または異なる構成で配置されたコンピュータによって実行することもできる。
この方法では、サイトに関係するドキュメントの構成を求めるために、最初にウェブサイトがスキャンされる(50)。そして次に、ウェブサイトが格納されているローカルサーバが、ウェブサイトに関する情報をもたらす(52)。例えば、ウェブサイトの作成者は、インターネット上で、一般向けなど、作成者がネットワークを介して利用可能な形にしたいウェブサイト上のすべてのページのURLを明らかにしてよい。次いで、それらのURLが、互いにリンクするドキュメントなのか、またはリンクのないドキュメントを表すのか、作成者はサイト用にURLまたは他のドキュメント識別子のすべてのリストを作成してよい。あるいは、ウェブサイトは、サイトを生成するために使用されたドキュメント管理システムなどによって、自動的に解析またはスキャンされてよい。
次いで、サイトマップを生成することにより、ドキュメントの構成が記録されてよい(54)。サイトマップは、例えば、所定のフォーマットを有するXMLドキュメントであってよく、ウェブサイトのドキュメント用のURLのリストを含んでよい。さらに、一般的なメタデータがサイトマップに加えられてよい(56)。例えば、以下でより詳細に説明されるように、サイトマップによって参照されたドキュメントのフォーマットに関するデータ、ドキュメントがアクセスされるべき速度、およびサイトマップに関する情報を更新する頻度は、すべて全体的なメタデータ中で指定されてよい。次いで、サイトマップは、ウェブサイト情報とともにローカルサーバ上などに格納されてよい(58)。サイトマップ用メタデータの生成も、手動で、または自動的に行われてよい。
一旦サイトマップが生成され格納されれば、遠隔サーバに識別され得て(60)、遠隔サーバは、サイトマップに関するそのような通知を受け取った(62)後に、このサイトマップにアクセスすることができる。通知は、遠隔サーバによってホストされたウェブサイトまたは遠隔サーバと関連するサーバにログオンしているユーザによってなど、手動で行われてよい(例えばクリアリングハウスが1つのセントラルポイントでサイトマップ情報を集めて様々な検索エンジンと共有するとき、例えばすべての検索エンジンが同時に情報を受け取るように、所定の更新時点で、または検索エンジンがユーザのウェブサイトに巡回ロボットで過大な負荷をかけないように、ずれた時点で)。
様々な情報が通知の一部として提示されてよい。例えば、サイトマップのロケーションなど最小限の情報が提示されるかもしれず、遠隔サーバは、サイトマップまたは関連したドキュメントから追加情報を得るかもしれない。あるいは、ウェブサイトのドキュメントのフォーマット、また、そうでなければ(またはそれに加えて)サイトマップに配置された他のメタデータなどの追加情報が提供されてよい。あるいは、通知は、全サイトマップのサブミッションを含んでよい。
一旦遠隔サーバが必要な通知情報を受け取ると、遠隔サーバは、調査する必要があるかもしれないあらゆる追加情報を求めて、サイトマップまたは関連するドキュメントを調査し、サイトマップまたはユーザのウェブサイトを解析することができる(66)。ローカルサーバは、そのようなあらゆる要求に従って応答することができる(64)。例えば、通知が最小限の情報しか含んでいないと、遠隔サーバは、ウェブサイトのクロールを行うために追加情報を得る必要があるかもしれない。そのような追加情報の検索は、遠隔サーバに通知するときに不完全な情報を提供するユーザに依存するので、その結果、これらのステップはしばしば不要になるはずであり、これらのステップの枠は点線で示されている(64、66)。
遠隔サーバは、ウェブサイトをクロールするために、巡回ロボットのタイプまたは巡回ロボットのペルソナを選択してもよい(68)。例えば、ユーザが、ウェブサイトを、特定のモバイルベースのフォーマットによってフォーマットされているものと同定したならば、遠隔サーバは、そのウェブサイトをクロールするとき、そのようなモバイルコンテンツを見るためのデバイスの性能をシミュレートするかもしれない。
遠隔サーバがサイトマップを検索するために十分な情報を有するとき、遠隔サーバは、サイトマップにアクセスして、ウェブサイトをクロールするためにサイトマップの情報の使用を開始することができる(70、72)。特定の(諸)フォーマットが識別されたときに、巡回ロボットは、選択された巡回ロボットのタイプを用いてウェブサイトをクロールすることができ(74)、その結果として、ローカルサーバは、サイトマップ中で参照されたドキュメントのすべてを供することなどによってコンテンツを提供してよい(76)。
例えば、サイトマップがリストとしてフォーマットされているとき、巡回ロボットは、サイトマップリストを通って進んでよく、リスト中の最初の項目を要求してよい。巡回ロボットは、その最初の項目のコンテンツを解析し、そのコンテンツのうちのいくつかにインデックスを付け、最初の項目中の任意のリンクを識別することができる。次いで、巡回ロボットは、任意のリンクのある項目を要求し、ウェブサイトのそのブランチを網羅するまで、解析してリンクするプロセスを繰り返してよい。次いで、巡回ロボットは、サイトマップリスト中の次のエントリへ移動してよい。巡回ロボットは、複数のロケーションからリンクされたドキュメントへ繰り返しアクセスすることのないように、アクセスしたすべてのドキュメントのリストを格納してもよい。
図4は、ウェブサイト100向けのサイトマップを生成するプロセスの概念図である。ウェブサイト100は、ウェブサイトファイルシステム102、サイトマップジェネレータの制御パラメータ104、サイトマップジェネレータ106、サイトマップ更新モジュール108、サイトマップ通知モジュール110、サイトマップ114およびサイトマップのインデックス112を含む。ファイルシステム102は、複数のコンピュータ上にファイルが格納されている送られたファイルシステムを含む複数のファイルシステムのうち任意のものを使用して、いくつかの実施形態において実施することができる。他の実施形態では、ファイルシステム102は、クエリに応答してドキュメントを作成する検索エンジンまたはデータベースを使用して実施することができる。
ウェブサイトファイルシステム102は、ウェブサーバに格納されているドキュメントを系統立てる。ウェブサイトに格納されたドキュメントは、テキスト、図、ビデオ、オーディオなど、またはそれらの項目の任意の組合せを含む任意の適切な機械可読ファイルでよい。ウェブサイトに格納され得るドキュメントの例は、とりわけ、ウェブページ、画像、ビデオファイル、オーディオファイル、ポータブルドキュメントフォーマット(PDF)ファイル、プレーンテキストファイル、実行可能ファイル、プレゼンテーションファイル、スプレッドシート、ワードプロセッサドキュメントなどを含む。
ウェブサイト100に格納されたドキュメントは、階層的構造で系統立てられてよい。すなわち、ドキュメントは、ネストされたディレクトリ、フォルダまたはパスのツリー(以下「ディレクトリツリー」)へと系統立てられてよい。ディレクトリツリーは、ルートディレクトリ/フォルダ/パスを含み、ルートは、その中にネストされたサブディレクトリ/サブフォルダ/サブパスを有してよい。
サブディレクトリ/サブフォルダ/サブパスは、ネストされたサブディレクトリ/サブフォルダ/サブパスをさらに内蔵してもよく、このようにディレクトリツリーを形成する。各ドキュメントは、ディレクトリツリーにおけるディレクトリ/フォルダ/パスに格納されてよい。各ディレクトリ/フォルダ/パスおよび各ドキュメントは、ツリー中のノードでよい。ファイルシステムは、最終修正日付、最終アクセス日付、ドキュメントパーミッションなどのドキュメントに関連したメタデータを格納してもよい。いくつかの実施形態では、ファイルシステムは、ドキュメントおよび関連するメタデータのデータベースを含んでもよい。データベース中のドキュメントは、データベースのクエリの実行、ならびに、またはその代りに、ディレクトリツリーをトラバースすることによりアクセスされ得る。
ウェブサイトに格納された各ドキュメントは、ロケータによって識別および/または検索され得る。いくつかの実施形態では、ロケータはドキュメントのURLである。他のいくつかのドキュメントでは、識別の代替のやり方(例えばURI)またはアドレシングが使用されてよい。ドキュメントのURLは、ファイルシステム中のそのロケーションから得ることができる。ドキュメントのURLは、ディレクトリ/フォルダ/パスに基づくもの、またはデータベース中のロケーションに基づくもの、またはドキュメントが格納されたデータベースからドキュメントを検索するのに使用されたクエリに基づくものでよい。すなわち、ディレクトリ/フォルダ/パス中の各ドキュメントまたはデータベースのロケーションは、URLに対応付けられてよい。いくつかの実施形態では、外部アクセスに対して公開されているファイルシステムのドキュメントにアクセスするために、URLは、ウェブ巡回ロボットに関連した遠隔コンピュータなどのウェブサイトの外のコンピュータによって使用されてよい。説明の便宜上、ドキュメントロケータは、あたかもURLであるかのように以下で説明される。
サイトマップジェネレータ106は、サイトマップ、および任意選択で、1つまたは複数のウェブサイトのサイトマップのインデックスを生成する。サイトマップは、ウェブ巡回ロボットがウェブサーバに格納されたドキュメントをクロールするスケジュールを設定するために、ウェブ巡回ロボットによって使用されてよい。サイトマップのインデックスは、さらなる詳細が以下に説明されるが、1つまたは複数のサイトマップをカプセル化して、例えばサイトマップのリストを含んでよい。
サイトマップジェネレータ106は、1つまたは複数のドキュメント情報のソースにアクセスすることによりサイトマップを生成する。いくつかの実施形態では、ドキュメント情報のソースは、ファイルシステム102、アクセスログ、あらかじめ作られたURLリスト、およびコンテンツ管理システムを含む。サイトマップジェネレータ106は、単にウェブサイトのファイルシステム102にアクセスして、ファイルシステム102で見つかったドキュメントに関するあらゆる情報を収集することにより、ドキュメント情報を集めることができる。例えば、ドキュメント情報は、ファイルシステムのファイルまたはファイルシステムの定義された部分の中のファイルをすべて識別するディレクトリ構造から得ることができる。
サイトマップジェネレータ106は、ウェブサイトのアクセスログ(図示せず)にアクセスすることにより、ドキュメント情報を集めることもできる。アクセスログは、外部コンピュータによるドキュメントのアクセスを記録する。アクセスログは、アクセスされたドキュメントのURL、ドキュメントにアクセスするコンピュータの識別子、ならびにアクセスの日付と時間を含んでよい。サイトマップジェネレータ106は、あらかじめ作られたURLリスト(図示せず)にアクセスすることにより、ドキュメント情報を集めることもできる。あらかじめ作られたURLリストは、ウェブサイトのオペレータがウェブ巡回ロボットによってクロールされることを望むドキュメントのURLをリストする。URLリストは、以下で説明されるように、サイトマップに使用されたのと同じフォーマットを用いて、ウェブサイトのオペレータによって作成され得る。
ウェブサイトのドキュメントがコンテンツ管理システムによって管理されているのであれば、サイトマップジェネレータ106は、コンテンツ管理システムとインターフェースをとり、コンテンツ管理システム内に格納された情報にアクセスすることによって、ドキュメント情報を集めることができる。
サイトマップジェネレータの制御パラメータ104は、サイトマップの生成を制御する所定のパラメータを含む。サイトマップジェネレータの制御パラメータ104に関するさらなる情報は、図5に関して以下に説明される。
サイトマップジェネレータ106は、サイトマップ114、および多分1つまたは複数のサイトマップのインデックス112を生成する。サイトマップ114およびサイトマップのインデックス112は、任意の適当なフォーマットおよび言語を使用して生成されてよい。前述のように、いくつかの実施形態では、サイトマップは、所定のXMLタグを使用してエクステンシブルマークアップランゲージ(XML)フォーマットで生成される。説明の便宜上、以下のサイトマップおよびサイトマップのインデックスは、XMLを使用してフォーマットされたものとして説明される。
サイトマップのインデックス112は、サイトマップの構成およびサイトマップへの参照を支援するための、1つまたは複数のサイトマップ114に対応付けられたドキュメントである。サイトマップジェネレータ106は、ウェブサイト向けのサイトマップを生成するときに複数のサイトマップを生成することができ、各サイトマップは、1つのサイトマップ中でクロールされ得るすべてのドキュメントのURLをリストするのではなく、ドキュメントのURLのクロールされ得るサブセットをリストする。そのような状況では、サイトマップジェネレータ106は、複数のサイトマップおよびそれらのURLをリストするためにサイトマップのインデックス112を生成してもよい。サイトマップのインデックスは、サイトマップのインデックス112の開始および終了を定義する開始タグおよび終了タグ(例えば<sitemapindex>および</sitemapindex>などのXMLタグ(図示せず))を含んでよい。サイトマップのインデックス112は、サイトマップのインデックスにリストされた各サイトマップのURLも含んでよい。
サイトマップのインデックスは、サイトマップのインデックス中のそれぞれのサイトマップのURL用に任意選択のメタデータも含んでよい。例えば、メタデータは、それぞれのサイトマップの最終修正日付を含んでよい。各サイトマップのURLおよびそれぞれに対応付けられたあらゆるメタデータは、サイトマップのインデックス112中でサイトマップのレコード114の開始および終了を定義する開始タグおよび終了タグによって囲まれてよい。
サイトマップのリストに加えて、いくつかの実施形態では、サイトマップのインデックスは、すべてのウェブサイトに適合するサイトに特有の情報140(「パーサイト情報」とも呼ばれる)のリストを任意選択で含んでよい。例えば、サイトマップのインデックスは、時間間隔のリストおよび巡回ロボットがそれぞれのウェブサイトをクロールするべきクロール率を含んでよい(例えば、<crawl_rate from=08:00UTC to=17:00UTC>medium</crawl_rate><crawl_rate from=17:00UTC to=8:00UTC>fast</crawl_rate>)。他の例では、サイトマップのインデックスは、ウェブサイトに関連した地理的ロケーションを識別する地理情報(例えば、<location>latitude, longitude</location>)を含み、かつ/または、それぞれのウェブサイトが対応しているかそうでなければ関連している1つまたは複数の言語を識別する言語情報(例えば、<language>German</language>)を含んでよい。パーサイト情報は、XHTML、3g、PDAHTML、WMLまたはiMode/cHTMLなどのサイト用にドキュメントフォーマットの(諸)タイプも含んでよい。
いくつかの実施形態では、パーサイト情報は、サイトマップのインデックスファイル中のサイトマップ参照の中にあってもよい。サイトマップのインデックスおよび参照されたサイトマップがどちらも同じプロパティ向けのパーサイト情報(例えばクロール率)を含む場合、サイトマップが情報のより明確なインスタンスであるので、サイトマップ中で指定された値がサイトマップのインデックス中で指定された値に優先してよい。他の実施形態では、パーサイト情報は、ここで与えられた例以外に、サイトマップのインデックスまたはサイトマップ中でシンタックスを使用して指定されてよい。
一実施形態では、ウェブサイトのサイトマップジェネレータ106は、毎日または毎週などの一定間隔で新規のサイトマップを生成する。最初(スタートポイント)のサイトマップの後に生成される新規の各サイトマップは、先のサイトマップが生成されているので、新規のURLまたは修正されたURLだけをリストすればよい(すなわち、最後のサイトマップが生成された日付の後の作成日または修正日を有する)。用語「日付」は、ここでは日時の含有が可能であるように用いられ、UTC(協定世界時)を用いてISO 8601タイムスタンプに適合するタイムスタンプなどによって表されてよい。これらの実施形態では、ウェブサイト向けのサイトマップのインデックスは、ウェブサイト向けに生成されたサイトマップをすべてリストする。
任意選択で、新規のスタートポイントサイトマップは、更新サイトマップが生成される間隔より大きな間隔(例えば毎週または毎月)でサイトマップジェネレータによって生成されてよい。新規のサイトマップが生成されてサイトマップのインデックス112に加えられるごとに、1つまたは複数の検索エンジンまたは巡回ロボットに通知が送られ得る。
サイトマップ114は、ウェブ巡回ロボットによってクロールされ得るウェブサイトのドキュメントのURLをリストする(諸)ドキュメントであるか、そうでなければウェブサイトまたは他のネットワークのロケーションのドキュメントの構成を示す。サイトマップ114は、URLのリストを含んでよく、また、任意選択で、それぞれのリストされたURL向けにメタデータなどの追加情報を含んでよい。サイトマップ114は、サイトマップの開始および終了を定義する開始タグおよび終了タグ116を含んでよい。サイトマップは、1つまたは複数のURLレコード118も含んでよい。各URLレコード118の開始と終了は、開始タグ120と終了タグ130によって定義され得る。各URLレコード118は、クロールされ得るドキュメントのURL 122を含んでよい。
URLレコード118は、それぞれのURLに関連した任意選択のメタデータも含んでよい。任意選択のメタデータは、URL 121によって指定されたドキュメント用のフォーマット、URLによって指定されたドキュメントの最終修正日付124、URLによって指定されたドキュメントの変更頻度126(更新率とも呼ばれる)、ドキュメントのタイトル127、ドキュメントの作成者129、およびURLによって指定されたドキュメントの優先順位128のうち1つまたは複数のものを含んでよい。フォーマット121、変更頻度126および優先順位128は、ウェブサイトのオペレータによって指定され得る。
変更頻度126は、ドキュメントのコンテンツがどれくらい頻繁に変更されると予想されるかのディスクリプタである。このディスクリプタは、有効なディスクリプタの所定のセットのうちの1つである。いくつかの実施形態では、変更頻度ディスクリプタのセットは、「常時」、「毎時」、「毎日」、「毎週」、「毎月」、「毎年」、「変更しない」を含む。変更頻度126は、巡回ロボットに対して、ドキュメントがどれくらい頻繁に変化するかについてヒントを提供する。したがって、巡回ロボットは、ドキュメントのクロールのスケジュールを組むために、このヒントを利用することができる。しかし、巡回ロボットは、指定の変更頻度と一致しないやり方でドキュメントをクロールしてよい。例えば、巡回ロボットは、「毎時」と示されたドキュメントを、「毎年」と示されたドキュメントほど頻繁にクロールしないかもしれない。実際のドキュメントのクロール頻度は、ドキュメントの重要性(PageRankなどのスコアによって示されたもの)、巡回ロボットが観測したドキュメントで確認された実際の変化(またはそれがないこと)および他の要因ならびにサイトマップ中で指定された変更頻度に基づいてよい。
優先順位128は、URL 122によって識別されたドキュメントの相対的な優先順位を指定する値である。優先順位128は、同一のサイトマップ114にリストされた他のドキュメント、ドキュメントと同一のウェブサーバに格納された他のドキュメント、またはウェブサイトのすべてのドキュメントに対する優先順位でよい。いくつかの実施形態では、優先順位の値の範囲は0.0以上1.0以下であり、デフォルト値が0.5、最低の相対優先順位が0.0、かつ最高の相対優先順位が1.0である。他の実施形態では、0から10などの他の優先順位スケールが使用され得る。優先順位は、ウェブサイトのどのドキュメントを最初にクロールするべきか判断するために、巡回ロボットによって使用されてよい。これらの優先順位の値が所定の基準を満たさないとき(例えば、ウェブサイト用のサイトマップまたはサイトマップのセットの0である優先順位の値が、0.5などの所定の平均値を有するという必要条件)、巡回ロボットは、サイトマップ内の優先順位の値を無視するかまたは修正することがある。いくつかの実施形態では、ドキュメントをインデックス付けするとき、優先順位も使用されてもよい。
他のパラメータもサイトマップに含まれてよい。例えば、追加のメタデータは、各URLで、ニュース、娯楽、医学、教育、宣伝などのコンテンツのカテゴリを含んでよい。また、他のパラメータが、URLが特定の通信キャリヤ(例えばモバイルコンテンツ用)を有するユーザにのみ利用可能であるように意図されているかどうかを示してもよい。そのようなパラメータは、コンテンツプロバイダが信頼できるプロバイダであるか、またはシステムが正確な情報を提供するはずであると自信がある場合(例えば、署名による資格登録プロセスまたは別の信頼できるプロバイダからの紹介によって判断される)には特に適切であり得る。
サイトマップジェネレータ106は、サイトマップ更新モジュール108およびサイトマップ通知モジュール110と相互作用することもできる。サイトマップ通知モジュール110は、新規のサイトマップまたは更新されたサイトマップがウェブサイトで利用可能なときは、常に、ウェブ巡回ロボットに関連した遠隔コンピュータに通知を送る。通知は、遠隔コンピュータがサイトマップにアクセスすることができるように、サイトマップのURLを含んでよい。いくつかの実施形態では、ウェブサイトがサイトマップのインデックスを使用するのであれば、通知は、サイトマップのインデックスのURLを含むだけでよい。次いで、遠隔コンピュータは、サイトマップのインデックスにアクセスし、それによってサイトマップのURLを識別することができる。いくつかの他の実施形態では、通知は、サイトマップ、サイトマップのインデックス、またはそのようなドキュメントのすべてによって参照されたドキュメントのサブセット用のフォーマット識別子に加えて、サイトマップ、サイトマップのインデックスまたはこれらのドキュメントのうちの1つを含んでよく、上記フォーマット識別子のケースでは、遠隔コンピュータは、ウェブサイトのサイトマップのインデックスまたはフォーマットについての情報にアクセスする必要がない。
サイトマップ更新モジュール108は、以前に生成されたサイトマップと現在のサイトマップの間の差を基に差異のサイトマップを生成してよい。差異のサイトマップに関するさらなる情報は、図8に関して以下に説明される。
図5は、サイトマップジェネレータの制御パラメータを格納するためのデータ構造を示すブロック図である。サイトマップジェネレータの制御パラメータ104は、サイトマップの生成およびサイトマップのインデックスを制御する。パラメータの各々は、ウェブサイトのオペレータによって指定されてよい。パラメータは、ウェブ巡回ロボットに関連した遠隔コンピュータによってサイトマップがアクセスされ得る(諸)ロケーションを指定する1つまたは複数のサイトマップベースURL 502、ファイルシステム102のディレクトリ/パス/フォルダまたはデータベースのロケーションを、外部からアクセス可能なURLに対応付ける、ファイルのパスからURLへのマッピング504 (パスからURLへのマッピングの例としては、P:/A/B/*.*>www.website.com/qu/*.*)、サイトマップの包含から除外されるべきURLのクラスを指定するURLの除外パターン506(例えば、除外パターン「www.website.com/wa/*.prl」は、www.website.comの「/wa」部分におけるすべての「prl」ファイルがサイトマップから除外されるべきであることを示すことになる)、それぞれのURLクラス向けにURLのクラスおよび更新率(変更頻度)を指定する、更新率508を有するURLパターン(例えば、www.website.com/qu/a*.pdf>dailyは、指定されたパターンに適合するファイルが毎日更新されると予想されることを示すことになる)、新規のサイトマップ通知が伝送され得る、ウェブ巡回ロボットに関連した遠隔コンピュータのURLを指定する通知URL510、あらかじめ作成されたURLリストを指す、URLリストへのポインタ512、URLアクセスログを指す、URLアクセスログへのポインタ514、ファイルシステム102におけるディレクトリ/フォルダ/パスまたはデータベースのロケーションを指す、(諸)ディレクトリへのポインタ516、およびウェブ巡回ロボットがウェブサイトをクロールするべき日の好ましい時間を指定する好ましいクロール時間518、のうち1つまたは複数のものを含んでよい。リストされたパラメータは単なる例であり、また、より少ない追加および/または代替のパラメータが含まれ得ることを理解されたい。
図6はサイトマップを生成するプロセスを示す流れ図である。前述のように、ウェブサイト上に格納されたドキュメントについての情報ソースは、ウェブサイトのアクセスログである。最初にウェブサイトのアクセスログがアクセスされる(602)。アクセスログは、URLアクセスログに後続するポインタによって探し出され得る。次いで、アクセスログは、誤りのないURLを求めてスキャンされてよい(604)。誤りのないURLは、既存でアクセス可能なドキュメントを適切に指定するURLである。したがって、例えば、もはやウェブサイト上にないドキュメント向けのURLは、誤ったURLと考えてよい。次いで、URLのリストが生成され得る(606)。リストは、アクセスログで見つかった誤りのないURLを含んでよい。
リストは、アクセスログから得られたドキュメントの支持率情報も含んでよい。ドキュメントの支持率情報は、誤りのない各URLが有するアクセス数を基に求めることができる。ドキュメントの支持率情報は、どのドキュメントに高い需要があるか(すなわちより頻繁にアクセスされているか)ということを基に、クロール中にどのドキュメントがより高い優先順位を与えられるべきか(例えば、最初にクロールされるかまたは優先順位の低いドキュメントよりもクロールされやすいように計画される)の追加ヒントとしての働きをする。
URLのリストが生成された後、除外されたURLのためにリストがフィルタリングされてよい(610)。サイトマップジェネレータの制御パラメータからのURL除外パターンは、URLのリストに適用されるフィルタとして使用されてよい(608)。あるいは、URL除外パターンは、他のところで得られるか、またはカスタマイズされたサイトマップジェネレータにおいてウェブサイト用に恒久的にコード化されてよい。次いで、URL除外パターンのうちのいずれかと一致するリスト中のURLは、リストから除外されてよい。
リスト中のそれぞれのURL向けに、URLのリストに更新率の情報が加えられてよい(612)。いくつかの実施形態では、サイトマップジェネレータの制御パラメータ104から、より詳細には更新率を有するURLパターンから、更新率を得ることができる(608)。
次いで、URLのリストのそれぞれのURLについての最終修正日付および時間が付加されてよい(614)。前述のように、最終修正日付は、データベースおよび/またはディレクトリツリー616でよいファイルシステムから得ることができる。
代替実施形態では、サイトマップのストラテジオブジェクト615は、データベース616および/またはサイトマップジェネレータの制御パラメータ608から得られた情報を用いて、フィルタリング操作610、更新率情報を付加する動作612、および最終修正日付を付加する動作614を制御する。いくつかの実施形態では、サイトマップのストラテジオブジェクトは、どのURL(またはURI)をフィルタリングするかを判断し、また、基礎をなすデータベース616に対してデータベースクエリを実行することにより、特定のURL(またはURI)にどの属性を付加するかを判断する。
サイトマップは、あらゆる最終修正日付/時間情報、任意選択の支持率情報、および含まれているかまたは得られた、リストされたURL向けの任意選択の更新率情報を含む、もたらされたURLのリスト(618)から生成されてよい。サイトマップ内では、サイトマップにリストされたURL向けのメタデータは、最終修正日付/時間情報、任意選択の支持率情報および任意選択の更新率を含んでよい。
図7は、サイトマップを生成する別のプロセスを示す流れ図である。図7のプロセスは図6のものに似ているが、図7のプロセスでは、ドキュメント情報の最初のソースはアクセスログではなく、ファイルシステムデータベースまたはディレクトリツリー(702)であることが異なる。データベースのスキャンまたはディレクトリツリーのトラバース(704)が最初に実行されてよい。データベースのスキャンまたはディレクトリツリーのトラバースから、URLおよび関連する最終修正日付のリストを得ることができる(706)。このリストは、サイトマップジェネレータの制御パラメータ(712)からのURL除外パターンをフィルタとして使用して、除外されたURLのためにフィルタリングされてよい(708)。URLのリスト中のそれぞれのURLに関連したドキュメント更新率情報など追加のメタデータも付加されてよい(710)。更新率情報は、サイトマップジェネレータの制御パラメータ(712)から得ることができる。サイトマップは、除外されていないURLのリスト、最終修正日付情報、および更新率情報などの追加情報から生成されてよい。
代替実施形態では、サイトマップのストラテジオブジェクト715は、基礎をなすデータベース702および/またはサイトマップジェネレータの制御パラメータ712から得られる情報を用いた、サイトマップ714のURLまたはURIのリストへのメタデータ710の付加、ならびに/あるいはフィルタリング操作708を制御してよい。いくつかの実施形態では、サイトマップのストラテジオブジェクト715は、どのURL(またはURI)をフィルタリングするかを判断してよく、また、基礎をなすデータベース702に対してデータベースクエリを実行することにより、特定のURL(またはURI)にどの属性を付加するかを判断してよい。
図6および図7に示されたサイトマップ生成プロセスは、ドキュメント情報の代替ソースおよび/またはドキュメント情報の複数のソースを使用するように適合され得る。例えば、サイトマップジェネレータは、最初に、1つまたは複数のあらかじめ作成されたURLリストまたはウェブサイトに関連したコンテンツ管理システムからURLを抽出してよい。URLが抽出されるソースにかかわらず、サイトマップジェネレータは、必要な数だけのドキュメント情報のソースからドキュメントメタデータを収集することができる。例えば、サイトマップジェネレータは、あらかじめ作成されたURLリストからURLを抽出し、ファイルシステムから最終修正日付を取得し、かつアクセスログからドキュメント支持率情報を得ることができる。サイトマップを生成するために、ドキュメント情報のソースのあらゆる適当な組合せが使用され得る。
図8は、ディファレンシャルサイトマップを生成するプロセスを示す流れ図である。ディファレンシャルサイトマップは、以前に生成されたサイトマップと現在のサイトマップの間の差異を基に生成されたサイトマップである。ディファレンシャルサイトマップは、以前に生成されたサイトマップに含まれていなかったURLおよび以前に生成されたサイトマップに含まれていたURLで新規のメタデータまたは更新されたメタデータを有するものを含んでよい。例えば、更新された最終修正日付を有するURLは、ディファレンシャルサイトマップに含まれることになる。URLに関する更新される最終修正日付の存在は、それぞれのURLでのドキュメントが、以前に生成されたサイトマップから更新されていることを意味する。
現行のサイトマップ(802)および以前に生成されたサイトマップ(804)は、サイトマップ更新モジュール108などのディファレンシャルサイトマップジェネレータ(806)によって処理されてよい。2つのサイトマップ間の差異が確認されて、ディファレンシャルサイトマップ(808)が生成され得る。
図9は、ウェブ巡回ロボットシステム900を示すブロック図である。検索エンジンの一部であり得て、かつ/または検索エンジンに関連し得るウェブ巡回ロボットシステム900は、ウェブサーバに格納されたドキュメントに関連するロケーションをクロールする。
サイトマップ巡回ロボット905は、ウェブサイトまたはウェブサーバによって生成されたサイトマップにアクセスする。サイトマップ巡回ロボット905はサイトマップ通知を受け取る。ウェブサーバまたはウェブサイトから、クロールに利用可能なドキュメントを有するサイトマップ通知930が受け取られる。ウェブサーバまたはウェブサイトからの通知は、ドキュメントのURLをリストする1つまたは複数のクロールされ得るサイトマップがアクセスのために利用可能であるとサイトマップ巡回ロボットに知らせる。通知は、1つのサイトマップのURLまたは複数のサイトマップの諸URL含んでよい。通知は、サイトマップのインデックスのURLを含んでよく、またはサイトマップのインデックスのコンテンツを含んでよい。いくつかの実施形態では、通知は、サイトマップのインデックスまたは完全なサイトマップを含んでよい。サイトマップのURLを記憶し、次いでサイトマップにアクセスするために、サイトマップ巡回ロボット905は、サイトマップのインデックスのURLでサイトマップのインデックスにアクセスしてよい。
サイトマップ巡回ロボット905は、ウェブサーバまたはウェブサイトからサイトマップをアクセスして、アクセスしたサイトマップのコピーをサイトマップデータベース932に格納することができる。サイトマップデータベース932は、ウェブサーバおよび/またはサイトマップが関連するウェブサイト、サイトマップの最終修正日付、およびサイトマップに関連した更新率情報などサイトマップに関連した情報ならびにサイトマップを格納する。
アクセスされたサイトマップは、処理するためにサイトマップ処理モジュール934に与えられてよい。サイトマップ処理モジュール934は、サイトマップを処理し、URLおよび関連するメタデータ936を識別する。サイトマップは、URLスケジューラ902用のURLおよび関連するメタデータ情報のソースであり得る。いくつかの実施形態では、URLおよび関連するメタデータの任意選択の追加ソースは、ユーザによる直接の提示903によって受け取られてよい。例えば、ユーザは、(諸)サイトマップに関連したドキュメントのフォーマットについての情報を提供してよい。
URLスケジューラ902は、各クロールセッションで、どのURLをクロールするか判断する。URLスケジューラ902は、リストデータ構造のセットなどの1つまたは複数のデータ構造(図示せず)に、その情報を格納してよい。いくつかの実施形態では、URLスケジューラ902は、データ構造のセグメントにURLを割り当てるが、このセグメントはクロールセッションに対応する。これらの実施形態では、URLスケジューラ902は、各セグメント内のどのURLをクロールするべきかの判断もする。いくつかの実施形態では、複数のURLスケジューラ902があってよく、それらは各セグメントがクロールされる前に実行される。各スケジューラ902は、URLサーバ906へのURLの配布の管理を担当する、対応するURLマネージャ904に結合される。あるいは、各URLスケジューラ902は、2つ以上のURLマネージャに結合されてよく、各クロールセッション向けのURL配布機能を複数のURLマネージャにわたって広げることが可能になる。URLスケジューラ902は、サイトマップから抽出されたURLおよびメタデータ936を受け取るように適応され得る。
コントローラ901はクロールするためにセグメントを選択する。選択されたセグメントは、これ以降「アクティブセグメント」と呼ぶ。一般に、各セッションの出発点では、コントローラ901は、いくつかのセッションにわたって、すべてのセグメントがラウンドロビン式クロールのために選択されるように、別のセグメントをアクティブセグメントとして選択する。コントローラ901は、ユーザエージェントが、アクティブセグメント用のフォーマットに関連する巡回ロボットによって示されるように選択してもよい。例えば、ユーザエージェントは、巡回ロボットに、iModeデバイスまたは他のモバイルデバイスあるいはデバイスのグループを模倣させるパラメータを含んでよい。
URLページの順位付けソフト922によって、各URL向けにクエリから独立したスコア(ドキュメントスコアとも呼ばれる)が計算されてよい。ページの順位付けソフト922は、所与のURL向けにページの重要性スコアを計算する。いくつかの実施形態では、ページ重要性スコアは、所与のURLを参照するURLの数だけでなく、そのような参照しているURLページの重要性スコアも考慮に入れることにより計算されてよい。ページ重要性スコアのデータは、URLマネージャ904に与えられてよく、URLマネージャは、URLサーバ906、ロボット908およびコンテンツ処理サーバ910に各URLページの重要性スコアを渡してよい。ページ重要性スコアの一例は、PageRankであり、これはGoogle検索エンジンで使用されるページ重要性の測定基準である。PageRankの計算の説明は、米国特許第6,285,999号に見られ、背景情報として、参照によりその全体を本明細書に組み込む。いくつかの実施形態では、ページ重要性スコアの計算にサイトマップからの情報が組み込まれてよい。ページ重要性スコアに組み込まれ得るサイトマップ情報の一例は、優先順位128である。
URLサーバ906は、時々URLマネージャ904にURLを要請することがある。これを受けて、URLマネージャ904は、URLサーバ906にデータ構造から得られたURLを提供してよい。次いで、URLサーバ906は、巡回ロボット908(これ以降「ロボット」または「ボッツ」と呼ぶ)にクロールされるように、URLマネージャ904からのURLを送ってよい。ロボット908は、URLサーバ906によって与えられたURLでドキュメントを検索するサーバである。ロボット908は、URL(例えばHTTP、HTTPS、Gopher、FTPなど)に関連したページをダウンロードするために様々な既知のプロトコルを使用する。いくつかの実施形態では、ロボット908は、指定されたウェブサイト用のクロール率および/またはクロール間隔情報を、パーサイト情報のデータベース940から検索し、次いでウェブサイトからURLまたはURIを取り出す速度を制御するために検索された情報を使用する。ロボット908は、適切な場合には、ドキュメントがそれ向けにフォーマットされている(諸)デバイスを適切に模倣するように、ドキュメント用のフォーマット情報を渡されてもよい。
ロボット908によってクロールされてURLから得られたページは、複数のタスクを実行するコンテンツ処理サーバ910に送られる。いくつかの実施形態では、これらのタスクは、ページのコンテンツをインデックス付けするステップ、ページに外部行きのリンクのレコードを生成するステップ、複製ページを検出するステップ、およびクロールされたページについての情報を記録するために様々なログレコードを生成するステップを含む。一実施形態では、これらのログレコードは、リンクログ914、状態ログ912および他のログ916を含むログファイルに格納される。リンクログ914は、ロボット908によってURLから得られてコンテンツ処理サーバ910に渡される各ドキュメント向けのリンクレコードを含む。各リンクログ914のレコードは、レコードおよびリンクを囲むテキストに関連したドキュメント中に見られるすべてのリンク(例えば外部行きのリンクとも呼ばれるURL)を識別する。リンクログ914中の情報は、リンクマップ920を生成するためにコンテンツ処理サーバ910によって使用されてよい。
テキストが除去され、レコードがソースURLの正規化された値の「フィンガープリント」によって鍵を付けられているとことを除けば、リンクマップ920のレコードは、リンクログ914のレコードに似ている。いくつかの実施形態では、URLフィンガープリントは、URLにハッシュ関数または他の一方向性関数を適用することにより求められた64ビットの整数である。URLフィンガープリントのビット長は、他の実施形態における64ビットより長くても短くてもよい。各リンクマップ920のレコードは、任意選択で、ソートされるかまたはフィンガープリントによって鍵を付けられてよい。URLのページ重要性スコアを計算するか調整するために、ページ順位付けソフト922によってリンクマップ920が使用される。いくつかの実施形態では、そのようなページ重要性スコアは、セッション間に存続することがある。
状態ログ912は、コンテンツ処理サーバ910によって実行されたドキュメント処理の状態をログ記録する。状態ログは、URL状態情報928(例えば、ドキュメントが指定のURLに存在したかどうかということ、最終修正日付情報および更新率情報)を含んでよい。URL状態情報はURLスケジューラ902に伝送されてよい。URLスケジューラは、クロール用にドキュメントのスケジュールを組むためにURL状態情報を使用してよい。
いくつかの実施形態では、コンテンツ処理サーバ910は、アンカーマップ918を生成してもよい。アンカーマップ918は、ハイパーリンク中の「アンカーテキスト」を、ハイパーリンクの諸ターゲットURLのURLへマッピングする。ハイパーリンクを実施するためにHTMLタグを使用するドキュメントでは、アンカーテキストは1対のアンカータグの間に配置されたテキストである。例えば、<A href="http://www.website.com/wa/me.jpg">Picture of Mount Everest</A>というアンカータグの対におけるアンカーテキストは「Picture of Mount Everest」である。
いくつかの実施形態では、サイトマップに供給されたドキュメントのメタデータも、アンカーマップを生成するために使用されてよい。例えば、ドキュメントのタイトル、ドキュメントの作成者またはドキュメントの説明などドキュメントのメタデータが、アンカーマップを生成するために使用されてよい。しかし、サイトマップに現れるいかなるフィールドも、一般にアンカーマップに含まれてよいことを理解されたい。
いくつかの実施形態では、アンカーマップ918中のレコードは、リンクログ914の中にある外部行きURLのフィンガープリントによって鍵を付けられてよい。したがって、アンカーマップ918中の各レコードは、外部行きURLのフィンガープリント、およびリンクログ914中のURLに対応するアンカーテキストを含んでよい。「アンカーテキスト」の索引付けならびに単語を含まないURLの索引付けを促進するために、インデクサ924によってアンカーマップ918が使用される。例えば、外部行きURL(例えば上記の例におけるURL)でのターゲットドキュメントが、picture of Mount Everestで、ターゲットドキュメント中に単語がない場合を考えられたい。しかし、URLに関連したアンカーテキスト「Picture of Mount Everest」は、インデックス926中に含まれてよく、それによって、ターゲットドキュメントは、インデックス926を使用して検索エンジンによるアクセスが可能になる。
アンカーマップ918および他のログ916はインデクサ924に伝送される。インデクサ924は、アンカーマップ918および他のログ916を使用してインデックス926を生成する。このインデックスは、検索エンジンのユーザによって入力されたクエリと一致するドキュメントを識別するために検索エンジンによって使用される。
図10は、サイトマップ巡回ロボットシステム1000を示すブロック図である。サイトマップ巡回ロボットシステム1000は、一般に、1つまたは複数の処理装置(CPU)1002、1つまたは複数のネットワークまたは他の通信インターフェース1004、メモリ1010、およびこれらの要素を相互接続するための1つまたは複数の通信バスまたは信号ライン1012を含む。
サイトマップ巡回ロボットシステム1000は、任意選択でユーザインターフェース1005を含んでよく、これにはキーボード、マウス、および/または表示デバイスが含まれてよい。メモリ1010は、DRAM、SRAM、DDR RAMまたは他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含んでよく、また、1つまたは複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイスまたは他の不揮発性固体記憶デバイスなどの不揮発性記憶装置を含んでよい。メモリ1010は、CPU1002から遠隔に配置された1つまたは複数の記憶デバイスを含んでよい。いくつかの実施形態では、メモリ1010は、様々な基本システムサービスを扱い、かつハードウェア依存タスクを実行するための処理手順を含むオペレーティングシステム1014、1つまたは複数の通信ネットワークインターフェース1004およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市内ネットワークなどの1つまたは複数の通信ネットワークを介して、サイトマップ巡回ロボットシステム1000を他のコンピュータに結合するために使用されるネットワーク通信モジュール1016、アクセスされたサイトマップを格納するサイトマップデータベース932、ウェブサーバによって与えられたサイトマップをアクセスするサイトマップ巡回ロボット905、サイトマップを受け取り、そのサイトマップを処理してURLおよび関連するメタデータを識別するサイトマップ処理モジュール934、クロールされ得るドキュメントのURLをリストするURLリスト1018、およびウェブサーバから受け取られた新規のサイトマップ通知を処理する通知処理モジュール1020の、プログラム、モジュールおよびデータ構造、またはそのサブセットを格納する。
上記の識別された各要素は、1つまたは複数の前述のメモリデバイスに格納されてよく、前述の関数を実行するための命令セットに対応してよい。上記の識別されたモジュールまたはプログラム(すなわち命令のセット)を、個別のソフトウエアプログラム、処理手順またはモジュールとして実行する必要はなく、したがって、これらのモジュールの様々なサブセットが、様々な実施形態において組み合わせるかそうでなければ再配置されてよい。いくつかの実施形態では、メモリ1010は、上記で識別されたモジュールおよびデータ構造のサブセットを格納してよい。その上、メモリ1010は、上記で説明されていない追加モジュールおよびデータ構造を格納してよい。
サイトマップのインデックスまたはサイトマップが1つまたは複数のパーサイト情報を含む実施形態では、そのようなパーサイト情報は、抽出されて、パーサイト情報データベース940に(例えばサイトマップ巡回ロボット905によって)付加される。適切な情報(例えば言語および/またはロケーションの情報)がパーサイト情報データベース940で利用可能なとき、この情報は、インデックス926にパーサイト情報(例えば言語および/または所在情報)を付加するためにインデクサ924によって使用される。インデックス926中にウェブサイトの地理および/または言語の情報が含有されることによって、地理および/または言語の規定を含むインデックス926を使用して、検索エンジンによる検索実行が可能になる。
例えば、検索エンジンのインデックスが少なくともいくつかのウェブサイトに関する地理情報を含むとき、検索エンジンは、「pizza within 1 mile of London Bridge, London, England.」などの要求に応えることができる。検索エンジンのインデックスが少なくともいくつかのウェブサイトに関する言語情報を含むとき、検索エンジンは、「German URLs containing 'George Bush.'」などの要求に応えることができる。パーサイト情報がクロール率情報および/またはクロール時間間隔を含む実施形態では、その情報は、ウェブページをクロールする時間および速度を制御するためにURLスケジューラ902および/またはロボット908によって使用される。
図11は、サイトマップに含まれた情報を基にドキュメントのダウンロードをスケジュール設定するプロセスを示す流れ図である。いくつかの実施形態では、ダウンロードのためにドキュメントのスケジュールを組むことは、スケジュールを組まれたドキュメントを識別するドキュメント識別子のリストを生成することを意味する。ドキュメント識別子のリストは、順序付けられたリストでよく、リスト中でより前のドキュメント識別子は、リスト中でより下位のドキュメント識別子より高い優先順位または重要性を有する。
いくつかの実施形態では、サイトマップ巡回ロボットは、サイトマップの最新バージョンが利用可能であるという通知を受け取ると直ちにサイトマップにアクセスすることができる。サイトマップ通知が受け取られてログ記録される(1102)。次いで、次の待ち状態のサイトマップ通知が選択され得る(1104)。次いで、選択されたサイトマップ通知に関連したサイトマップが、ウェブサーバからダウンロードされてよい(1106)。
他のいくつかの実施形態では、サイトマップ巡回ロボットは、サイトマップ通知を待つことに加えて、またはその代りに、通知を待たずに処理向けのサイトマップを周期的に選択し、アクセスしてよい。サイトマップデータベースもアクセスされてよい(1108)。次いで、データベースからのサイトマップが処理向けに選択されてよい(1110)。この選択は、最終修正日付情報または更新率情報などデータベースに格納された情報を基になされてよい。例えば、サイトマップの「年齢」(例えば現在の日付とサイトマップの日付の差、または現在の日付とサイトマップの最終修正日付の差)が、サイトマップにリストされた任意のドキュメント向けの最短の予測された更新期間より高齢のとき、このサイトマップはダウンロード向けに選択されてよい。選択されたサイトマップは、ウェブサーバからダウンロードされることによって、またはサイトマップデータベースで格納されたサイトマップのコピーにアクセスすることによって、アクセスされ得る(1112)。
そのような情報がダウンロードから受け取られると、次いで、サイトマップデータベースは、新規のサイトマップ情報で更新されてよい(1114)。1つまたは複数のサイトマップのインデックスまたはサイトマップがパーサイト情報を含む実施形態では、パーサイト情報のデータベースは、受け取られたパーサイト情報で更新される。
サイトマップ中の各URLに対して、URLがクロールの候補かどうかについての判断がなされ得る(1116)。URLのドキュメントが更新されたか、または多分更新されているか、あるいはURLがアクセス可能なドキュメントを適切に指定するかなどの判断が、URL状態情報を基になされ得る(1124)。クロールの候補であると判断されたURLは、候補のURL(1126)として識別され得て、それらの各々は、スコアを割り当てられてよい(1118)。各候補URLのスコアは、サイトマップから抽出されたURLのページ重要性スコア(例えばPageRank)およびURLの優先順位の値に基づいてよい。スコア付け後の候補URL(1128)は、フィルタリングされてよい。
フィルタは、予算、サイトの制約(例えば巡回ロボットがクロールの期間中にダウンロードすることができるドキュメント数の限界)など1つまたは複数の所定の基準を基に候補URLのサブセットを選択してよい。結果として生じる候補URLのリストは、次いで、URLダウンロードのスケジュールを組むために使用されてよい(1122)。前述のように、URLダウンロードのスケジュール設定は、URLまたはドキュメント識別子の順序付けられたリストの生成を含んでよく、ドキュメントを表すリスト中のドキュメント識別子でより前のものは、順序付けられたリスト中でより後ろに配置されたドキュメントより高い優先順位または重要性を有する。その上、前述のように、いくつかの実施形態では、スケジュール設定操作1122は、特定のウェブサイト向けのクロール時間間隔および/またはクロール率情報などのサイトマップのインデックスまたはサイトマップ中で受け取られたパーサイト情報を考慮に入れてよい。
いくつかの実施形態では、スケジューラは、巡回ロボットが実際にクロールすることができるものより多くのドキュメントを、クロール向けにスケジュール設定してよい。いくつかの実施形態では、巡回ロボットは、ウェブサイトまたはウェブサーバ用のクロール予算を有するかもしれない。予算は、特定のウェブサイトまたはウェブサーバに対して、特定のクロールセッションで、巡回ロボットがクロールすることができるドキュメントの最大数である。換言すれば、予算は、特定のウェブサーバまたはウェブサイトに対していくつのドキュメントをクロールするかウェブ巡回ロボットがそれ自体に課した制限であり得る。予算は、巡回ロボットが、特定のウェブサイトまたはウェブサーバに対して実行するはずのクロールを制限し、巡回ロボットが、そのクロール限界に達する前に他のウェブサイトまたはウェブサーバをクロールすることができることを確実なものにする。
いくつかの実施形態では、ウェブサイト/ウェブサーバのオペレータは、特定のウェブサイトまたはウェブサーバに対するクロールを抑制するためにサイト制限を設定してよい。サイト制限の目標は、ウェブサイトまたはウェブサーバに関連したネットワーク資源が巡回ロボットによって消耗されるのを防ぐために、特定のウェブサイトまたはウェブサーバに対するクロールを制限することである。サイト制限は、ウェブサイトのオペレータによって定義されたドキュメントの最大数を含んでよく、この数は、定義された期間中(例えば1時間当りまたは1日当り)に特定のウェブサイトに対してクロールされてよいものである。さらに、この制限は、モバイルドキュメントの特定のフォーマットなど、ウェブサイトまたはウェブサーバ上のドキュメントのフォーマットを含んでよい。
候補URLをフィルタリングすると、ソートされフィルタリングされた候補URL(1130)のリストおよび未選択の候補URL 1132のリストの生成につなげることができる。ソートされフィルタリングされた候補URLのリストは、スケジューラに伝送され得て、スケジューラは、リスト中のURL向けにクロールのスケジュールを組むことができる。未選択のURL 1132のリストは、第2のスケジューラ1136を含み得る第2のウェブ巡回ロボット1134に伝送されてよい。第2のスケジューラ1136は、次いで、第2のウェブ巡回ロボット1134によるクロールのために、リスト1132中のURLのスケジュールを組むことができる。
URLスケジューラは、サイトマップから得られたドキュメントメタデータによるリスト中のURL向けにクロールのスケジュールを組むことができる。前述のように、メタデータは、ドキュメント最終修正日付情報、ドキュメント更新率情報、ドキュメント優先順位情報およびドキュメント支持率情報を含んでよい。
スケジューラは、サイトマップからの最終修正日付情報を基にURLをクロールするスケジュールを組んでよい。ウェブ巡回ロボットによってドキュメントがダウンロードされた最後の日付/時間からドキュメントが修正されていないなら、スケジューラは、URLに対応するドキュメントのクロール用のスケジュール設定を延期してよい。換言すれば、ドキュメントの最終修正日付がウェブ巡回ロボットによるドキュメントの最後のダウンロードの日付/時間より後でないならば、スケジューラは、ドキュメントのクロール用のスケジュール設定を延期してよい。そのような延期は、変化していないドキュメントの再ダウンロードを避けることにより、ネットワーク資源の節約に役立つ。
スケジューラは、サイトマップからの更新率情報を基にドキュメントをクロールするスケジュールを組むこともできる。ドキュメントがダウンロードされた更新率および最後の日付/時間の定義済関数が所定の基準を満たすなら、スケジューラは、ドキュメントをクロールするスケジュールを組んでよい。いくつかの実施形態では、ドキュメントがダウンロードされた最後の日付/時間と現在の時間の間の差が更新率情報によって示される更新率より大きいとき、ドキュメントはダウンロードに向けてスケジュールを組まれ得る。例えば、ドキュメントの更新率が「毎週」で、この前ドキュメントがダウンロードされたのが2週間前であるなら、スケジューラは、ドキュメントをダウンロードするためにスケジュールを組んでよい。これは、最後のダウンロード以来不変であると予想されるドキュメントのダウンロードを避けることにより、ネットワーク資源を節約するのに役立つ。
スケジューラは、候補URLの相対的優先順位を基に候補URLのスコアを調整してもよい。スケジューラは、相対的優先順位に対応するブーストファクタを求め、それらをスコアに適用する。いくつかの実施形態では、スケジューラは、ドキュメント優先順位の補助的な指標であるドキュメント支持率情報を基にブーストファクタを求めてもよい。
いくつかの実施形態では、選択された候補URLまたは未選択の候補URLに付属しているスコアが、どのURLがクロールしなければならないURLであるか判断するために使用されてよい。すなわち、スコアは、ドキュメントがクロールされることを保証されているかどうか判断するのに役立ち得る。スコアが高いURLは、クロールが必要であると示されてよい。これは、重要なページがクロールのためにスケジュール設定されることを保証する。
図12は、サーチシステムにモバイルサイトマップを加えるための表示を示すスクリーンショットの例である。この表示は、ユーザが生成したサイトマップを識別するURLを登録するための指示を示す。さらに、URLを受け取るためのブランクの入力ボックスおよび提示ボタンも設けられている。この表示は、選択されたとき、ユーザに、サイトマップを求めてURLを選択し識別するための追加の指示を与える複数のハイパーリンクも提供する。
図12の表示の例は、モバイルデバイスを使用して見られるように意図されたウェブサイトに関連したサイトマップ向けの情報を提供することをユーザが望むならば、ユーザに追加の選択肢も提供する。サイトマップについての情報の提示は、手動のウェブページ操作としてここに示されているが、アプリケーションが遠隔サーバへサイトマップ情報を提示するようにプログラムされ得て、ユーザは、コマンドを選択するかそうでなければサイトマップが遠隔サーバに提示されるべきであると指示するだけでよいように自動化されてもよい。
図13は、サーチシステムにモバイルサイトマップを加えるための表示を示すスクリーンショットの例である。例えば、ユーザが図12の表示上のモバイルサイトマップを提供することを選択したとき、この表示が示されてよい。再び、ユーザには、サイトマップのURLを入力する機会が与えられている。さらに、この画面では、ユーザは、サイトマップに関連したウェブサイトで、ドキュメント用の(諸)フォーマットを、例えばラジオボタンの選択によって指定することができる。例えば、WMLおよびXHTMLは、携帯電話など特定のモバイル通信デバイスで見るために作られたコンテンツ用のフォーマットを定義する規格である。あるいは、ある携帯用情報端末は、ほとんどの電話よりも大きな画面を有し、したがって、作成者は、そのコンテンツを直接そのような画面へ宛ててよい。さらに、cHTML、すなわちiModeとして既知のHTMLの派生が、モバイルデバイスの電気通信会社NTT DoCoMoによって開発されている。したがって、作成者は、これらのフォーマットの1つまたは複数向けに書き込むかまたはフォーマットしてよく、また、サーバがそれらのドキュメントを正確に読み取る巡回ロボットを選択するように、適切なフォーマットでサイトマップをドキュメントに対応させる機会を得ることができる。
図14は、ユーザに関連付けられたサイトマップを閲覧し管理するための表示を示すスクリーンショットの例である。この表示は、忙しいウェブマスタが様々なサイトマップの提示の進行を追跡することを可能にすることができる。一般に、この表示は、(位置および名前によって)提示されたすべてのサイトマップのリスト、サイトマップに対応付けられたドキュメントのタイプ(モバイルまたはウェブ)、サイトマップがユーザによって初めて識別されてからの時間および遠隔サーバが最後にサイトマップをダウンロードしたときからの時間、ならびにサイトマップの状態を示す。例えば、サイトマップを読み取る際に、サイトマップが所定のフォーマットに従わないなどのエラーが生じると、サイトマップの状態は「パージングエラー」としてリストされてよい。その代りに、またはそれに加えて、問題があったかどうかユーザが直ちに知ることができるように、電子メールまたはインスタントメッセージなどのメッセージによってユーザにエラーが示されてよい。
図15は、ウェブサイトサーバ1500を示すブロック図である。ウェブサイトサーバ1500(または「ウェブサーバ」)は、一般に、1つまたは複数の処理装置(CPU)1502、1つまたは複数のネットワークまたは他の通信用インターフェース1504、メモリ1510、およびこれらの要素を相互接続するための1つまたは複数の通信バスまたは信号ライン1512を含む。ウェブサイトサーバ1500は、任意選択でユーザインターフェース1505を含んでよく、これは表示デバイス、マウス、および/またはキーボードを備えてよい。メモリ1510は、DRAM、SRAM、DDR RAMまたは他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、1つまたは複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイスなどの不揮発性記憶装置、または他の不揮発性固体記憶装置を含んでよい。
メモリ1510は、CPU 202(例えば、ネットワークに取り付けられた記憶デバイス)から遠隔に配置された1つまたは複数の記憶デバイスを任意選択で含んでよい。いくつかの実施形態では、メモリ210は、様々な基本システムサービスを扱い、かつハードウェア依存タスクを実行するための処理手順を含むオペレーティングシステム1514、1つまたは複数の通信ネットワークインターフェース1504およびインターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市内ネットワークなどの1つまたは複数の通信ネットワークを介して、ウェブサイトサーバ1500を他のコンピュータに結合するために使用されるネットワーク通信モジュール1516、サイトマップを生成するサイトマップ生成モジュール106、サイトマップの生成を制御するかガイドするサイトマップ制御パラメータ104、ウェブサイトサーバ200に格納されたサイトマップのURLをリストするサイトマップのインデックス112、クロールされ得るドキュメントのURLをリストする1つまたは複数のサイトマップ114、およびドキュメントを格納し整理するウェブサイトファイルシステム102の、プログラム、モジュールおよびデータ構造、またはそのサブセットを格納する。
上記の識別された各要素は、1つまたは複数の前述のメモリデバイスに格納されてよく、前述の関数を実行するための命令セットに対応する。上記の識別されたモジュールまたはプログラム(すなわち命令セット)を、個別のソフトウエアプログラム、処理手順またはモジュールとして実行する必要はなく、したがって、これらのモジュールの様々なサブセットが、様々な実施形態において組み合わせるかそうでなければ再配置されてよい。いくつかの実施形態では、メモリ1510は、上記の識別されたモジュールおよびデータ構造のサブセットを格納してよい。その上、メモリ1510は、上記で説明されていない追加モジュールおよびデータ構造を格納してよい。
実際上、当業者によって理解されるように、上記の図中に別々に示されている項目を組み合わせることができ、いくつかの項目を分離することもできる。例えば、図で別々に示されるいくつかの項目を単一のサーバ上で実現することができ、1つまたは複数のサーバによって単一項目を実現することもできる。当業者によって理解されるように、ウェブサイトは、ウェブサーバなど単一のサーバ、または複数のウェブサーバなど複数のサーバ上で実現することができる。ウェブサイトサーバまたは巡回ロボットシステムあるいは他のシステムを実現するために使用されるサーバの実際の数、および、それらにどのように機能が割り当てられるかは、実装形態ごとに様々であり、部分的には、平均的使用期間中ばかりでなくピーク使用期間中にシステムが扱わなければならないデータトラフィック量次第であり得る。説明の便宜上、ウェブサイトは、あたかもそれらが単一のウェブサーバ上で実現されているかのように以下で説明される。
本発明の複数の実施形態が説明されてきた。しかし、本発明の趣旨および範囲から逸脱することなく、様々な変更形態が作られ得ることが理解されよう。例えば、上記で論じられたステップは、示されたものと異なる順序で実行されてよく、あるステップが除去されてよく、加えられてもよい。したがって、他の実施形態は以下の特許請求の範囲の範囲内にある。
本システムの一部における情報の構成へのアクセスおよび解析のためのシステム内の要素間の通信を示す概念図である。 検索エンジンによるアクセスのためにインターネットドキュメントにインデックスを付けるためのシステムの概略図である。 システム内の情報の構成にアクセスし解析するための動作を示す流れ図である。 ウェブサイト向けのサイトマップを生成するプロセスの概念図である。 サイトマップジェネレータの制御パラメータを格納するためのデータ構造を示すブロック図である。 サイトマップを生成するためのプロセスを示す流れ図である。 サイトマップを生成するための別のプロセスを示す流れ図である。 ディファレンシャルサイトマップを生成するためのプロセスを示す流れ図である。 ウェブ巡回ロボットシステムを示すブロック図である。 サイトマップ巡回ロボットを示すブロック図である。 サイトマップに含まれた情報を基にドキュメントのダウンロードをスケジュール設定するプロセスを示す流れ図である。 サーチシステムにサイトマップを加えるための表示のスクリーンショットを例示する図である。 サーチシステムにモバイルサイトマップを加えるための表示のスクリーンショットを例示する図である。 ユーザに関連付けられたサイトマップを閲覧し管理するための表示のスクリーンショットを例示する図である。 ウェブサイトサーバを示すブロック図である。
符号の説明
10;システム
12;サーバシステム12
14;クライアント
16;サーバ
17;サイトマップ

Claims (17)

  1. 検索エンジンに結合された1つまたは複数のコンピュータにおいて、ウェブサイトでの1つまたは複数のネットワークアクセス可能なドキュメントについての情報を含む利用可能なサイトマップの通知を受け取るステップを含み前記利用可能なサイトマップの通知は、前記ウェブサイトのコンテンツのプロバイダから受け取られ、
    前記1つまたは複数のコンピュータにより、前記サイトマップに関連したドキュメントフォーマットインジケータを得るステップをさらに含み前記ドキュメントフォーマットインジケータは、前記ネットワークアクセス可能なドキュメントが1つまたは複数のモバイルコンテンツフォーマットになっていることを示し、
    前記1つまたは複数のコンピュータにより、前記ドキュメントフォーマットインジケータを使用してドキュメント巡回ロボット向けのドキュメントフォーマットインジケータによって示されたフォーマットと適合する特定のデバイスまたはデバイスのクラス向けのユーザエージェントインジケータを選択するステップと、
    前記1つまたは複数のコンピュータにより、記ドキュメント巡回ロボット向けの選択されたユーザエージェントインジケータを使用して前記ネットワークアクセス可能なドキュメントのうちの少なくともいくつかをクロールするステップとをさらに含む、ドキュメントを解析およびインデックス付けする方法。
  2. 前記1つまたは複数のネットワークアクセス可能なドキュメントが、共通ドメインで複数のウェブページを備える請求項1に記載の方法。
  3. 前記サイトマップがドキュメント識別子のリストを備える請求項1に記載の方法。
  4. 前記1つまたは複数のネットワークアクセス可能なドキュメントが、共通ドメインで複数のウェブページを備える請求項3に記載の方法。
  5. 前記モバイルコンテンツフォーマットが、XHTML、WML、iModeおよびHTMLから成るグループから選択される請求項1に記載の方法。
  6. 前記1つまたは複数のコンピュータにより、前記ネットワークアクセス可能なドキュメントのうち少なくともいくつかをクロールすることから検索された情報をインデックスに加えるステップをさらに含む請求項1に記載の方法。
  7. 前記検索エンジンにおいて、モバイルデバイスから検索要求を受け取るステップと、前記インデックス中の情報を用いて検索結果を前記モバイルデバイスに伝送するステップとをさらに含む請求項6に記載の方法。
  8. 前記利用可能なサイトマップが、ドキュメントの複数のリストを参照するインデックスを備える請求項1に記載の方法。
  9. 前記1つまたは複数のコンピュータにより、前記サイトマップを受け取るステップをさらに含み、前記1つまたは複数のネットワークアクセス可能なドキュメント向けのドキュメントタイプ指示は前記サイトマップに含まれ
    前記1つまたは複数のコンピュータにより、前記ドキュメントタイプ指示を用いて前記ドキュメントを分類するステップをさらに含む請求項1に記載の方法。
  10. 前記1つまたは複数のコンピュータにより、プロバイダが信頼されていること保証するために、前記サイトマップのプロバイダの身元を確認するステップをさらに含み、前記プロバイダは、署名による資格登録プロセスまたは別の信頼できるプロバイダからの紹介によって確認される請求項9に記載の方法。
  11. 前記ドキュメントタイプ指示が、ニュース、娯楽、通商、スポーツ、旅行、ゲームおよび金融から成るグループから選択されるドキュメントタイプを示す請求項9に記載の方法。
  12. 1つまたは複数のウェブサイトでのネットワークアクセス可能なドキュメントについての構成上の情報および、前記1つまたは複数のウェブサイトでのネットワークアクセス可能なドキュメント向けのフォーマット情報を格納するメモリと、
    前記構成上の情報、および、前記フォーマット情報によって示されたフォーマットと適合する特定のデバイスまたはデバイスのクラス向けのユーザエージェントインジケータを用いて前記ネットワークアクセス可能なドキュメントにアクセスするように構成された巡回ロボットと、
    前記巡回ロボットに前記フォーマット情報によって示されたフォーマットと適合するユーザエージェントインジケータを仮定させるように前記巡回ロボットに関連付けられたフォーマットセレクタとを備えるネットワークアクセス可能なドキュメントをクロールするためのシステム。
  13. 前記構成上の情報がURLのリストを備える請求項12に記載のシステム。
  14. 前記巡回ロボットに、選択されたユーザエージェントインジケータを仮定させるためのパラメータを格納するエージェントリポジトリをさらに備える請求項12に記載のシステム。
  15. 1つまたは複数のウェブサイトでのネットワークアクセス可能なドキュメントについての構成上の情報および前記1つまたは複数のウェブサイトでのネットワークアクセス可能なドキュメント向けのフォーマット情報を格納するメモリと、
    前記構成上の情報、および、前記フォーマット情報によって示されたフォーマットと適合する特定のデバイスまたはデバイスのクラス向けのユーザエージェントインジケータを用いて前記ネットワークアクセス可能なドキュメントにアクセスするように構成された巡回ロボットと、
    前記ネットワークアクセス可能なドキュメントにアクセスする際に示すべき特定のデバイスまたはデバイスのクラス向けのユーザエージェントインジケータを選択するための手段とを備える、ネットワークアクセス可能なドキュメントをクロールするためのシステム。
  16. 関係するフォーマットに関する特定のインデックスにおいてクロールされるネットワークアクセス可能なドキュメントについての情報を配置するステップをさらに含む請求項1から11のいずれか一項に記載の方法。
  17. ユーザによって使用されるデバイスのタイプを判断して検索要求を送出するステップと、
    前記デバイスのタイプに表示されるコンテンツのインデックスにおいてのみ検索するステップとをさらに含む請求項16に記載の方法。
JP2008529108A 2005-08-29 2006-08-23 モバイルサイトマップ Expired - Fee Related JP5015935B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US21470805A 2005-08-29 2005-08-29
US11/214,708 2005-08-29
US11/415,947 US7653617B2 (en) 2005-08-29 2006-05-01 Mobile sitemaps
US11/415,947 2006-05-01
PCT/US2006/032700 WO2007027469A2 (en) 2005-08-29 2006-08-23 Mobile sitemaps

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011283150A Division JP5474038B2 (ja) 2005-08-29 2011-12-26 モバイルサイトマップ

Publications (2)

Publication Number Publication Date
JP2009510547A JP2009510547A (ja) 2009-03-12
JP5015935B2 true JP5015935B2 (ja) 2012-09-05

Family

ID=37805565

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008529108A Expired - Fee Related JP5015935B2 (ja) 2005-08-29 2006-08-23 モバイルサイトマップ
JP2011283150A Expired - Fee Related JP5474038B2 (ja) 2005-08-29 2011-12-26 モバイルサイトマップ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011283150A Expired - Fee Related JP5474038B2 (ja) 2005-08-29 2011-12-26 モバイルサイトマップ

Country Status (6)

Country Link
US (3) US7653617B2 (ja)
JP (2) JP5015935B2 (ja)
KR (1) KR101298888B1 (ja)
CN (1) CN101971172B (ja)
BR (1) BRPI0616595A2 (ja)
CA (1) CA2621031A1 (ja)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584208B2 (en) 2002-11-20 2009-09-01 Radar Networks, Inc. Methods and systems for managing offers and requests in a network
US7640267B2 (en) * 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US7433876B2 (en) 2004-02-23 2008-10-07 Radar Networks, Inc. Semantic web portal and platform
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7644107B2 (en) * 2004-09-30 2010-01-05 Microsoft Corporation System and method for batched indexing of network documents
US7584194B2 (en) * 2004-11-22 2009-09-01 Truveo, Inc. Method and apparatus for an application crawler
CN101443751A (zh) 2004-11-22 2009-05-27 特鲁维奥公司 用于应用爬取器的方法和装置
US7769742B1 (en) 2005-05-31 2010-08-03 Google Inc. Web crawler scheduler that utilizes sitemaps from websites
US20070124506A1 (en) * 2005-10-27 2007-05-31 Brown Douglas S Systems, methods, and media for dynamically generating a portal site map
US7941420B2 (en) * 2007-08-14 2011-05-10 Yahoo! Inc. Method for organizing structurally similar web pages from a web site
US7680858B2 (en) * 2006-07-05 2010-03-16 Yahoo! Inc. Techniques for clustering structurally similar web pages
US7676465B2 (en) * 2006-07-05 2010-03-09 Yahoo! Inc. Techniques for clustering structurally similar web pages based on page features
US8533226B1 (en) 2006-08-04 2013-09-10 Google Inc. System and method for verifying and revoking ownership rights with respect to a website in a website indexing system
WO2008021832A2 (en) * 2006-08-09 2008-02-21 Radar Networks, Inc. Harvesting data from page
US7599920B1 (en) * 2006-10-12 2009-10-06 Google Inc. System and method for enabling website owners to manage crawl rate in a website indexing system
KR100844492B1 (ko) * 2006-11-06 2008-07-07 삼성전자주식회사 이동통신 단말기의 인터넷 접속 방법 및 장치
US10120936B2 (en) * 2006-12-19 2018-11-06 Excalibur Ip, Llc Providing system configuration information to a search engine
US20100145935A1 (en) * 2006-12-19 2010-06-10 Koninklijke Kpn N.V. Data network service based on profiling ip-addresses
KR100996037B1 (ko) * 2006-12-21 2010-11-22 삼성전자주식회사 무선 인터넷 접속이 가능한 이동 통신 단말기에서 하이퍼링크 정보를 제공하기 위한 장치 및 방법
KR101532054B1 (ko) * 2007-01-24 2015-07-06 구글 인코포레이티드 모바일 검색 결과 혼합
US20080222273A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
US8086948B2 (en) * 2007-04-19 2011-12-27 International Business Machines Corporation Framework for the dynamic generation of a search engine sitemap XML file
US20090063538A1 (en) * 2007-08-30 2009-03-05 Krishna Prasad Chitrapura Method for normalizing dynamic urls of web pages through hierarchical organization of urls from a web site
US8572102B2 (en) * 2007-08-31 2013-10-29 Disney Enterprises, Inc. Method and system for making dynamic graphical web content searchable
US20090076887A1 (en) 2007-09-16 2009-03-19 Nova Spivack System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment
US20090083266A1 (en) * 2007-09-20 2009-03-26 Krishna Leela Poola Techniques for tokenizing urls
US20090089278A1 (en) * 2007-09-27 2009-04-02 Krishna Leela Poola Techniques for keyword extraction from urls using statistical analysis
US20090193410A1 (en) 2007-09-28 2009-07-30 Xcerion Aktiebolag Network operating system
US20090100031A1 (en) * 2007-10-12 2009-04-16 Tele Atlas North America, Inc. Method and System for Detecting Changes in Geographic Information
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US20090106307A1 (en) * 2007-10-18 2009-04-23 Nova Spivack System of a knowledge management and networking environment and method for providing advanced functions therefor
US20090106221A1 (en) * 2007-10-18 2009-04-23 Microsoft Corporation Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features
CN101855631B (zh) * 2007-11-08 2016-06-29 上海惠普有限公司 用于聚焦爬行的导航排名
US20090125529A1 (en) * 2007-11-12 2009-05-14 Vydiswaran V G Vinod Extracting information based on document structure and characteristics of attributes
US7996349B2 (en) * 2007-12-05 2011-08-09 Yahoo! Inc. Methods and apparatus for computing graph similarity via sequence similarity
US8126869B2 (en) * 2008-02-08 2012-02-28 Microsoft Corporation Automated client sitemap generation
US20090204889A1 (en) * 2008-02-13 2009-08-13 Mehta Rupesh R Adaptive sampling of web pages for extraction
US7865497B1 (en) * 2008-02-21 2011-01-04 Google Inc. Sitemap generation where last modified time is not available to a network crawler
US7984379B2 (en) * 2008-04-04 2011-07-19 Microsoft Corporation Standard schema and user interface for website maps
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US20100004975A1 (en) * 2008-07-03 2010-01-07 Scott White System and method for leveraging proximity data in a web-based socially-enabled knowledge networking environment
KR20110069018A (ko) * 2008-08-21 2011-06-22 망고 문 트레이딩 1138 씨씨 색인 시스템
JP5108707B2 (ja) * 2008-09-30 2012-12-26 ヤフー株式会社 検索サーバ装置、検索方法及びプログラム
KR101018787B1 (ko) * 2008-10-17 2011-03-03 한국과학기술원 인터넷 정보 검색 시스템
US20100169311A1 (en) * 2008-12-30 2010-07-01 Ashwin Tengli Approaches for the unsupervised creation of structural templates for electronic documents
US20100223214A1 (en) * 2009-02-27 2010-09-02 Kirpal Alok S Automatic extraction using machine learning based robust structural extractors
US20100228738A1 (en) * 2009-03-04 2010-09-09 Mehta Rupesh R Adaptive document sampling for information extraction
US8200617B2 (en) 2009-04-15 2012-06-12 Evri, Inc. Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
US10628847B2 (en) * 2009-04-15 2020-04-21 Fiver Llc Search-enhanced semantic advertising
US8862579B2 (en) * 2009-04-15 2014-10-14 Vcvc Iii Llc Search and search optimization using a pattern of a location identifier
US9037567B2 (en) * 2009-04-15 2015-05-19 Vcvc Iii Llc Generating user-customized search results and building a semantics-enhanced search engine
US10303722B2 (en) 2009-05-05 2019-05-28 Oracle America, Inc. System and method for content selection for web page indexing
US20100287152A1 (en) 2009-05-05 2010-11-11 Paul A. Lipari System, method and computer readable medium for web crawling
US10198414B2 (en) * 2009-09-10 2019-02-05 Usablenet Inc. Methods for optimizing interaction with a form in a website page and systems thereof
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US9043306B2 (en) 2010-08-23 2015-05-26 Microsoft Technology Licensing, Llc Content signature notification
MY176053A (en) * 2010-12-28 2020-07-23 Mimos Berhad A semantic web constructor system and a method thereof
US8868541B2 (en) * 2011-01-21 2014-10-21 Google Inc. Scheduling resource crawls
US8612419B2 (en) * 2011-01-31 2013-12-17 International Business Machines Corporation Intelligent content discovery for content consumers
US8706732B1 (en) 2011-07-12 2014-04-22 Google Inc. Managing information about entities using clusters of received observations
US8676804B1 (en) 2011-07-12 2014-03-18 Google Inc. Managing information about entities using observations generated from user modified values
US10572959B2 (en) 2011-08-18 2020-02-25 Audax Health Solutions, Llc Systems and methods for a health-related survey using pictogram answers
US8793254B2 (en) * 2011-08-18 2014-07-29 Nicholas H. Evancich Methods and apparatus for classifying content
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
EP2650802B1 (en) * 2012-04-12 2018-10-24 Dassault Systèmes Building of a web corpus with the help of a reference web crawl
US8972375B2 (en) * 2012-06-07 2015-03-03 Google Inc. Adapting content repositories for crawling and serving
US9582588B2 (en) * 2012-06-07 2017-02-28 Google Inc. Methods and systems for providing custom crawl-time metadata
US20140053065A1 (en) * 2012-08-16 2014-02-20 Motorola Mobility Llc System and method for adjusting website displays
DE102013017085A1 (de) 2012-10-15 2014-04-17 Wixpress Ltd. System für eine tiefe Verknüpfung und Suchmaschinenunterstützung für Webseiten, in die eine Drittanwendung und Komponenten integriert sind
CN103780741B (zh) * 2012-10-18 2018-03-13 腾讯科技(深圳)有限公司 提示网速的方法和移动设备
US20150205767A1 (en) * 2012-11-12 2015-07-23 Google Inc. Link appearance formatting based on target content
KR101518488B1 (ko) * 2013-05-20 2015-05-07 주식회사 애드오피 온라인 콘텐츠 가치 향상 방법 및 시스템
CN103324695B (zh) * 2013-06-05 2016-06-08 百度在线网络技术(北京)有限公司 一种wap网页索引库的建立方法与装置
CN103399908B (zh) * 2013-07-30 2017-02-08 北京北纬通信科技股份有限公司 业务数据抓取方法和系统
US20160275190A1 (en) * 2013-10-21 2016-09-22 Convida Wireless, Llc Crawling of m2m devices
US9910925B2 (en) * 2013-11-15 2018-03-06 International Business Machines Corporation Managing searches for information associated with a message
US9614869B2 (en) * 2013-11-23 2017-04-04 Universidade da Coruña—OTRI System and server for detecting web page changes
JP2015172808A (ja) * 2014-03-11 2015-10-01 日本電気株式会社 検索装置、検索方法およびプログラム
CN105446981B (zh) * 2014-06-30 2019-03-29 阿里巴巴集团控股有限公司 站点地图生成方法、访问方法及装置
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
JP6592237B2 (ja) * 2014-10-10 2019-10-16 Jcc株式会社 情報取得サーバー、情報取得方法、及び情報取得配信システム
KR101628511B1 (ko) * 2014-11-03 2016-06-09 주식회사 애드오피 검색 엔진 최적화 방법 및 그를 이용한 서버 장치
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) * 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10382476B1 (en) * 2015-03-27 2019-08-13 EMC IP Holding Company LLC Network security system incorporating assessment of alternative mobile application market sites
WO2017066208A1 (en) * 2015-10-12 2017-04-20 Ehrlich Wesen & Dauer, Llc Network resource crawler with multiple user-agents
US10255283B1 (en) * 2016-09-19 2019-04-09 Amazon Technologies, Inc. Document content analysis based on topic modeling
US10558657B1 (en) 2016-09-19 2020-02-11 Amazon Technologies, Inc. Document content analysis based on topic modeling
US10521408B1 (en) * 2016-09-30 2019-12-31 Open Text Corporation Method and system for optimization of faceted search
US10455520B2 (en) 2017-03-30 2019-10-22 At&T Intellectual Property I, L.P. Altitude based device management in a wireless communications system
US10509921B2 (en) * 2017-05-31 2019-12-17 Intuit Inc. System for managing transactional data
CN108427739B (zh) * 2018-03-01 2022-04-22 上海哔哩哔哩科技有限公司 页面跳转方法、服务器及页面跳转系统
CN110309389A (zh) * 2018-03-14 2019-10-08 北京嘀嘀无限科技发展有限公司 云计算系统
US11100555B1 (en) * 2018-05-04 2021-08-24 Coupa Software Incorporated Anticipatory and responsive federated database search
CN113204579B (zh) * 2021-04-29 2024-06-07 北京金山数字娱乐科技有限公司 内容关联方法、系统、装置、电子设备及存储介质
IL308559A (en) * 2021-07-08 2024-01-01 Oxylabs Uab Internet information mining through the use of proxies, and the application of the information
WO2023280593A1 (en) * 2021-07-08 2023-01-12 metacluster lt, UAB Web scraping through use of proxies, and applications thereof
US20230306956A1 (en) * 2022-03-28 2023-09-28 Capital One Services, Llc Flexible text-to-speech for screen readers
WO2024143483A1 (ja) * 2022-12-28 2024-07-04 京セラ株式会社 制御システム

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5855020A (en) 1996-02-21 1998-12-29 Infoseek Corporation Web scan process
US6038610A (en) 1996-07-17 2000-03-14 Microsoft Corporation Storage of sitemaps at server sites for holding information regarding content
US5958008A (en) 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
US5935210A (en) 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
US6285999B1 (en) 1997-01-10 2001-09-04 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US5958009A (en) * 1997-02-27 1999-09-28 Hewlett-Packard Company System and method for efficiently monitoring quality of service in a distributed processing environment
US6351467B1 (en) 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
WO1999041694A1 (en) 1998-02-13 1999-08-19 Yahoo, Inc. Search engine using sales and revenue to weight search results
US6424966B1 (en) 1998-06-30 2002-07-23 Microsoft Corporation Synchronizing crawler with notification source
US6271840B1 (en) 1998-09-24 2001-08-07 James Lee Finseth Graphical search engine visual index
US6360215B1 (en) * 1998-11-03 2002-03-19 Inktomi Corporation Method and apparatus for retrieving documents based on information other than document content
US6418433B1 (en) 1999-01-28 2002-07-09 International Business Machines Corporation System and method for focussed web crawling
JP4095739B2 (ja) * 1999-04-16 2008-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブサイト閲覧方法、ウェブサイト閲覧システム、コンピュータ、および記憶媒体
JP2001014210A (ja) * 1999-06-25 2001-01-19 Just Syst Corp 情報収集システム
US6754873B1 (en) 1999-09-20 2004-06-22 Google Inc. Techniques for finding related hyperlinked documents using link-based analysis
WO2001027805A2 (en) 1999-10-14 2001-04-19 360 Powered Corporation Index cards on network hosts for searching, rating, and ranking
US6516337B1 (en) 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US6976053B1 (en) 1999-10-14 2005-12-13 Arcessa, Inc. Method for using agents to create a computer index corresponding to the contents of networked computers
US6321265B1 (en) 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
AU4712601A (en) 1999-12-08 2001-07-03 Amazon.Com, Inc. System and method for locating and displaying web-based product offerings
US6957383B1 (en) 1999-12-27 2005-10-18 International Business Machines Corporation System and method for dynamically updating a site map and table of contents for site content changes
US20030158960A1 (en) * 2000-05-22 2003-08-21 Engberg Stephan J. System and method for establishing a privacy communication path
US6778986B1 (en) 2000-07-31 2004-08-17 Eliyon Technologies Corporation Computer method and apparatus for determining site type of a web site
US7103906B1 (en) * 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US20040030683A1 (en) * 2000-11-21 2004-02-12 Evans Philip Clark System and process for mediated crawling
US6957390B2 (en) 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
MY147018A (en) 2001-01-04 2012-10-15 Thomson Licensing Sa A method and apparatus for acquiring media services available from content aggregators
JP2002288224A (ja) * 2001-03-28 2002-10-04 Hitachi Software Eng Co Ltd サイトマップ配信方法およびシステム
JP2002297436A (ja) * 2001-03-29 2002-10-11 Hitachi Software Eng Co Ltd 携帯端末向けコンテンツのサイトマップ管理方法及び装置並びにシステム
US20020194061A1 (en) * 2001-03-29 2002-12-19 International Business Machines Corporation Method and system for request based advertising on a mobile phone
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US6820075B2 (en) 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
JP2003085208A (ja) * 2001-09-10 2003-03-20 Hitachi Ltd サイトマップ自動提供方法およびシステム並びにプログラム
US7047502B2 (en) 2001-09-24 2006-05-16 Ask Jeeves, Inc. Methods and apparatus for mouse-over preview of contextually relevant information
US7136875B2 (en) 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
JP2003308335A (ja) * 2002-04-15 2003-10-31 Just Syst Corp 文書検索システム及び方法、並びにプログラム
US7231395B2 (en) 2002-05-24 2007-06-12 Overture Services, Inc. Method and apparatus for categorizing and presenting documents of a distributed database
CA2495536A1 (fr) 2002-08-09 2004-02-26 Agency Multimedia Plateforme de type logicielle dediee au referencement de sites du reseau internet
US20040225730A1 (en) * 2003-01-17 2004-11-11 Brown Albert C. Content manager integration
US7380204B2 (en) * 2003-02-24 2008-05-27 Microsoft Corporation Infrastructure for generating web content
US7403785B2 (en) * 2003-06-17 2008-07-22 International Business Machines Corporation Consolidating online privacy preferences
US20040260680A1 (en) 2003-06-19 2004-12-23 International Business Machines Corporation Personalized indexing and searching for information in a distributed data processing system
JP4566683B2 (ja) * 2003-10-09 2010-10-20 パナソニック株式会社 メタデータアクセス制御システム及びその方法、並びに受信装置、送信装置
EP1679896A4 (en) 2003-10-09 2006-10-11 Matsushita Electric Ind Co Ltd METADATA ACCESS CONTROL SYSTEM, CORRESPONDING METHOD, RECEIVER DEVICE, AND TRANSCEIVER DEVICE
US20050086262A1 (en) * 2003-10-21 2005-04-21 Arto Kiiskinen Method and apparatus for WAP and XHTML site management
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
US7386572B2 (en) * 2004-04-14 2008-06-10 Nancy Kramer System and method for a modular user controlled search engine
US7596571B2 (en) 2004-06-30 2009-09-29 Technorati, Inc. Ecosystem method of aggregation and search and related techniques
US7363296B1 (en) 2004-07-01 2008-04-22 Microsoft Corporation Generating a subindex with relevant attributes to improve querying
US8219567B2 (en) * 2005-03-15 2012-07-10 Microsoft Corporation Mobile friendly internet searches

Also Published As

Publication number Publication date
CA2621031A1 (en) 2007-03-08
KR20080043865A (ko) 2008-05-19
US20070050338A1 (en) 2007-03-01
JP2009510547A (ja) 2009-03-12
US20140046925A1 (en) 2014-02-13
JP2012069163A (ja) 2012-04-05
CN101971172B (zh) 2012-09-19
KR101298888B1 (ko) 2013-08-21
US8234266B2 (en) 2012-07-31
US20100125564A1 (en) 2010-05-20
US7653617B2 (en) 2010-01-26
CN101971172A (zh) 2011-02-09
JP5474038B2 (ja) 2014-04-16
US8655864B1 (en) 2014-02-18
BRPI0616595A2 (pt) 2016-08-23

Similar Documents

Publication Publication Date Title
JP5015935B2 (ja) モバイルサイトマップ
US9355177B2 (en) Web crawler scheduler that utilizes sitemaps from websites
US8005832B2 (en) Search document generation and use to provide recommendations
US8024384B2 (en) Techniques for crawling dynamic web content
US8484205B1 (en) System and method for generating sources of prioritized content
US8745039B2 (en) Method and system for user guided search navigation
KR101444389B1 (ko) 원격 모듈용 메시지 목록
US20130166528A1 (en) System And Method For Generating A Search Index And Executing A Context-Sensitive Search
US8645367B1 (en) Predicting data for document attributes based on aggregated data for repeated URL patterns
US20080140626A1 (en) Method for enabling dynamic websites to be indexed within search engines
US9275145B2 (en) Electronic document retrieval system with links to external documents
KR20090071606A (ko) 검색 결과들을 찾아서 사용자에게 제공하는 시스템 및 컴퓨터 판독가능 매체
Herder Forward, back and home again-analyzing user behavior on the web
EP1934825A2 (en) Mobile sitemaps
JP2007257625A (ja) 配信システム、配信方法、及びプログラム
JP2009252047A (ja) 閲覧データに含まれる部分データを管理する装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111026

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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

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

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees