JP2015191507A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2015191507A
JP2015191507A JP2014069157A JP2014069157A JP2015191507A JP 2015191507 A JP2015191507 A JP 2015191507A JP 2014069157 A JP2014069157 A JP 2014069157A JP 2014069157 A JP2014069157 A JP 2014069157A JP 2015191507 A JP2015191507 A JP 2015191507A
Authority
JP
Japan
Prior art keywords
sub
content
contents
information processing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014069157A
Other languages
English (en)
Inventor
満 西部
Mitsuru Nishibe
満 西部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2014069157A priority Critical patent/JP2015191507A/ja
Priority to US14/662,956 priority patent/US9990427B2/en
Publication of JP2015191507A publication Critical patent/JP2015191507A/ja
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy

Abstract

【課題】複数のサブコンテンツを出力するためのリソースを効率よく利用することが可能な情報処理装置及びプログラムを提供する。【解決手段】1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得する取得部と、取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付ける管理部と、を備える、情報処理装置。【選択図】図1

Description

本開示は、情報処理装置及びプログラムに関する。
近年では、文章などのテキスト情報に限らず静止画や動画等の映像情報が、コンテンツ(例えば、Webコンテンツ)として、インターネット等のネットワークを介して提供される場合がある。このようなコンテンツは多様化してきており、複数のサブコンテンツが同一ページ内に埋め込まれたコンテンツが提供される場合も少なくは無く、当該サブコンテンツとしてWeb広告等の外部コンテンツが埋め込まれている場合もある。
前述のようなコンテンツは、例えば、PC(Personal Computer)等のユーザ端末で動作するブラウザ等の閲覧ソフト(以降では、総じて「ブラウザ」と呼ぶ場合がある)により読み出され、当該ユーザ端末の画面上に表示される。
特開2008−225783号公報
一方で、コンテンツの多様化に伴い、ブラウザ上に表示されるサブコンテンツの数も増加する傾向にある。そのため、当該コンテンツを出力するために必要とされるプロセスや、当該プロセスが使用するメモリ等のようなリソースの量が増加する場合が少なからずある。
そこで、本開示では、複数のサブコンテンツを出力するためのリソースを効率よく利用することが可能な、新規かつ改良された情報処理装置及びプログラムを提供する。
本開示によれば、1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得する取得部と、取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付ける管理部と、を備える、情報処理装置が提供される。
また、本開示によれば、コンピュータに、1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得することと、取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付けることと、を実行させるための、プログラムが提供される。
以上説明したように本開示によれば、複数のサブコンテンツを出力するためのリソースを効率よく利用することが可能な情報処理装置及びプログラムを提供することが可能となる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の実施形態に係る情報処理システムの概略的なシステム構成の一例について説明するための説明図である。 同実施形態に係る情報処理システムの利用シーンの一例について説明するための説明図である。 同実施形態に係る情報処理システムの利用シーンの一例について説明するための説明図である。 比較例1に係るプロセス管理方法の一例について説明するための説明図である。 比較例2に係るプロセス管理方法の一例について説明するための説明図である。 同実施形態に係る情報処理装置によるプロセス管理の概要について説明するための説明図である。 同実施形態に係る情報処理装置10の概略的な機能構成について説明する。 同実施形態に係る情報処理装置の機能構成の一例を示したブロック図である。 情報処理装置が、取得したコンテンツに含まれるサブコンテンツを分類する際に動作する機能について説明するための説明図である。 取得されるコンテンツの一例を模式的に示した図である。 図10に示すコンテンツの解析結果に基づき生成されるコンテキスト(オブジェクト)の一例である。 情報処理装置が、分類された各サブコンテンツを、各ページプロセスに割り当てる際に動作する機能について説明するための説明図である。 管理情報の一例を示している。 情報処理装置が、ユーザ入力に基づきサブコンテンツの内容を更新する際に動作する機能について説明するための説明図である。 情報処理装置が、ユーザ入力に基づきサブコンテンツの内容を更新する際に動作する機能について説明するための説明図である。 同実施形態に係る情報処理装置10のハードウェア構成の一例を示した図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.実施形態
1.1.概要
1.2.課題の整理
1.3.プロセス管理方法の概要
1.4.機能構成
1.4.1.サブコンテンツの分類
1.4.2.プロセスへのサブコンテンツの割り当て
1.4.3.入力イベントに基づく処理
2.実施例
2.1.実施例1:配信元に基づく分類
2.2.実施例2:サブコンテンツの種別に基づく分類
2.3.実施例3:処理種別に基づく分類
2.4.実施例4:セキュリティ機能により保護されたサブコンテンツの分類
2.5.実施例5:リソースの占有率にも基づく分類
2.6.実施例6:サブコンテンツ間の重み付け
2.7.実施例7:ページプロセス間の重み付け
3.変形例
4.ハードウェア構成
5.まとめ
<1.実施形態>
[1.1.概要]
まず、図1を参照して、本開示の実施形態に係る情報処理システムの概要について説明する。図1は、本実施形態に係る情報処理システムの概略的なシステム構成の一例について説明するための説明図である。
図1に示すように、本実施形態に係る情報処理システムは、例えば、情報処理装置10と、表示装置20と、サーバ90とを含む。情報処理装置10とサーバ90とはネットワークn1を介して互いに情報を送受信可能に構成されている。ネットワークn1は、例えば、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成され得る。なお、異なる装置間を接続するネットワークであれば、ネットワークn1の態様は限定されない。
サーバ90は、所謂、Webサーバ、プロキシサーバ、またはエッジサーバに相当する構成である。サーバ90は、文章などのテキスト情報に限らず静止画や動画等の映像情報を、コンテンツ(例えば、Webコンテンツ)として、ネットワークn1を介して情報処理装置10に配信する。
情報処理装置10は、サーバ90から配信されるコンテンツを閲覧するための、所謂、ブラウザを動作させるための装置である。情報処理装置10は、ユーザからの指示に基づきブラウザを起動させるとともに、当該ブラウザの表示画面を、後述する表示装置20の表示部21に表示させる。そして、情報処理装置10は、サーバ90から配信されるコンテンツを取得し、当該コンテンツをブラウザの表示画面上に表示させる。
情報処理装置10の具体的な一例としては、PC等のユーザ端末が挙げられる。また、ブラウザを動作させ、当該ブラウザを介してコンテンツをユーザに提示できれば、情報処理装置10の構成は必ずしもPCには限定されない。例えば、情報処理装置10は、ネットワークn1(例えば、インターネットやLAN)にアクセス可能なテレビジョン装置等の電子機器であってもよい。
表示装置20は、例えば、ディスプレイ等のような情報を表示させるための装置である。表示装置20は、情報表示させるための表示部21(例えば、表示パネル)を備え、情報処理装置10からの制御に基づき情報を表示部21に表示させる。なお、情報処理装置10と表示装置20とは、別々の構成でもよいし、一体的に構成されていてもよい。
例えば、図2には、本実施形態に係る情報処理システムで使用される表示装置20の一例が示されている。図2は、本実施形態に係る情報処理システムの利用シーンの一例について説明するための説明図である。図2に示す例では、情報処理システムは、表示装置20として複数のユーザが同時に参照可能な比較的大きな表示部21を備えた装置を使用し、当該ユーザが複数のコンテンツv11〜v14を同時に閲覧可能に構成されている。
なお、表示されるコンテンツの中には、例えば、Webコンテンツのフレームページのように、当該コンテンツを表示するためのフレーム中に、サブフレームとして別途コンテンツが埋め込まれているものもある。具体的な一例として、SNS(Social Networking Service)が提供するコンテンツ(例えば、Webページ)中には、Web広告等の外部コンテンツが埋め込まれている場合もある。このように、コンテンツ中に含まれる他のコンテンツ(例えば、コンテンツ中に埋め込まれた他のコンテンツ)を、以降では、「サブコンテンツ」と呼ぶ場合がある。
例えば、図2に示す例の場合には、コンテンツv13は、サブコンテンツv131及びv132を含む。このとき、サブコンテンツv131及びv132のうちの一方のサブコンテンツは、他方のサブコンテンツとは異なる送信元(ドメイン)から配信されたコンテンツであってもよい。
また、本実施形態に係る情報処理装置10は、複数のコンテンツを複数のレイヤに分けてそれぞれ表示装置20の表示部21に表示させてもよい。例えば、図3は、本実施形態に係る情報処理システムの利用シーンの一例について説明するための説明図であり、複数のコンテンツを複数のレイヤに分けて表示させた場合を模式的に示した図である。
例えば、図3に示す例では、表示部21に表示される画面の奥行き方向に沿って、レイヤv10〜v30が仮想的に重畳するように配置されており、各レイヤには割り当てられたコンテンツがそれぞれ表示されている。例えば、レイヤv10には、コンテンツv11〜v13が割り当てられており、当該レイヤv10上に当該コンテンツv11〜v13が表示されている。同様に、レイヤv20には、コンテンツv21が割り当てられており、当該レイヤv20上に当該コンテンツv21が表示されている。
図3に示す例の場合には、例えば、情報処理装置10が、ユーザからの指示に応じて、表示部21に表示される画面の奥行き方向に沿ったレイヤv10〜v30の順序を切り替えることで、ユーザに対して提示するコンテンツをレイヤごとに切り替えてもよい。
[1.2.課題の整理]
次に、情報処理装置10が、各コンテンツを出力(例えば、表示)するための概略的な処理の一例について説明することで、本実施形態に係る情報処理システムの課題について、特に、図1〜図3に示した構成とした場合に着目して以下に整理する。
情報処理装置10は、各コンテンツ(もしくは、各サブコンテンツ)を出力するための処理を、プロセスと呼ばれる処理単位ごとに管理される。なお、プロセスとは、例えば、情報処理装置10の各機能を動作させるOS(Operating System)が、各処理(プログラム)を実行する場合の仮想的なリソースを示す。当該OSは、例えば、コンテンツを出力するための処理をプロセス単位で実行する。なお、情報処理装置10は、プロセスよりもさらに細かいスレッドと呼ばれるリソースごとに、コンテンツを表示するための処理を実行してもよい。なお、以降では、説明をわかりやすくするために、情報処理装置10は、各コンテンツの出力に係る処理をプロセス単位で管理するものとして説明する。
近年では、コンテンツの多様化に伴い、ブラウザの画面上に出力されるサブコンテンツの数も増加する傾向にある。そのため、当該コンテンツを出力するために必要とされるプロセスや、当該プロセスが使用するメモリ等のようなリソースの量も増加する傾向にある。
しかしながら、情報処理装置10が、コンテンツやサブコンテンツを出力するためのリソース(例えば、プロセスや、当該プロセスが使用するメモリ)には、ソフトウェア的またはハードウェア的な要因により制限がある場合が少なくない。具体的な一例として、情報処理装置10が一度に管理可能なプロセスの数の最大値は、OSによるプロセスの管理方法やメモリの容量に依存して決定される場合がある。
そのため、例えば、図2及び図3に示すように、複数のコンテンツや、複数のサブコンテンツを含むコンテンツを出力させる場合に、情報処理装置10のリソースを効率よく利用することが可能な仕組みが求められている。
そこで、本実施形態に係る情報処理システムの課題についてより詳細に整理するために、以下に、コンテンツを出力するためのリソース管理の一例として、複数のコンテンツをプロセスに割り当てる方法の一例を比較例1及び2として説明する。
(比較例1)
まず、図4を参照して、比較例1に係るプロセス管理方法の一例について説明する。図4は、比較例1に係るプロセス管理方法の一例について説明するための説明図である。図4において、参照符号v11〜v17は、表示部21に各ページとして出力されるコンテンツの一例を示している。なお、以降では、説明をわかりやすくするために、コンテンツv11〜v17のそれぞれは、1つのページ(例えば、ブラウザのウィンドゥやタブ単位で管理されるページ)に対応しており、当該ページ内に出力される異なるコンテンツ(例えば、送信元(ドメイン)の異なるコンテンツ)それぞれをサブコンテンツと呼ぶものとする。即ち、本説明では、図4に示すように、1以上のサブコンテンツを含むコンテンツを出力するものとして説明する。
例えば、図4に示す例では、コンテンツv11は、SNSより提供されるサブコンテンツv111と、Web広告のような広告として提供されるサブコンテンツv113とを含む。具体的には、図4に示す例は、SNSのサブコンテンツv111を出力するためのフレームが埋め込まれたページの一部に、広告のサブコンテンツv113が出力されたサブフレームが埋め込まれている場合の一例を示している。
また、コンテンツv13、v15、及びv17は、ニュースサイトが提供するサブコンテンツv131、v151、及びv171をそれぞれ含む。また、コンテンツv13及びv15は、Web広告のような広告として提供されるサブコンテンツv133及びv153をそれぞれ含む。
また、参照符号c111〜c171は、サブコンテンツv111〜v171それぞれを出力するためのデータや当該データに基づく仮想的なオブジェクト(例えば、DOM:Document Object Model)のような、当該各サブコンテンツのコンテキストを模式的に示している。
例えば、コンテキストc111は、SNSより提供されるサブコンテンツv111に対応したコンテキストを示している。同様に、コンテンツc113は、広告として提供されるサブコンテンツv113に対応したコンテキストを示している。
なお、参照符号c11〜c17は、各コンテキストc111〜c171が、コンテンツv11〜v17のうち、いずれのコンテンツに含まれるサブコンテンツに対応しているかを示している。例えば、参照符号c11で示されたコンテキストc111及びc113は、コンテンツv11に含まれるサブコンテンツv111及びv113に対応していることを示している。
図4に示す比較例1は、各サブコンテンツv111〜v171の出力に係る処理が、単一のプロセスp10(単一のスレッド)により管理される場合の一例を示している。即ち、図4に示す例では、サブコンテンツv111〜v171の出力に係る処理が、プロセスp10に割り当てられる。この場合には、プロセスp10は、自身が管理するメモリ空間に、サブコンテンツv111〜v171のそれぞれに対応するコンテキストc111〜c171を展開する。そして、プロセスp10は、当該コンテキストに基づきサブコンテンツv111〜v171それぞれの出力を制御する。
なお、本説明では、プロセスが各サブコンテンツを出力するための処理を実行する場合を例に説明するが、当該サブコンテンツを含むコンテンツについても同様である。なお、コンテンツを出力するための処理を実行する場合については、各サブコンテンツに対する処理に関する説明において、「サブコンテンツ」を「コンテンツ」に適宜読み替えればよい。
図4に示すように単一プロセスp10により、一連のサブコンテンツの出力に係る処理を管理する場合には、例えば、一部のサブコンテンツの出力に係る処理が異常終了した場合に、プロセスp10が処理を終了する場合が少なくない。このような場合には、一部のサブコンテンツの出力に係る処理に加えて、他のサブコンテンツの出力に係る処理があわせて終了することとなる。
また、プロセスp10が、一連のサブコンテンツの出力に係る処理を管理するため、例えば、一部のサブコンテンツの出力に係る処理が無応答となった場合に、当該プロセスp10の処理全体が応答待ちの状態となる場合が少なくない。このような場合には、他のサブコンテンツの出力に係る処理があわせて応答待ちの状態となり、当該サブコンテンツの出力に係るレスポンスが著しく低下する場合がある。
また、一連のサブコンテンツの出力に係る処理が単一プロセスp10により管理されるため、例えば、マルチコアプロセッサのように、並列処理が可能なプロセッサを適用した場合に、各コンテンツの出力に係る処理を並列に処理することが困難である。
また、プロセスp10が、一連のサブコンテンツの出力に係る処理を管理するため、当該一連のサブコンテンツそれぞれのコンテキストが同一のメモリ空間上で管理されることとなる。そのため、例えば、一部のサブコンテンツにセキュリティ上の脆弱性が存在した場合に、当該サブコンテンツの脆弱性を介して、他のサブコンテンツが悪意のある攻撃にさらされる可能性がある。
(比較例2)
次に、図5を参照して、比較例2に係るプロセス管理方法の一例について説明する。図5は、比較例2に係るプロセス管理方法の一例について説明するための説明図である。図5に示す例は、図4に示したコンテンツv11〜v17の各サブコンテンツそれぞれを、コンテンツごとに、互いに異なるプロセスp11〜p17に割り当てて管理する場合の一例を示している。
具体的な一例として、プロセスp11には、コンテンツv11に含まれるサブコンテンツv111及びv113が割り当てられている。即ち、プロセスp11は、自身が管理するメモリ空間に、サブコンテンツv111及びv113のそれぞれに対応するコンテキストc111及びc113を展開する。そして、プロセスp11は、当該コンテキストに基づきサブコンテンツv111及びv113それぞれの出力を制御する。
また、プロセスp13には、コンテンツv13に含まれるサブコンテンツv131及びv133が割り当てられている。同様に、プロセスp15には、コンテンツv15に含まれるサブコンテンツv151及びv153が割り当てられ、プロセスp17には、コンテンツv17に含まれるサブコンテンツv171が割り当てられている。
このように、図5に示す比較例2では、コンテンツv11〜v17の各サブコンテンツを、コンテンツごとに異なるプロセスに割り当てて管理する。このような構成により、例えば、一部のプロセスが異常終了や応答待ちの状態となった場合においても、当該一部のプロセスに割り当てられたサブコンテンツの出力に係る処理のみに影響範囲を限定することが可能となる。即ち、この場合には、他のプロセスは、当該一部のプロセスの動作(例えば、異常終了や応答待ち)の影響を受けずに、自身に割り当てられたサブコンテンツの出力に係る処理を継続させることが可能となる。
具体的な一例として、サブコンテンツv133の出力に係る処理が異常終了した場合に、プロセスp13が処理を終了したものとする。この場合には、プロセスp13に割り当てられたサブコンテンツv131の出力に係る処理があわせて終了する場合があるが、他のプロセスに割り当てられたサブコンテンツの出力に係る処理は継続されることとなる。
一方で、一般的には、プロセス数が増えるほど使用するメモリの容量(換言すると、使用するメモリの容量のオーバーヘッド)が大きくなる傾向にある。即ち、図5に示す比較例2に係るプロセス管理方法を適用した場合には、出力されるページ(コンテンツ)の数が増えるほど、図4に示す比較例1に係るプロセス管理方法を適用した場合に比べて、より多くの容量のメモリが使用されることとなる。
また、前述したように、情報処理装置が一度に管理可能なプロセスの数の最大値は、OSによるプロセスの管理方法やメモリの容量に依存して決定される場合がある。また、当該プロセスは、コンテンツの表示のみに使用されるとは限らず、OSが管理するその他の処理も割り当てられる。そのため、図5に示した比較例2に係るプロセス管理方法においては、同時に動作するプロセスの数が、情報処理装置が管理可能なプロセスの最大数を超えるように、多くのページが開かれた場合に、情報処理装置のレスポンスが著しく低下する可能性がある。特に、比較例2に係るプロセス管理方法の場合には、情報処理装置の処理性能に関わらず、出力されるコンテンツ(ページ)の数に応じて動作するプロセス数が決定されるため、当該情報処理装置の処理性能を超えて、プロセスが生成される可能性が少なからずある。
また、比較例2に係るプロセス管理方法では、コンテンツ(ページ)ごとに、当該コンテンツに含まれるサブコンテンツがプロセスに割り当てられるため、例えば、送信元の異なる複数のサブコンテンツが互いに同じプロセスに割り当てられる場合もある。このような場合には、送信元の異なる(換言すると、配信元の異なる)複数のサブコンテンツそれぞれのコンテキストが互いに同じメモリ空間上で管理されることとなる。そのため、同じプロセスに割り当てられたサブコンテンツのうち、一部のサブコンテンツにセキュリティ上の脆弱性が存在した場合に、当該サブコンテンツの脆弱性を介して、他のサブコンテンツが悪意のある攻撃にさらされる可能性がある。
[1.3.プロセス管理方法の概要]
以上を踏まえて、本実施形態に係る情報処理装置10は、複数のサブコンテンツを含むコンテンツを出力するためのリソースを効率よく利用可能とする仕組みを提供する。また、本実施形態に係る情報処理装置10は、例えば、セキュリティ機能により保護されたサブコンテンツが、他のサブコンテンツを介した悪意のある攻撃から保護されるようにリソースを管理することで、セキュリティを向上させる。
具体的には、本実施形態に係る情報処理装置10は、各コンテンツに含まれるサブコンテンツそれぞれをあらかじめ決められた条件に基づき分類し、当該分類ごとにプロセスに割り当てる。以下に、図6を参照して、本実施形態に係る情報処理装置10によるプロセス管理の概要について説明する。図6は、本実施形態に係る情報処理装置10によるプロセス管理の概要について説明するための説明図である。
図6に示す例では、情報処理装置10は、コンテンツv11〜v17のそれぞれに含まれるサブコンテンツv111〜v171のコンテキストc111〜c171を、プロセスp10、p20、及びp30のいずれかに割り当てて管理する。
このとき、情報処理装置10は、例えば、ニュースサイトが提供するサブコンテンツv131、v151、及びv171と、広告として提供されるサブコンテンツv113、v153、及びv173とを互いに異なるプロセスに割り当てている。具体的には、図6に示す例では、情報処理装置10は、ニュースサイトが提供するサブコンテンツv131、v151、及びv171をプロセスp30に割り当て、広告として提供されるサブコンテンツv113、v153、及びv173をプロセスp10に割り当てている。このように、情報処理装置10は、ニュースサイト等の各種サイトが主コンテンツとして提供するサブコンテンツと、Web広告等のように、主コンテンツとは異なる配信元が提供するサブコンテンツとを、互いに異なるプロセスに割り当てている。
なお、ニュースサイト等の各種サイトが主コンテンツとして提供するサブコンテンツと、所謂Web広告のような主コンテンツとは異なる配信元が提供するサブコンテンツとは、例えば、当該サブコンテンツの配信元(ドメイン)に基づき区別することが可能である。
また、情報処理装置10は、例えば、認証機能等のセキュリティ機能により保護されたサブコンテンツv111と、他のサブコンテンツとを互いに異なるプロセスに割り当てている。具体的には、図6に示す例では、情報処理装置10は、サブコンテンツv111をプロセスp20に割り当て、他のサブコンテンツをプロセスp10及びp30のうちのいずれかに割り当てている。
なお、各サブコンテンツがセキュリティ機能により保護されているか否かについては、例えば、各サブコンテンツを配信するための通信プロトコルに基づき区別することが可能である。なお、セキュリティを保護するためのプロトコルの一例としては、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)プロトコルが挙げられる。また、SSL/TLSプロトコルを使用した通信としては、例えば、HTTPS(Hypertext Transfer Protocol Secure)が挙げられる。また、各サブコンテンツがセキュリティ機能により保護されているか否かを判断できれば、その方法は特に限定されないことは言うまでもない。
このような構成により、本実施形態に係る情報処理装置10は、例えば、自身の処理性能に応じて、各サブコンテンツを出力するためのプロセスの数を制御することが可能となる。そのため、本実施形態に係る情報処理装置10は、例えば、図2及び図3に示すように、比較的に多くの数(例えば、小型のディスプレイにコンテンツを出力する場合に比べて多くの数)のコンテンツを出力する場合においても、自身の処理性能を超えてプロセスを動作させる事態を未然に防止し、処理性能の低下を抑止することが可能となる。
また、情報処理装置10は、各コンテンツに含まれるサブコンテンツを、あらかじめ決められた条件に基づき分類し、当該分類に応じて各サブコンテンツをいずれかのプロセスに割り当てる。これにより、各サブコンテンツと各プロセスとが対応付けられる。
このような構成により、例えば、情報処理装置10は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツとは異なるプロセスに割り当てることも可能となる。そのため、情報処理装置10は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツを介した悪意ある攻撃から保護することが可能となる。
また、情報処理装置10は、動画などの映像を出力するサブコンテンツのように、他のサブコンテンツに比べて出力に要するメモリの容量が大きいサブコンテンツを、他のサブコンテンツとは異なるプロセスに割り当ててもよい。また、他の一例として、情報処理装置10は、サブコンテンツ内のスクリプトの実行に伴い、他のサブコンテンツに比べてプロセッサの専有頻度の高い(即ち、スクリプトが実行される頻度が高い)サブコンテンツを他のサブコンテンツとは異なるプロセスに割り当ててもよい。
出力に要するメモリの容量が大きいサブコンテンツや、プロセッサの専有頻度の高いサブコンテンツは、プロセスの動作を不安定にする頻度が、他のサブコンテンツに比べて高く、結果としてプロセスを異常終了させる可能性が高い場合がある。一方で、本実施形態に係る情報処理装置10は、上記に示した構成により、プロセスを異常終了させる可能性の高いサブコンテンツを、他のサブコンテンツと異なるプロセスに割り当てることで、他のサブコンテンツを安定的に出力することが可能となる。
以上、図6を参照しながら、本実施形態に係る情報処理装置10の概要について説明した。なお、以降では、本実施形態に係る情報処理装置10の構成や処理についてさらに詳しく説明する。
[1.4.機能構成]
本実施形態に係る情報処理装置10の機能構成の一例について説明する。まず、図7を参照して、本実施形態に係る情報処理装置10の概略的な機能構成について説明する。
図7に示すように、本実施形態に係る情報処理装置10は、管理プロセス11と、複数のページプロセス13とを含む。図7に示す例は、ページプロセス13として、ページプロセス13a〜13cを含む場合を示している。管理プロセス11は、プロセス管理部111と、管理データ記憶部113と、入出力管理部115とを含む。
ページプロセス13は、コンテンツ中に含まれる各サブコンテンツの表示に係る処理を実行するためのプロセスを模式的に示したものである。ページプロセス13は、例えば、図6に示したプロセスp10、p20、及びp30に相当する。
プロセス管理部111は、ページプロセス13の生成及び破棄と、生成された各ページプロセス13へのサブコンテンツの割り当てを行う。プロセス管理部111は、例えば、情報処理装置10の性能情報に応じて、動作するページプロセス13の数を制御してもよい。性能情報としては、情報処理装置10に搭載されたメモリの容量や、当該メモリの空き容量、及び当該情報処理装置10のプロセッサ(例えば、CPU:Central Processing Unit)の使用率等が挙げられる。
具体的な一例として、プロセス管理部111は、情報処理装置10に搭載されたメモリ容量が大きいほど、生成するページプロセス13の数の最大値が大きくなるように制御してもよい。また、プロセス管理部111は、情報処理装置10のメモリの空き容量が所定値よりも大きい場合には、ページプロセス13を追加で生成し、当該メモリの空き容量が所定値より小さくなった場合には、使用されていないページプロセス13の一部を破棄してもよい。
また、プロセス管理部111は、各コンテンツに含まれるサブコンテンツを所定の条件に基づき分類し、当該分類の結果に基づき、各サブコンテンツを、動作しているページプロセス13いずれかに割り当てる。また、プロセス管理部111は、各サブコンテンツがどのページプロセス13に割り当てられているのかを示す情報を、管理情報として管理データ記憶部113に記録する。
なお、このような構成により、複数のサブコンテンツを含むコンテンツ(以降では、「親コンテンツ」と呼ぶ場合がある)と、当該複数のサブコンテンツとが互いに異なるページプロセス13に割り当てられる場合がある。
そのため、入出力管理部115が、親コンテンツと各サブコンテンツとの間の情報の入出力(例えば、ユーザ操作に基づくイベント処理等)を、管理データ記憶部113に記憶された管理情報に基づき制御する。
例えば、ユーザがあるコンテンツが表示された画面に対して操作を行ったものとする。このとき、入出力管理部115は、ユーザの操作内容に基づき操作の対象となったサブコンテンツ(ページ)を特定し、当該サブコンテンツが割り当てられたプロセスを管理データ記憶部113に記憶された管理情報に基づき特定する。そして、入出力管理部115は、ユーザの操作内容を示す情報(イベント情報)を特定したプロセスに通知する。
また、入出力管理部115は、各ページプロセスから、各サブコンテンツの描画結果を取得し、当該描画結果を表示画面として表示装置20の表示部21に出力する。
なお、管理プロセス11の各構成(即ち、プロセス管理部111、管理データ記憶部113、及び入出力管理部115)や、ページプロセス13の詳細については、別途後述する。
また、管理プロセス11とページプロセス13との間や、互いに異なるページプロセス13間の通信は、例えば、OSが機能として提供するプロセス間通信に基づき実現することが可能である。また、異なるプロセス間で情報を送受信できれば、管理プロセス11とページプロセス13との間や、互いに異なるページプロセス13間で情報を送受信する方法は特に限定されないことは言うまでもない。
次に、図8を参照して、本実施形態に係る情報処理装置10の機能構成の一例について説明する。図8は、本実施形態に係る情報処理装置10の機能構成の一例を示したブロック図である。特に、図8は、ページプロセス13の機能構成の一例について詳細に示している。
図8に示すように、ページプロセス13は、コンテンツ取得部131と、解析部132と、コンテキスト保持部133と、レイアウト制御部134と、描画処理部135と、イベント処理部136とを含む。
なお、以降では、本実施形態に係る情報処理装置10の動作をわかりやすくするために、「1.4.1.サブコンテンツの分類」、「1.4.2.プロセスへのサブコンテンツの割り当て」、及び「1.4.3.入力イベントに基づく処理」の3つの処理契機に分けて、管理プロセス11の各構成と、ページプロセス13の各構成との詳細について説明する。
<<1.4.1.サブコンテンツの分類>>
まず、図9を参照して、情報処理装置10が、サーバ90から配信されたコンテンツを取得し、当該コンテンツに含まれるサブコンテンツを、各ページプロセス13に割り当てるために分類する処理に着目して、当該処理時に動作する構成について説明する。図9は、情報処理装置10が、取得したコンテンツに含まれるサブコンテンツを分類する際に動作する機能について説明するための説明図である。なお、図9では、図8に示すブロック図のうち、情報処理装置10がコンテンツを取得し、取得した当該コンテンツに含まれるサブコンテンツを分類する際の情報の流れを実線で示し、その他については破線で示している。
まず、サーバ90からコンテンツが配信されると、当該コンテンツは、ページプロセス13のコンテンツ取得部131により取得される。このとき、最初にコンテンツを取得するページプロセス13については、運用やブラウザの構成に応じて適宜設定すればよい。例えば、所定のページプロセス13が、コンテンツを取得してもよい。また、他の一例として、プロセス管理部111が、各ページプロセス13のうちいずれか(例えば、処理負荷の低いページプロセス13)を選択して、当該ページプロセス13にコンテンツを取得させてもよい。本説明では、ページプロセス13aのコンテンツ取得部131が、サーバ90からコンテンツを取得したものとして説明する。
コンテンツ取得部131は、例えば、ユーザ操作に基づき指定された配信元の情報(例えば、URL:Uniform Resource Locator)に基づき当該配信元にアクセスし、当該配信元からコンテンツを取得する。
なお、本説明では、コンテンツ取得部131は、図10に示すようなコンテンツv51を取得したものとして説明する。図10は、本実施形態に係る情報処理装置10の動作について説明するための説明図であり、取得されるコンテンツの一例を模式的に示している。即ち、コンテンツ取得部131は、サブコンテンツv511、v513、v515、及びv517を含むコンテンツv51を取得したものとする。
コンテンツ取得部131は、取得したコンテンツv51を解析部132に出力する。
解析部132は、コンテンツ取得部131からコンテンツv51を取得する。解析部132は、コンテンツv51の内容を解析することで、コンテンツv51からサブコンテンツv511、v513、v515、及びv517の情報を抽出する。
具体的な一例として、コンテンツv51がHTML(HyperText Markup Language)やSGML(Standard Generalized Markup Language)、またはXML(Extensible Markup Language)等のマークアップ言語で記述されているものとする。この場合には、解析部132は、例えば、コンテンツv51の内容を構文解析及び字句解析し、当該解析結果に基づき、コンテンツv51中に含まれる各サブコンテンツを構造化してオブジェクト(例えば、DOM)等のコンテキストを生成する。そして、解析部132は、生成した当該コンテキストからサブコンテンツv511、v513、及びv514の情報を抽出すればよい。
例えば、図11は、図10に示すコンテンツの解析結果に基づき生成されるコンテキスト(オブジェクト)の一例を模式的に示したものである。図11において、参照符号c51は、図10に示すコンテンツv51のコンテキストの一例を示している。また、参照符号c511、c513、c515、及びc517は、図10に示すサブコンテンツv511、v513、v515、及びv517のコンテキストの一例をそれぞれ示している。
例えば、図10に示す例では、コンテンツv51には、v511、v513、及びv515が含まれている。そのため、図11に示す例では、コンテキストc51を親ノードとし、サブコンテンツv511、v513、及びv515のコンテキストc511、c513、及びc515がコンテキストc51の子ノードとして関連付けられている。
また、図10に示すサブコンテンツv515及びv517のように、一部のサブコンテンツ中に他のサブコンテンツが含まれていてもよい。この場合には、コンテキストc515を親ノードとし、サブコンテンツv517のコンテキストc517がコンテキストc515の子ノードとして関連付けられている。
なお、各コンテキストは、当該コンテキストに対応するサブコンテンツに関するメタ情報(例えば、URL等)を、属性情報として保持する。
以上のようにして、解析部132は、コンテンツv51を解析することで当該コンテンツv51のコンテキストを生成し、生成したコンテキストに基づきサブコンテンツv511、v513、v515、及びv517に関するメタ情報を抽出する。なお、メタ情報としては、URL等の各サブコンテンツの取得元、各サブコンテンツに含まれる情報のデータ種別(例えば、静止画や動画等を示す情報)等が挙げられる。
そして、解析部132は、コンテンツv51に含まれる各サブコンテンツそれぞれのコンテキストから抽出したメタ情報を、当該サブコンテンツごとに、プロセス管理部111に出力する。なお、プロセス管理部111は、解析部132からサブコンテンツごとに抽出される情報(例えば、メタ情報)に基づき、コンテンツv51に含まれる各サブコンテンツを分類する。そのため、解析部132は、プロセス管理部111の処理内容に応じて、当該プロセス管理部111に通知する情報を精査してもよい。
また、解析部132は、各サブコンテンツを含むコンテンツv51のコンテキストから抽出したメタ情報についても、各サブコンテンツと同様に、プロセス管理部111に通知してもよい。このような構成により、プロセス管理部111は、コンテンツv51を他のサブコンテンツと同様に分類することが可能となる。なお、以降では、説明をわかりやすくするために、主にサブコンテンツを処理の対象とする場合に着目して説明する。
また、解析部132は、コンテンツv51に対する解析結果に基づき取得可能なサブコンテンツに関する情報であれば、サブコンテンツごとにプロセス管理部111に通知する情報は、必ずしも、各コンテキストに含まれるメタ情報には限定されない。例えば、解析部132は、各サブコンテンツに含まれるスクリプトのコードに基づき特定可能な情報(例えば、スクリプトのコード量や、ループ処理の有無等)をプロセス管理部111に出力してもよい。
なお、以降では、説明をわかりやすくするために、解析部132は、各サブコンテンツに関する情報として、当該各サブコンテンツのコンテキストに含まれるメタ情報を出力するものとして説明する。また、以降では、各サブコンテンツのコンテキストに含まれるメタ情報を、単に「各コンテンツのメタ情報」と記載する場合がある。
プロセス管理部111は、コンテンツv51に含まれる各サブコンテンツのメタ情報を、サブコンテンツごとに解析部132から取得する。そして、プロセス管理部111は、取得したメタ情報を入力情報として、各サブコンテンツを、あらかじめ決められた条件に基づき分類する。
例えば、プロセス管理部111は、メタ情報として提示された各サブコンテンツの配信元を示すURLに基づき、当該配信元ごとに各サブコンテンツを分類してもよい。また、プロセス管理部111は、サブコンテンツの配信元を示すURLに基づき、当該サブコンテンツが、Web広告等のように、主コンテンツとは異なる配信元が提供するサブコンテンツか否かを判断し、当該判断結果に基づき各サブコンテンツを分類してもよい。具体的な一例として、プロセス管理部111は、広告として提供されるサブコンテンツを配信するサイトのURLをリストとしてあらかじめ記憶しておき、当該リストに基づき、各サブコンテンツが、広告として提供されたサブコンテンツか否かを判断してもよい。
また、他の一例として、プロセス管理部111は、各サブコンテンツを配信するための通信プロトコルに基づき、当該サブコンテンツがセキュリティ機能により保護されたサブコンテンツか否かを判断し、当該判断の結果に基づき各サブコンテンツを分類してもよい。具体的な一例として、プロセス管理部111は、サブコンテンツの配信元を示すURLに基づき、当該サブコンテンツを配信するための通信プロトコルを特定してもよい。また、プロセス管理部111は、配信元のURLに限らず、他のメタ情報に基づきサブコンテンツを配信するための通信プロトコルを特定してもよい。
また、他の一例として、プロセス管理部111は、メタ情報に示された各サブコンテンツの種別に基づき、各サブコンテンツを分類してもよい。具体的な一例として、プロセス管理部111は、動画等のように他の種別(例えば文字情報)に比べて出力に要するメモリの容量が大きいサブコンテンツを、当該他の種別のサブコンテンツとは分けて分類してもよい。
なお、上記に示した各サブコンテンツの分類方法はあくまで一例であり、上記に示す方法に限定するものではない。プロセス管理部111による、各サブコンテンツを分類する方法については、別途詳細を後述する。
以上のようにして、情報処理装置10は、サーバ90から配信されるコンテンツを取得し、当該コンテンツに含まれるサブコンテンツを、あらかじめ決められた条件に基づき分類する。
<<1.4.2.プロセスへのサブコンテンツの割り当て>>
次に、図12を参照して、情報処理装置10が、分類された各サブコンテンツを、各ページプロセス13に割り当てて、各ページプロセス13が割り当てられたサブコンテンツを出力する処理に着目して、当該処理時に動作する構成について説明する。図12は、情報処理装置10が、分類された各サブコンテンツを、各ページプロセス13に割り当てる際に動作する機能について説明するための説明図である。なお、図12では、図8に示すブロック図のうち、情報処理装置10がサブコンテンツをページプロセス13に割り当て、当該ページプロセス13により当該サブコンテンツの内容が出力される際の情報の流れを実線で示し、その他については破線で示している。
プロセス管理部111は、各サブコンテンツをあらかじめ決められた条件に基づき分類すると、当該分類の結果に応じて、各サブコンテンツを動作するページプロセス13(例えば、ページプロセス13a〜13b)のいずれかに割り当てる。
具体的な一例として、プロセス管理部111は、Web広告等のように、主コンテンツとは異なる配信元が提供するサブコンテンツを、互いに同じページプロセス13に割り当てる。また、他の一例として、プロセス管理部111は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツとは異なるページプロセス13に割り当ててもよい。
また、プロセス管理部111は、ページプロセス13を新たに起動し、起動した当該ページプロセス13に各サブコンテンツを割り当ててもよい。
また、プロセス管理部111は、ある分類のサブコンテンツを割り当てるためのページプロセス13の候補が複数存在する場合には、あらかじめ決められた条件に基づき、サブコンテンツの割り当て先となるページプロセス13を決定してもよい。
具体的な一例として、プロセス管理部111は、各ページプロセス13に既に割り当てられているサブコンテンツの数に応じて、当該各ページプロセス13を重み付けし、重み付けに応じて、新たにサブコンテンツを割り当てるページプロセス13を決定してもよい。例えば、プロセス管理部111は、割り当てられたサブコンテンツの数が少ないページプロセス13に対して、優先的に新たにサブコンテンツを割り当ててもよい。
なお、上記に示した、プロセス管理部111が、各サブコンテンツを各ページプロセス13に割り当てる方法は、あくまで一例であり、その内容は上記に示す例には限定されない。プロセス管理部111が、各サブコンテンツを各ページプロセス13に割り当てる方法については、他の例も含めて、詳細を別途後述する。
以上のようにして、プロセス管理部111は、各サブコンテンツを分類した結果に応じて、当該サブコンテンツを、いずれかのページプロセス13に割り当てる。そして、プロセス管理部111は、各サブコンテンツと、当該サブコンテンツが割り当てられたページプロセス13との対応関係を、管理データ記憶部113に記憶された管理情報d10に記録する。
例えば、図13は、管理データ記憶部113に記憶された管理情報d10の一例を示している。図13に示すように、管理情報は、例えば、メタ情報d11と、ページプロセスd13とを含む。メタ情報d11は、各サブコンテンツのコンテキストから抽出された情報のうち、当該サブコンテンツを識別可能な情報を示している。メタ情報d11としては、例えば、サブコンテンツのURLが挙げられる。また、ページプロセスd13は、メタ情報d11が示すサブコンテンツが割り当てられたページプロセス13を示している。なお、ページプロセスd13として管理する情報としては、例えば、OSが各プロセスを管理するためのプロセスナンバー等が挙げられる。なお、プロセスナンバーについては、例えば、OSのシステムコールを使用することで取得することが可能である。
図13に示すように、管理データ記憶部113に記憶された管理情報d10は、サブコンテンツと、当該サブコンテンツが割り当てられたページプロセス13との対応関係を管理するための情報である。なお、図13に示す管理情報d10の構成は、あくまで一例であり、サブコンテンツとページプロセス13との間の対応関係を管理できれば、その構成は特に限定されない。例えば、管理情報d10は、URL以外のサブコンテンツのメタ情報を含んでもよい。
また、プロセス管理部111は、サブコンテンツを割り当てたページプロセス13に対して、当該サブコンテンツを取得するためのメタ情報(例えば、URL)を通知し、当該ページプロセス13に対して、当該サブコンテンツの出力を指示する。そこで、以降では、プロセス管理部111が、図10に示したサブコンテンツv515の出力を、ページプロセス13bに指示したものとして説明する。
ページプロセス13bのコンテンツ取得部131は、プロセス管理部111からサブコンテンツv515を取得するためのメタ情報を取得する。コンテンツ取得部131は、取得したメタ情報に基づいてサーバ90にアクセスし、サブコンテンツv515を取得する。
コンテンツ取得部131は、取得したサブコンテンツv515を解析部132に出力する。
解析部132は、コンテンツ取得部131からサブコンテンツv515を取得する。解析部132は、サブコンテンツv515の内容を解析することで、当該サブコンテンツv515のコンテキストc515を生成する。そして、解析部132は、生成したコンテキストc515を、コンテキスト保持部133に保持させる。
コンテキスト保持部133は、ページプロセス13に割り当てられたサブコンテンツのコンテキストを、当該ページプロセス13内の各機能(例えば、レイアウト制御部134やイベント処理部136)が参照するために保持するための保持部である。
なお、生成されるコンテキストc515には、サブコンテンツv515中に含まれるサブコンテンツv517の、当該サブコンテンツv515中における出力位置等のように、サブコンテンツv515中にサブコンテンツv517を出力するための情報が含まれる。一方で、サブコンテンツv517自体のコンテキストについては、必ずしもコンテキストc515内に含まれている必要はない。例えば、サブコンテンツv517がページプロセス13cに割り当てられた場合には、当該サブコンテンツv517は、当該ページプロセス13cが保持することとなる。
解析部132によるコンテキストc515の生成が完了すると、レイアウト制御部134が、コンテキスト保持部133に保持されたコンテキストc515に基づき、サブコンテンツv515を画面として表示するためにレイアウトを調整する。
具体的には、レイアウト制御部134は、サブコンテンツv515中の各コンポーネントの表示位置やサイズを、当該コンポーネントを示すオブジェクトのメタ情報(例えば、表示位置やサイズを示す情報)に基づき調整することで、レイアウトを調整する。なお、コンポーネントとは、例えば、サブコンテンツの画面を構成する部品(例えば、アイコン等)を指し、コンテキストには、当該コンポーネントを出力するための情報が含まれている。
また、レイアウト制御部134は、例えば、OSのシステムコールなどを利用して、ブラウザのウィンドウサイズ等の、コンテンツや各コンテンツを表示させるための情報を取得し、取得した情報に基づきレイアウトを調整してもよい。
レイアウトの調整が完了すると、レイアウト制御部134は、レイアウトの調整結果に基づき、コンテキスト保持部133に保持されたコンテキストc515内に含まれる各コンポーネントの情報(表示位置やサイズ等の情報)を追加または更新する。
また、レイアウト制御部134は、レイアウトの調整結果に基づき更新されたコンテキストc515を、描画処理部135に出力する。
描画処理部135は、レイアウト制御部134からコンテキストc515を取得し、取得したコンテキストc515に基づき、サブコンテンツv515の画面を描画する。具体的には、描画処理部135は、サブコンテンツv515に含まれる各コンポーネントを、コンテキストc515に含まれる当該コンポーネントの情報に基づき配置することで、サブコンテンツv515の画面を生成する。そして、描画処理部135は、生成されたサブコンテンツv515の画面を描画することで、当該画面が提示された画像(以降では、単に「画面」と呼ぶ場合がある)を生成する。
なお、サブコンテンツv515に含まれるサブコンテンツv517の画面については、ページプロセス13bとは異なるページプロセス13により生成されている場合がある。その場合には、描画処理部135は、後述する入出力管理部115を介して、サブコンテンツv517が割り当てられたページプロセス13から、当該サブコンテンツv517の描画結果(画面)を取得する。そして、描画処理部135は、取得したサブコンテンツv517の描画結果を、サブコンテンツv515中の当該サブコンテンツv517を出力するための領域に配置すればよい。
描画処理部135は、生成したサブコンテンツv515の画面を入出力管理部115に出力する。
次に、入出力管理部115の処理について、描画処理部135の動作とあわせて説明する。ここでは、入出力管理部115が、図10に示すコンテンツv51の画面を、表示装置20の表示部21に表示させる場合を例に説明する。
例えば、コンテンツv51が割り当てられたページプロセス13(ここでは、ページプロセス13aとする)は、コンテンツv51の画面を描画するが、必ずしも、コンテンツv51内に含まれるサブコンテンツv511、v513、及びv515の描画を行っているとは限らない。そのため、このような場合には、入出力管理部115が、各ページプロセス13から、サブコンテンツv511、v513、及びv515の描画結果を取得し、取得した描画結果を、コンテンツv51が割り当てられたページプロセス13aに出力する。これにより、ページプロセス13aが、サブコンテンツv511、v513、及びv515の描画結果が埋め込まれたコンテンツv51の画面を描画することが可能となる。そこで、本動作の具体的な内容について、以下に、コンテンツv51中にサブコンテンツv515の出力結果を埋め込む場合を例に説明する。
例えば、コンテンツv51が割り当てられたページプロセス13aの描画処理部135は、コンテンツv51に含まれるサブコンテンツv515を、当該コンテンツv51のコンテキストに基づき特定する。そして、描画処理部135は、サブコンテンツv515を特定するためのメタ情報をコンテンツv51のコンテキストから抽出する。
描画処理部135は、抽出したサブコンテンツv515のメタ情報を入出力管理部115に通知するとともに、当該サブコンテンツv515の描画結果の出力を依頼する。
サブコンテンツv515の描画結果の出力に関する依頼を受けると、入出力管理部115は、あわせて通知されたメタ情報と、管理データ記憶部113に記憶された管理情報d10とを照合することで、サブコンテンツv515が割り当てられたページプロセス13を特定する。
具体的な一例として、入出力管理部115は、サブコンテンツv515のメタ情報として「http://www.zzz.….zzz210」で示されたURLを取得したとする。この場合には、入出力管理部115は、例えば、図13に示した管理情報d10に基づき、サブコンテンツv515が、「0013b」で示されたページプロセス13bに割り当てられていることを認識する。
この場合には、入出力管理部115は、ページプロセス13bにサブコンテンツv515の描画結果の出力を依頼し、その応答として、当該ページプロセス13bから、サブコンテンツv515の描画結果を取得する。そして、入出力管理部115は、取得したサブコンテンツv515の描画結果を、依頼元である、コンテンツv51が割り当てられたページプロセス13aに出力する。なお、入出力管理部115は、サブコンテンツv515の描画結果をページプロセス13bから既に取得している場合には、必ずしも、ページプロセス13bに対して描画結果の出力を依頼する必要はないことは言うまでもない。
ページプロセス13aの描画処理部135は、入出力管理部115からサブコンテンツv515の描画結果を取得すると、当該描画結果をコンテンツv51に埋め込み、当該コンテンツv51の画面を描画する。そして、描画処理部135は、サブコンテンツv515の描画結果が埋め込まれたコンテンツv51の画面を入出力管理部115に出力する。
入出力管理部115は、ページプロセス13aの描画処理部135から、コンテンツv51の画面(描画結果)を取得し、取得した画面を表示装置20の表示部21に表示させる。以上により、サブコンテンツv515が埋め込まれたコンテンツv51の画面が、表示部21に表示される。
なお、上記に示す例では、複数のページプロセス13間の情報(例えば、サブコンテンツの描画結果)の送受信を入出力管理部115が仲介する例について説明したが、ページプロセス13間が直接情報を送受信してもよい。この場合には、入出力管理部115が、対象となるサブコンテンツとページプロセス13との対応関係を、各ページプロセス13に対して通知し、当該ページプロセス13は、通知された情報に基づき、対応する他のページプロセス13との間で情報の送受信を行えばよい。なお、ページプロセス13間の情報の送受信については、例えば、OSが機能として提供するプロセス間通信に基づき実現できることは前述の通りである。
<<1.4.3.入力イベントに基づく処理>>
次に、図14を参照して、情報処理装置10が、ユーザ入力に基づき、操作の対象となるサブコンテンツを特定し、特定したサブコンテンツの内容を更新する処理に着目して、当該処理時に動作する構成について説明する。図14は、情報処理装置10が、ユーザ入力に基づきサブコンテンツの内容を更新する際に動作する機能について説明するための説明図である。なお、図14では、図8に示すブロック図のうち、情報処理装置10が、ユーザ入力に基づき、サブコンテンツの内容を更新する際の情報の流れを実線で示し、その他については破線で示している。また、本説明では、図10に示すコンテンツv51に対して、ユーザが操作を行ったものとして説明する。
入出力管理部115は、ブラウザ上に表示されたコンテンツv51に対するユーザの操作を受け付けると、当該ユーザの操作内容に基づき、操作対象となったコンテンツを特定する。具体的な一例として、入出力管理部115は、ユーザが操作を行ったときにフォーカスされているコンポーネントの情報や、ユーザが操作を行った画面上の位置に基づき、操作対象となるコンテンツを特定する。本説明では、入出力管理部115は、前述の通り、コンテンツv51に対して操作が行われたことを認識したものとする。
入出力管理部115は、操作対象となったコンテンツv51が割り当てられたページプロセス13を、管理データ記憶部113に記憶された管理情報d10に基づき特定する。ここでは、入出力管理部115は、コンテンツv51が割り当てられたページプロセス13として、「ページプロセス13a」を特定したものとする。
入出力管理部115は、特定したページプロセス13aのイベント処理部136に対して、ユーザによる操作内容(例えば、操作対象の位置や操作の種別)を示す制御情報を入力イベントとして通知する。
イベント処理部136は、入出力管理部115から入力イベントを取得すると、コンテキスト保持部133に保持されたコンテキストと照合し、操作対象となるコンポーネントを特定する。具体的な一例として、イベント処理部136は、入力イベントとして通知される、操作対象の位置を示す情報に基づき、当該操作の対象となったコンポーネントを特定する。
そして、イベント処理部136は、対象となるコンポーネントに対応するコンテキストがコンテキスト保持部133に保持されている場合には、入力イベントとして通知された操作の種別に基づき、対象となるコンポーネントのコンテキストを更新する。
なお、コンテキストが更新された後の処理については、前述したコンテンツ(サブコンテンツ)の描画に係る処理と同様である。即ち、レイアウト制御部134が、コンテキスト保持部133から更新後のコンテキストを読み出し、読み出したコンテキストを描画処理部135に出力する。そして、描画処理部135が、当該コンテキストに基づきコンテンツv51の画面を描画して入出力管理部115に出力する。入出力管理部115は、ページプロセス13aの描画処理部135から、更新されたコンテンツv51の画面を取得し、取得した画面を表示部21に出力させる。このような構成により、ユーザ入力に基づき更新されたコンテンツv51の画面が、表示部21に出力される。
一方で、コンテンツv51(図10参照)と、当該コンテンツv51中のサブコンテンツv515とが、互いに異なるページプロセス13に割り当てられている場合がある。そこで、図15を参照して、コンテンツv51とサブコンテンツv515とが、互いに異なるページプロセス13に割り当てられている場合において、サブコンテンツv515に対して操作が行われた場合の、情報処理装置10の動作の一例について以下に説明する。図15は、情報処理装置10が、ユーザ入力に基づきサブコンテンツの内容を更新する際に動作する機能について説明するための説明図であり、コンテンツとサブコンテンツとが互いに異なるページプロセス13に割り当てられている場合の情報の流れを示している。
なお、図15では、図8に示すブロック図のうち、情報処理装置10が、ユーザ入力に基づき、サブコンテンツの内容を更新する際の情報の流れを実線で示し、その他については破線で示している。また、図15に示す例では、ページプロセス13aは、コンテンツv51が割り当てられたページプロセス13を示し、ページプロセス13bは、サブコンテンツv515が割り当てられたページプロセス13を示している。また、図15では、説明をわかりやすくするために、図8に示した各構成のうち、管理プロセス11の各構成の図示を省略している。
また、ページプロセス13aにおけるコンテキスト保持部133、レイアウト制御部134、描画処理部135、及びイベント処理部136を、「コンテキスト保持部133a」、「レイアウト制御部134a」、「描画処理部135a」、及び「イベント処理部136a」と記載する場合がある。同様に、ページプロセス13bにおけるコンテキスト保持部133、レイアウト制御部134、描画処理部135、及びイベント処理部136を、「コンテキスト保持部133b」、「レイアウト制御部134b」、「描画処理部135b」、及び「イベント処理部136b」と記載する場合がある。
入出力管理部115は、ブラウザ上に表示されたサブコンテンツv515に対するユーザの操作を受け付けると、まず、その親コンテンツであるコンテンツv51に対する操作として認識する。そして、入出力管理部115は、管理データ記憶部113に記憶された管理情報d10に基づき、コンテンツv51が割り当てられたページプロセス13aを特定し、入力イベントを当該ページプロセス13aのイベント処理部136aに通知する。
イベント処理部136aは、入出力管理部115から入力イベントを取得すると、コンテキスト保持部133aに保持されたコンテキストと照合し、操作対象がサブコンテンツv515であることを認識する。
一方で、コンテキスト保持部133aには、サブコンテンツv515のコンテキストは保持されていない。そのため、イベント処理部136aは、取得した入力イベントが、サブコンテンツv515に対する入力イベントであることを入出力管理部115に通知する。この通知を受けると、入出力管理部115は、管理データ記憶部113に記憶された管理情報d10に基づき、サブコンテンツv515が割り当てられたページプロセス13bを特定し、入力イベントを当該ページプロセス13bのイベント処理部136bに通知する。以上のようにして、入力イベントが、ページプロセス13aのイベント処理部136aから、ページプロセス13bのイベント処理部136bに転送される。
また、コンテキスト保持部133aは、描画処理部135aに対して、サブコンテンツv515の描画結果の取得を指示する。この指示を受けて、描画処理部135aは、入出力管理部115に対して、サブコンテンツv515の描画結果の出力を依頼する。この依頼を受けて、入出力管理部115は、ページプロセス13bの描画処理部135bに対して、サブコンテンツv515の描画結果の出力を依頼する。以上のようにして、ページプロセス13aの描画処理部135aからの、サブコンテンツv515の描画結果の出力に関する依頼が、ページプロセス13bの描画処理部135bに転送される。
イベント処理部136bは、入出力管理部115から入力イベントを取得すると、コンテキスト保持部133bに保持されたコンテキストと照合し、操作対象となるサブコンテンツv515中のコンポーネントを特定する。
そして、イベント処理部136bは、対象となるコンポーネントに対応するコンテキストがコンテキスト保持部133bに保持されている場合には、入力イベントとして通知された操作の種別に基づき、対象となるコンポーネントのコンテキストを更新する。
一方で、ページプロセス13bの描画処理部135bは、入出力管理部115からサブコンテンツv515の描画結果の出力に係る依頼を受ける。当該依頼を受けると、描画処理部135bは、入力イベントに基づき更新されたサブコンテンツv515のコンテキストを、レイアウト制御部134bを介して、コンテキスト保持部133bから取得する。そして、描画処理部135bは、取得したコンテキストに基づきサブコンテンツv515の画面を描画し、描画結果を入出力管理部115に出力する。
入出力管理部115は、ページプロセス13bの描画処理部135bから、更新されたサブコンテンツv515の描画結果を取得すると、当該サブコンテンツv515の描画結果を、依頼元であるページプロセス13aの描画処理部135aに出力する。これにより、ページプロセス13bの描画処理部135bから出力されたサブコンテンツv515の描画結果が、入出力管理部115を介して、ページプロセス13aの描画処理部135aに転送される。
ページプロセス13aの描画処理部135aは、取得した更新後のサブコンテンツv515の描画結果を、コンテンツv51の画面中に埋め込み、当該コンテンツv51の画面を入出力管理部115に出力する。入出力管理部115は、ページプロセス13aの描画処理部135から、更新されたコンテンツv51の画面を取得し、取得した画面を表示部21に出力させる。このような構成により、ユーザ入力に基づきサブコンテンツv515の内容が更新されたコンテンツv51の画面が、表示部21に出力される。
以上、図9〜図15を参照しながら、本実施形態に係る情報処理装置10の機能構成の一例について説明した。なお、上記では、ページプロセス13a及び13bが入出力管理部115を介して情報を送受信する例について説明したが、前述したように、ページプロセス13aとページプロセス13bとが直接情報を送受信してもよいことは前述の通りである。
以上のように、本実施形態に係る情報処理装置10は、各サブコンテンツをあらかじめ決められた条件に基づき分類し、当該分類結果に基づき各サブコンテンツを複数のページプロセス13のうちのいずれかに割り当てる。これにより、各サブコンテンツと各プロセスとが対応付けられる。
このような構成により、本実施形態に係る情報処理装置10は、例えば、自身の処理性能に応じて、各サブコンテンツを出力するためのプロセスの数を制御することが可能となる。そのため、本実施形態に係る情報処理装置10は、例えば、図2及び図3に示すように、より多くの数(例えば、小型のディスプレイにコンテンツを出力する場合に比べて多くの数)のコンテンツを出力する場合においても、自身の処理性能を超えてプロセスを動作させる事態を未然に防止し、処理性能の低下を抑止することが可能となる。
また、本実施形態に係る情報処理装置10は、上記に示した構成に基づき、例えば、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツとは異なるプロセスに割り当てることも可能である。そのため、情報処理装置10は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツを介した悪意ある攻撃から保護することが可能となる。
また、本実施形態に係る情報処理装置10は、上記に示した構成に基づき、例えば、プロセスを異常終了させる可能性の高いサブコンテンツ(換言すると、動作が不安定になりやすいサブコンテンツ)を、他のサブコンテンツと異なるプロセスに割り当てることも可能である。そのため、情報処理装置10は、動作が不安定になりやすいサブコンテンツが割り当てられたプロセスの動作状況に関わらず、他のサブコンテンツを安定的に出力することが可能となる。
<2.実施例>
次に、実施例として、本実施形態に係る情報処理装置10のプロセス管理部111が、各コンテンツや各サブコンテンツを分類する方法の一例や、各ページプロセス13に対してコンテンツやサブコンテンツを割り当てる方法の一例について以下に説明する。なお、本説明では、主にサブコンテンツを対象とした処理を例に説明するが、当該サブコンテンツを含むコンテンツについても同様であり、コンテンツを対象とする場合については、「サブコンテンツ」を「コンテンツ」に適宜読み替えればよい。
[2.1.実施例1:配信元に基づく分類]
まず、実施例1として、プロセス管理部111が、サブコンテンツの配信元に基づき、各サブコンテンツを分類する場合の例について説明する。
前述したように、プロセス管理部111は、各サブコンテンツのメタ情報として、例えば、当該サブコンテンツのURLを取得し、当該URLに基づきサブコンテンツの配信元を認識することができる。
そのため、プロセス管理部111は、メタ情報として取得したURLに基づき、配信元が異なる各サブコンテンツが、互いに異なるページプロセス13に割り当てられるように、当該各サブコンテンツを分類することが可能となる。
このような構成により、コンテンツ内に配信元の異なるサブコンテンツ(例えば、Web広告)が埋め込まれている場合においても、プロセス管理部111は、当該コンテンツと当該サブコンテンツとが互いに異なるページプロセス13に割り当てられるように分類することが可能となる。
また、プロセス管理部111は、広告として提供されるサブコンテンツを配信するサイトのURLをリストとしてあらかじめ記憶していてもよい。このようなリストを利用することで、プロセス管理部111は、各サブコンテンツのURLに基づき、当該各サブコンテンツを、広告として提供されるサブコンテンツと、それ以外のサブコンテンツとに分類することが可能となる。そのため、例えば、プロセス管理部111は、広告として提供される各サブコンテンツが、互いに同じページプロセス13に割り当てられるように、各サブコンテンツを分類することが可能となる。
なお、プロセス管理部111にあらかじめ記憶させるURLのリストは、広告として提供されるサブコンテンツを配信するサイトのURLのリストに限定されないことは言うまでもない。具体的な一例として、互いに同じページプロセス13に割り当てられるように、プロセス管理部111に分類させたいサブコンテンツのURLのリストを、当該プロセス管理部111にあらかじめ記憶させておいてもよい。これにより、プロセス管理部111は、当該リスト中に含まれたURLに対応する各サブコンテンツが、互いに同じページプロセス13に割り当てられるように、各サブコンテンツを分類することが可能となる。
また、他の一例として、他のサブコンテンツとは異なるページプロセス13に割り当てられるように、プロセス管理部111に分類させたいサブコンテンツのURLのリストを、当該プロセス管理部111にあらかじめ記憶させておいてもよい。具体的な一例として、過去に異常終了したページプロセス13に割り当てられていたサブコンテンツのURLをリストとして記録し、当該リストをプロセス管理部111に記憶させておいてもよい。このような構成により、プロセス管理部111は、他のサブコンテンツに比べてページプロセス13を異常終了させる可能性の高いサブコンテンツ(換言すると、動作が不安定になりやすいサブコンテンツ)を、当該他のサブコンテンツとは異なるページプロセス13に割り当てることが可能となる。これにより、情報処理装置10は、動作が不安定になりやすいサブコンテンツが割り当てられたプロセスの動作状況に関わらず、他のサブコンテンツを安定的に出力することが可能となる。
また、情報処理装置10が、テレビジョン装置等のように、URL等の入力インタフェースが公開されておらず、提示されるリンク先にのみアクセス可能に構成されている場合がある。このように、情報処理装置10が、限られたコンテンツのみを取得可能に構成されている場合には、取得されるサブコンテンツの一覧をあらかじめ認識することも可能である。そのため、このような場合には、取得される各サブコンテンツと各ページプロセス13との対応関係をあらかじめ決めておき、当該対応関係に基づき各サブコンテンツを分類して当該各サブコンテンツのURLのリストをあらかじめ生成しておいてもよい。
[2.2.実施例2:サブコンテンツの種別に基づく分類]
次に、実施例2として、プロセス管理部111が、サブコンテンツのデータ種別に基づき、各サブコンテンツを分類する場合の例について説明する。
前述したように、プロセス管理部111は、各サブコンテンツのメタ情報として、例えば、当該サブコンテンツのデータ種別を示す情報(例えば、静止画や動画等のデータ形式を示す情報)を取得し、当該情報に基づきサブコンテンツの種別を認識することができる。
そのため、プロセス管理部111は、動画のように他の種別(例えば文字情報)に比べて出力に要するメモリの容量が大きいサブコンテンツが、当該他の種別のサブコンテンツとは異なるページプロセス13に割り当てられるように、各サブコンテンツを分類してもよい。
このような構成により、例えば、動画として構成されたサブコンテンツが割り当てられたページプロセス13が出力に要するメモリが確保できずに異常終了したとしても、情報処理装置10は、他のサブコンテンツを安定的に出力することが可能となる。
[2.3.実施例3:処理種別に基づく分類]
次に、実施例3として、プロセス管理部111が、サブコンテンツの出力に際し、当該サブコンテンツに対して適用される内部処理の種別に応じて、各サブコンテンツを分類する場合の例について説明する。なお、本説明における「内部処理」とは、例えば、OSがAPIとして提供し、各種アプリケーションが当該APIを呼び出すことで実行される機能等が該当する。
例えば、サブコンテンツが文字情報の場合には、当該文字情報が必ずしも所定の文字コードに基づき記述されたものとは限らず、当該文字コードに応じて、当該サブコンテンツを出力するために適用される内部処理の内容が異なる場合がある。
また、サブコンテンツの中には、必ずしも即時に出力されるサブコンテンツ(データ)ばかりではなく、想定されるユーザ入力に対して即時に応答するために、あらかじめ読み込まれる先読み用のサブコンテンツ(データ)が含まれる。このように、即時に出力されるサブコンテンツと、先読み用のサブコンテンツとでは、当該サブコンテンツを出力するために適用される内部処理の内容が異なる場合がある。
そこで、プロセス管理部111は、各サブコンテンツのメタ情報に基づき、当該サブコンテンツに対して適用される内部処理を推定する。そして、プロセス管理部111は、当該推定結果に基づき、同じ種別の内部処理が適用される可能性の高いサブコンテンツが、互いに同じページプロセス13に割り当てられるように、各サブコンテンツを分類する。
具体的な一例として、プロセス管理部111は、互いに同じ文字コードで記述された文字情報を含む複数のサブコンテンツが、互いに同じページプロセス13に割り当てられるように、各サブコンテンツを分類する。このような構成により、当該ページプロセス13からは、所定の文字コードを対象とした内部処理が実行される頻度が高くなる。そのため、例えば、当該ページプロセス13が、所定の内部処理を実行する際に、メモリ空間上に展開された各内部処理の中から、実行対象となる内部処理を探索する際のヒット率(例えば、グリフキャッシュのヒット率)を向上させることが可能となる。
また、プロセス管理部111は、各サブコンテンツのメタ情報に基づき、当該サブコンテンツが先読み用のサブコンテンツか否かを区別し、先読み用のサブコンテンツが、他のサブコンテンツとは別のページプロセス13に割り当てられるように分類してもよい。このような構成により、先読みに伴いページプロセス13のレスポンスが低下した場合においても、他のサブコンテンツを安定的に出力することが可能となる。
[2.4.実施例4:セキュリティ機能により保護されたサブコンテンツの分類]
次に、実施例4として、プロセス管理部111が、サセキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツとは区別して分類する場合の例について説明する。
前述したように、本実施形態に係るプロセス管理部111は、例えば、認証機能等のセキュリティ機能により保護されたサブコンテンツと、他のサブコンテンツとが互いに異なるプロセスに割り当てられるように、各サブコンテンツを分類してもよい。
このとき、プロセス管理部111は、各サブコンテンツを配信するための通信プロトコルに基づき、セキュリティ機能により保護されたサブコンテンツと、他のサブコンテンツとを区別してもよい。具体的な一例として、プロセス管理部111は、各サブコンテンツを配信するための通信プロトコルが、SSL/TLSのような通信経路を保護するためのプロトコルか否かに応じて、当該サブコンテンツが、セキュリティ機能により保護されているか否かを判別してもよい。
また、上記に示す例は、あくまで一例であり、各サブコンテンツがセキュリティ機能により保護されているか否かをプロセス管理部111が判断できれば、その方法は特に限定されないことは言うまでもない。
このような構成により、例えば、情報処理装置10は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツとは異なるプロセスに割り当てることが可能となる。そのため、情報処理装置10は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツを介した悪意ある攻撃から保護することが可能となる。
[2.5.実施例5:リソースの占有率にも基づく分類]
各サブコンテンツは、データの種別(例えば、文字情報、静止画、動画等)やスクリプトの有無に応じて、出力に要するメモリの容量や、出力時のプロセッサに対する負荷(プロセッサの専有頻度)が異なる場合がある。そこで、実施例5に係る情報処理装置10は、メモリの容量やプロセッサの専有頻度などのようなリソースの占有率に応じて、各サブコンテンツを分類する。以下に、本実施例に係る情報処理装置10の概要について説明する。
例えば、動画などの映像を出力するサブコンテンツのように、他のサブコンテンツに比べて出力に要するメモリの容量が大きい場合が少なくない。そのため、出力に要するメモリの容量が大きいサブコンテンツが、ページプロセス13に割り当てられたメモリ(ヒープ)の多くを専有し、当該ページプロセス13に割り当てられた他のサブコンテンツの出力に係る処理の頻度を低下させる場合がある。
そのため、本実施例に係る情報処理装置10のプロセス管理部111は、他のサブコンテンツに比べて出力に要するメモリの容量が大きいサブコンテンツを、他のサブコンテンツとは異なるページプロセス13に割り当ててもよい。
このとき、プロセス管理部111は、サブコンテンツの種別に応じて、当該サブコンテンツの出力に要するメモリの容量が大きいか否かを、概略的に判断してもよい。この場合には、例えば、プロセス管理部111は、サブコンテンツの種別が動画の場合には、出力に要するメモリの容量が大きいと判断し、他の種別のサブコンテンツは、出力に要するメモリの容量が小さいと判断してもよい。
また、プロセス管理部111は、サブコンテンツ自体の容量に基づき、当該サブコンテンツの出力に要するメモリの容量が大きいか否かを、概略的に判断してもよい。この場合には、例えば、プロセス管理部111は、サブコンテンツ自体の容量があらかじめ決められた閾値以上の場合には、出力に要するメモリの容量が大きいと判断し、閾値未満の場合には、出力に要するメモリの容量が小さいと判断してもよい。
もちろん、プロセス管理部111は、サブコンテンツの出力に要するメモリの容量を認識できれば、その方法は特に限定されないことは言うまでもない。
このような構成により、例えば、情報処理装置10は、出力に要するメモリの容量が大きいサブコンテンツが、割り当てられたメモリ(ヒープ)の多くを専有し、他のサブコンテンツの出力に係る処理の実行を阻害するといった事態を防止することが可能となる。
また、情報処理装置10は、各サブコンテンツの出力に係るプロセッサの専有頻度を、直接または間接的に算出し、当該算出結果に基づき、プロセッサの占有率が高いサブコンテンツを、他のサブコンテンツとは異なるページプロセス13に割り当ててもよい。なお、この場合の処理の例については、次項にて、サブコンテンツ間を重み付けする場合の例とあわせて別途説明する。
[2.6.実施例6:サブコンテンツ間の重み付け]
次に、実施例6として、プロセス管理部111が、各サブコンテンツを重み付けし、当該重み付けに応じて、当該各サブコンテンツを各ページプロセス13に割り当てる場合の例について説明する。
例えば、ブラウザを介して各コンテンツを参照するユーザにとっては、ニュースサイト等の各種サイトが提供する主コンテンツと、Web広告等のように、主コンテンツとは異なる配信元が提供するサブコンテンツとは優先度が異なる場合が少なくない。一方で、OSは、各プロセスを動作させる場合に、一部のプロセスを優先的に動作させることも可能であり、当該プロセス間の優先付けは、例えば、当該OSが提供するシステムコールを利用することで、ユーザや各種ソフトウェアにより行われる。
そこで、実施例6に係るプロセス管理部111は、OSが提供するシステムコールを利用することで、各ページプロセス13を重み付けする。そのうえで、プロセス管理部111は、各サブコンテンツを重み付けし、当該重み付けに応じて、重みの大きいサブコンテンツほど、OSがより優先して動作させるページプロセス13に対して優先的に割り当てる。
具体的な一例として、プロセス管理部111は、主コンテンツの重みを、主コンテンツとは異なる配信元が提供するサブコンテンツよりも大きくなるように、各サブコンテンツを分類する。そして、プロセス管理部111は、主コンテンツを、優先度の高いページプロセス13に割り当て、主コンテンツとは異なる配信元が提供するサブコンテンツを、優先度の低いページプロセス13に割り当てる。
このような構成により、本実施例に係る情報処理装置10は、重みの大きいサブコンテンツの出力に係る処理が、他のサブコンテンツに比べて優先的に実行されるように制御することが可能となる。
なお、主コンテンツと、当該主コンテンツとは異なる配信元が提供するサブコンテンツとは、例えば、各サブコンテンツの配信元を示す情報(URL)に基づき区別可能であることは前述の通りである。
また、他の一例として、本実施例に係る情報処理装置10は、各サブコンテンツを種別ごとに重み付けしてもよい。なお、各サブコンテンツの種別の認識方法は前述したお通りである。
このような構成により、前述した種別ごとの単純な分類に限らず、プロセス管理部111は、各サブコンテンツの種別に応じた処理負荷を鑑みて、各サブコンテンツを各ページプロセス13に割り当てることが可能となる。
具体的な一例として、プロセス管理部111は、動画のように他の種別に比べて出力に要するメモリの容量が大きいサブコンテンツが割り当てられたページプロセス13には、追加で割り当てるサブコンテンツを、文字情報のみを含むものに限定してもよい。
また、他の一例として、本実施例に係る情報処理装置10は、サブコンテンツ中に含まれるスクリプトの実行頻度に応じて、各サブコンテンツを重み付けしてもよい。
例えば、サブコンテンツ中に含まれるスクリプトの実行頻度に応じて、当該サブコンテンツを出力する処理が、プロセッサを専有する頻度が異なる場合がある。具体的な一例として、スクリプトが実行される頻度が高いサブコンテンツは、他のサブコンテンツに比べてプロセッサを専有する頻度が高い場合がある。このような、プロセッサの専有頻度の高いサブコンテンツの出力に係る処理が優先的に実行されると、他のサブコンテンツの出力に係る処理の実行が阻害される場合がある。
そこで、本実施例に係る情報処理装置10は、例えば、スクリプトの実行頻度や、プロセッサの専有頻度に応じて、各サブコンテンツを重み付けし、当該重み付けに応じて、当該サブコンテンツを割り当てるページプロセス13を決定してもよい。具体的な一例として、情報処理装置10は、プロセッサの専有頻度が高いサブコンテンツほど、優先度の低いページプロセス13に割り当ててもよい。
なお、情報処理装置10は、プロセッサの専有頻度が高いサブコンテンツか否かについては、例えば、過去に当該サブコンテンツを割り当てたページプロセス13の動作実績に基づき判断してもよい。
具体的には、プロセス管理部111は、各ページプロセス13によるプロセッサの専有頻度を、例えば、OSのシステムコールを利用してモニタリングし、当該モニタリングの結果に基づき専有頻度が閾値よりも高いページプロセス13を特定する。そして、プロセス管理部111は、専有頻度が閾値よりも高いページプロセス13に割り当てられたサブコンテンツを管理データ記憶部113に記憶された制御情報を基に特定し、リストとして記録しておく。
これにより、プロセス管理部111は、当該リストに記録されたサブコンテンツを新たにページプロセス13に割り当てる際に、当該リストに基づき、当該サブコンテンツがプロセッサの専有頻度が高いサブコンテンツであることを認識出来る。
以上のような構成により、本実施例に係る情報処理装置10は、プロセッサの専有頻度の高いサブコンテンツの出力に係る処理が優先的に実行されることで、他のサブコンテンツの出力に係る処理の実行が阻害されるといった事態を防止することが可能となる。
[2.7.実施例7:ページプロセス間の重み付け]
次に、実施例7として、プロセス管理部111がサブコンテンツをページプロセス13に割り当てる場合における、ページプロセス13間の重み付け(優先度付け)の一例について説明する。
例えば、プロセス管理部111が、ある分類のサブコンテンツを割り当てる場合に、割り当て先となるページプロセス13の候補が複数存在する場合がある。このような場合には、プロセス管理部111は、ページプロセス13間で重み付けを行い、当該重み付けに基づき、サブコンテンツの割り当て先となるページプロセス13を決定してもよい。
具体的な一例として、プロセス管理部111は、各ページプロセス13の処理負荷の高さに応じて、当該各ページプロセス13を重み付けしてもよい。この場合には、例えば、プロセス管理部111は、より処理負荷の低いページプロセス13に対して、優先的にサブコンテンツを割り当ててもよい。
なお、プロセス管理部111は、各ページプロセス13の処理負荷を、例えば、OSが提供するシステムコールに基づき認識すればよい。
また、他の一例として、プロセス管理部111は、各ページプロセス13に割り当てられたサブコンテンツの数に応じて、当該各ページプロセス13を重み付けしてもよい。この場合には、例えば、プロセス管理部111は、サブコンテンツを割り当てられた数がより少ないページプロセス13も対して、優先的にサブコンテンツを割り当ててもよい。
なお、プロセス管理部111は、各ページプロセス13に割り当てられたサブコンテンツの数を、管理データ記憶部113に記憶された管理情報に基づき認識すればよい。
以上のような構成により、本実施例に係る情報処理装置10は、処理負荷の低いページプロセス13を優先的に選択して、各サブコンテンツを割り当てることが可能となる。これにより、本実施例に係る情報処理装置10は、各サブコンテンツの出力に係る処理を効率よく実行することが可能となる。
<3.変形例>
次に、本実施形態に係る情報処理システムの変形例について説明する。上記に示す実施形態に係る情報処理システムでは、各サブコンテンツの分類に係る処理を情報処理装置10が実行していた。一方で、各サブコンテンツの分類に係る処理を、例えば、プロキシサーバやエッジサーバのようなサーバ90(図1参照)が実行してもよい。そこで、本実施形態に係る情報処理システムの変形例として、各サブコンテンツの分類に係る処理をサーバ90で実行する場合の例について、上述した実施形態とは異なる部分に着目して説明する。
変形例に係る情報処理システムでは、「1.4.1.サブコンテンツの分類」で示した、プロセス管理部111が各サブコンテンツを分類する処理を、サーバ90が実行する。即ち、サーバ90は、取得したサブコンテンツに含まれるメタ情報に基づき、各サブコンテンツを分類すればよい。なお、各サブコンテンツを分類する方法については、プロセス管理部111が各サブコンテンツを分類する場合の処理と同様である。以上のようにして、サーバ90は、各サブコンテンツと各プロセスとを対応付ける。
各サブコンテンツの分類が完了すると、サーバ90は、当該分類結果を示す情報を情報処理装置10に通知する。このときに、サーバ90が、分類結果を示す情報を情報処理装置10に通知する方法は特に限定されない。
例えば、サーバ90は、各サブコンテンツの分類結果を示す情報を、当該サブコンテンツにメタ情報として埋め込むことで、当該情報処理装置10に対して、分類結果を示す情報を対応するサブコンテンツとあわせて配信してもよい。
また、他の一例として、サーバ90は、サブコンテンツと分類結果との対応関係を示す情報を、当該サブコンテンツに関連付けて情報処理装置10に送信してもよい。
以上のような構成により、情報処理装置10のプロセス管理部111は、サーバ90による各サブコンテンツの分類結果を認識することができる。そして、情報処理装置10のプロセス管理部111は、サーバ90による分類結果に応じて、各サブコンテンツを各ページプロセス13に割り当てればよい。
以上、変形例として説明したように、本実施形態に係る情報処理システムは、各サブコンテンツの分類に係る処理をサーバ90で実行するように構成してもよい。このような構成により、各サブコンテンツの分類に係る処理を情報処理装置10側で実行する必要がなくなるため、情報処理装置10の処理負荷を軽減することが可能となる。
<4.ハードウェア構成>
次に、図16を参照して、本開示の実施形態に係る情報処理装置10のハードウェア構成の一例について説明する。図16は、本実施形態に係る情報処理装置10のハードウェア構成の一例を示した図である。
図16に示すように、本実施形態に係る情報処理装置10は、プロセッサ901と、メモリ903と、ストレージ905と、操作デバイス907と、表示デバイス909と、通信デバイス911と、バス913とを含む。
プロセッサ901は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)又はSoC(System on Chip)であってよく、情報処理装置10の様々な処理を実行する。プロセッサ901は、例えば、各種演算処理を実行するための電子回路により構成することが可能である。なお、前述した管理プロセス11及びページプロセス13の各機能は、プロセッサ901により実現され得る。
メモリ903は、RAM(Random Access Memory)及びROM(Read Only Memory)を含み、プロセッサ901により実行されるプログラム及びデータを記憶する。ストレージ905は、半導体メモリ又はハードディスクなどの記憶媒体を含み得る。例えば、前述した管理データ記憶部113及びコンテキスト保持部133は、メモリ903及びストレージ905の少なくともいずれか、もしくは、双方の組み合わせにより構成され得る。
操作デバイス907は、ユーザが所望の操作を行うための入力信号を生成する機能を有する。操作デバイス907は、例えばボタン及びスイッチなどユーザが情報を入力するための入力部と、ユーザによる入力に基づいて入力信号を生成し、プロセッサ901に供給する入力制御回路などから構成されてよい。
表示デバイス909は、出力装置の一例であり、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、有機EL(OLED:Organic Light Emitting Diode)ディスプレイ装置などの表示装置であってよい。表示デバイス909は、ユーザに対して画面を表示することにより情報を提供することができる。なお、前述した表示装置20を、当該表示デバイス909として構成してもよいし、表示装置20とは別に表示デバイス909を設けてもよい。
通信デバイス911は、情報処理装置10が備える通信手段であり、ネットワークを介して外部装置と通信する。通信デバイス911は、有線または無線用の通信インタフェースである。通信デバイス911を、無線通信インタフェースとして構成するバイには、当該通信デバイス911は、通信アンテナ、RF(Radio Frequency)回路、ベースバンドプロセッサなどを含んでもよい。
通信デバイス911は、外部装置から受信した信号に各種の信号処理を行う機能を有し、受信したアナログ信号から生成したデジタル信号をプロセッサ901に供給することが可能である。
バス913は、プロセッサ901、メモリ903、ストレージ905、操作デバイス907、表示デバイス909、及び通信デバイス911を相互に接続する。バス913は、複数の種類のバスを含んでもよい。
また、コンピュータに内蔵されるプロセッサ、メモリ、及びストレージなどのハードウェアを、上記した情報処理装置10が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
<5.まとめ>
以上、説明したように、本実施形態に係る情報処理システムでは、情報処理装置10は、各サブコンテンツをあらかじめ決められた条件に基づき分類し、当該分類結果に基づき各サブコンテンツを複数のページプロセス13のうちのいずれかに割り当てる。
このような構成により、本実施形態に係る情報処理装置10は、例えば、自身の処理性能に応じて、各サブコンテンツを出力するためのプロセスの数を制御することが可能となる。そのため、本実施形態に係る情報処理装置10は、例えば、図2及び図3に示すように、比較的に多くの数(例えば、小型のディスプレイにコンテンツを出力する場合に比べて多くの数)のコンテンツを出力する場合においても、自身の処理性能を超えてプロセスを動作させる事態を未然に防止し、処理性能の低下を抑止することが可能となる。
また、本実施形態に係る情報処理装置10は、上記に示した構成に基づき、例えば、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツとは異なるプロセスに割り当てることも可能である。そのため、情報処理装置10は、セキュリティ機能により保護されたサブコンテンツを、他のサブコンテンツを介した悪意ある攻撃から保護することが可能となる。
また、本実施形態に係る情報処理装置10は、上記に示した構成に基づき、例えば、プロセスを異常終了させる可能性の高いサブコンテンツ(換言すると、動作が不安定になりやすいサブコンテンツ)を、他のサブコンテンツと異なるプロセスに割り当てることも可能である。そのため、情報処理装置10は、動作が不安定になりやすいサブコンテンツが割り当てられたプロセスの動作状況に関わらず、他のサブコンテンツを安定的に出力することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得する取得部と、
取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付ける管理部と、
を備える、情報処理装置。
(2)
前記取得部は、前記コンテンツを取得し、取得した当該コンテンツに含まれる前記複数のサブコンテンツを抽出することで、当該複数のサブコンテンツを取得する、前記(1)に記載の情報処理装置。
(3)
前記管理部は、前記サブコンテンツの送信元に応じて、前記複数のサブコンテンツを前記プロセスに対応付ける、前記(1)または(2)に記載の情報処理装置。
(4)
前記管理部は、前記サブコンテンツの種別に基づき、当該種別が同じサブコンテンツの各々を同じ前記プロセスに対応付ける、前記(1)〜(3)のいずれか一項に記載の情報処理装置。
(5)
前記管理部は、前記サブコンテンツの種別に応じて、前記複数のサブコンテンツを重み付けし、当該重みの異なる前記サブコンテンツそれぞれを、互いに異なる前記プロセスに対応付ける、前記(1)〜(4)のいずれか一項に記載の情報処理装置。
(6)
前記管理部は、前記複数のサブコンテンツのうち、セキュリティ機能により保護された前記サブコンテンツを、他のサブコンテンツとは異なる前記プロセスに対応付ける、前記(1)〜(5)のいずれか一項に記載の情報処理装置。
(7)
前記管理部は、前記複数のサブコンテンツのうち、容量が閾値以上の当該サブコンテンツを、他のサブコンテンツとは異なる前記プロセスに対応付ける、前記(1)〜(6)のいずれか一項に記載の情報処理装置。
(8)
前記管理部は、前記複数のサブコンテンツのうち、内部に含まれるスクリプトの動作する頻度が閾値以上の当該サブコンテンツを、他のサブコンテンツとは異なる前記プロセスに対応付ける、前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(9)
前記管理部は、前記サブコンテンツに適用される処理の種別に基づき、適用される前記処理の種別が同じサブコンテンツを同じ前記プロセスに対応付ける、前記(1)〜(8)のいずれか一項に記載の情報処理装置。
(10)
前記管理部は、前記複数のサブコンテンツのうち、あらかじめ決められた2以上のサブコンテンツを同じ前記プロセスに対応付ける、前記(1)〜(9)のいずれか一項に記載の情報処理装置。
(11)
前記管理部は、前記複数のサブコンテンツと前記複数のプロセスの対応に基づき、当該複数のサブコンテンツのそれぞれを前記複数のプロセスのうち少なくともいずれかに割り当てる、前記(1)〜(10)のいずれか一項に記載の情報処理装置。
(12)
前記管理部は、前記複数のプロセスそれぞれの処理負荷に応じて、当該複数のプロセスを重み付けし、当該重みに応じて、前記複数のサブコンテンツそれぞれが割り当てられる前記プロセスが決定されるように、当該複数のサブコンテンツを対応付ける、前記(11)に記載の情報処理装置。
(13)
前記管理部は、前記処理負荷の低い前記プロセスに対して優先的に前記サブコンテンツを対応付ける、前記(12)に記載の情報処理装置。
(14)
前記管理部は、前記複数のプロセスそれぞれに割り当てられている前記サブコンテンツの数に応じて、当該複数のプロセスを重み付けし、当該重みに応じて、前記複数のサブコンテンツそれぞれが割り当てられる前記プロセスが決定されるように、当該複数のサブコンテンツを対応付ける、前記(11)に記載の情報処理装置。
(15)
前記管理部は、割り当てられている前記サブコンテンツの数が少ない前記プロセスに対して優先的に前記サブコンテンツを対応付ける、前記(14)に記載の情報処理装置。
(16)
前記管理部は、前記複数のサブコンテンツを少なくともいずれかの前記プロセスに対応付けた結果を示す管理情報を、当該複数のサブコンテンツを少なくともいずれかの前記プロセスに割り当てる外部装置に通知する、前記(1)〜(10)のいずれか一項に記載の情報処理装置。
(17)
前記プロセスに割り当てられた前記サブコンテンツを、当該プロセスの出力結果に基づき、表示部に表示させる表示制御部を備える、前記(1)〜(15)のいずれか一項に記載の情報処理装置。
(18)
前記表示部を備える、前記(17)に記載の情報処理装置。
(19)
コンピュータに、
1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得することと、
取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付けることと、
を実行させるための、プログラム。
10 情報処理装置
11 管理プロセス
111 プロセス管理部
113 管理データ記憶部
115 入出力管理部
13 ページプロセス
131 コンテンツ取得部
132 解析部
133 コンテキスト保持部
134 レイアウト制御部
135 描画処理部
136 イベント処理部
20 表示装置
21 表示部
90 サーバ

