IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7554793画像生成システム、画像生成システムの動作方法及びプログラム
<>
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図1
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図2
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図3
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図4
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図5
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図6
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図7
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図8
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図9
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図10
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図11
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図12
  • 特許-画像生成システム、画像生成システムの動作方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-11
(45)【発行日】2024-09-20
(54)【発明の名称】画像生成システム、画像生成システムの動作方法及びプログラム
(51)【国際特許分類】
   H04L 67/02 20220101AFI20240912BHJP
   G06F 15/00 20060101ALI20240912BHJP
   H04L 67/06 20220101ALI20240912BHJP
【FI】
H04L67/02
G06F15/00 410B
H04L67/06
【請求項の数】 12
(21)【出願番号】P 2022118869
(22)【出願日】2022-07-26
(65)【公開番号】P2024016617
(43)【公開日】2024-02-07
【審査請求日】2023-05-25
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】山本 光一
【審査官】白井 亮
(56)【参考文献】
【文献】特開2018-055314(JP,A)
【文献】特開2012-252381(JP,A)
【文献】特開2011-154520(JP,A)
【文献】特開2005-092828(JP,A)
【文献】米国特許出願公開第2016/0117287(US,A1)
【文献】置田 誠,携帯電話機用WEBブラウザのサーバ・レンダリング方式の提案と実装評価,情報処理学会論文誌,2006年07月15日,Vol.47、No.7,p.2107-2116
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/02
G06F 15/00
H04L 67/06
(57)【特許請求の範囲】
【請求項1】
画像生成システムであって、
通信装置から受信したURLが、当該URLに対応するWebコンテンツが画像化されたWeb画像のURLと関連付けてデータベースに登録されているか否かを判定する判定手段と、
前記URLが登録されていると判定された場合、前記URLに対応する前記Web画像のURLを前記通信装置へ送信する送信手段と、
を備えることを特徴とする画像生成システム。
【請求項2】
前記URLが登録されていないと判定された場合に当該URLに対応するWebコンテンツを取得する取得手段と、
前記Webコンテンツを解析する解析手段と、
前記解析手段により解析された前記WebコンテンツのWeb画像を生成する生成手段と、
をさらに備えることを特徴とする請求項1に記載の画像生成システム。
【請求項3】
前記生成手段により生成された前記Web画像をアップロードするアップロード手段と、
前記URLと、前記アップロード手段によりアップロードされた前記Web画像のURLとを関連付けて前記データベースに登録する登録手段と、
をさらに備えることを特徴とする請求項2に記載の画像生成システム。
【請求項4】
前記送信手段は、前記アップロード手段によりアップロードされた前記Web画像のURLを前記通信装置へ送信することを特徴とする請求項3に記載の画像生成システム。
【請求項5】
前記解析手段により解析された解析結果に基づいて、前記URLと、前記アップロード手段によりアップロードされた前記Web画像のURLと、前記URLに対応するWebコンテンツとを関連付けて登録するか否かを判定する第2の判定手段をさらに備え、
前記登録手段は、前記第2の判定手段により登録すると判定された場合に登録を行うことを特徴とする請求項3に記載の画像生成システム。
【請求項6】
前記解析結果は、キャッシュコントロール、cookie情報、及びユーザのログイン情報のうちの少なくとも1つを含むことを特徴とする請求項5に記載の画像生成システム。
【請求項7】
前記URLに対応するWebコンテンツを取得する取得手段と、
前記取得手段により取得された前記Webコンテンツと、前記データベースに登録されており且つ前記URLに対応するWebコンテンツとの差分を判定する差分判定手段と、
前記差分がある場合に、前記データベースに登録されている前記Webコンテンツを削除する削除手段と、
をさらに備えることを特徴とする請求項3に記載の画像生成システム。
【請求項8】
前記登録手段は、前記削除手段により削除されたWebコンテンツに対応するURLについては、当該削除以降に前記判定手段により前記URLが登録されていないと判定された場合であっても前記データベースへの登録を行わないことを特徴とする請求項7に記載の画像生成システム。
【請求項9】
前記URLに対応するWebコンテンツを取得する取得手段と、
前記取得手段により取得された前記Webコンテンツと、前記データベースに登録されており且つ前記URLに対応するWebコンテンツとの差分を判定する差分判定手段と、をさらに備え、
前記登録手段は、前記差分がある場合に、前記URLについてWebコンテンツ同士に差分があることを示す識別情報を前記データベースに登録することを特徴とする請求項3に記載の画像生成システム。
【請求項10】
前記判定手段は、前記通信装置から受信したURLが前記データベースに登録されている場合に、当該URLについて前記識別情報が登録されているか否かをさらに判定し、
前記取得手段は、前記判定手段により前記識別情報が登録されていると判定された場合に、前記URLに対応するWebコンテンツを取得することを特徴とする請求項9に記載の画像生成システム。
【請求項11】
画像生成システムの動作方法であって、
通信装置から受信したURLが、当該URLに対応するWebコンテンツが画像化されたWeb画像のURLと関連付けてデータベースに登録されているか否かを判定する判定工程と、
前記URLが登録されていると判定された場合、前記URLに対応する前記Web画像のURLを前記通信装置へ送信する送信工程と、
を有することを特徴とする画像生成システムの動作方法。
【請求項12】
コンピュータを、請求項1乃至10の何れか1項に記載の画像生成システムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成システム、画像生成システムの動作方法及びプログラムに関する。
【背景技術】
【0002】
現在、Webブラウザ(以下、ブラウザ)を搭載し、そのブラウザ上でWebページを閲覧可能な通信装置が普及している。ブラウザを通して外部サービスのWebページを表示することにより、通信装置が外部サービスと連携できるようになる。
【0003】
ところで、ブラウザの形態として、Webページの描画結果を生成するブラウザエンジンをクラウドサーバ上に配置するクラウドブラウザと呼ばれる形態がある。ブラウザエンジンは、Webページの解析処理や実行処理といった計算負荷の高い処理を担っている。このブラウザエンジンをサーバ上で実行することにより、通信装置の計算負荷を低減している。
【0004】
クラウドブラウザは、ブラウザエンジンで描画した描画結果を画像化し、その画像を通信装置に表示することでWebページを閲覧することを可能にする。クラウド上の仮想マシンには、PCに必要とされる様々な機器リソースが仮想的に割り当てられる。このため、仮想マシン上で稼働するブラウザエンジンは、PC上で稼働する場合と同じように動作することができる。
【0005】
しかし、クラウドブラウザの場合、仮想マシンが生成したWebページの描画結果を通信装置で利用するためには、仮想マシンがWebページの描画結果を生成した後、その描画結果を画像化し、通信装置に送信する必要がある。この時、画像化の処理に時間がかかることにより、通信装置でWebページを表示できるまでに通常のブラウザよりも時間がかかってしまうことがある。
【0006】
これに対して、特許文献1では、Webコンテンツのリンク先を先読みしてキャッシュし、キャッシュされたWebコンテンツを利用する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2004-280405号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載の技術では、クラウドブラウザのように通信装置がWebコンテンツを解析できない場合には、画像化に要する時間を削減することができず、Webコンテンツを表示するために要する時間を削減することができない。
【0009】
本発明は、上記の課題に鑑みてなされたものであり、通信装置がWebコンテンツを解析できない場合においても、Webコンテンツを表示するために要する時間を削減するための技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記の目的を達成する本発明に係る画像生成システムは、
通信装置から受信したURLが、当該URLに対応するWebコンテンツが画像化されたWeb画像のURLと関連付けてデータベースに登録されているか否かを判定する判定手段と、
前記URLが登録されていると判定された場合、前記URLに対応する前記Web画像のURLを前記通信装置へ送信する送信手段と、
を備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、通信装置がWebコンテンツを解析できない場合においても、Webコンテンツを表示するために要する時間を削減することが可能となる。
【図面の簡単な説明】
【0012】
図1】一実施形態に係るシステム構成の一例を示す図。
図2】一実施形態に係る通信装置のハードウェア構成の一例を示す図。
図3】一実施形態に係る通信装置のソフトウェア構成の一例を示す図。
図4】一実施形態に係る仮想マシン及びデータベースのハードウェア構成の一例を示す図。
図5】一実施形態に係る仮想マシンのソフトウェア構成の一例を示す図。
図6】一実施形態に係るデータベースのソフトウェア構成の一例を示す図。
図7】実施形態1、2に係るデータベース登録情報の一例を示す図。
図8】一実施形態に係る通信装置が実施する処理の流れを説明するフローチャート。
図9】実施形態1に係る画像生成システムが実施する処理の流れを説明するフローチャート。
図10】実施形態2に係る画像生成システムが実施する処理の流れを説明するフローチャート。
図11】実施形態3に係るデータベース登録情報の一例を示す図。
図12】実施形態3に係る画像生成システムが実施する処理の流れを説明するフローチャート。
図13】実施形態4に係る画像生成システムが実施する処理の流れを説明するフローチャート。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0014】
(実施形態1)
本実施形態では、画像生成システムを利用する通信装置が、画像生成システムにURLを送信し、画像生成システムからWebページの描画結果の画像をダウンロードする。
【0015】
<システム構成>
図1は、本実施形態に係るシステム構成の一例を示す図である。情報処理システム100は、通信装置101と、画像生成システム103とを含む。ユーザは、通信装置101の画面を閲覧、および操作する。通信装置101は、仮想マシン104及びストレージ107とネットワークを介して接続されている。通信装置101は、仮想マシン104に対してURLを送信することで画像生成を要求し、ストレージ107に対して画像取得要求を行う。本実施形態におけるネットワークは、例えば、インターネット、WAN(Wide Area Network)、又はLAN(Local Area Network)、あるいは、これらの任意の組み合わせであってもよい。また、通信装置は複数存在してもよい。
【0016】
Webサーバ102は、仮想マシン104とネットワークを介して接続されている。Webサーバ102には、Webコンテンツを記憶している。本実施形態において、Webコンテンツとは、HTML、CSS、JavaScript(商標登録)で記述される文書、jpegやpng等の画像ファイル、mp4やwebm等の動画ファイル等である。
【0017】
画像生成システム103は、仮想マシン104、データベース106、およびストレージ107を含む。
【0018】
仮想マシン104は、ブラウザ105を搭載する。仮想マシン104は、通信装置101、Webサーバ102、データベース106、およびストレージ107とネットワークを介して接続されている。仮想マシン104は、通信装置101からURLを受信する。また、仮想マシン104は、Webサーバ102からWebコンテンツを取得する。さらに、仮想マシン104は、ブラウザ105が生成したWeb画像をストレージ107に送信する。また、仮想マシン104は、データベース106に対して、仮想マシン104が保持しているデータの保存、検索を行う。ブラウザ105は、仮想マシン104上で稼働し、Webコンテンツの解析、描画結果の生成、Web画像生成を行う。データベース106は、仮想マシン104から受信した情報を保存する。ストレージ107は、仮想マシン104から送られてくるWeb画像を受信し、保存する。
【0019】
なお、図示の例では、画像生成システム103が、仮想マシン104、データベース106、およびストレージ107を含む例を示したが、例えばデータベース106及び/又はストレージ107が画像生成システムの外部に存在するように構成してもよい。
【0020】
<通信装置のハードウェア構成>
続いて、図2は、本実施形態の通信装置101を構成するコンピュータ装置のハードウェア構成を示す図である。
【0021】
通信装置101は、CPU201と、ROM202と、RAM203と、ユーザインタフェース204と、ネットワークインタフェース205とを含む。
【0022】
CPU201は、通信装置101を制御するCentral Processing Unitである。ROM202は、変更を必要としないプログラムやパラメータを格納するRead Only Memoryである。RAM203は、外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memoryである。
【0023】
ユーザインタフェース204は、保持するデータや供給されたデータを表示するための画面である。また、ユーザインタフェース204は、ユーザからの操作を受けてデータを入力するマウスなどのポインティングデバイス、キーボードなどの入力デバイス、およびタッチパネル等である。ネットワークインタフェース205は、ネットワークに接続するためのネットワークインタフェースである。
【0024】
システムバス206は、CPU201~ネットワークインタフェース205の各構成要素を通信可能に接続するシステムバスである。また、通信装置101は、通信装置101に固定して設置されたハードディスクやメモリカード等を備えてもよい。あるいは、通信装置101は、通信装置101に対して着脱可能なフレキシブルディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカード、メモリカードなどを含む外部記憶装置等を備えてもよい。
【0025】
<通信装置のソフトウェア構成>
図3は、本実施形態に係る通信装置101を構成するコンピュータ装置のソフトウェア構成を示す図である。通信装置101は、通信部301と、記憶部302と、操作検知部303と、画面生成部304とを含む。
【0026】
通信部301は、通信装置101がネットワークインタフェース205を介して行う通信を制御する。記憶部302は、Web画像の記憶を行う。操作検知部303は、ユーザインタフェース204が操作されたときの操作の内容を検知する。画面生成部304は、ユーザインタフェース204に表示する画面の生成を行う。
【0027】
<仮想マシン及びデータベースのハードウェア構成>
図4は、本実施形態に係る仮想マシン104及びデータベース106を構成するコンピュータ装置のハードウェア構成を示す図である。仮想マシン104またはデータベース106はそれぞれ、CPU401と、ROM402と、RAM403と、ネットワークインタフェース4040とを含む。
【0028】
CPU401は、仮想マシン104またはデータベース106を制御するCentral Processing Unitである。ROM402は、変更を必要としないプログラムやパラメータを格納するRead Only Memoryである。RAM403は、外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memoryである。ネットワークインタフェース404は、ネットワークに接続するためのネットワークインタフェースである。システムバス405は、CPU401~ネットワークインタフェース404の各構成要素を通信可能に接続するシステムバスである。
【0029】
<仮想マシンのソフトウェア構成>
図5は、本実施形態に係る仮想マシン104のソフトウェア構成を示す図である。仮想マシン104は、通信部501と、記憶部502と、Webコンテンツ解析部503と、Webコンテンツ描画部504と、画像生成部505とを含む。
【0030】
通信部501は、仮想マシン104がネットワークインタフェース404を介して行う通信を制御する。記憶部502は、Webコンテンツ、Web画像の記憶を行う。Webコンテンツ解析部503は、Webコンテンツの解析を行う。Webコンテンツ描画部504は、解析したWebコンテンツに基づいて描画を行う。画像生成部505は、Webコンテンツ描画部504により描画した結果の画像を生成する。
【0031】
<データベースのソフトウェア構成>
図6は、本実施形態に係るデータベース106のソフトウェア構成を示す図である。データベース106は、通信部601と、記憶部602と、登録情報解析部603とを含む。
【0032】
通信部601は、データベース106がネットワークを介して行う通信を制御する。記憶部602は、データベース登録情報の記憶を行う。登録情報解析部603は、データベース登録情報の解析を行う。データベース登録情報の詳細については図7を参照して後述する。
【0033】
<登録情報の一例>
図7は、本実施形態に係るデータベース登録情報の一例を示す図である。701及び702は、データベース登録情報700の状態を表しており、データベース106の記憶部602に記憶されている。データベース登録情報700は、URLとWeb画像URLの情報とを保存している。URLとWeb画像URLとは、両方とも仮想マシン104から送信される情報である。また、URLとWeb画像URLとは、相互に関連付けて登録される。例えば、データベース登録情報700が、702の状態である場合、https://www.yahoo.co.jpは、xxx/yahoo.co.jp.jpegと関連付けられていること示す。Web画像URLのxxxは、ストレージの箇所を指すURI、またはIPである。
【0034】
<処理>
図8は、本実施形態における通信装置101が実施する処理の流れを示すフローチャートである。通信装置101を利用するユーザが、クラウドブラウザ利用アプリを起動し、仮想マシン104との接続を完了した状態で、本フローチャートの処理が開始する。
【0035】
S801において、通信装置101の通信部301は、操作検知部303により検知されたユーザの操作により指定されたURLを仮想マシン104へ送信する。本実施形態では、例えば、https://www.yahoo.co.jpを送信する。
【0036】
S802において、通信装置101の通信部301は、仮想マシン104からWeb画像のURLを受信する。S803において、通信装置101の通信部301は、仮想マシン104から受信したWeb画像URLを使用して、画像生成システム103のストレージ107からWeb画像を取得する。取得したWeb画像は、一時的に通信装置101の記憶部302に保存される。
【0037】
S804において、通信装置101の画面生成部304は、記憶部302に保存されているWeb画像を用いて、通信装置101のユーザインタフェース204に表示するための画面を生成して表示を行う。
【0038】
S805において、通信装置101の操作検知部303は、終了処理が受け付けられたか否かを判定する。終了処理とは、ユーザが通信装置101のクラウドブラウザアプリを終了させる処理である。終了処理が受け付けられた場合(S805でYes)、一連の処理を終了する。一方、終了処理が受け付けられていない場合(S805でNo)、S801に戻る。
【0039】
続いて、図9は、本実施形態に係る画像生成システム103(主に仮想マシン104、データベース106)が実施する処理の流れを示すフローチャートである。通信装置101を利用するユーザが、クラウドブラウザ利用アプリを起動し、仮想マシン104と接続を完了した状態で、本フローチャートの処理が開始する。
【0040】
S901において、仮想マシン104の通信部501は、通信装置101から送信されたURLを受信する。そして、仮想マシン104の通信部501は、S901で受信したURLをデータベース106へ送信する。
【0041】
S902において、データベース106の通信部601は、仮想マシン104から送信されたURLを受信する。そして、データベース106の登録情報解析部603は、受信したURLに該当するURLがデータベース登録情報700に登録されているか確認する。
【0042】
S903において、データベース106の登録情報解析部603は、受信したURLに該当するURLがデータベース登録情報700に登録されているか否かを判定する。受信したURLがデータベースに登録されている場合(S903でYes)、データベース106の通信部601は、登録されていたURLに対応するWeb画像URLを仮想マシン104へ送信する。例えば、データベース登録情報700の状態が702であり、S901で受信したURLがhttps://www.yahoo.co.jpである場合、Web画像URLはxxx/yahoo.co.jp.jpegとなる。その後、S904へ進む。一方、受信したURLがデータベースに登録されていない場合(S903でNo)、データベース106の通信部601は、画像が登録されていないことを示すメッセージを仮想マシン104へ送信する。その後、S905へ進む。
【0043】
S904において、仮想マシン104の通信部501は、S903で取得したWeb画像URLを通信装置101へ送信する。
【0044】
S905において、仮想マシン104の通信部501は、Webサーバ102からWebコンテンツを取得する。このとき、Webコンテンツ取得のためにWebサーバ102に要求するURLは、S901で受信したURLである。
【0045】
S906において、仮想マシン104のWebコンテンツ解析部503は、S905で取得したWebコンテンツの解析を行い、仮想マシン104のWebコンテンツ描画部504がWebコンテンツの描画を行う。その後、画像生成部505は、描画されたWebコンテンツに基づいて、Web画像の生成を行う。生成する画像は、例えば、jpegやpngのような画像ファイルである。
【0046】
S907において、仮想マシン104の通信部501は、S906で生成された画像をストレージ107にアップロードする。S908において、仮想マシン104の通信部501は、S907でアップロードしたアップロード先のURLを通信装置101へ送信する。
【0047】
S909において、仮想マシン104の通信部501は、S901で受信したURLと、S907で画像をアップロードした先のURLとをデータベース106へ送信する。データベース106の通信部601は、仮想マシン104から受信した後、データベース登録情報700に情報を登録する。例えば、データベース登録情報700の状態が701であり、受信した情報が、URL=https://www.yahoo.co.jp、アップロード先のURL=xxx/yahoo.co.jp.jpegとする。この場合、データベース登録情報700は702の状態になる。以上で図9の一連の処理が終了する。
【0048】
以上説明したように、本実施形態によれば、データベース106に通信装置101が送信するURLが登録されている場合、通信装置101は仮想マシン104のWeb画像生成に関する処理を待たずにストレージ107からWeb画像を取得することができる。
【0049】
なお、Web画像生成に関する処理とは、Webコンテンツ取得処理、Web画像生成処理、Web画像をストレージ107にアップロードする処理を指す。
【0050】
これにより、通信装置101が仮想マシン104にURLを送信してから、Web画像を取得するまでの時間を短縮することができ、通信装置101でのWebコンテンツの表示に要する時間を削減することができる。
【0051】
(実施形態2)
本実施形態では、実施形態1の処理に加えて、仮想マシン104がデータベース106に情報を登録する前に、Webコンテンツの内容を判定し、データベース106に情報を登録するか否かを判定する処理を行う例を説明する。
【0052】
本実施形態におけるシステムの構成、通信装置101のハードウェア構成およびソフトウェア構成は、それぞれ図1乃至図3に示した構成と同様である。また、仮想マシン104のハードウェア構成、ソフトウェア構成は、それぞれ図4及び図5と同様である。そして、データベース106のハードウェア構成、ソフトウェア構成は、それぞれ図4及び図6と同様である。さらに、本実施形態に係る通信装置101が実施する処理の流れは、図8の処理と同様である。また、データベース106が記憶するデータベース登録情報の例は、図7に示したデータベース登録情報と同様である。
【0053】
<処理>
図10は、本実施形態に係る画像生成システム103(主に仮想マシン104、データベース106)が実施する処理の流れを示すフローチャートである。通信装置101を利用するユーザが、クラウドブラウザ利用アプリを起動し、仮想マシン104と接続を完了した状態で、本フローチャートの処理が開始する。図10のS901~S909は図9のS901~S909と同じ処理であるため、説明を省略する。
【0054】
S1001において、仮想マシン104のWebコンテンツ解析部503は、S905で取得したコンテンツを解析し、その解析結果に基づいて、データベース106に登録すべきWebコンテンツであるか否かを判定する。
【0055】
解析では、例えば、Webコンテンツ内でcookie情報が取得されているか、ログインに関する要素があるかどうかの判定を行う。cookie情報の場合、htmlでは、変数=document.cookieの記述が存在するか否かで判定を行う。JavaScript(商標登録)では、$.cookie()の記述が存在するか否かで判定を行う。一方、ログインに関する要素の場合、htmlでは、is_authenticated、httpServletRequest、authenticatiоn.の記述が存在するか否かで判定を行う。
【0056】
登録すべきでないWeb画像の例は、ユーザによって描画される内容が異なるWebコンテンツによって生成される画像である。例えば、cookieによって、入力フォームにIDやパスワードが入力される可能性のあるWebコンテンツから生成された画像は、登録すべきでないWeb画像である。また、ログイン情報としてユーザ名やユーザのパスワード等が表示されているWebコンテンツから生成された画像は、登録すべきでないWeb画像である。そこで、Webコンテンツ内でcookieが取得されている場合に、登録すべきではないコンテンツであると判定する。また、ログインに関する要素がある場合に、登録すべきではないコンテンツであると判定する。これらの何れか一方又は両方を判定してもよい。
【0057】
登録すべきコンテンツであると判定された場合(S1001でYes)、S909へ進む。一方、登録すべきコンテンツでないと判定された場合(S1001でNo)、処理を終了する。
【0058】
以上説明したように、本実施形態によれば、Webコンテンツをデータベース106に登録するか否かを、Webコンテンツの内容によって判定することができる。これにより、データベース106に登録すべきでないWeb画像の登録を防ぐことができる。
【0059】
登録すべきでないWeb画像をデータベース106に登録しないことにより、あるユーザによって生成された登録すべきでないWeb画像を、他のユーザがS904で取得して表示することを防ぐことができる。
【0060】
また、登録すべきコンテンツか判定する方法として、キャッシュコントロールを利用してもよい。例えば、キャッシュコントロールがno-cacheである場合は、登録すべきコンテンツでないと判定し(S1001でNo)、データベース106への登録を行わないようにする。これにより、Webコンテンツのキャッシュコントロールから、データベース106に登録すべきコンテンツであるか否かを判定することができる。
【0061】
(実施形態3)
本実施形態では、実施形態1の処理に加えて、仮想マシン104がWebサーバ102から取得したWebコンテンツをデータベース106に登録する。さらに、仮想マシン104は、データベース106に登録したWebコンテンツと、Webサーバ102から取得したWebコンテンツとの比較を行い、データベース106に情報を登録するか否かを判定する処理を行う。
【0062】
本実施形態におけるシステムの構成、通信装置101のハードウェア構成およびソフトウェア構成は、それぞれ図1乃至図3に示した構成と同様である。また、仮想マシン104のハードウェア構成、ソフトウェア構成は、それぞれ図4及び図5と同様である。そして、データベース106のハードウェア構成、ソフトウェア構成は、それぞれ図4及び図6と同様である。さらに、本実施形態に係る通信装置101が実施する処理の流れは、図8の処理と同様である。
【0063】
<登録情報の一例>
図11は、本実施形態のデータベース登録情報の一例を示す図である。1101~1103は、データベース登録情報1100の状態を表しており、データベースの記憶部602に記憶されている。データベース登録情報1100は、URL、Web画像URL、およびWebコンテンツ情報を保存している。URL、Web画像URL、およびWebコンテンツは全て、仮想マシン104から受信した情報であり、URL、Web画像URL、およびWebコンテンツは相互に関連付けて登録される。
【0064】
例えば、データベース登録情報1100が1102の状態である場合、https://www.yahoo.co.jpは、xxx/yahoo.co.jp.jpegとindex.htmlとに関連付けられていることを示す。Web画像URLのxxxは、ストレージの箇所を指すURI、またはIPである。
【0065】
<処理>
図12は、本実施形態に係る画像生成システム103(主に仮想マシン104、データベース106)が実施する処理の流れを示すフローチャートである。通信装置101を利用するユーザが、クラウドブラウザ利用アプリを起動し、仮想マシン104と接続を完了した状態で、本フローチャートの処理が開始する。図12のS901、S902、S905~S908の処理は、図9のS901、S902、S905~S908とそれぞれ同じ処理であるため、説明を省略する。
【0066】
S1201において、データベース106の登録情報解析部603は、Web画像URLがデータベース登録情報1100に登録されているか否かを判定する。より具体的には、データベース106の通信部601が仮想マシン104からURLを受信した後、登録情報解析部603は、受信したURLに該当するURLが登録されているか否かを解析する。そして、解析の結果、データベースに登録されている場合(S1201でYes)、データベース106の通信部601は、登録されているURLに対応するWeb画像URLを仮想マシン104へ送信する。その後、S1202へ進む。一方、データベースに登録されていない場合(S1201でNo)、データベース106の通信部601は、Web画像URLが登録されていないことを示すメッセージを仮想マシン104へ送信する。その後、S905へ進む。
【0067】
S1202において、仮想マシン104の通信部501は、データベース106の通信部601から受信したWeb画像URLがダミー画像URLであるか否かを判定する。ここで、ダミー画像URLとは、URLについてWebコンテンツ同士に差分がある(例えば前回のアクセス時と今回のアクセス時とでWebコンテンツの内容が変化しているような場合)ことを示す識別情報である。ダミー画像URLではない場合(S1202でNo)、S1203へ進む。一方、ダミー画像URLである場合(S1202でYes)、S1211へ進む。
【0068】
S1203において、仮想マシン104の通信部501は、Webサーバ102からWebコンテンツを取得する。この際にWebサーバ102に要求するURLはS901で受信したURLである。その後、仮想マシン104の通信部501は、データベース登録情報1100から、S901で受信したURLに対応するWebコンテンツを受信する。例えば、データベース登録情報1100が1102の状態であり、S901で受信したURLがhttps://www.yahoo.co.jpである場合、index.htmlのWebコンテンツを受信する。
【0069】
S1204において、仮想マシン104のWebコンテンツ解析部503は、S1203で取得した2つのWebコンテンツ(Webサーバ102から取得したWebコンテンツ及びデータベース登録情報1100から受信したWebコンテンツ)の比較を行う。ここでは、Webコンテンツ同士を直接比較してもよいし、Webコンテンツ解析後の、ビットマップデータ同士を比較してもよい。
【0070】
S1205において、仮想マシン104のWebコンテンツ解析部503は、S1204で比較したWebコンテンツ同士に差分があるか否かを判定する差分判定処理を実施する。差分がある場合(S1205でYes)、S1206へ進む。一方、差分がない場合(S1205でNo)、S1207へ進む。
【0071】
S1206において、仮想マシン104の通信部501は、S1201で取得したWeb画像URLを通信装置101へ送信する。
【0072】
S1207において、仮想マシン104の通信部501は、S901で受信したURLとダミー画像URL挿入要求とを、データベース106へ送信する。データベース106は、URLとダミー画像URL挿入要求とを受信すると、データベース登録情報1100において、受信したURLに対応するWeb画像URLをダミー画像URLへ変更する。例えば、データベース登録情報1100が1102の状態であり、S901で受信したURLが、https://www.yahoo.co.jpである場合、データベース登録情報1100の状態は、1102から1103の状態へ変化する。すなわち、Web画像URL「xxx/yahoo.co.jp.jpeg」からダミー画像URL「dummy.jpeg」へと変化する。なお、データベース106の容量確保のため、ダミー画像挿入時に関連するWebコンテンツ(例えば1102の状態の場合は、index.html)を削除してもよい。
【0073】
S1208において、仮想マシン104のWebコンテンツ解析部503は、S1203でWebサーバ102から取得したWebコンテンツの解析を行い、仮想マシン104のWebコンテンツ描画部504は、Webコンテンツの描画を行う。その後、描画したWebコンテンツに基づいて、仮想マシン104の画像生成部505は、Web画像の生成を行う。生成する画像は、例えば、jpegやpngのような画像ファイルである。
【0074】
S1209において、仮想マシン104の通信部501は、S1208で生成した画像をストレージ107にアップロードする。
【0075】
S1210において、仮想マシン104の通信部501は、S1209でアップロードしたアップロード先のWeb画像URLを通信装置101へ送信する。
【0076】
S1211において、仮想マシン104の通信部501は、Webサーバ102からWebコンテンツを取得する。このときWebサーバ102に要求するURLは、S901で受信したURLである。
【0077】
S1212において、仮想マシン104の通信部501は、S901で受信したURL、S907で画像をアップロードした先のWeb画像URL、および、S905で取得したWebコンテンツを、データベース106へ送信する。
【0078】
データベース106の通信部601は、受信後、データベース登録情報1100に情報を登録する。例えば、データベース登録情報1100状態が1101であり、受信した情報が、URL=https://www.yahoo.co.jp、アップロード先のWeb画像URL=xxx/yahoo.co.jp.jpegであるとする。さらに、受信したWebコンテンツがindex.htmlであるとする。この場合、データベース登録情報は1101から1102の状態に変化する。以上で図12の一連の処理が終了する。
【0079】
以上説明したように、本実施形態によれば、Webコンテンツをデータベース106に登録するか否かをWebコンテンツ同士の比較によって判定することができる。これにより、データベース106に登録すべきでないWeb画像の登録を防ぐことができる。
【0080】
登録すべきでないWeb画像とは、ユーザによって描画される内容が異なるWebコンテンツによって生成される画像である。本実施形態は、実施形態2とは異なり、Webコンテンツの特定の要素から判定するのではなく、データベース登録情報1100に登録されているWebコンテンツと、Webサーバ102から取得したコンテンツとを比較する。これにより、登録すべきでないWebコンテンツを判定することができる。
【0081】
また、本実施形態の場合、Webコンテンツ同士、または、Webコンテンツを解析した後のデータ同士を直接比較する。そのため、特定の要素から判定する実施形態2に比べて、特定の要素に制限されることなく、登録すべきでないWebコンテンツを判定することができる。さらに、実施形態2と同様に、あるユーザによって生成された登録すべきでないWeb画像を、他のユーザが取得して表示することを防ぐことができる。
【0082】
また、本実施形態では、S1204で差分があると判定された場合に、ダミー画像URLを利用する例を説明したが、これに限るものではなく、S1204で差分があったと判定したことが分かれば他の情報を使用してもよい。
【0083】
(実施形態4)
本実施形態では、仮想マシン104は、データベース106に登録したWebコンテンツと、Webサーバ102から取得したWebコンテンツとの比較を行い、差分がある場合にデータベース106から当該Webコンテンツを削除する処理を行う。
【0084】
本実施形態におけるシステムの構成、通信装置101のハードウェア構成およびソフトウェア構成は、それぞれ図1乃至図3に示した構成と同様である。また、仮想マシン104のハードウェア構成、ソフトウェア構成は、それぞれ図4及び図5と同様である。そして、データベース106のハードウェア構成、ソフトウェア構成は、それぞれ図4及び図6と同様である。さらに、本実施形態に係る通信装置101が実施する処理の流れは、図8の処理と同様である。
【0085】
<処理>
図13は、本実施形態に係る画像生成システム103(主に仮想マシン104、データベース106)が実施する処理の流れを示すフローチャートである。通信装置101を利用するユーザが、クラウドブラウザ利用アプリを起動し、仮想マシン104と接続を完了した状態で、本フローチャートの処理が開始する。図13のS901、S902、S905~S908、S1201、S1203~S1206、S1212の処理は、図12の同じ参照符号の処理とそれぞれ同じ処理であるため、説明を省略する。
【0086】
S1301において、仮想マシン104の通信部501は、データベース106のデータベース登録情報1100に記憶されている、S901で受信したURLに対応するWebコンテンツを削除するための指示をデータベース106へ送信する。データベース106は、仮想マシン104から受信した指示に基づいてデータベース106からの削除を行う。以上で図13の処理が終了する。
【0087】
なお、一度データベース106から削除されたWebコンテンツに対応するURLについては、当該削除以降にそのURLが登録されていないと判定された場合であってもデータベース106への登録を行わないように制御してもよい。これにより、登録、削除が繰り返されることを回避できる。
【0088】
以上説明したように、本実施形態では、データベース106に登録したWebコンテンツと、Webサーバ102から取得したWebコンテンツとに差分がある場合にデータベース106から当該Webコンテンツを削除する。これにより、たとえ同じユーザがアクセスする場合でもWebコンテンツの内容が変化していたような場合に、Webコンテンツのキャッシュを回避することができる。
【0089】
[変形例]
上述の各実施形態において、画像生成システム103は、複数の仮想マシンを有してもよく、それぞれの仮想マシンが同じデータベース106に対して情報の送受信を行ってもよい。これにより、ユーザが前回利用した仮想マシンとは異なる仮想マシンを利用した場合においても、上述の各実施形態の効果を奏することができる。
【0090】
また、上述の各実施形態において、仮想マシン104は、通信装置101へWeb画像URLを送信する際、データベース登録情報700またはデータベース登録情報1100に登録されているWeb画像URLをそのまま送信しなくてもよい。例えば、Web画像URLに基づいて署名付きURLを作成し、それを通信装置101へ送信してもよい。
【0091】
また、上述の各実施形態において、仮想マシン104は、通信装置101へWeb画像URLを送信し、通信装置101がWeb画像URLを利用してストレージ107から画像を取得する例を説明したが、これに限るものではない。例えば、仮想マシン104の画像生成部505が生成した画像を仮想マシン104上に保存しておき、仮想マシン104が通信装置101へ画像データを送信することによって、通信装置101が画像を取得してもよい。
【0092】
本明細書の開示は、以下の画像生成システム、画像生成システムの動作方法及びプログラムを含む。
【0093】
(項目1)
画像生成システムであって、
通信装置から受信したURLがデータベースに登録されているか否かを判定する判定手段と、
前記URLが登録されていると判定された場合、前記URLに対応するWebコンテンツが画像化されたWeb画像のURLを前記通信装置へ送信する送信手段と、
を備えることを特徴とする画像生成システム。
【0094】
(項目2)
前記URLが登録されていないと判定された場合に当該URLに対応するWebコンテンツを取得する取得手段と、
前記Webコンテンツを解析する解析手段と、
前記解析手段により解析された前記WebコンテンツのWeb画像を生成する生成手段と、
をさらに備えることを特徴とする項目1に記載の画像生成システム。
【0095】
(項目3)
前記生成手段により生成された前記Web画像をアップロードするアップロード手段と、
前記URLと、前記アップロード手段によりアップロードされた前記Web画像のURLとを関連付けて前記データベースに登録する登録手段と、
をさらに備えることを特徴とする項目2に記載の画像生成システム。
【0096】
(項目4)
前記送信手段は、前記アップロード手段によりアップロードされた前記Web画像のURLを前記通信装置へ送信することを特徴とする項目3に記載の画像生成システム。
【0097】
(項目5)
前記解析手段により解析された解析結果に基づいて、前記URLと、前記アップロード手段によりアップロードされた前記Web画像のURLと、前記URLに対応するWebコンテンツとを関連付けて登録するか否かを判定する第2の判定手段をさらに備え、
前記登録手段は、前記第2の判定手段により登録すると判定された場合に登録を行うことを特徴とする項目3又は4に記載の画像生成システム。
【0098】
(項目6)
前記解析結果は、キャッシュコントロール、cookie情報、及びユーザのログイン情報のうちの少なくとも1つを含むことを特徴とする項目5に記載の画像生成システム。
【0099】
(項目7)
前記URLに対応するWebコンテンツを取得する取得手段と、
前記取得手段により取得された前記Webコンテンツと、前記データベースに登録されており且つ前記URLに対応するWebコンテンツとの差分を判定する差分判定手段と、
前記差分がある場合に、前記データベースに登録されている前記Webコンテンツを削除する削除手段と、
をさらに備えることを特徴とする項目3乃至6のいずれか1項目に記載の画像生成システム。
【0100】
(項目8)
前記登録手段は、前記削除手段により削除されたWebコンテンツに対応するURLについては、当該削除以降に前記判定手段により前記URLが登録されていないと判定された場合であっても前記データベースへの登録を行わないことを特徴とする項目7に記載の画像生成システム。
【0101】
(項目9)
前記URLに対応するWebコンテンツを取得する取得手段と、
前記取得手段により取得された前記Webコンテンツと、前記データベースに登録されており且つ前記URLに対応するWebコンテンツとの差分を判定する差分判定手段と、をさらに備え、
前記登録手段は、前記差分がある場合に、前記URLについてWebコンテンツ同士に差分があることを示す識別情報を前記データベースに登録することを特徴とする項目3乃至6のいずれか1項目に記載の画像生成システム。
【0102】
(項目10)
前記判定手段は、前記通信装置から受信したURLが前記データベースに登録されている場合に、当該URLについて前記識別情報が登録されているか否かをさらに判定し、
前記取得手段は、前記判定手段により前記識別情報が登録されていると判定された場合に、前記URLに対応するWebコンテンツを取得することを特徴とする項目9に記載の画像生成システム。
【0103】
(項目11)
画像生成システムの動作方法であって、
通信装置から受信したURLがデータベースに登録されているか否かを判定する判定工程と、
前記URLが登録されていると判定された場合、前記URLに対応するWebコンテンツが画像化されたWeb画像のURLを前記通信装置へ送信する送信工程と、
を有することを特徴とする画像生成システムの動作方法。
【0104】
(項目12)
コンピュータを、項目1乃至10のいずれか1項目に記載の画像生成システムとして機能させるためのプログラム。
【0105】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0106】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0107】
104:仮想マシン、501:通信部、502:記憶部、503:Webコンテンツ解析部、504:Webコンテンツ描画部、505:画像生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13