以下、本発明の実施の形態について、図面を用いて説明する。すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
なお、各実施形態の装置を構成する各部は、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラム(あらかじめ装置を出荷する段階からメモリ内に格納されているプログラムのほか、CD等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムも含む)、そのプログラムを記憶するハードディスク等の記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
また、各実施形態の説明において利用する機能ブロック図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。これらの図においては、各実施形態の装置は1つの装置により実現されるよう記載されているが、その実現手段はこれに限定されない。すなわち、物理的に分かれた構成であっても、論理的に分かれた構成であっても構わない。
<実施形態1>
図2は、本実施形態のWebサービス記憶装置1の構成の一例を示す機能ブロック図である。図に示すように、本実施形態のWebサービス記憶装置1は、サービス抽出部53と、サービス同一性判定部54と、サービス記憶部60と、を有する。さらに、文書情報取得部51と、HTTP情報取得部52と、を有してもよい。
図3は、本実施形態のWebサービス記憶装置1の構成の一例をより詳細に示す機能ブロック図である。図に示すように、本実施形態のWebサービス記憶装置1は、Webページ表示部11および再利用入力画面表示部12を有する表示部10と、リクエスト受付部21および再利用リクエスト受付部22を有する受付部20と、リクエスト情報送信部31および再利用送信部32を有する送信部30と、受信部40と、文書情報取得部51、HTTP情報取得部52、サービス抽出部53およびサービス同一性判定部54を有する作成部50と、サービス記憶部60と、を有する構成とすることができる。以下、各部の構成について説明する。
Webページ表示部11は、クエリの入力およびWeb上のサービスを実行する指示入力を受付ける遷移前Webページを表示するための情報を、インターネット等のネットワークを介してWebサービスを提供しているサーバから受信し、ディスプレイ等を介して遷移前Webページを出力する。
Webサービスとは、Web上で行われているサービスであって、ユーザからクエリを含むHTTPリクエスト情報を受信し、受信したクエリを利用した演算処理等を実行した後、処理結果を示すWebページを提供するサービスである。このようなWebサービスの例としては、例えば、Webページを検索するWeb検索、Web上で提供されている画像を検索する画像検索、Web上で提供されている動画を検索する動画検索、Web上で提供されているニュースを検索するニュース検索、Web上のサーバ内に蓄積されているメールを検索するメール検索、その他いわゆる図書検索、辞書・辞典検索などであってもよい。その他の例としては、Web上で商品を販売等しているプロバイダが提供しているサービスであって、ユーザが入力したクエリをキーにして自己が取り扱っている商品情報を蓄積しているデータベースを検索し、検索結果を提供するサービスであってもよい。その他の例としては、Web上で行われている認証サービス、登録サービス、購入サービスおよび予約サービス等であってもよい。前記列挙はあくまで一例であり、その他のサービスが含まれてもよい。また、このようなWebサービスにおいて受付けるクエリは、キーワード等の文字列からなる情報の他、画像データ、音声データ等であってもよい。
遷移前Webページとは、上述のようなWebサービスを提供しているプロバイダが提供しているWebページであって、Webサービスを受けるためのクエリの入力およびサービスを実行する指示入力を行うためのページである。このような遷移前Webページを表示するための情報は、HTML文書や、Webページに組み込まれる画像データ等を含む。
リクエスト受付部21は、遷移前Webページからのクエリの入力、および、このクエリを利用したWeb上のサービスを実行する指示入力を受付ける。
リクエスト情報送信部31は、リクエスト受付部21がクエリの入力およびサービスを実行する指示入力を受付けると、クエリを含むHTTPリクエスト情報を、インターネット等のネットワークを介してサーバに送信する。
受信部40は、HTTPリクエスト情報に応じてサーバから返信されてきた遷移後Webページを表示するための情報を、インターネット等のネットワークを介して受信する。
遷移後Webページとは、HTTPリクエスト情報を受信したサーバが、HTTPリクエスト情報に含まれるクエリを利用して行った演算処理等の結果を示すWebページである。例えば、HTTPリクエスト情報に含まれるクエリを利用して行ったWeb検索の結果ページなどが該当する。このような遷移後Webページを表示するための情報は、HTML文書や、Webページに組み込まれる画像データ等を含む。
ここで、上述のWebページ表示部11、リクエスト受付部21、リクエスト情報送信部31および受信部40の機能は、従来技術に準じて実現することができる。例えば、Webブラウザ等をコンピュータに実行させることで実現することができる。
作成部50は、遷移前Webページを表示するための情報および/または遷移後Webページを表示するための情報と、HTTPリクエスト情報とを取得する。そして、これらの情報を利用して、HTTPリクエスト情報内に含まれるクエリ記載箇所を変数化した情報を含む再利用HTTPリクエスト情報を作成する。そして、新たに作成した再利用HTTPリクエスト情報を利用して受けられるWeb上のサービスと同一のサービスを受けるための再利用HTTPリクエスト情報が以下で説明するサービス記憶部60にすでに記憶されていないか判定する。そして、同一のサービスを受けるための再利用HTTPリクエスト情報がサービス記憶部60に記憶されていない場合には、新たに作成した再利用HTTPリクエスト情報をサービス記憶部60に記憶する。なお、作成部50は、HTTPリクエスト情報内のクエリに使われている文字コードを特定してもよい。また、作成部50は、再利用HTTPリクエスト情報および文字コードを利用して、検索プラグインを作成してもよい。
作成部50による上記機能は、文書情報取得部51、HTTP情報取得部52、サービス抽出部53、および、サービス同一性判定部54により実現される。
文書情報取得部51は、入力ページにおいてクエリの入力、および、サービスを実行する指示入力がなされると、遷移前Webページの文書および/または遷移後Webページの文書を解析し、文書情報を取得する。ここでの遷移前Webページの文書および遷移後Webページの文書は、HTML文書が該当する。
例えば、文書情報取得部51は、文書情報として、遷移前Webページの文書から、クエリを入力するための部品、例えばボックス(以下、「入力ボックス」という)の名称、大きさ、そこに入力されている値を示す文字列を取得する。なお、遷移後Webページの文書から取得してもよい。
その他、文書情報取得部51は、文書情報として、遷移前Webページの文書から、HTML文書の文字コードを示す情報を取得してもよい。なお、遷移後Webページの文書から取得してもよい。
その他、文書情報取得部51は、文書情報として、遷移後Webページの文書から、HTML文書のタイトルを示す文字列を取得してもよい。なお、遷移前Webページの文書から取得してもよい。
上述した文書情報の例はあくまで一例であり、文書情報取得部51は、前記情報に加えて、または代えて、その他の情報を取得してもよい。しかし、ここで取得する情報は、同一のWebサービスであれば記載内容が同一または大部分が同一となる情報であるのが好ましい。
ここで、図4を用いて文書情報取得部51による処理の一例を説明する。これは、ユーザが或る入力ページ(図4−A)に設置されたHTMLフォームを完成させてサービス(図では「Web検索」)の実行を指示入力し、結果ページ(図4−B)を取得した時のシステムの動作の一例を示したものである。
例えば、文書情報取得部51は、ユーザ操作に応じてクエリを含むリクエスト情報(図4−C)がサーバ2に送信されたタイミングで遷移前Webページの文書(図4−D)を解析し、入力ボックスの名称として「q」、値として「NEC」を取得する。なお、入力ボックスの名称や値を取得する手段は特段制限されないが、例えば、名称は<input>タグに記載されているname属性の値を、値は<input>タグに記載されているvalue属性の値を取得することで実現してもよい。その他、文書情報取得部51は、同様の手段により、入力ボックスの大きさを示す情報として、例えばsize属性の値やmaxlength属性の値などを取得してもよい。
また、文書情報取得部51は、ユーザ操作に応じてクエリを含むHTTPリクエスト情報(図4−C)がサーバに送信されたタイミングで遷移前Webページの文書(図4−D)を解析し、HTML文書の文字コードを示す情報を取得する。なお、文字コードを取得する手段は特段制限されないが、例えば、<meta>タグの中から「charset=」の文字列を見つけ、その後に続く文字列を取得することで実現してもよい。ここで取得した文字コードを示す情報は、例えば、以下で説明するサービス抽出部53がHTTPリクエスト情報内のクエリに使われている文字コードを特定する処理に利用することができる。なお、ここで取得した文字コードを示す情報を、そのまま、HTTPリクエスト情報内のクエリに使われている文字コードとして利用してもよい。
また、文書情報取得部51は、サーバから遷移後Webページ(図4−B)を取得したタイミングで、遷移後Webページ(図4−B)の文書を解析し、HTML文書のタイトルを示す文字列(図の場合、「Web検索結果」)を取得する。なお、HTML文書のタイトルを取得する手段は特段制限されないが、例えば、<title>〜</title>の間に記載されている文字列を取得することで実現してもよい。
HTTP情報取得部52は、入力ページにおいてクエリの入力、および、サービスを実行する指示入力がなされると、その入力に応じてサーバに送信されたHTTPリクエスト情報を取得する。HTTPリクエスト情報は、メソッド(GETやPOSTなど)、送信先リソース、および、送信するエンティティボディ等を有する。
ここで、図4を用いてHTTP情報取得部52による処理の一例を説明する。例えば、HTTP情報取得部52は、ユーザ操作に応じてクエリを含むリクエスト情報がサーバに送信されたタイミングで、図4−Cに示すようなHTTPリクエスト情報を取得する。そして、取得したHTTPリクエスト情報の中から、メソッド、送信先リソース、および、エンティティボディ等の中の1つ以上を抽出する。例えば、HTTP情報取得部52は、図4−Cに示すようなHTTPリクエスト情報(図4−C)の中から、例えば、メソッドとして「GET」、送信先リソースとして「http://somesite.com/web/search?q=NEC&k=all」を抽出する。なお、HTTP情報取得部52が抽出する情報の詳細は、ここに列挙したものに限定されない。しかし、ここで抽出する情報は、同一のWebサービスであれば記載内容が同一または大部分が同一となる情報であるのが好ましい。
サービス抽出部53は、文書情報取得部51が取得した文書情報と、HTTP情報取得部52が取得したHTTPリクエスト情報とを用いて、当該Webサービスを後で再利用できるよう、再利用HTTPリクエスト情報を作成する。
具体的には、サービス抽出部53は、HTTPリクエスト情報に含まれるクエリ記載箇所を変数化した情報(再利用HTTPリクエスト情報)を作成する。
ここで、図4を用いてサービス抽出部53による処理の一例を説明する。例えば、サービス抽出部53は、文書情報取得部51が文書情報として取得した入力ボックスの名称(図4の場合、「q」)をキーとして、HTTPリクエスト情報(図4−C)を検索する。そして、「q」を特定すると、「q=」の後に続くクエリ記載箇所を変数化した情報(例:http://somesite.com/web/search?q={query}&k=all)を再利用リクエスト情報として作成する。なお、「q=」の後に続くクエリ記載箇所を変数化する前に、この箇所を特定し、文書情報取得部51が文書情報として取得した入力ボックスの値(図4の場合、「NEC」)と比較することで、HTTPリクエスト情報内のクエリに使われている文字コードを特定してもよい。具体的には、クエリ記載箇所の文字列と、入力ボックスの値を複数の文字コードを前提に変換(符号化)した文字列とを比較し、表記が同じもので使われていた文字コードをそれと判断する。この処理では、例えば、文書情報取得部51がHTML文書から取得した文字コードを優先的に使用して前記変換(符号化)を行ってもよい。
サービス同一性判定部54は、サービス抽出部53が新たに作成した再利用HTTPリクエスト情報を利用して受けられるWebサービスと同一のWebサービスを受けるための再利用HTTPリクエスト情報がすでにサービス記憶部60に記憶されていないか判定する。
ここで、サービス同一性判定部54の構成について詳細に説明する前に、まず、サービス記憶部60について説明する。
サービス記憶部60は、メモリ等で構成され、再利用HTTPリクエスト情報を記憶する。なお、サービス記憶部60には、再利用HTTPリクエスト情報と関連付けて、HTTPリクエスト情報内のクエリに使われている文字コードを示す情報が記憶されてもよい。さらに、サービス記憶部60には、再利用HTTPリクエスト情報と関連付けられたHTML文書のタイトルが記憶されてもよい。なお、HTML文書のタイトルにクエリ文字列やヒット件数などが含まれる場合には、タイトル中のクエリ文字列やヒット件数などの変数部分を一般化(例えば、「Web検索 NECの検索結果」というタイトルを、「Web検索 *の検索結果」とする)したものが記憶されてもよい。また、サービス記憶部60は、遷移前WebページのHTML文書に含まれる遷移前文書情報、遷移後WebページのHTML文書に含まれる遷移後文書情報、および、HTTPリクエスト情報に含まれる情報、の中のいずれか1つ以上を含む情報(以下、「サービス関連情報」という)を、再利用HTTPリクエスト情報と関連付けて記憶してもよい。サービス関連情報は、同一のWebサービスであれば記載内容が同一または大部分が同一となる情報であるのが好ましい。例えば、サービス関連情報は、遷移前Webページの入力HTMLフォームの構成、遷移後Webページのタイトル(クエリ文字列やヒット件数などの変数部分を一般化したもの)、および、HTTPリクエスト情報内の送信先リソース、の中のいずれか1つ以上を含んでもよい。なお、サービス記憶部60は、その他、作成部50が再利用HTTPリクエスト情報およびHTTPリクエスト情報内のクエリに使われている文字コードを利用して作成した検索プラグインを記憶してもよい。
ここで、図5に、サービス記憶部60が記憶しているサービス関連情報の一例を模式的に示す。この例では、サービス記憶部60は、2つのWebサービスに関するサービス関連情報を記憶していて、Webサービス毎に、サービス関連情報として、遷移後文書のタイトル、HTTPリクエスト情報から抽出したメソッド・リソースおよびエンティティボディを記憶している。なお、リソースは、クエリ記載箇所を変数化した情報となっている。このようにした場合、同一のWebサービスであれば大部分の記載内容が同一となる。また、図中、WebサービスIDは、再利用HTTPリクエスト情報を作成・記憶する際に付与されるIDであり、図示する例の場合、このIDにより、再利用HTTPリクエスト情報とサービス関連情報とが関連付けられている。
なお、ここに記憶される情報は、Webサービス記憶装置1が過去に抽出し記憶したものや、システム提供者またはユーザが与えたものとする。また、Webサービス毎に記憶されるサービス関連情報の詳細は、ここに挙げたものに限定されず、サービスの同一性の判定や当該サービスの実行に資するものであれば何でもよく、例えば、遷移前文書のHTMLフォームの情報、遷移後文書の内容の情報などを使ってもよい。
サービス同一性判定部54は、サービス抽出部53が新たに作成した再利用HTTPリクエスト情報を利用して受けられるWebサービスと同一のWebサービスを受けるための再利用HTTPリクエスト情報がすでに上記説明したサービス記憶部60に記憶されていないか判定する。
例えば、サービス同一性判定部54は、新たに作成された再利用HTTPリクエスト情報に関連付けられるサービス関連情報と、サービス記憶部60に記憶されている再利用HTTPリクエスト情報に関連付けられているサービス関連情報と、を利用して、上記判定を行ってもよい。さらに具体的には、サービス同一性判定部54は、遷移前文書(図4−A)のHTMLフォームの構成、遷移後文書(図4−B)のタイトル(クエリ文字列やヒット件数などの変数部分を一般化したもの)、および、HTTPリクエスト情報内の送信先リソース、の中のいずれか1つ以上を利用して、上記判定を行ってもよい。
すなわち、サービス同一性判定部54は、上記情報の中のいずれか1つ以上を利用して、新たに作成された再利用HTTPリクエスト情報に関連付けられるサービス関連情報と一致するサービス関連情報がサービス記憶部60内にすでに記憶されていないか検索する。そして、検索の結果、記憶されていた場合、同一のWebサービスを受けるための再利用HTTPリクエスト情報がすでにサービス記憶部60に記憶されていると判定する。一方、検索の結果、記憶されていなかった場合、同一のWebサービスを受けるための再利用HTTPリクエスト情報がサービス記憶部60に記憶されていないと判定する。そして、かかる場合は、新たに作成された再利用HTTPリクエスト情報をサービス記憶部60に記憶する。また、これに関連付けて、サービス関連情報をサービス記憶部60に記憶してもよい。その他、これに関連付けて文字コードおよび/またはHTML文書のタイトルを記憶してもよい。
なお、サービス同一性判定部54が上記判定のために比較する対象を特定する情報が予め与えられていてもよい。例えば、遷移後文書のタイトルが比較対象として与えられていてもよい。かかる場合、サービス同一性判定部54は、遷移後文書のタイトルを比較することで上記判定を行う。
ここで、図6を用いて、サービス同一性判定部54の処理の一例を具体的に説明する。図6−Aは、新たに作成された再利用HTTPリクエスト情報に関連付けられるサービス関連情報を模式的に示している。図6−Bは、すでにサービス記憶部60に記憶されている再利用HTTPリクエスト情報に関連付けられているサービス関連情報を模式的に示している。また、比較対象を特定する情報として図7に示す情報が与えられている。
かかる場合、サービス同一性判定部54は、図7に示す情報に基づき、各Webサービスのサービス関連情報(文書情報、HTTPリクエスト情報)内の比較対象の情報、すなわち遷移後文書のタイトルとHTTPリクエストのリソースのサイト名・サービス名(パス部分のリーフに当たる所)を比較し、これらが一致する場合は同一のWebサービス、一致しない場合は非同一のWebサービスと判定していく。この例の場合は、図6−Aのサービス関連情報は、サービス記憶部60に記憶されているどのサービス関連情報とも非同一と判定され、このサービス関連情報が、新たに作成された再利用HTTPリクエスト情報に関連付けて、サービス記憶部60に記憶される(図6−C)。
ここで、Webサービスの同一性判定においてサービス関連情報(文書情報やHTTPリクエスト情報内の情報)に限定して比較する理由について説明する。実際のWebサービスには同一(あるいは実質的に同一)のWebサービスにも関わらず、サービス提供の際に送受信する情報の中に異なる記述が存在する場合がある。例えば、HTTPリクエスト情報全体の記述の中の一部が異なっている場合がある。よって、Webサービスの同一性を精度良く判定するには、同一のWebサービス内における記述の違いの影響が少なく、かつ、異なるWebサービスを区別できる情報に限定して比較する必要がある。そこで、本実施形態では、サービス関連情報に限定して上記比較処理を行う。なお、上述の要求を満たすサービス関連情報としては、遷移前文書のHTMLフォームの入力コントロール(テキストボックスやボタンなど)の構成、遷移後文書のタイトル・内容・HTML要素の構成、HTTPリクエスト情報のリソース(特にサイト名とサービス名)などが考えられる。
ここで、サービス同一性判定部54による判定の同一性は、比較対象の情報の完全一致ではなく、その包含関係(一方が他方に含まれる場合、一致とみなす)や類似性(類似度の値をある方法で計算し、これが閾値以上の場合、一致とみなす)をもって判定してもよい。また、複数の比較対象の情報の一致状態から算出した一致度により判定してもよい(複数の比較対象全体において閾値以上の割合で一致が見られた場合、一致とみなす)。
再利用入力画面表示部12は、サービス記憶部60に記憶されている再利用HTTPリクエスト情報を利用してクエリをサーバに送信するための再利用入力画面を表示する。例えば、再利用入力画面表示部12は、図1に示すような複数のWebサービスを指定可能な入力ページであって、再利用HTTPリクエスト情報が記憶されているWebサービスを指定可能に表示している入力ページを、ディスプレイを介して出力する。なお、再利用入力画面表示部12は、サービス記憶部60に記憶されているHTML文書のタイトルを利用して、領域Aに、指定可能なWebサービスを識別する情報を表示してもよい。
再利用リクエスト受付部22は、再利用入力画面表示部12が表示する再利用入力画面から、クエリの入力、および、クエリを利用したWeb上のサービスを実行する再利用指示入力を受付ける。再利用指示入力とは、再利用HTTPリクエスト情報が記憶されているWebサービスを指定してなされるWeb上のサービスを実行する指示入力である。なお、再利用リクエスト受付部22の構成は、従来技術に準じて実現することができる。
再利用送信部32は、再利用リクエスト受付部22がクエリの入力および再利用指示入力を受付けると、再利用HTTPリクエスト情報内の変数化された箇所に入力を受付けたクエリを記載したリクエスト情報を作成し、サーバに送信する。
具体的には、まず、再利用送信部32は、再利用入力画面(図1参照)においてユーザから指定されたWebサービス(領域Aに列挙されている中のいずれか)を識別すると、サービス記憶部60から、そのWebサービスの再利用HTTPリクエスト情報を取り出す。そして、取り出した再利用HTTPリクエスト情報内の変数化された箇所に入力を受付けたクエリを記載することで、HTTPリクエスト情報を作成する。なお、入力を受付けたクエリが日本語表記であった場合などには、再利用送信部32は必要に応じて、取り出した再利用HTTPリクエスト情報に関連付けられている文字コードを認識し、認識した文字コードでクエリを変換する。そして、再利用HTTPリクエスト情報内の変数化された箇所に変換後のクエリ文字列を記載することで、HTTPリクエスト情報を作成する。その後、再利用送信部32は、インターネット等のネットワークを介して、HTTPリクエスト情報をサーバに送信する。
次に、本実施形態のWebサービス記憶装置1が再利用リクエスト情報を作成し、メモリに記憶する処理の流れの一例について図8のフローチャートを用いて説明する。
まず、Webサービス記憶装置1は、出力中のWeb上の入力ページ(遷移前Webページ)において、ユーザからクエリの入力およびそのクエリを利用したサービスを実行する指示入力を受付けると、クエリを含むHTTPリクエスト情報をサーバに送信する(ステップS1)。
そして、ステップS1で送信したHTTPリクエスト情報に応じて返信されてきた遷移後Webページをサーバから受信すると、遷移前Webページの文書および遷移後Webページの文書を解析し、文書情報を取得する(ステップS2:文書情報取得部51)。
また、ステップS2とあわせて、ステップS1でサーバに送信されたHTTPリクエスト情報を取得する(ステップS3:HTTP情報取得部52)。
なお、ステップS2およびステップS3における処理の前後関係は特段制限されない。
次に、ステップS2で取得した文書情報およびステップS3で取得したHTTPリクエスト情報を利用して、再利用HTTPリクエスト情報を作成する(ステップS4:サービス抽出部53)。
その後、ステップS4で作成した再利用HTTPリクエスト情報を利用して受けられるWeb上のサービスと同一のサービスを受けるための再利用HTTPリクエスト情報がメモリに記憶されていないか判定する(ステップS5:サービス同一性判定部54)。ステップS5での判定の結果が「NO」である場合には、ステップS4で作成した再利用HTTPリクエスト情報をメモリに記憶する(ステップS6)。なお、この時、特定した再利用HTTPリクエスト情報内のクエリに使われる文字コード(サービス同一性判定部54)を、再利用リクエスト情報に関連付けてメモリに記憶してもよい。また、ステップS2で文書情報として取得したHTML文書のタイトルを、再利用リクエスト情報に関連付けてメモリに記憶してもよい。さらに、ステップS2およびステップS3で取得したサービス関連情報を、再利用リクエスト情報に関連付けてメモリに記憶してもよい。一方、ステップS5での判定の結果が「YES」である場合には、処理を終了する。
なお、本実施形態のWebサービス記憶装置は、以下の第1のプログラム乃至第5のプログラムの中のいずれか1つをコンピュータにインストールし、実行させることで実現することができる。
第1のプログラムは、クエリを含むHTTPリクエスト情報のクエリ記載部分を変数化した再利用HTTPリクエスト情報を作成し、メモリに記憶する処理をコンピュータに実行させるためのWebサービス記憶プログラムであって、クエリを含むHTTPリクエスト情報のクエリ記載部分を変数化した再利用HTTPリクエスト情報を作成する機能と、新たに作成された前記再利用HTTPリクエスト情報を利用して受けられるWeb上のサービスと同一のサービスを受けるための前記再利用HTTPリクエスト情報が前記メモリに記憶されていないか判定する機能と、をコンピュータに実現させるためのWebサービス記憶プログラムである。
第2のプログラムは、第1のプログラムを基本とし、さらに、前記判定の結果、同一のサービスを受けるための前記再利用HTTPリクエスト情報が前記メモリに記憶されていない場合には、新たに作成された前記再利用HTTPリクエスト情報を前記メモリに記憶する機能をコンピュータに実現させるためのWebサービス記憶プログラムである。
第3のプログラムは、第1のプログラムまたは第2のプログラムを基本とし、さらに、WebブラウザからWebサーバに送信されたクエリを含むHTTPリクエスト情報を取得する機能と、前記Webブラウザにより表示されているWebページであって、前記HTTPリクエスト情報の送信に起因して切り替わった遷移前Webページおよび遷移後WebページのHTML文書を取得する機能と、前記HTTPリクエスト情報と、前記HTML文書と、を利用して、前記再利用HTTPリクエスト情報を作成する機能と、をコンピュータに実現させるためのWebサービス記憶プログラムである。
第4のプログラムは、第3のプログラムを基本とし、さらに、前記遷移前WebページのHTML文書に含まれる遷移前文書情報、前記遷移後WebページのHTML文書に含まれる遷移後文書情報、および、前記HTTPリクエスト情報に含まれる情報、の中のいずれか1つ以上を含むサービス関連情報を取得する機能と、前記再利用HTTPリクエスト情報と関連付けて前記サービス関連情報を前記メモリに記憶する機能と、前記サービス関連情報を利用して、Web上のサービスの同一性を判定する機能と、をコンピュータに実現させるためのWebサービス記憶プログラムである。
第5のプログラムは、第4のプログラムを基本とし、前記サービス関連情報として、前記遷移前Webページの入力HTMLフォームの構成、前記遷移後Webページのタイトル、および、前記HTTPリクエスト情報内の送信先リソース、の中のいずれか1つ以上を取得する機能をコンピュータに実現させるためのWebサービス記憶プログラムである。
本実施形態のWebサービス記憶プログラムおよびWebサービス記憶装置によれば、所定の入力ページ(図1参照)から所定のWebサービスを利用できるようにする情報(検索プラグイン、HTTPリクエスト情報のクエリ記載箇所を変数化した情報など)を、同一のWebサービスを受けるための情報が重複することなく、自動的に登録することができる。この理由は、新たに作成した情報(検索プラグイン、HTTPリクエスト情報のクエリ記載箇所を変数化した情報など)を自動登録する際、新たに前記情報を登録しようとしているWebサービスと、既に前記情報が記憶されているWebサービスとの同一性を、同一Webサービス内における記述の違いの影響が少なく、かつ、異なるWebサービスを区別できる情報の比較により判定した上で、同一のWebサービスが登録されていないと判定したもののみを登録するからである。
その結果、メモリ負担を軽減することができる。また、入力ページにおいて同一のWebサービスが重複して表示されることがないので、ユーザの操作性も向上する。
<実施形態2>
本実施形態のWebサービス記憶装置1は、実施形態1のWebサービス記憶装置1と同様に、サービス抽出部53と、サービス同一性判定部54と、サービス記憶部60と、を有する(図2参照)。さらに、文書情報取得部51と、HTTP情報取得部52と、を有してもよい。
図9は、本実施形態のWebサービス記憶装置1の構成の一例をより詳細に示す機能ブロック図である。図に示すように、本実施形態のWebサービス記憶装置1は、文書情報取得部51、HTTP情報取得部52、サービス抽出部53およびサービス同一性判定部54を有する作成部50と、サービス記憶部60と、ユーザ入力受付部90と、を有する構成とすることができる。以下、各部の構成について説明する。
ユーザ入力受付部90は、ユーザから、再利用HTTPリクエスト情報を作成するための情報を受付ける。再利用HTTPリクエスト情報を作成するための情報は特段制限されないが、例えば、実際に送受信されたHTTPリクエスト情報、および、遷移前入力画面における入力ボックスの名称であってもよい。または、再利用HTTPリクエスト情報を作成するための情報は、実際に送受信されたHTTPリクエスト情報であって、クエリ記載箇所より前の文字列と、クエリ記載箇所より後の文字列を識別可能にした情報であってもよい。なお、これらはあくまで一例であり、再利用HTTPリクエスト情報を作成するための情報はその他の情報であっても構わない。なお、ユーザ入力受付部90は、さらに、ユーザからHTTPリクエスト情報内のクエリに使われる文字コードおよび/またはWebサービスを識別する情報(例:Webサービスのタイトル)の入力を受付けてもよい。
文書情報取得部51は、ユーザ入力受付部90が受付けた情報の中から、実施形態1で説明した文書情報と同様の情報を取得する。
HTTP情報取得部52は、ユーザ入力受付部90が受付けた情報の中から、実施形態1で説明した情報と同様の情報を取得する。
なお、サービス抽出部53、サービス同一性判定部54、および、サービス記憶部60の構成については、実施形態1と同様であるので、ここでの説明は省略する。
本実施形態のWebサービス記憶装置1が再利用リクエスト情報を作成し、メモリに記憶する処理の流れは、実施形態1と同様であるので、ここでの説明は省略する。
なお、本実施形態のWebサービス記憶装置は、第1のプログラム、第2のプログラムおよび第6のプログラムの中のいずれか1つをコンピュータにインストールし、実行させることで実現することができる。
第6のプログラムは、第1のプログラムから第5のプログラムのいずれか1つを基本とし、さらに、ユーザから、前記再利用HTTPリクエスト情報を作成するための情報を受付ける機能と、ユーザから受付けた情報に従い、前記再利用HTTPリクエスト情報を作成する機能と、をコンピュータに実現させるためのWebサービス記憶プログラムである。
本実施形態のWebサービス記憶プログラムおよびWebサービス記憶装置によれば、所定の入力ページから所定のWebサービスを利用できるようにする情報(検索プラグイン、HTTPリクエスト情報のクエリ記載箇所を変数化した情報など)を、同一のWebサービスを受けるための情報が重複することなく、登録することができる。この理由は、新たに作成した情報(検索プラグイン、HTTPリクエスト情報のクエリ記載箇所を変数化した情報など)を登録する際、新たに前記情報を登録しようとしているWebサービスと、既に前記情報が記憶されているWebサービスの同一性を、同一Webサービス内における記述の違いの影響が少なく、かつ、異なるWebサービスを区別できる情報の比較により判定した上で、同一のWebサービスが登録されていないと判定したもののみを登録するからである。
その結果、メモリ負担を軽減することができる。また、入力ページにおいて同一のWebサービスが重複して表示されることがないので、ユーザの操作性も向上する。
<実施形態3>
本実施形態のWebサービス記憶装置1は、実施形態1または実施形態2を基本とし、作成部50がさらにサービス統合部55を有する。
図10に、本実施形態の作成部50の構成を示す。図に示すように、本実施形態の作成部50は、文書情報取得部51と、HTTP情報取得部52と、サービス抽出部53と、サービス同一性判定部54と、サービス統合部55と、を有する。以下、サービス統合部55の構成について説明する。なお、文書情報取得部51、HTTP情報取得部52、サービス抽出部53、および、サービス同一性判定部54の構成については、実施形態1および2と同様であるので、ここでの説明は省略する。
サービス統合部55は、サービス同一性判定部54で、新たに作成された再利用HTTPリクエスト情報を利用して受けられるWebサービスと同一のWebサービスを受けるための再利用HTTPリクエスト情報がすでにサービス記憶部60に記憶されていると判定された場合、次のような処理を行う。すなわち、サービス統合部55は、新たに作成された再利用HTTPリクエスト情報と、同一のWebサービスを受けるためのものと判定された再利用HTTPリクエスト情報とを比較し、いずれか一方を選択し、選択した再利用HTTPリクエスト情報をサービス記憶部60に記憶する。なお、この際、選択されなかった再利用HTTPリクエスト情報は削除される。
例えば、サービス統合部55は、2つの再利用HTTPリクエスト情報を比較し、例えば文字数が少ない一方や、URLのパスの短い一方、URLのクエリパラメータが少ない一方を選択し、選択したものをサービス記憶部60に記憶する。
なお、サービス統合部55は、さらに、新たに作成された再利用HTTPリクエスト情報に関連付けられているサービス関連情報と、同一のWebサービスを受けるためのものと判定された再利用HTTPリクエスト情報に関連付けられているサービス関連情報とを、1つの情報単位で比較していずれか一方を選択し、選択したサービス関連情報を上記選択された再利用HTTPリクエスト情報に関連付けてサービス記憶部60に格納してもよい。なお、この際、選択されなかったサービス関連情報は削除される。
例えば、サービス統合部55は、2つの遷移後文書のタイトル(サービス関連情報)を比較し、文字数が少ない一方を選択し、選択したものをサービス記憶部60に記憶する。
ここで、図11を用いて、サービス統合部55の処理の一例を具体的に説明する。図11−Aは、新たに作成された再利用HTTPリクエスト情報に関連付けられるサービス関連情報を模式的に示したものである。図11−Bは、すでにサービス記憶部60に記憶されているサービス関連情報であって、前記Webサービスと同一のWebサービスであると判定されたWebサービスの情報を模式的に示したものである。サービス統合部55は、これら2つのサービスにおける再利用HTTPリクエスト情報を比較していずれか一方を選択し、選択した再利用HTTPリクエスト情報をサービス記憶部60に記憶するとともに、選択しなかった再利用HTTPリクエスト情報を削除する。ここでは、サービス統合部55は、クエリパラメータの数が少ないHTTPリクエスト情報(http://somesite.com/web/search?q={query})(図11−B)を選択し、これをサービス記憶部60に記憶するとともに、選択しなかった再利用HTTPリクエスト情報(図11−A)を削除する(図11−C)。なお、HTTPリクエスト情報のメソッドが異なる場合は、一方のメソッドに記述を揃えた上で比較してもよい。また、サービス統合部55は、遷移後文書のタイトル(サービス関連情報)の詳細を比較し、いずれか一方を選択して、選択した情報を上記選択された再利用HTTPリクエスト情報に関連付けてサービス記憶部60に記憶するとともに、選択しなかった遷移後文書のタイトル(サービス関連情報)を削除する。ここでは、サービス統合部55は、文字数が少ない「Web検索結果」(図11−A)を選択し、これをサービス記憶部60に記憶するとともに、選択しなかった遷移後文書のタイトル(サービス関連情報)(図11−B)を削除する(図11−C)。
次に、本実施形態のWebサービス記憶装置1が再利用リクエスト情報を作成し、メモリに記憶する処理の流れの一例について図12のフローチャートを用いて説明する。
ステップS1からS6までは、実施形態1での説明と同様であるので、ここでの説明は省略する。
ステップS5での判定の結果が「YES」である場合、本実施形態のWebサービス記憶装置1は、新たに作成された再利用HTTPリクエスト情報(およびサービス関連情報)と、同一のWebサービスを受けるためのものと判定されたメモリに記憶されている再利用HTTPリクエスト情報(およびサービス関連情報)とを、情報単位で比較し、短い方を選択してそれらを組み合わせた1つの再利用HTTPリクエスト情報(およびサービス関連情報)を作成して、メモリに記憶する(ステップS7:サービス統合部55)。その後、処理を終了する。
なお、本実施形態のWebサービス記憶装置は、以下の第7のプログラムおよび第8のプログラムをコンピュータにインストールし、実行させることで実現することができる。
第7のプログラムは、第1のプログラムから第6のプログラムのいずれか1つを基本とし、さらに、新たに作成された前記再利用HTTPリクエスト情報を利用して受けられるWeb上のサービスと同一のサービスを受けるための前記再利用HTTPリクエスト情報が前記メモリに記憶されている場合には、新たに作成された前記再利用HTTPリクエスト情報と、同一の検索サービスを受けるためのものと判定された前記メモリに記憶されている前記再利用HTTPリクエスト情報とを比較し、一方を選択して前記メモリに記憶するとともに、他方を削除する機能をコンピュータに実現させるためのWebサービス記憶プログラムである。
第8のプログラムは、第4のプログラム、または、第4のプログラムを基本とする第5のプログラムから第7のプログラムのいずれか1つを基本とし、さらに、新たに作成された前記再利用HTTPリクエスト情報を利用して受けられるWeb上のサービスと同一のサービスを受けるための前記再利用HTTPリクエスト情報が前記メモリに記憶されている場合には、新たに作成された前記再利用HTTPリクエスト情報に関連付けられる前記サービス関連情報と、同一のWebサービスを受けるためのものと判定された前記メモリに記憶されている前記再利用HTTPリクエスト情報に関連付けられている前記サービス関連情報とを、情報単位で比較して一方を選択し、選択した方を前記メモリに記憶している前記再利用HTTPリクエスト情報に関連付けるとともに、他方を削除する機能をコンピュータに実現させるためのWebサービス記憶プログラムである。
本実施形態のWebサービス記憶プログラムおよびWebサービス記憶装置によれば、実施形態1および実施形態2の効果に加え、少ない記憶容量で、再利用HTTPリクエスト情報およびサービス関連情報を記録することができる。すなわち、メモリ負担を軽減することが実現される。
<実施形態4>
本実施形態のWebサービス記憶装置1は、実施形態1、実施形態2および実施形態3のいずれかを基本とし、さらにサービス使用回数評価部70およびサービス推薦部80を有する。
図13は、本実施形態のWebサービス記憶装置1の構成の一例をより詳細に示す機能ブロック図である。図に示すように、本実施形態のWebサービス記憶装置1は、再利用入力画面表示部12を有する表示部10と、再利用リクエスト受付部22を有する受付部20と、再利用送信部32を有する送信部30と、受信部40と、文書情報取得部51、HTTP情報取得部52、サービス抽出部53およびサービス同一性判定部54を有する作成部50と、サービス記憶部60と、サービス使用回数評価部70と、サービス推薦部80とを有する構成とすることができる。なお、作成部50はさらにサービス統合部55を有してもよい。以下、サービス使用回数評価部70およびサービス推薦部80の構成について説明する。なお、その他の部の構成は、実施形態1乃至3と同様であるので、ここでの説明は省略する。
サービス使用回数評価部70は、サービス記憶部60に記憶される再利用HTTPリクエスト情報を利用してクエリを含むHTTPリクエスト情報が送信された回数を、再利用HTTPリクエスト情報ごとにカウントする。なお、サービス使用回数評価部70は、サービス同一性判定部54で、新たに作成された再利用HTTPリクエスト情報を利用して受けられるWebサービスと同一のWebサービスを受けるための再利用HTTPリクエスト情報がすでにサービス記憶部60に記憶されていると判定された場合、その再利用HTTPリクエスト情報に関連付けられているカウント数を「1」加算してもよい。さらに、サービス統合部55により2つの再利用HTTPリクエスト情報が統合された場合には、すでに記憶されていた再利用HTTPリクエスト情報に関連付けられていたカウント数に「1」を加算したカウント数が、統合後の再利用HTTPリクエスト情報に関連付けられてもよい。また、サービス使用回数評価部70は、再利用HTTPリクエスト情報がサービス記憶部60に新たに記憶される際には、その再利用HTTPリクエスト情報にカウント数「1」を関連付けてもよい。
サービス推薦部80は、サービス使用回数評価部70によるカウントの結果を基にソートおよび/またはフィルタリングしたうえで、再利用HTTPリクエスト情報を利用して受けられるWebサービスを識別する情報(Webサービスの名称等)を並べて表示する。例えば、サービス推薦部80は、再利用入力画面表示部12が表示している図1に示すような再利用入力画面における指定可能なWebサービスを表示する領域Aにおいて、利用回数が多い順に上から並べて表示してもよい。また、カウント数が所定の数未満のWebサービスは領域Aには表示しないようにしてもよい。
次に、本実施形態のWebサービス記憶装置1が再利用HTTPリクエスト情報を作成する処理の流れの一例について図14のフローチャートを用いて説明する。
ステップS1からS7までは、実施形態1および3での説明と同様であるので、ここでの説明は省略する。
ステップS5での判定の結果、記憶されていない場合には(ステップS5のNO)、ステップS4で作成された再利用HTTPリクエスト情報をメモリに記憶する(ステップS6)。そして、その再利用HTTPリクエスト情報にカウント「1」を関連付ける(ステップS8:サービス使用回数評価部70)。
一方、ステップS5での判定の結果、記憶されている場合には(ステップS5のYES)、ステップS4で作成された再利用HTTPリクエスト情報と、すでに記憶されている同一のWebサービスを受けるための再利用HTTPリクエスト情報と、を統合する(ステップS7:サービス統合部55)。そして、すでに記憶されていた再利用HTTPリクエスト情報に関連付けられていたカウント数に「1」を加算したカウント数を、統合後の再利用HTTPリクエスト情報に関連付ける(ステップS8:サービス使用回数評価部70)。
なお、本実施形態のWebサービス記憶装置は、以下の第9のプログラムをコンピュータにインストールし、実行させることで実現することができる。
第9のプログラムは、第1のプログラムから第8のプログラムのいずれか1つを基本とし、さらに、ユーザからクエリおよび前記再利用HTTPリクエスト情報を利用して前記クエリをWebサーバに送信する指示入力を受付けると、前記メモリから所定の前記再利用HTTPリクエスト情報を取り出し、前記変数化された部分に入力を受付けたクエリを記載したHTTPリクエスト情報を作成後、Webサーバに送信する機能と、前記Web上のサービスごとに、前記再利用HTTPリクエスト情報を利用した前記HTTPリクエスト情報の送信を含む前記HTTPリクエスト情報の送信回数をカウントする機能と、前記送信回数に基づいて、前記再利用HTTPリクエスト情報をソートおよび/またはフィルタリングしたうえで、前記再利用HTTPリクエスト情報を利用して受けられるWebサービスを識別する情報を並べて表示する機能と、をコンピュータに実現させるためのWebサービス記憶プログラムである。
本実施形態のWebサービス記憶プログラムおよびWebサービス記憶装置によれば、実施形態1乃至3の効果に加え、ユーザが利用する可能性の高いWebサービスを上位に表示したり、使用頻度の少ないWebサービスは非表示とし一覧表示するWebサービスの数を減らしたりすることで、ユーザが再利用HTTPリクエスト情報を利用しやすいような画面表示を実現することができる。