Claims (19)

  1. 1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得する取得部と、
    取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付ける管理部と、
    を備える、情報処理装置。
  2. 前記取得部は、前記コンテンツを取得し、取得した当該コンテンツに含まれる前記複数のサブコンテンツを抽出することで、当該複数のサブコンテンツを取得する、請求項1に記載の情報処理装置。
  3. 前記管理部は、前記サブコンテンツの送信元に応じて、前記複数のサブコンテンツを前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  4. 前記管理部は、前記サブコンテンツの種別に基づき、当該種別が同じサブコンテンツの各々を同じ前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  5. 前記管理部は、前記サブコンテンツの種別に応じて、前記複数のサブコンテンツを重み付けし、当該重みの異なる前記サブコンテンツそれぞれを、互いに異なる前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  6. 前記管理部は、前記複数のサブコンテンツのうち、セキュリティ機能により保護された前記サブコンテンツを、他のサブコンテンツとは異なる前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  7. 前記管理部は、前記複数のサブコンテンツのうち、容量が閾値以上の当該サブコンテンツを、他のサブコンテンツとは異なる前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  8. 前記管理部は、前記複数のサブコンテンツのうち、内部に含まれるスクリプトの動作する頻度が閾値以上の当該サブコンテンツを、他のサブコンテンツとは異なる前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  9. 前記管理部は、前記サブコンテンツに適用される処理の種別に基づき、適用される前記処理の種別が同じサブコンテンツを同じ前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  10. 前記管理部は、前記複数のサブコンテンツのうち、あらかじめ決められた2以上のサブコンテンツを同じ前記プロセスに対応付ける、請求項1に記載の情報処理装置。
  11. 前記管理部は、前記複数のサブコンテンツと前記複数のプロセスの対応に基づき、当該複数のサブコンテンツのそれぞれを前記複数のプロセスのうち少なくともいずれかに割り当てる、請求項1に記載の情報処理装置。
  12. 前記管理部は、前記複数のプロセスそれぞれの処理負荷に応じて、当該複数のプロセスを重み付けし、当該重みに応じて、前記複数のサブコンテンツそれぞれが割り当てられる前記プロセスが決定されるように、当該複数のサブコンテンツを対応付ける、請求項11に記載の情報処理装置。
  13. 前記管理部は、前記処理負荷の低い前記プロセスに対して優先的に前記サブコンテンツを対応付ける、請求項12に記載の情報処理装置。
  14. 前記管理部は、前記複数のプロセスそれぞれに割り当てられている前記サブコンテンツの数に応じて、当該複数のプロセスを重み付けし、当該重みに応じて、前記複数のサブコンテンツそれぞれが割り当てられる前記プロセスが決定されるように、当該複数のサブコンテンツを対応付ける、請求項11に記載の情報処理装置。
  15. 前記管理部は、割り当てられている前記サブコンテンツの数が少ない前記プロセスに対して優先的に前記サブコンテンツを対応付ける、請求項14に記載の情報処理装置。
  16. 前記管理部は、前記複数のサブコンテンツを少なくともいずれかの前記プロセスに対応付けた結果を示す管理情報を、当該複数のサブコンテンツを少なくともいずれかの前記プロセスに割り当てる外部装置に通知する、請求項1に記載の情報処理装置。
  17. 前記プロセスに割り当てられた前記サブコンテンツを、当該プロセスの出力結果に基づき、表示部に表示させる表示制御部を備える、請求項1に記載の情報処理装置。
  18. 前記表示部を備える、請求項17に記載の情報処理装置。
  19. コンピュータに、
    1以上のコンテンツそれぞれに含まれる複数のサブコンテンツを取得することと、
    取得された前記複数のサブコンテンツを、1以上の前記サブコンテンツの出力に係る処理を実行するための複数のプロセスのうち、少なくともいずれかの前記プロセスに対応付けることと、
    を実行させるための、プログラム。

