JP6269155B2 - 配信方法、端末装置、及び配信システム - Google Patents

配信方法、端末装置、及び配信システム Download PDF

Info

Publication number
JP6269155B2
JP6269155B2 JP2014033361A JP2014033361A JP6269155B2 JP 6269155 B2 JP6269155 B2 JP 6269155B2 JP 2014033361 A JP2014033361 A JP 2014033361A JP 2014033361 A JP2014033361 A JP 2014033361A JP 6269155 B2 JP6269155 B2 JP 6269155B2
Authority
JP
Japan
Prior art keywords
file
divided
unit
application
program
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.)
Active
Application number
JP2014033361A
Other languages
English (en)
Other versions
JP2015158809A (ja
Inventor
矢崎 孝一
孝一 矢崎
伊藤 栄信
栄信 伊藤
和明 二村
和明 二村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014033361A priority Critical patent/JP6269155B2/ja
Priority to US14/611,860 priority patent/US9621630B2/en
Publication of JP2015158809A publication Critical patent/JP2015158809A/ja
Application granted granted Critical
Publication of JP6269155B2 publication Critical patent/JP6269155B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Description

本発明は、プログラムを分割して配信する技術に関する。
従来より、データ転送を行う際、データサイズが大きい場合には、ネットワークのトラフィック状態、送信側及び受信側のデータ転送能力等のデータ転送状況に応じて、データを分割して転送することが行われている。分割した個々のデータを保証するために、送信側で分割データ毎にデジタル署名を付与し、受信側で検証する技術、適応的データ損失のもとで安全な認証を行う技術等が提案されている。
特開2001−223735号公報 特表2007−503134号公報
近年、デスクトップ(卓上型)、ラップトップ(膝上)、パームトップ(掌上)等の様々なタイプのパーソナルコンピュータ(PC)が普及している。このような多様なPCのOS(Operating System)等のプラットフォームに依存しない(マルチプラットフォームで動作する)アプリケーションの開発により、種々のPCを使用する場合においても、ユーザはプラットフォームの違いを意識することなく同様のアプリケーションを使用できる。
このようなマルチプラットフォームで動作するアプリケーションの開発では、HTML(Hyper Text Markup Language)5言語が主流である。そして、HTML5言語で開発したアプリケーションをオフラインで動かすために仕様化されているのが「packaged web apps」である。実際には、HTML5に加えて、外部スタイルシートファイルCSS(Cascading Style Sheets)、及びJavascriptが用いられる。
「packaged web apps」は、ブラウザ上で動作するアプリケーションのうち、サーバから提供されたのちクライアントに常駐して、クライアント側でオフラインで動作するアプリケーションである。以下、「packaged web apps」を単にアプリケーションと言う。
通常、アプリケーションがクライアント側にダウンロードされる際には、動作に必要なファイルを1つのファイルにパッケージ化して、改竄検知用のデジタル署名を付与している。
一方、HTML5言語は、サーバ装置からクライアント端末へ提供されブラウザ上で即座に動作するように開発された言語である。また、HTML5言語で開発されたアプリケーションを使用するユーザにとって、即座に動作するアプリケーションであることが期待されている。
しかしながら、パッケージ化されたアプリケーションのファイルサイズが大きいと、データを分割した配信では、受信側で、データの組み立てやデジタル署名のチェックに時間がかかり、ユーザが見たいと思った瞬間にアプリケーションを実行できない場合がある。
1つの側面では、本発明は、アプリケーションを分割して配信した場合でも即時に実行可能とすることを目的とする。
一態様によれば、プログラムを配信するサーバと、該プログラムを受信して実行する端末装置とが、インターネットを介して接続された配信システムにおける配信方法であって、前記サーバは、第1の署名が付されたプログラムを分割し、前記プログラムの分割ファイルのうちの1つ以上に、該プログラムの復元に係る復元情報を含む制御情報と、前記分割ファイルを保証する第2の署名とを付加して、インターネットを介して送信し、前記端末装置は、前記インターネットを介して前記第1の署名が付された前記プログラムを分割した第1の分割ファイルと第2の分割ファイルとをダウンロードし、前記第1の分割ファイルを、該第1の分割ファイルに付加された前記第2の署名を用いて保証されたファイルであることを確認して、該第1の分割ファイルを実行可能にし、前記第2の分割ファイルの正当性を、前記第1の分割ファイルの前記制御情報に含まれる前記復元情報を用いて確認し、確認された前記第2の分割ファイルを実行可能にする配信方法が提供される。
また、上記課題を解決するための手段として、配信装置、配信システム、配信プログラム、及びそのプログラムを記憶した記憶媒体とすることもできる。
アプリケーションを分割して配信した場合でも即時に実行できる。
配信システムの構成例を示す図である。 分割サーバのハードウェア構成を示す図である。 端末装置のハードウェア構成を示す図である。 本実施例に係る配信処理を説明するための図である。 分割サーバの機能構成例を示す図である。 分割構成DBのデータ構成例を示す図である。 分割サーバの取得分割処理を説明するためのフローチャート図(その1)である。 分割サーバの取得分割処理を説明するためのフローチャート図(その2)である。 送信制御処理を説明するためのフローチャート図である。 端末装置の機能構成例を示す図である。 組立DBのデータ構成例を示す図である。 DL前処理を説明するためのフローチャート図である。 DLタスク処理を説明するための図である。 選択処理を説明するためのフローチャート図である。 組立部による組立処理を説明するためのフローチャート図である。 アプリケーションの分割例を示す図である。 図16に示す分割例の場合の制御情報のデータ例である。 アプリケーションの状態表示例を示す図である。
以下、本発明の実施の形態を図面に基づいて説明する。図1は、配信システムの構成例を示す図である。図1において、配信システム1000は、アプリケーションサーバ3と、分割サーバ4と、端末5とを有する。端末5は、インターネット2を介して分割サーバ4と接続される。また、アプリケーションサーバ3と、分割サーバ4ともインターネット2等を介して通信によって接続可能である。アプリケーションサーバ3で行われる処理と、分割サーバ4で行われる処理とが、一つのサーバで行われても良い。
アプリケーションサーバ3は、オフラインで動作可能なパッケージ化されたアプリケーションapp1を有し、アプリケーションapp1に第1の鍵を用いてデジタル署名(以下、単に、署名と言う)して外部へ提供するサーバである。アプリケーションサーバ3による署名が添付されることで、アプリケーションapp1が保証される。
分割サーバ4は、アプリケーションサーバ3のアプリケーションapp1を分割パッケージapp1-1及びapp1-2に分割し、分割パッケージapp1-1に署名し、各分割パッケージapp1-1及びapp1-2を第2の鍵を用いて暗号化した後、外部へ転送するサーバである。分割パッケージapp1-1及びapp1-2の各々が分割サーバ4によって保証される。分割サーバ4による署名を分割署名と言う。
端末5は、ユーザによって使用される、ブラウザ5wを有する移動体通信装置である。
配信システム1000において、端末5のブラウザ5wから、ユーザが所望するアプリケーションapp1のダウンロード要求(Get http://xxxx/app1)がインターネット2を介してなされると、分割サーバ4は、アプリケーションサーバ3から取得したアプリケーションapp1を分割した分割パッケージapp1-1とapp1-2とを夫々端末5へとインターネット2を介して転送する。分割パッケージapp1-1はapp1-1.epkgで転送され、分割パッケージapp1-2はapp1-2.epkgで転送される。
端末5は、分割サーバ4から受信した分割パッケージapp1-1をブラウザ5w上で実行しながら、バックグラウンドで分割パッケージapp1-2をダウンロードする。分割パッケージapp1-1のダウンロード完了によって、分割パッケージapp1-2をブラウザ5w上で実行する。
配信システム1000において、端末5は、分割パッケージapp1-1及びapp1-2を受信しつつ実行するため、アプリケーションapp1の実行を早期に行うことができる。また、分割サーバ4が保障した分割パッケージapp1-1及びapp1-2の提供を受けることができる。
図2は、分割サーバのハードウェア構成を示す図である。図2において、分割サーバ4は、コンピュータによって制御される装置であって、CPU(Central Processing Unit)11aと、主記憶装置12aと、補助記憶装置13aと、入力装置14aと、表示装置15aと、通信I/F(インターフェース)17aと、ドライブ装置18aとを有し、バスB1に接続される。
CPU11aは、主記憶装置12aに格納されたプログラムに従って分割サーバ4を制御するプロセッサである。主記憶装置12aには、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11aにて実行されるプログラム、CPU11aでの処理に必要なデータ、CPU11aでの処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置13aには、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13aに格納されているプログラムの一部が主記憶装置12aにロードされ、CPU11aに実行されることによって、各種処理が実現される。記憶部130aは、主記憶装置12a及び/又は補助記憶装置13aを有する。
入力装置14aは、マウス、キーボード等を有し、ユーザが分割サーバ4による処理に必要な各種情報を入力するために用いられる。表示装置15aは、CPU11aの制御のもとに必要な各種情報を表示する。通信I/F17aは、端末装置5との通信、及び、アプリケーションサーバ3との通信を行うためのインタフェースである。通信I/F17aによる通信は無線又は有線に限定されるものではない。
分割サーバ4によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって分割サーバ4に提供される。
ドライブ装置18aは、ドライブ装置18aにセットされた記憶媒体19a(例えば、CD−ROM等)と分割サーバ4とのインターフェースを行う。
また、記憶媒体19aに、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体19aに格納されたプログラムは、ドライブ装置18aを介して分割サーバ4にインストールされる。インストールされたプログラムは、分割サーバ4により実行可能となる。
尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図3は、端末装置のハードウェア構成を示す図である。図3において、端末装置4は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11bと、主記憶装置12bと、補助記憶装置13bと、入力装置14bと、表示装置15bと、通信I/F(インターフェース)17bとを有し、バスB2に接続される。
CPU11bは、主記憶装置12bに格納されたプログラムに従って端末装置4を制御する。主記憶装置12bには、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11bにて実行されるプログラム、CPU11bでの処理に必要なデータ、CPU11bでの処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置13bには、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13bに格納されているプログラムの一部が主記憶装置12bにロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130bは、主記憶装置12b及び/又は補助記憶装置13bを有する。
入力装置14bは、キー配置された操作部を有し、ユーザが端末装置4による処理に必要な各種情報を入力するために用いられる。表示装置15bは、CPU11bの制御のもとに必要な各種情報を表示する。入力装置14bはソフトキーで実現される場合には、入力装置14b及び表示装置15bとが一体化したタッチパネルであっても良い。通信I/F17bは、無線などのネットワークを通じて通信を行う。
端末装置4によって行われる処理を実現する、上述したようなアプリケーションapp1のプログラムは、通信I/F17bを介して分割サーバ4から提供される。
図4は、本実施例に係る配信処理を説明するための図である。図4において、分割サーバ4は、パッケージ化されたアプリケーションapp1を復号化して、アプリケーションapp1に付加されているアプリケーションサーバ3の署名4bに基づいて、ファイル構成をチェックする(ステップS1)。ファイル構成は、制御情報cを解析することによって取得される。
分割サーバ4は、トップページの内容からページ構成を解析して、アプリケーションapp1をファイル単位で分割する(ステップS2)。通常、1ページが1ファイルで構成される。図4では、アプリケーションapp1は、トップページ5a、2ページ5b、3ページ5cに3分割された例を示している。1分割が1ファイル(1ページ)であっても良いし、1分割に2以上のファイルが含まれても良い。
分割サーバ4は、ファイル構成に基づいて、分割方法を決定する。そして、分割サーバ4は、ページがどの分割パッケージに含まれているかを示す情報を制御情報4cに追加した制御情報6cを作成して、トップページ5aに添付する。
次に、分割サーバ4は、トップページ5aに分割署名6bを付加して、トップページ5a、2ページ5b、及び3ページ5cを、分割サーバ4の第2の鍵を用いて個別に暗号化する(ステップS3)。
そして、分割サーバ4は、トップページ5a、2ページ5b、及び3ページ5cを端末装置5へ配信する(ステップS4)。
端末装置5は、トップページ5aを受信すると、分割署名6bでトップページ5aに改竄がないことをチェックし、制御情報6cを取得する(ステップS5−1)。そして、端末装置5は、トップページ5aを復号したのちブラウザ5w上で実行する(ステップS5−2)。一方、端末装置5は、バックグラウンドで2ページ5bと3ページ5cとを受信する。
プレチェックとは、トップページ5aに付加された制御情報6cに含まれる分割された2ページ、3ページのポインタするためのトークンと、2ページ5b、3ページ5cトークンとが一致するかを確認する処理である。
端末装置5は、2ページ5bをバックグラウンドで受信すると、2ページ5bをプレチェックして(S6−1)、復号したのちブラウザ5w上で実行す(S6−2)。同様に、端末装置5は、3ページ5cをバックグラウンドで受信すると、3ページ5cをプレチェックして(S7−1)、復号したのちブラウザ5w上で実行す(S7−2)。
ページ5a、5b、及び5c全てが復号されたところで、端末装置5は、ページ5a、5b、及び5cを制御情報6cに従って、アプリケーションapp1を組み立てて復元した後(ステップS8)、アプリケーションサーバ3の署名をチェックする。
以下に、分割サーバ4について説明する。図5は、分割サーバの機能構成例を示す図である。図5において、分割サーバ4は、CPU11aが対応するプログラムを実行することによって実現される、設定部30と、要求受付部31と、取得分割部32と、送信制御部33と、送信部34とを有する。記憶部130aは、分割構成DB36、分割ファイル領域37、暗号化ファイル領域38等を有する。
端末装置5へ提供される、開発者3dによって開発されたアプリケーションapp1は、アプリケーションサーバ3に登録されることにより、端末装置5への提供が可能となる。
設定部30は、アプリケーションapp1の分割に関する項目を設定する画面を表示装置15aに表示し、管理者3aが入力した分割用設定ファイル30dを記憶部130aに格納する。分割用設定ファイル30dには、配信にかかる最小限の時間等が含まれる。
要求受付部31は、端末装置5からアプリケーションの取得要求(Get http://xxxx/app1)を受信すると、取得要求からアプリケーション名と端末情報とを取得して、取得分割部32及び送信制御部33へ通知する処理部である。
また、要求受付部31は、アプリケーションの取得要求(Get http://xxxx/app1)後に、端末装置5から分割ファイル(app1-2.epkg、app1-3.epkg等)の要求を受信すると、この要求を送信制御部33に通知する。
取得分割部32は、要求受付部31からの取得要求の通知に応じて、アプリケーションサーバ3からアプリケーションapp1を取得して、アプリケーションapp1をページ構成に基づいて分割する処理部である。アプリケーションapp1を分割して得た、トップページ5a、2ページ5b、及び3ページ5cは、分割済みファイルとして記憶部130aの分割ファイル領域37に格納される。
また、取得分割部32は、制御情報6cをトップページ5aに埋め込み、トップページ5a、2ページ5b、及び3ページ5cを暗号化する。暗号化されたトップページ5a、2ページ5b、及び3ページ5cは、暗号化ファイル領域38に格納される。
送信制御部33は、要求受付部31からの取得要求の通知に応じて、アプリケーションapp1を、分割単位で送信するためのスケジュールを行う処理部である。
送信部34は、送信制御部33によるスケジュールに従って、暗号化ファイル領域38のトップページ5a(app1-1.epkg)、2ページ5b(app1-2.epkg)、及び3ページ5c(app1-3.epkg)を端末装置5へ送信する。
分割構成DB36は、図6に示すようなデータ構成を有する。図6は、分割構成DBのデータ構成例を示す図である。図6において、分割構成DB36は、要求No.、アプリURL(Uniform Resource Locator)、アプリキャッシュ格納場所、分割ファイル格納場所、暗号化ファイル格納場所、暗号完了フラグ、暗号化用鍵、分割数、署名チェック用鍵等の項目を有する。
要求No.は、端末装置5からアプリケーションの取得要求を識別するために付与された番号である。アプリURLは、取得要求で指定されたアプリケーションのURLを示す。アプリキャッシュ格納場所は、オリジナルのアプリケーションの格納場所を示す。分割ファイル格納場所は、アプリケーションを分割することで作成された分割ファイルの格納場所を示す。
暗号化ファイル格納場所は、暗号化した後の分割ファイルの格納場所を示す。暗号完了フラグは、暗号化が完了している場合はTrueで示し、暗号化が完了していない場合はFalseで示す。暗号化用鍵は、分割サーバ4が分割ファイルを暗号化するための第2の鍵を示す。
分割数は、要求されたアプリケーションの分割数を示す。署名チェック用鍵は、分割サーバ4がトップページを含む分割ファイルに分割署名を行うための鍵である。
図6に例示される分割構成DB36では、要求No.「001」でアプリURL「http://xxx/app1」で指定されたアプリケーションapp1は、アプリキャッシュ格納場所「/tmp/xxx/app1/original」に格納されていることを示す。
分割格納場所は、アプリケーションapp1が分割された後の各分割ファイルは、「/tmp/xxx/app1/divide」に格納されていることを示す。
分割ファイルを暗号化してパッケージ化することにより、分割パッケージapp1-1.epkg、app1-2.epkg、及びapp1-2.epkgが生成される。暗号化ファイル格納場所は、分割パッケージapp1-1.epkg、app1-2.epkg、及びapp1-2.epkgが、「/tmp/xxx/app1/epkg/app1-1.epkg」、「/tmp/xxx/app1/epkg/app1-2.epkg」、及び「/tmp/xxx/app1/epkg/app1-3.epkg」に格納されていることを示す。
分割数は、オリジナルのアプリケーションapp1が3分割されたことを示している。署名チェック用鍵により、分割署名を作成するための鍵「/tmp/xxx/app1/original/signkey」を示している。
取得分割部32による取得分割処理について説明する。図7及び図8は、分割サーバの取得分割処理を説明するためのフローチャート図である。分割サーバ4において、取得分割部32は、CPU11aが対応するプログラムを実行することで実現される。
図7において、取得分割部32は、要求部31からの通知が、アプリケーションの取得要求か否かを判断する(ステップS11)。アプリケーションの取得要求ではない場合、取得分割部32は、所定間隔でステップS11を繰り返す。
一方、アプリケーションの取得要求の場合、取得分割部32は、記憶部130aに格納された分割用設定ファイル30dを読み込む(ステップS12)。また、取得分割部32は、アプリケーションサーバ3から得たアプリケーションの変更の有無に基づいて分割構成DB36を更新する(ステップS13)。
即ち、取得分割部32は、アプリケーションサーバ3へ分割サーバ4にて保持しているキャッシュ情報を送信し、アプリケーションサーバ3からアプリケーションの変更の有無を示す情報を取得すればよい。変更されたアプリケーションが存在する場合、取得分割部32は、そのアプリケーションをキャッシュ領域から削除し、分割構成DB36において、そのアプリケーションのアプリキャッシュ格納場所の値を削除する。
取得分割部32は、分割用設定ファイル30dを参照して、取得要求のアプリケーションは、毎回暗号化するか否かを確認する(ステップS14)。アプリケーションを毎回暗号化しない場合、取得分割部32は、ステップS22へと進む(図8)。
アプリケーションを毎回暗号化する場合、取得分割部32は、アプリケーションデータのキャッシュが有るか否かを判断する(ステップS15)。即ち、取得分割部32は、分割構成DB36から要求されたアプリケーションを指定するアプリURLを検索して、アプリURLに対応付けられるアプリキャッシュ格納場所に値が存在するか否かを確認する。アプリキャッシュ格納場所に値が存在する場合、取得分割部32は、ステップS19へと進む。
アプリキャッシュ格納場所に値が存在しない場合、取得分割部32は、アプリケーションサーバ3から、端末装置5が要求するアプリケーションを取得する(ステップS16)。アプリケーションサーバ3から取得したアプリケーションは、記憶部130aにキャッシュされ、その格納場所が、分割構成DB30dのアプリキャッシュ格納場所に記憶される。
そして、取得分割部32は、アプリケーションサーバ3の署名をチェックし(ステップS17)、分割処理を行う(ステップS18)。アプリケーションを分割して得られた分割ファイルは分割ファイル領域37に格納される。
取得分割部32は、分割ファイル毎に、分割構成DB30dの分割ファイル格納場所に分割ファイル領域37における記憶場所を記憶する。また、取得分割部32は、分割構成DB30dにおいて、分割ファイルの1つに対して、分割数を記憶する。トップページの分割ファイルに対応付けて分割数を記憶すればよい。取得分割部32は、ステップS19へと進む。
ステップS15にてアプリケーションデータのキャッシュが有ると判断した場合、又は、ステップS18の分割処理が終了した場合、取得分割部32は、分割サーバ4の暗号鍵を生成して、分割ファイルを暗号化して(ステップS19)、暗号化した分割ファイルを暗号化ファイル領域38に格納する(ステップS20)。
そして、取得分割部32は、暗号化した分割ファイルの格納先を分割構成DBの暗号化ファイル格納場所に記録し、暗号完了フラグを「True」に設定し、暗号化用鍵を記録して、分割構成DBを更新する(ステップS21)。
図8において、図7のステップS14にて、アプリケーションを毎回暗号化しない場合、取得分割部32は、記憶部130aに要求されたアプリケーションの暗号化キャッシュデータが有るか否かを判断する(ステップS22)。暗号化キャッシュデータが有る場合、取得分割部32は、キャッシュの位置情報を分割構成DBの暗号化ファイル格納場所に記録して(ステップS22−3)、この取得分割処理を終了する。
ステップS22にて、暗号化キャッシュデータが無い場合、取得分割部32は、更に、アプリケーションデータのキャッシュが有るか否かを判断する(ステップS23)。アプリケーションデータのキャッシュが無い場合、取得分割部32は、アプリケーションデータを取得する(ステップS24)。
そして、取得分割部32は、アプリケーションサーバ3の署名をチェックし(ステップS25)、分割処理を行う(ステップS26)。取得分割部32は、分割ファイル毎に、分割構成DB30dの分割ファイル格納場所に記憶場所が記憶する。また、取得分割部32は、分割構成DB30dにおいて、分割ファイルの1つに対して、分割数を記憶する。トップページの分割ファイルに対応付けて分割数を記憶すればよい。取得分割部32は、ステップS27へと進む。
ステップS15にてアプリケーションデータのキャッシュが有ると判断した場合、又は、ステップS18の分割処理が終了した場合、取得分割部32は、分割サーバ4の暗号鍵を生成して、分割ファイルを暗号化して(ステップS27)、暗号化した分割ファイルを暗号化ファイル領域38に格納する(ステップS28)。
そして、取得分割部32は、暗号化した分割ファイルの格納先を分割構成DBの暗号化ファイル格納場所に記録し、暗号完了フラグを「True」に設定し、暗号化用鍵を記録して、分割構成DBを更新する(ステップS29)。
送信制御部33による送信制御処理について説明する。図9は、送信制御処理を説明するためのフローチャート図である。分割サーバ4において、送信制御部33は、CPU11aが対応するプログラムを実行することで実現される。
図9において、送信制御部33は、要求受付部31からの通知がアプリケーションの取得要求か否かを判断する(ステップS31)。アプリケーションの取得要求ではない場合、送信制御部33は、所定間隔でステップS31を繰り返す。
アプリケーションの取得要求の場合、送信制御部33は、更に、分割ファイルの取得要求か否かを判断する(ステップS32)。分割ファイルの取得要求の場合、送信制御部33は、ステップS38へと進む。
通知が分割ファイルの取得要求である場合、送信制御部33は、アプリケーションの分割及び暗号化が完了したか否かを判断する(ステップS33)。送信制御部33は、分割構成DB36において、取得要求で指定されるアプリURLに対応付けられる暗号完了フラグ及び分割数を参照することによって判断する。アプリケーションの分割及び暗号化が完了していない場合、送信制御部33は、所定間隔でステップS33を繰り返す。
アプリケーションの分割及び暗号化が完了している場合、送信制御部33は、分割数及びトークン値を含む制御情報6cを作成して、分割ファイル(トップページapp1-1)のヘッダに設定する(ステップS34)。送信制御部33は、分割構成DBから分割数を取得して、取得した分割数と、分割数に応じたトークン値とを制御情報6cに設定する。
トークン値とは、分割ファイルと他の分割ファイルとの関連付けを示す値である。本実施例では、トークン値を用いて、トップページapp1-1からリンクされるページが存在する分割ファイルを指定する。
送信制御部33は、分割ファイルが送信中か否かを判断する(ステップS35)。既に取得要求があり、かつ、すでに分割送信が実行中のアプリケーションが存在する場合がある。分割ファイルが送信中でない場合、送信制御部33は、ステップS37へと進み、制御情報6cが付加された分割ファイル(トップページapp1-1)を送信部34に送信させて(ステップS37)、この送信制御処理を終了する。
分割ファイルが送信中の場合、送信制御部33は、送信中の分割ファイルの送信タスクの優先度を下げて(ステップS36)、トップページapp1-1の分割ファイルを送信部34に送信させる(ステップS37)。
ステップS36及びS3により、トップページapp1-1の分割ファイルが優先的に送信される。
ステップS32において分割要求の取得要求の場合、送信制御部33は、要求された分割ファイルの暗号化が完了しているか否かを判断する(ステップS38)。送信制御部33は、分割構成DB36を参照して、要求された分割ファイルの暗号化完了フラグをチェックすることにより判断する。分割ファイルの暗号化が完了していない場合、送信制御部33は、所定間隔でステップS38を繰り返す。
分割ファイルの暗号化が完了している場合、送信制御部33は、優先度を下げる要求が有るか否かを判断する(ステップS39)。優先度を下げる要求が有る場合、送信制御部33は、分割ファイルの送信を一時停止し(ステップS40)、ステップS39へ戻り、上述同様の処理を繰り返す。
優先度を下げる要求が無い場合、送信制御部33は、分割ファイルを割り当てられた配信時間の間送信する(ステップS41)。配信時間後、送信制御部33は、分割ファイルの送信を完了したか否かを判断する(ステップS42)。分割ファイルの一部のみが送信された場合、即ち、分割ファイルのうち未送信の部分がある場合、送信制御部33は、ステップS39へ戻り、上述同様の処理を繰り返す。一方、分割ファイル全体の送信を完了した場合、送信制御部33は、この送信制御処理を終了する。
分割ファイルは、分割サーバ4によってZIP形式で暗号化されても良いし、他の暗号形式であっても良い。
以下に、端末装置5について説明する。図10は、端末装置の機能構成例を示す図である。図10において、端末装置5は、CPU11bが対応するプログラムを実行することによって実現される、ダウンロード部51と、選択部52と、実行部54を有するWebサーバ部53と、組立部55と、ブラウザ5wとを有する。記憶部130bは、ファイル格納領域59を有する。
ダウンロード部51は、選択部52からのアプリケーションの取得要求及びページのファイルの取得要求の夫々に応じて、分割サーバ4へ取得要求を行い、分割サーバ4から取得要求に応じたファイルをダウンロードする処理部である。ダウンロードした分割ファイルは、ファイル格納領域59に格納される。
また、ダウンロード部51は、取得要求のアプリケーションのダウンロードによって取得した情報を組立DB58に記録する。ダウンロード部51は、トップページapp1-1の分割ファイルを受信すると、分割ファイルに含まれている制御情報6cから分割数を取得して、組立DB58に記録する。
選択部52は、Webサーバ部53からのアプリケーション又はファイルの取得要求に応じて、ファイル格納領域59から、復元完了したアプリケーションapp1又は分割ファイルapp1-1〜app1-3のいずれかを選択して、取得要求で指定されたファイルを返信する。復元完了したアプリケーションapp1は、1つのファイルで管理されるため、以下、アプリケーションapp1及び分割ファイルapp1-1〜app1-3を、総称して「ファイル」と言う。
Webサーバ部53は、ブラウザ5wからのファイルの取得要求を受け付けて、選択部52へ依頼し、選択部52から提供されたファイルを復号して実行する処理部である。そのため、Webサーバ部53は、ファイルを復号して実行する実行部54を有する。実行部54によってファイルが復号さ実行されることにより、ブラウザ5w上でアプリケーションapp1又はアプリケーションapp1の一部が動作する。
ブラウザ5wは、アプリケーションapp1によって提供される種々のページをユーザの操作に応じて表示する。ブラウザ5wは、HTML5に加えて、外部スタイルシートファイルCSS、及びJavascriptをサポートしていることが望ましい。
組立部55は、分割サーバ4による分割署名チェック及びプレチェックを行って、分割ファイルapp1-1〜app1-3を組み立てる処理部である。組立部55は、各分割ファイルapp1-1〜app1-3は、分割サーバ4によって保証されていることを確認した後に、組み立てられる。
また、組立部55は、アプリケーションapp1を組み立てると、アプリケーションサーバ3の署名チェックを実施し、アプリケーションapp1全体に対する保証を確認する。復元完了したアプリケーションapp1は、ファイル格納領域59に保持される。
図11は、組立DBのデータ構成例を示す図である。図11において、組立DB58は、ダウンロードしたファイルの状態を管理するためのデータベースであり、URL、ファイル名、分割数、実行可能状態、DL完了フラグ等の項目を有する。
URLは、端末装置5の利用者が指定したアプリケーションの位置情報を示す。ファイル名は、ダウンロード時のファイル名を示す。分割数は、アプリケーションが分割されてダウンロードされる場合の分割の数を示し、トップページを含むファイルに対して設定される。
実行可能状態は、実行部54によって実行可能な状態であるか否かを示す。実行可能状態が「可能」を示す場合、実行部54によって実行可能な状態であることを示す。実行可能状態が「不可」を示す場合、実行部54によって実行不可な状態であることを示す。
DL完了フラグは、ダウンロードが完了したか否かを示す。DL完了フラグ「完了」は、ダウンロードが完了したことを示し、DL完了フラグ「未完了」は、ダウンロード中であることを示す。
図11の例において、URL「http://xxx/app1」は3分割されてダウンロードされることを示している。実行可能状態とDL完了フラグの組み合わせにより、組立状況を把握することができる。
app1-1.zipは、DL完了フラグ「完了」からダウンロードを完了し、実行可能状態「可能」から実行可能であることが示される。app1-1.zipは、分割署名の確認が終了済みであることを示す。
app1-2.zipは、DL完了フラグ「完了」からダウンロードを完了し、実行可能状態「不可」から実行不可能な状態であることが示される。app1-2.zipは、ダウンロードを完了しているが、プレチェックが未確認の状態を示している。
app1-3.zipは、DL完了フラグ「未完了」からダウンロードが完了しておらず、実行可能状態「不可」から実行不可能な状態であることが示される。app1-3.zipは、ダウンロード完了待ちの状態である。
また、URL「http://xxx/app2」は、分割数「1」であるため、3分割されることなくアプリケーションの全体がダウンロードされることを示しているが、ダウンロードは未完了である。
上記ファイル状態_0〜3のいずれにおいても、オンラインでの実行は可能である。
ダウンロード部51によるダウンロード処理について説明する。ダウンロード処理は、主に、ダウンロード(DL)前処理と、ダウンロード(DL)タスク処理とを有する。DL前処理について図12で説明し、DLタスク処理について図13で説明する。
図12は、DL前処理を説明するためのフローチャート図である。端末装置5において、ダウンロード部51によるDL前処理は、CPU11bが対応するプログラムを実行することで実現される。
図12において、ダウンロード部51は、選択部52からの要求がダウンロード要求か否かを判断する(ステップS71)。ここでは、アプリケーションの取得要求が、ダウンロード要求に相当する。選択部52からの要求がダウンロード要求でない場合、ダウンロード部51は、選択部52からの要求を受信する毎にステップS71を繰り返す。
選択部52からの要求がダウンロード要求の場合、ダウンロード部51は、分割サーバ4にファイル(アプリケーション又は分割ファイル)の取得要求を行う(ステップS72)。「Get http://xxxx/app1」が分割サーバ4へ送信される。分割サーバ4から最初の分割ファイル(トップページ)を受信すると、ダウンロード部51は、ヘッダの制御情報6cから分割数及びファイル名を取得する(ステップS73)。
ダウンロード部51は、アプリケーションapp1が分割されて配信される分割配信であるか否かを判断する(ステップS74)。制御情報6cから取得した分割数が2以上を示す場合、ダウンロード部51は、分割配信であると判断する。分割数が1の場合、アプリケーションapp1の全体が配信されると判断する。
分割配信であると判断した場合、ダウンロード部51は、分割ファイルのダウンロードタスクを登録して(ステップS75)、組立DBに、取得要求で指定されるURLに対応付けて、分割数、DL完了フラグを設定するステップS76)。その後、ダウンロード部51は、DL前処理を終了する。
図13は、DLタスク処理を説明するための図である。ダウンロード部51によるDLタスク処理は、CPU11bが対応するプログラムを実行することで実現される。
図13において、ダウンロード部51は、未実行のダウンロードタスクがあるか否かを判断する(ステップS81)。未実行のダウンロードタスクがない場合、ダウンロード部51は、所定間隔でステップS81を繰り返す。
未実行のダウンロードタスクがある場合、ダウンロード部51は、ネットワーク帯域が空いているか否かを判断する(ステップS82)。ネットワーク帯域が空いていない場合、所定間隔でステップS82を繰り返す。ネットワーク帯域が空いている場合、タスクに登録された分割ファイルのダウンロードを開始する(ステップS83)。
ダウンロード部51は、ダウンロードを完了したか否かを判断する(ステップS84)。ダウンロードを完了していない場合、ダウンロード部51は、所定間隔でステップS84を繰り返す。ダウンロードを完了した場合、ダウンロード部51は、組立DBのDL完了フラグに「完了」を設定して(ステップS85)、DLタスク処理を終了する。
次に、選択部52による選択処理について説明する。図14は、選択処理を説明するためのフローチャート図である。端末装置5において、選択部52によるDL前処理は、CPU11bが対応するプログラムを実行することで実現される。
図14において、選択部52は、Webサーバ部53からの要求がファイル取得要求か否かを判断する(ステップS91)。ファイル取得要求でない場合、選択部52は、所定間隔でステップS91を繰り返す。
ファイル取得要求の場合、選択部52は、ファイル格納領域59を参照して、ファイル取得要求で指定されるURLのアプリケーションが存在するか否かを判断する(ステップS92)。ファイルがダウンロード済みの場合、つまり、アプリケーションがオリジナルの状態(又は復元された状態)で存在する場合、選択部52は、ステップS97へと進む。
選択部52は、アプリケーションがファイル格納領域59に存在しない場合、組立DB56にファイル取得要求で指定されるURLが存在するか否かを判断する(ステップS93)。組立DB56に存在する場合は、選択部52は、更に、実行可能状態が「可能」を示すか否かを確認する(ステップS93−2)。
実行可能状態が「可能」を示す場合は、選択部52は、組立DB56からファイル名を取得して、ファイル格納領域59から同一ファイル名の分割ファイルを取得して、ステップS97へと進む。選択部52は、実行可能状態が「不可」を示す場合は、ステップS95へと進み、ダウンロードが完了するのを待つ。
組立DB56にもファイル取得要求で指定されるURLが存在しない場合、選択部52は、ステップS94へと進み、ダウンロード部51にダウンロード要求を行う。
ファイル取得要求で指定されるURLが存在しない場合、即ち、アプリケーションが存在しない場合、選択部52は、ダウンロード部51にダウンロード要求を行う(ステップS94)。その後、選択部52は、組立DB58を参照することにより、ダウンロードが完了したか否かを判断する(ステップS95)。ダウンロードが完了していない場合、選択部52は、所定間隔でステップS95を繰り返す。ダウンロードが完了している場合、選択部52は、組立DB58を更新する(ステップS96)。
選択部52は、ファイル内にページファイルが存在するか否かを判断する(ステップS97)。ファイルは、アプリケーションのファイル又は分割ファイルである。
ページファイルが存在する場合、選択部52は、ページファイルをWebサーバ部53へ返信する(ステップS98)。そして、選択部52は、選択処理を終了する。
一方、ステップS97にて、ファイル内にページファイルが存在しない場合、選択部52は、組立DB58を参照して、取得要求のURLに関して実行可能状態「可能」を示す分割ファイルのうち、未チェックの分割ファイルがあるか否かを判断する(ステップS99)。
選択部52は、組立DB58のDL完了フラグを参照して、分割ファイルのダウンロードが完了したか否かを判断する(ステップS100)。分割ファイルのダウンロードが完了していない場合、選択部52は、所定間隔でステップS100を行う。
分割ファイルのダウンロードが完了した場合、選択部52は、分割ファイル内にページファイルがあるか否かを判断する(ステップS101)。分割ファイルにページファイルが無い場合、選択部52は、ステップS99へ戻り上記同様の処理を繰り返す。分割ファイル内にページファイルがある場合、選択部52は、ページファイルをWebサーバ部53へ返信して(ステップS102)、選択処理を終了する。
ステップS99にて、未チェックの分割ファイルがない場合、選択部52は、「file not found」エラーをWebサーバ部53へ返信して(ステップS103)、選択処理を終了する。
図15は、組立部による組立処理を説明するためのフローチャート図である。分割サーバ4へのアプリケーションの取得要求後のダウンロード部51によるダウンロードの開始後、最初の分割ファイル(トップページ)がファイル格納領域59に格納されると、組立部55による組立処理が開始する。
図15において、組立部55は、組立DB58を参照して、組立が未完了の分割ファイルが存在するか否かを判断する(ステップS131)。組立が未完了の分割ファイルが存在しない場合、所定間隔でステップS131を繰り返す。
組立が未完了の分割ファイルが存在する場合、組立部55は、分割ファイルを復号して(ステップS132)、最初の分割ファイルか否かを判断する(ステップS133)。最初の分割ファイルの場合、組立部55は、最初の分割ファイル(トップページ)から制御情報6c及び分割署名6bを取得して(ステップS134)、取得した分割署名を用いた分割署名チェックを行って、分割ファイルの正当性を確認する(ステップS135)。
分割ファイルの正当性を確認すると、組立部55は、組立DB58の分割ファイルの実行可能状態を「可能」に設定して(ステップS136)、組立処理を終了する。
一方、最初の分割ファイルでない場合、組立部55は、ステップS134において最初の分割ファイルから取得した制御情報のトークン値を用いてプレチェックを行い、分割ファイルの正当性を確認する(ステップS137)。プレチェック後、組立部55は、組立DB55の分割ファイルの実行可能状態を「可能」に設定する(ステップS138)。
そして、組立部55は、組立DB58の同一URLに関して、全ての分割ファイルが実行可能になったか否かを判断する(ステップS139)。全ての分割ファイルが実行可能でない場合、組立部55は、ステップS131へと戻り、上述同様の処理を繰り返す。全ての分割ファイルが実行可能になった場合、組立部55は、制御情報6cを参照して、分割ファイルを組み立てて、アプリケーションを復元して(ステップS140)、組立処理を終了する。復元したアプリケーションは、ファイル格納領域59に保持される。
Webサーバ部53の実行部54へは、選択部52によって、ファイル格納領域59から、復元されたアプリケーション又は分割ファイルが選択されて提供される。
図16は、アプリケーションの分割例を示す図である。図16において、分割サーバ4は、ファイル_1、ファイル_2及びファイル_3を含むアプリケーションapp1を、ファイル単位で分割した例を示している。
ファイル「app1-1.zip」は、トップページのファイル_1を含み、分割署名6b、制御情報6cを含み、暗号化されている。ファイル「app1-2.zip」は、ファイル_2を含み、暗号化されている。ファイル「app1-3.zip」は、ファイル_3を含み、暗号化されている。
制御情報6c内に設定されているトークン値によって、トップページを含むファイル「app1-1.zip」と、他のファイル「app1-2.zip」及びファイル「app1-3.zip」との関連付けがなされている。
1つの分割ファイルには、少なくとも1つのページに関するファイルを有するようにすることが望ましい。1つの分割ファイルに2ページ分のファイルが含まれていても良い。
図17は、図16に示す分割例の場合の制御情報のデータ例である。図17において、制御情報6cには、分割情報6f、組立用制御情報6g等が含まれている。
分割情報6fには、分割数6f−2と、トークン情報6f−4とが含まれている。分割数6f−2は、アプリケーションapp1の分割数を示している。分割数「3」は、アプリケーションapp1が3分割されていることを示す。トークン情報6f−4は、関連付けられる他の2つの分割ファイルの情報を示し、トークン値と、ファイルリストとを含む。この例では、「トークン値:2」を有する分割ファイルには、「xxxx.html」、「yyyy.jpg」、及び「zzzz.js」が含まれていることを示している。「トークン値:3」を有する分割ファイルには、「aaaa.pdf」が含まれていることを示している。
組立用制御情報6gは、トークン値毎の抜出箇所を一覧にして示す。抜出箇所は、アプリケーション全体のファイル内において、先頭からの相対アドレスで示される。この例では、「トークン値:2」の分割ファイルに含まれているファイルが抜き出された箇所は、「0x2345〜0x8126」である。また、「トークン値:3」の分割ファイルに含まれているファイルが抜き出された箇所は、「0x8127〜0x10994」である。
組立部55は、図15のステップS14における分割ファイルの組立時に、制御情報6cの組立用制御情報6gを参照して、ファイル_1、ファイル_2、ファイル_3を順に組み立てることができる。制御情報6c内の分割情報6fと組立用制御情報6gとが復元情報に相当する。
組立後のアプリケーションapp1に対するアプリケーションサーバ3による署名を用いたアプリケーション全体の正当性の確認する署名チェックは、組立部55で行っても良いし、実行部54で実行時に行っても良い。
アプリケーションの実行可能な状態を端末装置5で表示した表示例について説明する。図18は、アプリケーションの状態表示例を示す図である。図18(A)では、アプリケーションapp1の状態遷移に対応したアイコンを示している。図18(A)において、アプリケーションapp1を示すアイコン5qは、
状態I:オンライン実行可
状態II:オンライン実行可&ダウンロード中
状態III:実行可
状態IV:オフライン実行可
の各状態を視認し易く表示される。
図18(B)では、端末装置5での表示例を示す。図18(B)において、端末装置5の表示部7dには、複数のアプリケーション「Aaa」、「Bbb」、「Ccc」、「Ddd」、「Eee」等がアイコンで表示されている。
アプリケーション「Aaa」と「Eee」とは、オフライン実行可(状態IV)であることが分かる。アプリケーション「Ccc」は、実行可(状態III)であることが分かる。アプリケーション「Ddd」は、オンライン実行可&ダウンロード中(状態II)であることが分かる。アプリケーション「Bbb」は、オンライン実行可(状態III)であることが分かる。
上述したようなアイコン5qの状態表示により、端末装置5を利用するユーザが、オンラインのみで実行可能なアプリケーションなのか、オフラインでも実行可能なアプリケーションなのかを容易に把握することができる。
上述したように、本実施例では、端末装置5は、分割サーバ4とで事前に鍵を交換しておき、トップページの分割ファイル内にある分割署名6bを用いて簡易チェックすることで、トップページを即座に実行可能とする。
また、逐次送信される各分割ファイルを、トップページの分割ファイル内にある制御情報6cを用いたプレチェックを行うことにより、随時実行可能にすることができる。
したがって、分割ファイルで組み立てたアプリケーションがアプリケーションサーバ3の署名で保証されてから実行可能となる関連技術に比べて、本実施例では、ユーザはより早期にアプリケーションを実行できる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
コンピュータによって実行される配信方法であって、
第1の署名が付されたプログラムを分割し、
前記プログラムの分割ファイルのうちの1つ以上に、該プログラムの復元に係る復元情報を含む制御情報と、前記分割ファイルを保証する第2の署名とを付加して、インターネットを介して送信する
ことを特徴とする配信方法。
(付記2)
前記プログラムを前記第1の署名で該プログラムの保証を確認し、
前記プログラムのファイル構成に基づいて、該プログラムを分割する
ことを特徴とする付記1記載の配信方法。
(付記3)
前記インターネットを介して前記プログラムを分割する第1の分割ファイルと第2の分割ファイルとを受信し、
前記第1の分割ファイルを、該第1の分割ファイルに付加された前記第2の署名を用いて保証されたファイルであることをチェックし、
保証された前記第1の分割ファイルを実行可能にする
ことを特徴とする付記2記載の配信方法。
(付記4)
前記第2の分割ファイルの正当性を、前記第1の分割ファイルの前記制御情報に含まれる前記復元情報を用いて確認し、
確認された前記第2の分割ファイルを実行可能にする
ことを特徴とする付記3記載の配信方法。
(付記5)
前記第1の分割ファイルと前記第2の分割ファイルとを組み立てて前記プログラムを復元し、
復元した前記プログラムの正当性を、前記第1の署名で確認する
ことを特徴とする付記4記載の配信方法。
(付記6)
前記復元情報は、前記分割ファイル間の関連付けを示すことを特徴とする付記5記載の配信方法。
(付記7)
第1の署名が付されたプログラムを分割する分割部と、
前記プログラムの分割ファイルのうちの1つ以上に、該プログラムの復元に係る情報を含む制御情報と、前記分割ファイルを保証する第2の署名とを付加する署名付加部と、
前記分割ファイルを、インターネットを介して送信する送信部と
を有することを特徴とする配信装置。
(付記8)
インターネットを介して第1の署名が付されたプログラムを分割した第1の分割ファイルと第2の分割ファイルとをダウンロードするダウンロード部と、
前記第1の分割ファイルを、該第1の分割ファイルに付加された第2の署名を用いて保証されたファイルであることを確認して、該第1の分割ファイルを実行可能にする組立部と
を有することを特徴とする端末装置。
(付記9)
前記組立部は、
前記第2の分割ファイルの正当性を、前記第1の分割ファイルの制御情報に含まれる復元情報を用いて確認して、該第2の分割ファイルを実行可能にする
ことを特徴とする付記8記載の端末装置。
(付記10)
プログラムを配信するサーバと、該プログラムを受信して実行する端末装置とが、インターネットを介して接続された配信システムであって、
前記サーバは、
第1の署名が付されたプログラムを分割し、
前記プログラムの分割ファイルのうちの1つ以上に、該プログラムの復元に係る復元情報を含む制御情報と、前記分割ファイルを保証する第2の署名とを付加して、インターネットを介して送信し、
前記端末装置は、
インターネットを介して前記第1の署名が付された前記プログラムを分割した第1の分割ファイルと第2の分割ファイルとをダウンロードし、
前記第1の分割ファイルを、該第1の分割ファイルに付加された前記第2の署名を用いて保証されたファイルであることを確認して、該第1の分割ファイルを実行可能にする
ことを特徴とする配信システム。
(付記11)
前記端末装置は、
前記第1の分割ファイルと前記第2の分割ファイルとを組み立てて前記プログラムを復元し、
復元した前記プログラムの正当性を、前記第1の署名で確認する
こと
ことを特徴とする付記10記載の配信システム。
2 インターネット
3 アプリケーションサーバ
4 分割サーバ
5 ブラウザ
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
16 出力装置
17 通信I/F
18 ドライブ
19 記憶媒体
30 設定部
31 要求受付部
32 取得分割部
33 送信制御部
34 送信部
36 分割構成DB
37 分割ファイル領域
38 暗号化ファイル領域

Claims (4)

  1. プログラムを配信するサーバと、該プログラムを受信して実行する端末装置とが、インターネットを介して接続された配信システムにおける配信方法であって、
    前記サーバは、
    第1の署名が付されたプログラムを分割し、
    前記プログラムの分割ファイルのうちの1つ以上に、該プログラムの復元に係る復元情報を含む制御情報と、前記分割ファイルを保証する第2の署名とを付加して、インターネットを介して送信し、
    前記端末装置は、
    前記インターネットを介して前記第1の署名が付された前記プログラムを分割した第1の分割ファイルと第2の分割ファイルとをダウンロードし、
    前記第1の分割ファイルを、該第1の分割ファイルに付加された前記第2の署名を用いて保証されたファイルであることを確認して、該第1の分割ファイルを実行可能にし、
    前記第2の分割ファイルの正当性を、前記第1の分割ファイルの前記制御情報に含まれる前記復元情報を用いて確認し、
    確認された前記第2の分割ファイルを実行可能にする
    ことを特徴とする配信方法。
  2. 前記プログラムを前記第1の署名で該プログラムの保証を確認し、
    前記プログラムのファイル構成に基づいて、該プログラムを分割する
    ことを特徴とする請求項1記載の配信方法。
  3. インターネットを介して第1の署名が付されたプログラムを分割した第1の分割ファイルと第2の分割ファイルとをダウンロードするダウンロード部と、
    前記第1の分割ファイルを、該第1の分割ファイルに付加された第2の署名を用いて保証されたファイルであることを確認して、該第1の分割ファイルを実行可能にし、前記第2の分割ファイルの正当性を、前記第1の分割ファイルの制御情報に含まれる復元情報を用いて確認し、確認された前記第2の分割ファイルを実行可能にする組立部と
    を有することを特徴とする端末装置。
  4. プログラムを配信するサーバと、該プログラムを受信して実行する端末装置とが、インターネットを介して接続された配信システムであって、
    前記サーバは、
    第1の署名が付されたプログラムを分割し、
    前記プログラムの分割ファイルのうちの1つ以上に、該プログラムの復元に係る復元情報を含む制御情報と、前記分割ファイルを保証する第2の署名とを付加して、インターネットを介して送信し、
    前記端末装置は、
    前記インターネットを介して前記第1の署名が付された前記プログラムを分割した第1の分割ファイルと第2の分割ファイルとをダウンロードし、
    前記第1の分割ファイルを、該第1の分割ファイルに付加された前記第2の署名を用いて保証されたファイルであることを確認して、該第1の分割ファイルを実行可能にし、
    前記第2の分割ファイルの正当性を、前記第1の分割ファイルの前記制御情報に含まれる前記復元情報を用いて確認し、
    確認された前記第2の分割ファイルを実行可能にする
    ことを特徴とする配信システム。
JP2014033361A 2014-02-24 2014-02-24 配信方法、端末装置、及び配信システム Active JP6269155B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014033361A JP6269155B2 (ja) 2014-02-24 2014-02-24 配信方法、端末装置、及び配信システム
US14/611,860 US9621630B2 (en) 2014-02-24 2015-02-02 Distribution method, distribution apparatus, and terminal apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014033361A JP6269155B2 (ja) 2014-02-24 2014-02-24 配信方法、端末装置、及び配信システム

Publications (2)

Publication Number Publication Date
JP2015158809A JP2015158809A (ja) 2015-09-03
JP6269155B2 true JP6269155B2 (ja) 2018-01-31

Family

ID=53883383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014033361A Active JP6269155B2 (ja) 2014-02-24 2014-02-24 配信方法、端末装置、及び配信システム

Country Status (2)

Country Link
US (1) US9621630B2 (ja)
JP (1) JP6269155B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
US10742615B2 (en) * 2018-03-21 2020-08-11 International Business Machines Corporation Partial encryption of a static webpage

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001223735A (ja) 2000-02-09 2001-08-17 Fuji Xerox Co Ltd データ通信装置及び記録媒体
JP4729806B2 (ja) * 2001-04-27 2011-07-20 大日本印刷株式会社 暗号化装置、復号化装置および通信システム
JP2003140912A (ja) * 2001-10-29 2003-05-16 Sony Corp データ処理システム及びデータ処理方法、並びに記憶媒体
US7558953B2 (en) * 2002-01-18 2009-07-07 Telefonaktiebolaget L M Ericsson (Publ) Loading data into a mobile terminal
WO2005017809A2 (en) 2003-08-15 2005-02-24 Docomo Communications Laboratories Usa, Inc. Method and apparatus for authentication of data streams with adaptively controlled losses
US7506338B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
JP4359622B2 (ja) * 2007-01-22 2009-11-04 富士通株式会社 電子署名プログラム、および電子署名装置
US8620889B2 (en) * 2008-03-27 2013-12-31 Microsoft Corporation Managing data transfer between endpoints in a distributed computing environment
US8464249B1 (en) * 2009-09-17 2013-06-11 Adobe Systems Incorporated Software installation package with digital signatures
US8150835B2 (en) * 2009-09-23 2012-04-03 Nokia Corporation Method and apparatus for creating and utilizing information signatures
EP2634718B1 (en) * 2010-10-28 2020-08-19 Panasonic Corporation Tamper monitoring system, protection control module and detection module

Also Published As

Publication number Publication date
US9621630B2 (en) 2017-04-11
US20150244700A1 (en) 2015-08-27
JP2015158809A (ja) 2015-09-03

Similar Documents

Publication Publication Date Title
JP6800184B2 (ja) ドキュメント管理及びコラボレーション・システム
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
EP3235213B1 (en) No password user account access
US20190342277A1 (en) Out of box experience application api integration
US11553035B2 (en) Cross-platform module for loading across a plurality of device types
US10474444B2 (en) Method and system for securely updating a website
US9678814B2 (en) Implementing a java method
US20170017380A1 (en) Mobile enabling a web application developed without mobile rendering capabilities
TW201426309A (zh) 薄化書本
JP6269155B2 (ja) 配信方法、端末装置、及び配信システム
US8316103B2 (en) Method for acquiring long data by GET method
JP5753302B1 (ja) ウェブページへのアクセスを警告するためのプログラム、方法、及びシステム
JP6242087B2 (ja) 文書管理サーバ、文書管理方法、コンピュータプログラム
JP2017027467A (ja) 管理装置、情報処理システム及びプログラム
US10284628B2 (en) Distribution method and resource acquisition method
US20230039744A1 (en) Automated creation and deployment of websites
US10659560B2 (en) Mobile device display preference
WO2007132848A1 (ja) 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
US20170244649A1 (en) Method of and a system for providing access to a file to a web resource
JPWO2010100867A1 (ja) 仮想計算機管理システム
JP2011232833A (ja) 帳票作成装置、帳票システム、帳票作成方法およびプログラム
US20220035613A1 (en) Information processing apparatus, method of activating an application and storage medium
Freeman et al. Authenticating API Clients
JP2007047944A (ja) ウェブサイト更新支援装置、方法及びプログラム
JP4724491B2 (ja) 資源配布管理プログラム、資源配布管理方法および資源配布管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171030

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171218

R150 Certificate of patent or registration of utility model

Ref document number: 6269155

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150