JP2014069157A 2014-03-28 2014-03-28 情報処理装置及びプログラム Pending JP2015191507A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014069157A JP2015191507A (ja) 2014-03-28 2014-03-28 情報処理装置及びプログラム
US14/662,956 US9990427B2 (en) 2014-03-28 2015-03-19 Information processing apparatus and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014069157A JP2015191507A (ja) 2014-03-28 2014-03-28 情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2015191507A true JP2015191507A (ja) 2015-11-02

Family

ID=54190492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014069157A Pending JP2015191507A (ja) 2014-03-28 2014-03-28 情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US9990427B2 (ja)
JP (1) JP2015191507A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021053794A1 (ja) * 2019-09-19 2021-03-25 三井デザインテック株式会社 デジタルサイネージ管理システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391128B (zh) * 2017-07-07 2020-07-28 北京小米移动软件有限公司 监控虚拟文件对象模型vdom的方法和装置
CN108805559B (zh) * 2018-07-25 2023-12-15 努比亚技术有限公司 二维码推送方法、移动终端及计算机可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228496B2 (en) * 2002-07-09 2007-06-05 Kabushiki Kaisha Toshiba Document editing method, document editing system, server apparatus, and document editing program
WO2004054245A1 (ja) * 2002-12-12 2004-06-24 Sony Corporation 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム
US8719378B2 (en) * 2004-06-14 2014-05-06 Vringo Infrastructure Inc. System and method for storing and providing content to client devices
US8015613B2 (en) * 2004-09-17 2011-09-06 Sony Corporation System renewability message transport
JP4765452B2 (ja) * 2005-07-19 2011-09-07 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP2008225783A (ja) 2007-03-12 2008-09-25 Matsushita Electric Ind Co Ltd コンテンツ再生システム、視聴端末、Webページ表示方法、プログラムおよび記録媒体
JP2010250554A (ja) * 2009-04-15 2010-11-04 Sony Corp メニュー表示装置、メニュー表示方法およびプログラム
CN103176972B (zh) * 2011-12-20 2017-10-10 富泰华工业(深圳)有限公司 浏览器显示子页面的处理方法及浏览器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021053794A1 (ja) * 2019-09-19 2021-03-25 三井デザインテック株式会社 デジタルサイネージ管理システム
JPWO2021053794A1 (ja) * 2019-09-19 2021-03-25
JP7386253B2 (ja) 2019-09-19 2023-11-24 三井デザインテック株式会社 デジタルサイネージ管理システム

Also Published As

Publication number Publication date
US9990427B2 (en) 2018-06-05
US20150277963A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
US10698559B2 (en) Method and apparatus for displaying content on same screen, and terminal device
US10050991B2 (en) System and method for monitoring network vulnerabilities
KR102146041B1 (ko) 악성 브라우저 확장 비활성화
US9684636B2 (en) Ad blocking page display method and device
KR20200047494A (ko) 자동 애플리케이션 업데이트
WO2015062366A1 (zh) 一种网页广告的拦截方法、装置和浏览器
WO2014200853A2 (en) Determining message data to present
JP2020515944A (ja) インターネットコンテンツ内の要素の直接的なブラウザ内のマークアップのためのシステムおよび方法
US11922117B2 (en) Generation of document editors having functions specified by role policies
JP2016520932A (ja) マルチディスプレイシステム
US8554999B2 (en) Methods for providing a response and systems thereof
US9990427B2 (en) Information processing apparatus and recording medium
US8832275B1 (en) Offline web browser
JP2011113512A (ja) 電子書籍コンテンツ生成装置、及び、電子書籍コンテンツ生成方法
US20090228549A1 (en) Method of tracking usage of client computer and system for same
EP2972722B1 (en) Defer heavy operations while scrolling
JP5753302B1 (ja) ウェブページへのアクセスを警告するためのプログラム、方法、及びシステム
US9979774B2 (en) Debugging and formatting feeds for presentation based on elements and content items
CN110119483A (zh) 多媒体文件的显示方法、装置、终端设备及存储介质
JP2018055314A (ja) 画像転送装置および画像転送方法
US20170199634A1 (en) Methods and systems for managing media content of a webpage
KR102499733B1 (ko) 리소스에 대한 단일 스타일 정의 식별자의 조건부 해석
CN110622135B (zh) 在涉及欠佳网络条件的情形下提供内容项的系统和方法
CN113987472A (zh) 网页浏览的安全性检测方法、装置及系统
JP2012194869A (ja) 文書管理装置、文書管理方法、プログラム。