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

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

▶ 沖電気工業株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024033762
(43)【公開日】2024-03-13
(54)【発明の名称】通信システムおよび通信方法
(51)【国際特許分類】
   H04L 47/267 20220101AFI20240306BHJP
   H04L 47/19 20220101ALI20240306BHJP
   H04L 67/06 20220101ALI20240306BHJP
   H04L 67/5651 20220101ALI20240306BHJP
   G06F 8/65 20180101ALI20240306BHJP
   H04L 12/44 20060101ALN20240306BHJP
【FI】
H04L47/267
H04L47/19
H04L67/06
H04L67/5651
G06F8/65
H04L12/44 200
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022137566
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】110001461
【氏名又は名称】弁理士法人きさ特許商標事務所
(72)【発明者】
【氏名】岡田 憲彦
【テーマコード(参考)】
5B376
5K030
5K033
【Fターム(参考)】
5B376CA14
5K030HB19
5K030LC01
5K030MA05
5K033AA02
5K033DA15
5K033DB02
5K033DB22
(57)【要約】
【課題】ファイルの転送時間を短縮する通信システムおよび通信方法を提供する。
【解決手段】通信システムは親局装置と子局装置を有する。親局装置は圧縮部と親側通信部を備え、圧縮部は子局装置に送信する親側ファイルを圧縮し、親側通信部は圧縮された親側ファイルである圧縮ファイルを子局装置に送信する。子局装置は子側通信部と子側記憶部と容量判定部と解凍部と書き込み部と結果応答部を備える。子側記憶部は第1記憶領域と第2記憶領域を有し、第1記憶領域は親側ファイルを記憶するための領域である。容量判定部は第2記憶領域の空き容量が圧縮ファイルの解凍に必要な第1必要容量以上かを判定する。空き容量が第1必要容量以上の場合、解凍部は圧縮ファイルを解凍し、書き込み部は解凍により得られた親側ファイルを第1記憶領域に書き込む。空き容量が第1必要容量未満の場合、結果応答部は圧縮ファイルの解凍不能を示す情報を親局装置に送信するよう子側通信部に指示する。
【選択図】図8
【特許請求の範囲】
【請求項1】
互いに通信を行う親局装置と子局装置とを有する通信システムであって、
前記親局装置は、
前記子局装置に送信するための親側ファイルを圧縮する圧縮部と、
前記圧縮部によって圧縮された前記親側ファイルである圧縮ファイルを前記子局装置に送信する親側通信部と、
を備え、
前記子局装置は、
前記親局装置から前記圧縮ファイルを受信する子側通信部と、
前記親側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部と、
前記子側記憶部の前記第2記憶領域における空き容量が、前記圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する容量判定部と、
前記空き容量が前記第1必要容量以上である場合には、前記圧縮ファイルを解凍する解凍部と、
解凍によって得られた前記親側ファイルを前記第1記憶領域に書き込む書き込み部と、
前記空き容量が前記第1必要容量未満である場合には、前記圧縮ファイルを解凍できないことを示す情報を前記親局装置に送信するよう前記子側通信部に指示を行う結果応答部と、
を備える、通信システム。
【請求項2】
前記親側通信部は、
前記圧縮ファイルを解凍できないことを示す情報を受信した場合には、圧縮されていない前記親側ファイルである非圧縮ファイルを前記子局装置に送信し、
前記書き込み部は、前記子側通信部が前記非圧縮ファイルを受信した場合には、前記非圧縮ファイルを前記第1記憶領域に書き込む、請求項1に記載の通信システム。
【請求項3】
互いに通信を行う親局装置と子局装置とを有する通信システムであって、
前記子局装置は、
前記親局装置からの親側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部と、
前記子側記憶部の前記第2記憶領域における空き容量を特定する容量特定部と、
前記空き容量を示す容量情報を前記親局装置に送信する子側通信部と、
を備え、
前記親局装置は、
前記容量情報を受信する親側通信部と、
前記親側ファイルを圧縮する圧縮部と、
前記容量情報が示す前記空き容量が、圧縮された前記親側ファイルである圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する更新可否判定部と、
を備え、
前記親側通信部は、
前記空き容量が前記第1必要容量以上である場合には、前記圧縮ファイルを前記子局装置に送信し、前記空き容量が前記第1必要容量未満である場合には、圧縮されていない前記親側ファイルである非圧縮ファイルを前記子局装置に送信する、通信システム。
【請求項4】
前記子局装置は、
前記子側通信部が前記圧縮ファイルを受信した場合には、該圧縮ファイルを解凍する解凍部と、
解凍によって得られた前記親側ファイルを前記第1記憶領域に書き込む書き込み部と、
を備え、
前記書き込み部は、
前記子側通信部が前記非圧縮ファイルを受信した場合には、該非圧縮ファイルを前記第1記憶領域に書き込む、請求項3に記載の通信システム。
【請求項5】
前記子側通信部は、
前記子局装置の解凍機能の有無を示す機能情報を前記親局装置に送信し、
前記親側通信部は、
前記子局装置が解凍機能を有さないことを、前記子局装置からの前記機能情報が示す場合には、前記圧縮ファイルを前記子局装置に送信せず、前記非圧縮ファイルを前記子局装置に送信する、請求項3または請求項4に記載の通信システム。
【請求項6】
互いに通信を行う親局装置と子局装置とを有する通信システムであって、
前記子局装置は、
子側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部と、
前記子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得するバージョン取得部と、
前記子側バージョン情報を前記親局装置に送信する子側通信部と、
を備え、
前記親局装置は、
サーバから親側ファイルを取得する取得部と、
前記子局装置から前記子側バージョン情報を受信する親側通信部と、
前記親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、取得した前記親側バージョン情報、および、前記親側通信部が受信した前記子側バージョン情報に基づいて、前記親側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成による更新対象となる、前記子側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成を特定する更新対象特定部と、
前記親側ファイルにおける前記複数のデータ構成のうちの前記1以上のデータ構成を含む更新対象ファイルを圧縮する圧縮部と、
を備え、
前記親側通信部は、
圧縮された前記更新対象ファイルである圧縮更新対象ファイルを前記子局装置に送信し、
前記子局装置は、更に、
前記子側通信部が前記圧縮更新対象ファイルを受信した場合には、前記子側記憶部の前記第2記憶領域における空き容量が、前記圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する容量判定部と、
前記空き容量が前記第2必要容量以上である場合には、前記圧縮更新対象ファイルを解凍する解凍部と、
解凍によって得られた前記更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する書き込み部と、
を備える、通信システム。
【請求項7】
前記子局装置は、
前記空き容量が前記第2必要容量未満である場合には、前記圧縮更新対象ファイルを解凍できないことを示す情報を前記親局装置に送信するよう前記子側通信部に指示を行う結果応答部を更に備え、
前記親側通信部は、
前記圧縮更新対象ファイルを解凍できないことを示す情報を受信した場合には、圧縮されていない前記更新対象ファイルである非圧縮更新対象ファイルを前記子局装置に送信し、
前記書き込み部は、前記子側通信部が前記非圧縮更新対象ファイルを受信した場合には、前記非圧縮更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する、請求項6に記載の通信システム。
【請求項8】
互いに通信を行う親局装置と子局装置とを有する通信システムであって、
前記子局装置は、
子側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部と、
前記子側記憶部の前記第2記憶領域における空き容量を特定する容量特定部と、
前記子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得するバージョン取得部と、
前記空き容量を示す容量情報、および、前記子側バージョン情報を、前記親局装置に送信する子側通信部と、
を備え、
前記親局装置は、
サーバから親側ファイルを取得する取得部と、
前記子局装置から前記容量情報および前記子側バージョン情報を受信する親側通信部と、
前記親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、取得した前記親側バージョン情報、および、前記親側通信部が受信した前記子側バージョン情報に基づいて、前記親側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成による更新対象となる、前記子側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成を特定する更新対象特定部と、
前記親側ファイルにおける前記複数のデータ構成のうちの前記1以上のデータ構成を含む更新対象ファイルを圧縮する圧縮部と、
前記容量情報が示す前記空き容量が、圧縮された前記更新対象ファイルである圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する更新可否判定部と、
を備え、
前記親側通信部は、
前記空き容量が前記第2必要容量以上である場合には、前記圧縮更新対象ファイルを前記子局装置に送信し、前記空き容量が前記第2必要容量未満である場合には、圧縮されていない前記更新対象ファイルである非圧縮更新対象ファイルを前記子局装置に送信する、通信システム。
【請求項9】
前記子局装置は、
前記子側通信部が前記圧縮更新対象ファイルを受信した場合には、前記圧縮更新対象ファイルを解凍する解凍部と、
解凍によって得られた前記更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する書き込み部と、
を備え
前記書き込み部は、
前記子側通信部が、前記非圧縮更新対象ファイルを受信した場合には、該非圧縮更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する、請求項8に記載の通信システム。
【請求項10】
前記子側通信部は、
前記子局装置の解凍機能の有無を示す機能情報を前記親局装置に送信し、
前記親側通信部は、
前記子局装置が解凍機能を有さないことを、前記子局装置からの前記機能情報が示す場合には、前記圧縮更新対象ファイルを前記子局装置に送信せず、前記非圧縮更新対象ファイルを前記子局装置に送信する、請求項8または請求項9に記載の通信システム。
【請求項11】
互いに通信を行う親局装置と子局装置とを有する通信システムであって、
前記子局装置は、
子側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部と、
前記子側記憶部の前記第2記憶領域における空き容量を特定する容量特定部と、
前記子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得するバージョン取得部と、
前記空き容量を示す容量情報、および、前記子側バージョン情報を、前記親局装置に送信する子側通信部と、
を備え、
前記親局装置は、
サーバから親側ファイルを取得する取得部と、
前記子局装置から前記容量情報および前記子側バージョン情報を受信する親側通信部と、
前記親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、取得した前記親側バージョン情報、および、前記親側通信部が受信した前記子側バージョン情報に基づいて、前記親側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成による更新対象となる、前記子側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成を特定する更新対象特定部と、
前記親側ファイルにおける前記複数のデータ構成のうちの前記1以上のデータ構成を含む更新対象ファイルを圧縮する圧縮部と、
前記容量情報が示す前記空き容量が、圧縮された前記更新対象ファイルである圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する更新可否判定部と、
前記空き容量が前記第2必要容量未満である場合には、前記圧縮更新対象ファイルのデータ量を低減させた圧縮部分ファイルを生成する圧縮変更部と、
を備え、
前記圧縮変更部は、
前記更新対象ファイルのうち、前記圧縮部分ファイルに含まれるデータ以外のデータを圧縮されない状態で含む非圧縮部分ファイルを生成し、
前記親側通信部は、
前記空き容量が前記第2必要容量以上であれば、前記圧縮更新対象ファイルを前記子局装置に送信し、前記空き容量が、前記圧縮部分ファイルの容量によって定まる第3必要容量以上であって、且つ、前記第2必要容量未満である場合には、前記圧縮部分ファイルと前記非圧縮部分ファイルとを前記子局装置に送信し、前記空き容量が前記第3必要容量未満である場合には、圧縮されていない前記更新対象ファイルである非圧縮更新対象ファイルを前記子局装置に送信する、通信システム。
【請求項12】
前記子局装置は、
前記子側通信部が前記圧縮更新対象ファイルと前記圧縮部分ファイルのうちのいずれかのファイルを受信した場合には、前記いずれかのファイルを解凍する解凍部と、
前記いずれかのファイルを解凍することによって得られた、圧縮されていない前記更新対象ファイルである前記非圧縮更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する書き込み部と、
を備え、
前記書き込み部は、
前記子側通信部が、前記非圧縮更新対象ファイルを受信した場合には、該非圧縮更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する、請求項11に記載の通信システム。
【請求項13】
前記圧縮変更部は、
前記容量情報が示す前記空き容量から、前記更新対象ファイルのサイズを差し引いた圧縮ファイル用容量を導出し、
前記圧縮更新対象ファイルにおける前記1以上のデータ構成のうち、少なくとも1つのデータ構成を含む圧縮データ構成グループであって、前記少なくとも1つのデータ構成によるサイズが前記圧縮ファイル用容量以下となる前記圧縮データ構成グループを探索し、
探索して得られた1以上の前記圧縮データ構成グループのうち、サイズが最大となる前記圧縮データ構成グループを前記圧縮部分ファイルとする、請求項11または請求項12に記載の通信システム。
【請求項14】
前記子側通信部は、
前記子局装置の解凍機能の有無を示す機能情報を前記親局装置に送信し、
前記親側通信部は、
前記子局装置が解凍機能を有さないことを、前記子局装置からの前記機能情報が示す場合には、前記圧縮更新対象ファイル、または、前記圧縮部分ファイルおよび前記非圧縮部分ファイルに代え、前記非圧縮更新対象ファイルを前記子局装置に送信する、請求項11または請求項12に記載の通信システム。
【請求項15】
互いに通信を行う親局装置と子局装置とを有する通信システムによる通信方法であって、
前記子局装置は、
親側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部を備え、
前記親局装置による、
前記子局装置に送信するための前記親側ファイルを圧縮する圧縮ステップと、
圧縮された前記親側ファイルである圧縮ファイルを前記子局装置に送信する親側通信ステップと、
前記子局装置による、
前記親局装置から前記圧縮ファイルを受信する子側通信ステップと、
前記子側記憶部の前記第2記憶領域における空き容量が、前記圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する容量判定ステップと、
前記空き容量が前記第1必要容量以上である場合には、前記圧縮ファイルを解凍する解凍ステップと、
解凍によって得られた前記親側ファイルを前記第1記憶領域に書き込む書き込みステップと、
前記空き容量が前記第1必要容量未満である場合には、前記圧縮ファイルを解凍できないことを示す情報を前記親局装置に送信する結果応答ステップと、
を含む、通信方法。
【請求項16】
互いに通信を行う親局装置と子局装置とを有する通信システムによる通信方法であって、
前記子局装置は、
前記親局装置からの親側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部を備え、
前記子局装置による、
前記子側記憶部の前記第2記憶領域における空き容量を特定する容量特定ステップと、
前記空き容量を示す容量情報を前記親局装置に送信する子側通信ステップと、
を含み、
前記親局装置による、
前記容量情報を受信する親側通信ステップと、
前記親側ファイルを圧縮する圧縮ステップと、
前記容量情報が示す前記空き容量が、圧縮された前記親側ファイルである圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する更新可否判定ステップと、
前記空き容量が前記第1必要容量以上である場合には、前記圧縮ファイルを前記子局装置に送信し、前記空き容量が前記第1必要容量未満である場合には、圧縮されていない前記親側ファイルである非圧縮ファイルを前記子局装置に送信するステップと、
を含む、通信方法。
【請求項17】
互いに通信を行う親局装置と子局装置とを有する通信システムであって、
前記子局装置は、
子側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部を備え、
前記子局装置による、
前記子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得するバージョン取得ステップと、
前記子側バージョン情報を前記親局装置に送信する子側通信ステップと、
を含み
前記親局装置による、
サーバから親側ファイルを取得する取得部ステップ、
前記子局装置から前記子側バージョン情報を受信する親側通信ステップと、
前記親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、前記親側バージョン情報および前記子側バージョン情報に基づいて、前記親側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成による更新対象となる、前記子側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成を特定する更新対象特定ステップと、
前記親側ファイルにおける前記複数のデータ構成のうちの前記1以上のデータ構成を含む更新対象ファイルを圧縮する圧縮ステップと、
圧縮された前記更新対象ファイルである圧縮更新対象ファイルを前記子局装置に送信するステップと、
前記子局装置による、
前記圧縮更新対象ファイルを受信した場合には、前記子側記憶部の前記第2記憶領域における空き容量が、前記圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する容量判定ステップと、
前記空き容量が前記第2必要容量以上である場合には、前記圧縮更新対象ファイルを解凍する解凍ステップと、
解凍によって得られた前記更新対象ファイルによって、前記子側ファイルのうちの前記更新対象の前記1以上のデータ構成を更新する書き込みステップと、
を含む、通信方法。
【請求項18】
互いに通信を行う親局装置と子局装置とを有する通信システムによる通信方法あって、
前記子局装置は、
子側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部を備え、
前記子局装置による、
前記子側記憶部の前記第2記憶領域における空き容量を特定する容量特定ステップと、
前記子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得するバージョン取得ステップと、
前記空き容量を示す容量情報、および、前記子側バージョン情報を、前記親局装置に送信する子側通信ステップと、
を含み、
前記親局装置による、
サーバから親側ファイルを取得する取得ステップと、
前記子局装置から前記容量情報および前記子側バージョン情報を受信する親側通信ステップと、
前記親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、前記親側バージョン情報および前記子側バージョン情報に基づいて、前記親側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成による更新対象となる、前記子側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成を特定する更新対象特定ステップと、
前記親側ファイルにおける前記複数のデータ構成のうちの前記1以上のデータ構成を含む更新対象ファイルを圧縮する圧縮ステップと、
前記容量情報が示す前記空き容量が、圧縮された前記更新対象ファイルである圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する更新可否判定ステップと、
前記空き容量が前記第2必要容量以上である場合には、前記圧縮更新対象ファイルを前記子局装置に送信し、前記空き容量が前記第2必要容量未満である場合には、圧縮されていない前記更新対象ファイルである非圧縮更新対象ファイルを前記子局装置に送信するステップと、
を含む通信方法。
【請求項19】
互いに通信を行う親局装置と子局装置とを有する通信システムによる通信方法であって、
前記子局装置は、
子側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部を備え、
前記子局装置による、
前記子側記憶部の前記第2記憶領域における空き容量を特定する容量特定ステップと、
前記子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得するバージョン取得ステップと、
前記空き容量を示す容量情報、および、前記子側バージョン情報を、前記親局装置に送信する子側通信ステップと、
を含み、
前記親局装置による、
サーバから親側ファイルを取得する取得ステップと、
前記子局装置から前記容量情報および前記子側バージョン情報を受信する親側通信ステップと、
前記親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、前記親側バージョン情報および前記子側バージョン情報に基づいて、前記親側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成による更新対象となる、前記子側ファイルにおける前記複数のデータ構成のうちの1以上のデータ構成を特定する更新対象特定ステップと、
前記親側ファイルにおける前記複数のデータ構成のうちの前記1以上のデータ構成を含む更新対象ファイルを圧縮する圧縮部と、
前記容量情報が示す前記空き容量が、圧縮された前記更新対象ファイルである圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する更新可否判定ステップと、
前記空き容量が前記第2必要容量未満である場合には、前記圧縮更新対象ファイルのデータ量を低減させた圧縮部分ファイルを生成する圧縮変更ステップと、
前記更新対象ファイルのうち、前記圧縮部分ファイルに含まれるデータ以外のデータを圧縮されない状態で含む非圧縮部分ファイルを生成するステップと、
前記空き容量が前記第2必要容量以上であれば、前記圧縮更新対象ファイルを前記子局装置に送信し、前記空き容量が、前記圧縮部分ファイルの容量によって定まる第3必要容量以上であって、且つ、前記第2必要容量未満である場合には、前記圧縮部分ファイルと前記非圧縮部分ファイルとを前記子局装置に送信し、前記空き容量が前記第3必要容量未満である場合には、圧縮されていない前記更新対象ファイルである非圧縮更新対象ファイルを前記子局装置に送信するステップと、
を含む通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信関係がある親装置と子装置を含み、子装置のファームウェアの更新を行う通信システムおよび通信方法に関するものである。
【背景技術】
【0002】
従来、EPON(Ethernet Passive Optical Network)などによるシステムにおけるONU(Optical Network Unit)などの子局装置のファームウェアの更新方法として、以下の方法が知られている(Ethernetは登録商標)。まず、サーバが、OLT(Optical Line Terminal)などの親局装置に子局装置のファームウェアファイルを転送する。親局装置は、サーバから転送されたファームウェアファイルを子局装置に転送し、子局装置は、受信したファームウェアファイルによってファームウェアを更新する。
【0003】
ここで、EPONなどでは、1つの親局装置に複数の子局装置が接続される。そして、複数の子局装置のファームウェアの更新の際、親局装置は各子局装置にファームウェアファイルを転送する。ファームウェアファイルの転送には、親局装置から子局装置へのデータの伝送経路上の帯域が使用され、ユーザが使用可能な帯域は、ファームウェアファイルの転送で使用される帯域の分、減少する。ファームウェアファイルのサイズ、すなわち、ファームウェアファイルのデータ量が大きい場合には、転送に時間がかかり、その間、ユーザは制限された帯域しか使用できず、利便性が低下する。更に、親局装置からファームウェアファイルを受信した子局装置は、自機のファームウェア更新処理を行うため、通常動作を行うことができない。
【0004】
このような状況下において、転送されたファームウェアファイルの一部分を揮発性メモリに書き込み、他の部分を不揮発性メモリに書き込むことによって、受信したファームウェアファイルの更新処理に係る時間を短縮する方法が知られている(例えば、特許文献1参照)。より詳細には、不揮発性メモリへの書き込みには時間がかかるため、ファームウェアファイルのうちの一部分を揮発性メモリに書き込むことによって、書き込み速度を向上させる。これにより、ファームウェアファイルの更新時間の短縮が図られる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2022-6935号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術は、子局装置におけるファームウェアの更新処理の時間短縮につながる。ところが、親局装置から子局装置へのファームウェアファイルの転送時間に関する課題が残る。ファームウェアファイルを転送中に、子局装置の電源が断たれた場合、または、親局装置と子局装置との間の通信が遮断された場合等には、親局装置は、再度、ファームウェアファイルを子局装置に最初から転送しなければならなくなり得る。このような電源または通信の遮断などの事象は、ファームウェアファイルの転送時間が長いほど発生する可能性が高くなるため、ファームウェアの転送時間の短縮が望まれている。
【0007】
近年では、Linux(登録商標)をベースとしたファームウェアの開発が増えている。Linux(登録商標)をベースとして開発されたファームウェアには、多機能なプログラムが組み込まれているため、ファームウェアファイルのサイズが増大している。そのようなサイズの大きいファームウェアを更新する場合、ファームウェアファイルの転送に時間を要するため、転送時間の短縮への要請はより高まっている。
【0008】
本開示は、上記課題を解決するためになされたものであり、ファイルの転送時間を短縮する通信システムおよび通信方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示に係る通信システムは、互いに通信を行う親局装置と子局装置とを有する通信システムであって、前記親局装置は、前記子局装置に送信するための親側ファイルを圧縮する圧縮部と、前記圧縮部によって圧縮された前記親側ファイルである圧縮ファイルを前記子局装置に送信する親側通信部と、を備え、前記子局装置は、前記親局装置から前記圧縮ファイルを受信する子側通信部と、前記親側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部と、前記子側記憶部の前記第2記憶領域における空き容量が、前記圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する容量判定部と、前記空き容量が前記第1必要容量以上である場合には、前記圧縮ファイルを解凍する解凍部と、解凍によって得られた前記親側ファイルを前記第1記憶領域に書き込む書き込み部と、前記空き容量が前記第1必要容量未満である場合には、前記圧縮ファイルを解凍できないことを示す情報を前記親局装置に送信するよう前記子側通信部に指示を行う結果応答部と、を備える。
【0010】
本開示に係る通信方法は、互いに通信を行う親局装置と子局装置とを有する通信システムによる通信方法であって、前記子局装置は、親側ファイルが記憶される第1記憶領域、および、該第1記憶領域以外の第2記憶領域を有する子側記憶部を備え、前記親局装置による、前記子局装置に送信するための前記親側ファイルを圧縮する圧縮ステップと、圧縮された前記親側ファイルである圧縮ファイルを前記子局装置に送信する親側通信ステップと、前記子局装置による、前記親局装置から前記圧縮ファイルを受信する子側通信ステップと、前記子側記憶部の前記第2記憶領域における空き容量が、前記圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する容量判定ステップと、前記空き容量が前記第1必要容量以上である場合には、前記圧縮ファイルを解凍する解凍ステップと、解凍によって得られた前記親側ファイルを前記第1記憶領域に書き込む書き込みステップと、前記空き容量が前記第1必要容量未満である場合には、前記圧縮ファイルを解凍できないことを示す情報を前記親局装置に送信する結果応答ステップと、を含む。
【発明の効果】
【0011】
本開示に係る通信システムおよび通信方法によれば、親局装置は親側ファイルを圧縮して得られる圧縮ファイルを子局装置に送信する。これにより、ファイルの転送時間の短縮が可能になる。
【図面の簡単な説明】
【0012】
図1】実施の形態1に係る通信システムの構成の一例を示す模式図である。
図2】実施の形態1におけるOLTの機能ブロックを例示する図である。
図3】実施の形態1における第1更新用ファイルを例示する模式図である。
図4】実施の形態1におけるONUの機能ブロックを例示する図である。
図5】実施の形態1におけるOLTのハードウェア構成を例示する模式図である。
図6】実施の形態1におけるONUのハードウェア構成を例示する模式図である。
図7】実施の形態1に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。
図8】実施の形態1に係る通信システムのONUによるファームウェア更新処理を例示するフローチャートである。
図9】実施の形態2に係るOLTの機能ブロックを例示する図である。
図10】実施の形態2におけるONUの機能ブロックを例示する図である。
図11】実施の形態2に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。
図12】実施の形態2に係る通信システムのOLTによるファームウェアファイルの送信処理を例示するフローチャートである。
図13】実施の形態3に係るOLTの機能ブロックを例示する図である。
図14】実施の形態3に係るONUの機能ブロックを例示する図である。
図15】実施の形態3に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。
図16】実施の形態3に係る通信システムのOLTによる更新対象ファイルの送信処理の前半部分を例示するフローチャートである。
図17】実施の形態3に係る通信システムのOLTによる更新対象ファイルの送信処理の後半部分を例示するフローチャートである。
図18】実施の形態4におけるOLTの機能ブロックを例示する図である。
図19】実施の形態4におけるONUの機能ブロックを例示する図である。
図20】実施の形態4に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。
図21】実施の形態4に係る通信システムのOLTによる更新対象ファイルの送信処理を例示するフローチャートである。
図22】実施の形態4におけるONUによるファームウェア更新処理を例示するフローチャートである。
図23】実施の形態4における圧縮変更部による、圧縮更新対象ファイルにおけるデータの削減処理の第1の例を示すフローチャートである。
図24】実施の形態4における圧縮変更部による、圧縮更新対象ファイルにおけるデータの削減処理の第2の例を示すフローチャートである。
図25】実施の形態4における圧縮更新対象ファイルのデータの削減処理の第2の例について説明するための図である。
図26】実施の形態4における圧縮変更部による、圧縮更新対象ファイルにおけるデータの削減処理の第3の例を示すフローチャートである。
図27】実施の形態4における圧縮更新対象ファイルのデータ削減処理の第3の例について説明するための図である。
【発明を実施するための形態】
【0013】
実施の形態1.
図1は、実施の形態1に係る通信システムの構成の一例を示す模式図である。なお、実施の形態1では、通信システム100として、EPON(Ethernet Passive Optical Network)によるシステムを例に挙げて説明する。通信システム100は、OLT(Optical Line Terminal)1と、1以上のONU(Optical Network Unit)3とを有する。OLT1は親局装置の例であり、ONU3は子局装置の例である。
【0014】
OLT1と、1以上のONU3とは、光スプリッタ5を介して接続され、有線通信を行う。光スプリッタ5は、OLT1からONU3への光信号を分岐し、ONU3からOLT1への光信号を集約する。
【0015】
OLT1は、サーバ6と通信し、サーバ6からONU3のファームウェアを更新するためのファームウェアファイルを取得する。サーバ6からのファームウェアファイルは、親側ファイルの例である。実施の形態1のOLT1は、ファームウェアファイルを取得した場合には、当該ファームウェアファイルを圧縮し、圧縮後のファームウェアファイルをONU3に送信する。以下では圧縮された状態の親側ファイルを圧縮ファイルと記載する場合もある。また、以下では、圧縮されていない状態の親側ファイルを非圧縮ファイルと記載する場合もある。
【0016】
図2は、実施の形態1におけるOLTの機能ブロックを例示する図である。OLT1は、取得部10と親側記憶部11と圧縮部12と親側通信部13とを備える。取得部10は、サーバ6と通信し、サーバ6からファームウェアファイルを取得する。親側記憶部11は、取得部10が取得したファームウェアファイルを記憶する。圧縮部12は、ファームウェアファイルを圧縮する。親側通信部13は、圧縮部12が圧縮したファームウェアファイルにヘッダ情報を付加した第1更新用ファイルをONU3に送信する。
【0017】
図3は、実施の形態1における第1更新用ファイルを例示する模式図である。図3に示すファームウェアファイルには、デバイスツリーと、OS(Operating System)と、SDK(Software Development Kit)と、APL(Application Software)とが含まれる。以下では、数値または文字等のデータによって構成される、デバイスツリー、OS、SDK、およびAPL等の各々をデータ構成と記載する場合もある。図3に示すヘッダ情報には、サイズ情報と、圧縮識別情報と、データ構成情報と、デバイスツリーバージョン情報と、OSバージョン情報と、SDKバージョン情報と、APLバージョン情報とが含まれる。
【0018】
サイズ情報は、ファームウェアファイルのサイズを示す情報である。なお、サイズとは、データ量に相当する。サイズ情報は、ファームウェアファイルが圧縮されていない場合には、非圧縮ファイルのサイズを示す情報である。一方、ファームウェアファイルが圧縮されている場合には、サイズ情報は、圧縮ファイルのサイズを示す情報と、非圧縮ファイルのサイズを示す情報とを含む。あるいは、ファームウェアファイルが圧縮されている場合におけるサイズ情報は、圧縮ファイルのサイズと、非圧縮ファイルのサイズとの合計を示す情報である。圧縮識別情報は、ファームウェアファイルの圧縮の有無を示す情報である。圧縮識別情報は、データ構成ごとの圧縮の有無を示してもよい。データ構成情報は、ファームウェアファイルに含まれるデータ構成を示す情報である。
【0019】
デバイスツリーバージョン情報は、ファームウェアファイルのデバイスツリーのバージョンを示す情報であり、OSバージョン情報は、ファームウェアファイルのOSのバージョンを示す情報である。SDKバージョン情報は、ファームウェアファイルのSDKのバージョンを示す情報であり、APLバージョン情報は、ファームウェアファイルのAPLのバージョンを示す情報である。以下では、デバイスツリーバージョン情報と、OSバージョン情報と、SDKバージョン情報と、APLバージョン情報など、ファームウェアファイルに含まれるデータ構成のバージョンを示す、ヘッダ情報内の情報をヘッダ内バージョン情報と記載する場合もある。
【0020】
図4は、実施の形態1におけるONUの機能ブロックを例示する図である。ONU3は、子側通信部30と子側記憶部31とヘッダ解析部32と容量判定部33と解凍部34と書き込み部35と結果応答部36とを備える。
【0021】
子側通信部30はOLT1と通信する。子側通信部30は、OLT1から第1更新用ファイルを受信する。
【0022】
子側記憶部31は不揮発性メモリを含む。当該不揮発性メモリには、ファームウェアファイルが記憶される。以下では、不揮発性メモリにおけるファームウェアファイルが記憶される領域を第1記憶領域と記載する場合もある。子側記憶部31は、揮発性メモリを含んでもよい。子側記憶部31の第1記憶領域以外の記憶領域である第2記憶領域には、子側通信部30が受信した第1更新用ファイルなどが保存される。なお、後述するように、実施の形態1におけるONU3は、OLT1から、非圧縮ファイルにヘッダ情報が付加された第2更新用ファイルを受信する場合もあり、この場合には、子側記憶部31の第2記憶領域には第2更新用ファイルが保存される。
【0023】
ヘッダ解析部32はヘッダ情報の解析を行い、サイズ情報および圧縮識別情報等の情報を得る。また、ヘッダ解析部32は、解析によって得られた圧縮識別情報からファームウェアファイルが圧縮されているか否かを判定する。容量判定部33は、ヘッダ解析部32による判定結果が、ファームウェアの圧縮、すなわち、ファームウェアファイルが圧縮されていることを示す場合には、第1更新用ファイルに含まれる圧縮ファイルを解凍するために必要な空き容量が、子側記憶部31の第2記憶領域に存在するか否かを判定する。以下では、圧縮ファイルを解凍するために最低限必要な空き容量を第1必要容量と記載する場合もある。なお、圧縮ファイルを解凍すると、第2記憶領域に圧縮ファイルと非圧縮ファイルとが記憶された状態となる。子側通信部30による第1更新用ファイルの受信後、第2記憶領域に圧縮ファイルが記憶されるので、圧縮ファイルの解凍のためには、非圧縮ファイルのデータ量以上の空き容量が第2記憶領域において必要となる。そのため、実施の形態1における第1必要容量は、非圧縮ファイルのデータ量と等しい量である。なお、以下、空き容量と記載する場合には、子側記憶部31の第2記憶領域における空き容量を指すものとする。
【0024】
解凍部34は、子側記憶部31の空き容量が第1必要容量以上である場合には、圧縮ファイルを解凍する。書き込み部35は、解凍によって得られたファームウェアファイルを子側記憶部31の不揮発性メモリの第1記憶領域に書き込む。これにより、ONU3のファームウェアは更新される。一方、解凍部34は、子側記憶部31の空き容量が第1必要容量未満である場合には、圧縮ファイルを解凍しない。また、この場合には、書き込み部35は、圧縮ファイルを第1記憶領域に書き込まない。そのため、このままでは、ファームウェアファイルの更新がされない状態となるが、実施の形態1における結果応答部36は、空き容量が第1必要容量未満である場合においても、ONU3におけるファームウェアの更新を可能にするため、以下の処理を行う。
【0025】
結果応答部36は、子側記憶部31の空き容量が第1必要容量未満であって、ファームウェアファイルの更新が行われない場合には、子側記憶部31の容量不足によって更新処理が行えないことを示す更新不可情報を送信するよう子側通信部30に指示を行う。子側通信部30は、結果応答部36からの指示に基づいて更新不可情報をOLT1に送信する。OLT1は、更新不可情報をONU3から受信した場合には、非圧縮ファイルにヘッダ情報を付加した第2更新用ファイルをONU3に送信する。書き込み部35は、子側通信部30が第2更新用ファイルを受信した場合には、当該第2更新用ファイルに含まれる非圧縮ファイルを第1記憶領域に書き込む。これにより、ONU3はファームウェアを更新することができる。
【0026】
結果応答部36は、子側記憶部31の空き容量が第1必要容量以上である場合には、ファームウェアファイルの更新が可能であることを示す情報をOLT1に送信するよう子側通信部30に指示を行ってもよい。あるいは、結果応答部36は、ファームウェアファイルの更新が完了した場合には、更新完了を示す情報をOLT1に送信するよう子側通信部30に指示を行ってもよい。
【0027】
以下、図5図6を参照して、OLT1とONU3の各ハードウェア構成について説明する。図5は、実施の形態1におけるOLTのハードウェア構成を例示する模式図である。図6は、実施の形態1におけるONUのハードウェア構成を例示する模式図である。図5に示すように、OLT1は、第1バス20によって接続された、第1プロセッサ21と第1メモリ22と第1通信インターフェース回路23とサーバ通信用インターフェース回路24とによって構成することができる。第1プロセッサ21は、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)等である。第1メモリ22は、不揮発性のRAM(Random Access Memory)、または、書き込み可能なROM(Read Only Memory)である。なお、第1メモリ22には、揮発性のRAM、または、書き込みができないROM等が含まれてもよい。第1通信インターフェース回路23は、例えば、PON(Passive Optical Network)による通信を可能にするインターフェース回路である。サーバ通信用インターフェース回路24は、サーバ6との間の有線通信または無線通信を可能にするためのインターフェース回路である。
【0028】
取得部10の機能は、サーバ通信用インターフェース回路24によって実現可能である。親側記憶部11の機能は、第1メモリ22によって実現可能である。圧縮部12の機能は、第1プロセッサ21が第1メモリ22に記憶されている各種プログラムを読み出して実行することにより実現可能である。第1通信インターフェース回路23の機能は、第1通信インターフェース回路23、または、第1通信インターフェース回路23と第1プロセッサ21との組み合わせによって実現可能である。OLT1は、その全部または一部を専用のハードウェアとしてもよい。
【0029】
ONU3は、第2バス40によって接続された、第2プロセッサ41と第2メモリ42と第3メモリ43と第2通信インターフェース回路44とによって構成することができる。第2プロセッサ41は、CPUまたはMPU等である。第2メモリ42は、不揮発性のRAM、または、書き込み可能なROMである。第2メモリ42は、子側記憶部31の上記不揮発性メモリの例であり、第1記憶領域を有する。第3メモリ43は揮発性のRAMである。第3メモリ43は第2記憶領域を有する。第3メモリ43には、不揮発性のRAM、またはROMが含まれてもよい。また、第3メモリ43が、不揮発性のRAM、または、書き込み可能なROMを含む場合には、第2メモリ42と第3メモリ43は一体のメモリであってもよい。第2通信インターフェース回路44は、例えばPONによる通信を可能にするインターフェース回路である。
【0030】
子側通信部30の機能は、第2通信インターフェース回路44、または、第2通信インターフェース回路44と第2プロセッサ41との組み合わせによって実現可能である。子側記憶部31の機能は、第2メモリ42と第3メモリ43によって実現可能である。ヘッダ解析部32と容量判定部33と解凍部34と書き込み部35と結果応答部36の各機能は、第2プロセッサ41が、第2メモリ42および第3メモリ43の両方および一方に記憶されている各種プログラムを読み出して実行することにより実現可能である。ONU3は、その全部または一部を専用のハードウェアとしてもよい。
【0031】
以下、実施の形態1に係る通信システム100による処理について図7図8を参照して説明する。図7は、実施の形態1に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。図8は、実施の形態1に係る通信システムのONUによるファームウェア更新処理を例示するフローチャートである。
【0032】
図7のステップS1においてOLT1は、ファームウェアの更新を要求する更新要求信号をONU3に送信する。ステップS2においてONU3は、当該更新要求信号に応答するための更新応答信号をOLT1に送信する。なお、当該更新要求信号の送信は、OLT1の親側通信部13によって実行され、当該更新応答信号の送信は、ONU3の子側通信部30によって実行される。
【0033】
ステップS3~ステップS6においてOLT1は、第1更新用ファイルをフレーム毎にONU3に送信し、ONU3は、フレームを受信したことを示すフレーム応答信号を、フレームを受信する毎にOLT1に送信する。まず、ステップS3においてOLT1は、第1更新用ファイルのうち最初のフレームをONU3に送信する。ステップS4においてONU3は、当該最初のフレームを受信したことを示すフレーム応答信号をOLT1に送信する。ステップS3以降、OLT1が第1更新用ファイルにおけるフレームの順番に沿ってフレームをONU3に送信する処理と、ONU3が当該フレームを受信したことを示すフレーム応答信号をOLT1に送信する処理とが繰り返される。そして、ステップS5においてOLT1は、最後のフレームをONU3に送信し、ステップS6においてONU3は、当該最後のフレームを受信したことを示すフレーム応答信号をOLT1に送信する。なお、フレームの送信処理は、親側通信部13によって実行され、フレームの受信毎のフレーム応答信号の送信処理は、子側通信部30によって実行される。ONU3はOLT1からフレームを受信する毎に受信したファイルを子側記憶部31の第2記憶領域に保存する。
【0034】
図8のステップS11の処理は、上記ステップS5以降においてONU3が全てのフレームをOLT1から受信した場合、すなわち、ONU3が最後のフレームを受信した場合においてONU3が実行する処理である。なお、ONU3は、ステップS5より前であって、ステップS3以降に、ヘッダ情報を構成する全てのフレームを受信した場合に、ステップS11の処理を実行してもよい。この場合には、ONU3は、ステップS5以降において最後のフレームを受信後、後述するステップS13とステップS14の各処理を行う。ステップS11においてヘッダ解析部32は、子側記憶部31の第2記憶領域に記憶されたヘッダ情報を解析し、解析によって得られた圧縮識別情報から、OLT1からのファームウェアファイルが圧縮されているか否かを判定する。OLT1からのファームウェアファイルが圧縮されていない場合には(ステップS11:NO)、ONU3は処理をステップS14に移す。
【0035】
OLT1からのファームウェアファイルが圧縮されている場合には(ステップS11:YES)、ステップS12において容量判定部33は、ヘッダ解析部32の解析によって得られたサイズ情報に基づいて、空き容量が第1必要容量以上か否かを判定する。空き容量が第1必要容量以上である場合には(ステップS12:YES)、ステップS13において解凍部34は、圧縮ファイルを解凍する。圧縮ファイルが解凍されると、当該圧縮ファイルと非圧縮ファイルとが第2記憶領域に記憶された状態となる。ステップS13の処理後、ONU3は処理をステップS14に移す。
【0036】
ステップS14において書き込み部35は、第2記憶領域に記憶された非圧縮ファイルによって、第1記憶領域に記憶されたファームウェアを更新する。ステップS14の処理後、通信システム100におけるファームウェアの更新処理は終了する。
【0037】
子側記憶部31の空き容量が第1必要容量未満である場合には(ステップS12:NO)、ステップS15において子側通信部30は、結果応答部36からの指示に基づいて、ファームウェアの更新が行えないことを示す更新不可情報をOLT1に送信する。また、ONU3は第2記憶領域に記憶されている第1更新用ファイルを破棄する。
【0038】
ステップS15の処理後、ONU3はステップS11以降の処理を行う。なお、ステップS15の処理後、通信システム100は、第1更新用ファイルを第2更新用ファイルに読み替えたステップS3~ステップS6の処理を実行する。すなわち、ステップS3~ステップS6においてOLT1は、第2更新用ファイルをフレーム毎にONU3に送信し、ONU3は、第2更新用ファイルのフレームを受信する毎にフレーム応答信号をOLT1に送信する。
【0039】
以下、実施の形態1に係る通信システム100による効果について述べる。実施の形態1に係る通信システム100は、互いに通信を行う親局装置と子局装置とを有する。親局装置は、圧縮部12と親側通信部13とを備える。圧縮部12は、子局装置に送信するための親側ファイルを圧縮する。親側通信部13は、圧縮部12によって圧縮された親側ファイルである圧縮ファイルを子局装置に送信する。子局装置は、子側通信部30と子側記憶部31と容量判定部33と解凍部34と書き込み部35と結果応答部36とを備える。子側通信部30は、親局装置から圧縮ファイルを受信する。子側記憶部31は、親側ファイルが記憶される第1記憶領域、および、第1記憶領域以外の第2記憶領域を有する。容量判定部33は、子側記憶部31の第2記憶領域における空き容量が、圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する。解凍部34は、空き容量が第1必要容量以上である場合には、圧縮ファイルを解凍する。書き込み部35は、解凍によって得られた親側ファイルを第1記憶領域に書き込む。結果応答部は、空き容量が第1必要容量未満である場合には、圧縮ファイルを解凍できないことを示す情報を親局装置に送信するよう子側通信部30に指示を行う。
【0040】
上記構成によれば、親局装置は、親側ファイルを圧縮して得られる圧縮ファイルを子局装置に送信する。これにより、親局装置から子局装置へファイルを送信する時間が短縮される。また、子局装置は、第2記憶領域における空き領域の容量である空き容量が、圧縮ファイルの解凍に必要な第1必要容量以上か否かを判定し、空き容量が第1必要容量以上である場合に圧縮ファイルを解凍する。そして、子局装置は、解凍後の親側ファイルを第1記憶領域に書き込む。子局装置は、空き容量が第1必要容量未満である場合には、圧縮ファイルを解凍できないことを示す情報を親局装置に送信する。これにより、親局装置は、子局装置に非圧縮ファイルを送信する必要があると判定可能になる。従って、親局装置による非圧縮ファイルの送信が促され、子局装置は非圧縮ファイルを取得することによって、子側記憶部31に親側ファイルの書き込みを行うことができる。
【0041】
実施の形態1における親側通信部13は、圧縮ファイルを解凍できないことを示す情報を受信した場合には、圧縮されていない親側ファイルである非圧縮ファイルを子局装置に送信する。書き込み部35は、子側通信部30が非圧縮ファイルを受信した場合には、第2記憶領域に記憶された非圧縮ファイルを第1記憶領域に書き込む。これにより、子局装置は、第1記憶領域に記憶されたファームウェアファイルの更新が可能になる。
【0042】
実施の形態2.
以下、実施の形態2に係る通信システム100について詳述する。なお、実施の形態2では、実施の形態1における構成要素と同様の構成要素に対し、同一の符号を付すものとする。また、実施の形態2において、実施の形態1における構成と同様の構成、および、実施の形態1における機能と同様の機能等については、特段の事情がない限り説明を省略する。
【0043】
実施の形態2の通信システム100の構成は、実施の形態1と同様に図1で例示される。実施の形態2に係るOLT1のハードウェア構成は、実施の形態1と同様に図5で例示される。実施の形態2に係るONU3のハードウェア構成は、実施の形態1と同様に図6で例示される。
【0044】
図9は、実施の形態2に係るOLTの機能ブロックを例示する図である。図10は、実施の形態2におけるONUの機能ブロックを例示する図である。図9に示すように、実施の形態2におけるOLT1は、図2に例示される構成に加え、更に更新可否判定部14を備える。更新可否判定部14の機能は、上述の第1プロセッサ21が第1メモリ22に記憶されている各種プログラムを読み出して実行することにより実現可能である。図10に示すように、実施の形態2におけるONU3は、図4に示される容量判定部33に代え、容量特定部37を備える。容量特定部37の機能は、上述の第2プロセッサ41が、第2メモリ42と第3メモリ43の両方または一方に記憶されている各種プログラムを読み出して実行することにより実現可能である。なお、実施の形態2におけるONU3は結果応答部36を含まないものでもよい。
【0045】
更新可否判定部14は、取得部10が取得したファームウェアファイルのサイズを特定する。また、更新可否判定部14は、空き容量を示す容量情報をONU3に要求する容量要求情報を、当該ONU3に送信するよう親側通信部13に指示を行う。なお、空き容量とは、子側記憶部31の第2記憶領域における空き容量である。親側通信部13は、更新可否判定部14の指示に基づいてONU3に容量要求情報を送信する。
【0046】
容量特定部37は、子側通信部30が容量要求情報を受信した場合には、空き容量を特定する。子側通信部30は、容量特定部37が特定した容量を示す容量情報をOLT1に送信する。
【0047】
更新可否判定部14は、親側通信部13が受信した容量情報が示す空き容量が第1必要容量以上であるか否かを判定する。なお、実施の形態2における第1必要容量は、圧縮ファイルのサイズと、非圧縮ファイルのサイズと、ヘッダ情報のサイズとの和に相当する。あるいは、実施の形態2における第1必要容量は、圧縮ファイルのサイズと、非圧縮ファイルのサイズとの和に相当する。
【0048】
容量情報が示す空き容量が第1必要容量以上である場合には、親側通信部13は、第1更新用ファイルをONU3に送信する。容量情報が示す空き容量が第1必要容量未満である場合には、親側通信部13は、第2更新用ファイルをONU3に送信する。
【0049】
子側記憶部31の第2記憶領域には、子側通信部30が受信した第1更新用ファイルまたは第2更新用ファイルが記憶される。ヘッダ解析部32は、第2記憶領域に記憶された第1更新用ファイルまたは第2更新用ファイルにおけるヘッダ情報の解析によって得られた圧縮識別情報から、子側通信部30が受信したファームウェアファイルが圧縮されているか否かを判定する。解凍部34は、ファームウェアファイルが圧縮されていると判定された場合には、解凍処理を行う。書き込み部35は、解凍部34による解凍処理によって得られた非圧縮ファイルを第1記憶領域に書き込む。なお、書き込み部35は、ファームウェアファイルが圧縮されていないと判定された場合には、圧縮されていない当該ファームウェアファイルである非圧縮ファイルを第1記憶領域に書き込む。
【0050】
以下、実施の形態2に係る通信システム100による処理について図11図12を参照して説明する。図11は、実施の形態2に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。図12は、実施の形態2に係る通信システムのOLTによるファームウェアファイルの送信処理を例示するフローチャートである。
【0051】
図11のステップS21においてOLT1は、容量要求情報に対応する容量要求信号をONU3に送信する。ステップS22においてONU3は、容量情報に対応する容量信号をOLT1に送信する。ステップS22の処理後であって、後述するステップS35またはステップS36の処理以後において通信システム100は、図7に示されるステップS1~ステップS6の処理を実行する。
【0052】
図12のステップS31において更新可否判定部14は、圧縮前のファームウェアファイルのサイズを特定する。このとき、更新可否判定部14は、特定したサイズを示す情報を親側記憶部11に保存する。ステップS32において更新可否判定部14は、圧縮部12によって圧縮されたファームウェアファイルのサイズを特定する。このとき、更新可否判定部14は、特定したサイズを示す情報を親側記憶部11に保存する。
【0053】
図12におけるステップS33の処理は、図11のステップS22に対応し、ステップS33に先立ち、ステップS21が実行される。なお、図12のステップS31~ステップS32の処理は、ステップS21~ステップS22の処理と並行して実行されてもよいし、ステップS21もしくはステップS22の処理前もしくは処理後に実行されてもよい。
【0054】
ステップS33において親側通信部13は容量信号をONU3から受信する。ステップS34において更新可否判定部14は、容量情報が示す空き容量が第1必要容量以上か否かを判定する。空き容量が第1必要容量以上であれば(ステップS34:YES)、ステップS35において親側通信部13は第1更新用ファイルを送信する。ステップS35以降の通信システム100による処理は、第1更新用ファイルのフレーム毎の送受信と、フレーム応答信号の送受信とについての上記ステップS1~ステップS6の処理と等しい。当該ステップS6の処理後、OLT1の処理は終了する。
【0055】
空き容量が第1必要容量未満であれば(ステップS34:NO)、ステップS36において親側通信部13は第2更新用ファイルを送信する。ステップS36以降の通信システム100による処理は、第1更新用ファイルを第2更新用ファイルに読み替えた、図7に示す上述のステップS1~ステップS6の処理と等しい。当該ステップS6の処理後、OLT1の処理は終了する。
【0056】
実施の形態2におけるONU3によるファームウェア更新処理は、図8においてステップS12とステップS15とを省いた処理となる。なお、実施の形態2では、ステップS11においてファームウェアファイルが圧縮されていると判定された場合には(ステップS11:YES)、ONU3は処理をステップS13に移す。
【0057】
OLT1は、ステップS31~ステップS34の処理前、または、ステップS31~ステップS34の処理と並行して、解凍機能を有するか否かをONU3に問うための機能要求情報に対応する機能要求信号を、当該ONU3に送信してもよい。解凍機能とは、圧縮ファイルを受信した場合に、当該圧縮ファイルを解凍し、解凍後の非圧縮ファイルによってファームウェアを更新する機能を指す。OLT1は、ONU3が解凍機能を有することを示す機能情報に対応する機能信号を当該ONU3から受信し、且つ、ステップS34において空き容量が第1必要容量以上と判定された場合に、ステップS35の処理を実行する。OLT1は、ONU3が解凍機能を有さないことを示す機能信号を当該ONU3から受信した場合には、ステップS34の判定結果に関わらず、ステップS36の処理を実行する。あるいは、OLT1は、ONU3が解凍機能を有さないことを示す機能信号を当該ONU3から受信した場合には、ステップS32~ステップS34の処理を行うことなく、ステップS36の処理を実行してもよい。これにより、通信システム100は、ONU3が解凍機能を有さない場合における以下の事象の発生を抑制することが可能となる。すなわち、通信システム100は、ONU3において圧縮ファイルによってファームウェアが更新されて、ONU3が正常に動作しなくなる事態の抑制を図ることができる。
【0058】
以下、実施の形態2に係る通信システム100による効果について述べる。実施の形態2に係る通信システム100は、互いに通信を行う親局装置と子局装置とを有する。子局装置は、子側記憶部31と容量特定部37と子側通信部30とを備える。子側記憶部31は、親局装置からの親側ファイルが記憶される第1記憶領域、および、第1記憶領域以外の第2記憶領域を有する。容量特定部37は、子側記憶部31の第2記憶領域における空き容量を特定する。子側通信部30は、空き容量を示す容量情報を親局装置に送信する。親局装置は、親側通信部13と圧縮部12と更新可否判定部14とを備える。親側通信部13は、容量情報を受信する。圧縮部12は、親側ファイルを圧縮する。更新可否判定部14は、容量情報が示す空き容量が、圧縮ファイルの解凍のために必要な第1必要容量以上か否かを判定する。親側通信部13は、空き容量が第1必要容量以上である場合には、圧縮された親側ファイルである圧縮ファイルを子局装置に送信し、空き容量が第1必要容量未満である場合には、圧縮されていない親側ファイルである非圧縮ファイルを子局装置に送信する。
【0059】
上記構成によれば、親局装置は、空き容量が第1必要容量以上である場合、すなわち、子局装置で圧縮ファイルが解凍可能である場合に圧縮ファイルを送信する。このため、親局装置から子局装置へファイルを送信するための時間を短縮することが可能になる。一方、空き容量が第1必要容量未満である場合、すなわち、子局装置で圧縮ファイルが解凍できない場合には、親局装置は非圧縮ファイルを子局装置に送信するため、子局装置は非圧縮ファイルを取得することができる。従って、子局装置は、非圧縮ファイルによってファームウェアを適切に更新できる。
【0060】
実施の形態2における子局装置は、解凍部34と書き込み部35とを備える。解凍部34は、子側通信部30が圧縮ファイルを受信した場合には、当該圧縮ファイルを解凍する。書き込み部35は、解凍によって得られた親側ファイルを第1記憶領域に書き込む。書き込み部35は、子側通信部30が非圧縮ファイルを受信した場合には、第2記憶領域に記憶された当該非圧縮ファイルを第1記憶領域に書き込む。これにより、子局装置は、解凍されていない状態の親側ファイルを第1記憶領域に記憶することができる。従って、子局装置は、ファームウェアを適切に更新することができる。
【0061】
実施の形態2における子側通信部30は、子局装置の解凍機能の有無を示す機能情報を親局装置に送信する。親側通信部13は、子局装置が解凍機能を有さないことを、子局装置からの機能情報が示す場合には、圧縮ファイルを子局装置に送信せずに、非圧縮ファイルを子局装置に送信する。これにより、子局装置は、解凍されていない状態の親側ファイルを第1記憶領域に記憶することができる。従って、子局装置は、ファームウェアを適切に更新することができる。
【0062】
実施の形態3.
以下、実施の形態3に係る通信システム100について詳述する。なお、実施の形態3では、実施の形態1~実施の形態2における構成要素と同様の構成要素に対し、同一の符号を付すものとする。また、実施の形態3において、実施の形態1~実施の形態2における構成と同様の構成、および、実施の形態1~実施の形態2における機能と同様の機能等については、特段の事情がない限り説明を省略する。
【0063】
実施の形態3の通信システム100の構成は、実施の形態1~実施の形態2と同様に図1で例示される。実施の形態3に係るOLT1のハードウェア構成は、実施の形態1~実施の形態2と同様に図5で例示される。実施の形態3に係るONU3のハードウェア構成は、実施の形態1~実施の形態2と同様に図6で例示される。
【0064】
図13は、実施の形態3に係るOLTの機能ブロックを例示する図である。図14は、実施の形態3に係るONUの機能ブロックを例示する図である。図13に示すように、実施の形態3におけるOLT1は、図2に例示される構成に加え、更に更新対象特定部15を備える。更新対象特定部15の機能は、上述の第1プロセッサ21が第1メモリ22に記憶されている各種プログラムを読み出して実行することにより実現可能である。図14に示すように、実施の形態3におけるONU3は、図4に例示される構成に加え、更にバージョン取得部38を備える。バージョン取得部38の機能は、上述の第2プロセッサ41が、第2メモリ42および第3メモリ43の両方または一方に記憶されている各種プログラムを読み出して実行することにより実現可能である。
【0065】
OLT1の更新対象特定部15は、サーバ6から得られたファームウェアファイルにおけるデータツリー、OS、SDK、およびAPL等の各データ構成のバージョンを示す親側バージョン情報を取得する。また、更新対象特定部15は、ONU3の子側記憶部31の第1記憶領域に記憶されているファームウェアファイルに含まれる各データ構成のバージョンを示す情報を要求するバージョン要求情報を当該ONUに送信するよう親側通信部13に指示を行う。親側通信部13は、更新対象特定部15からの指示に基づいて、バージョン要求情報をONU3に送信する。なお、子側記憶部31の不揮発性メモリの第1記憶領域に記憶されているファームウェアファイルは、子側ファイルの例である。
【0066】
ONU3のバージョン取得部38は、子側通信部30がバージョン要求情報を受信した場合には、第1記憶領域に記憶されているファームウェアファイルにおける各データ構成のバージョンを示す子側バージョン情報を取得する。子側通信部30は、バージョン取得部38が取得した子側バージョン情報をOLT1に送信する。
【0067】
更新対象特定部15は、親側バージョン情報と、ONU3からの子側バージョン情報との比較を行い、ONU3のファームウェアファイルのうち、どのデータ構成が更新対象になるかを特定する。具体的には、更新対象特定部15は、親側バージョン情報によって示されるバージョンが、子側バージョン情報によって示されるバージョンよりも新しいデータ構成がどれであるかを特定する。そして、更新対象特定部15は、特定したデータ構成であって、子側ファイルにおけるデータ構成を更新対象とする。すなわち、更新対象特定部15は、親側ファイルにおける1以上のデータ構成による更新対象となる、子側ファイルにおける1以上のデータ構成を特定する。以下では、更新対象特定部15が特定した1以上のデータ構成であって、子側ファイルの1以上のデータ構成を更新するための、親側ファイルの1以上のデータ構成を含むファイルを更新対象ファイルと記載する場合もある。更新対象特定部15は、更新対象ファイルを生成する。
【0068】
圧縮部12は、更新対象ファイルを圧縮する。以下では、圧縮されている状態の更新対象ファイルを圧縮更新対象ファイルと記載する場合もある。また、圧縮されていない状態の更新対象ファイルを非圧縮更新対象ファイルと記載する場合もある。親側通信部13は、圧縮更新対象ファイルにヘッダ情報を付加した第3更新用ファイルをONU3に送信する。
【0069】
なお、実施の形態3におけるヘッダ情報におけるサイズ情報は、更新対象ファイルのサイズを示す情報である。サイズ情報は、当該サイズ情報が付加され得る更新対象ファイルが圧縮されている場合には、圧縮更新対象ファイルのサイズを示す情報と、非圧縮更新対象ファイルのサイズを示す情報とを含む。あるいは、サイズ情報は、圧縮更新対象ファイルのサイズと、非圧縮更新対象ファイルのサイズとの和を示す情報を含む。サイズ情報は、当該サイズ情報が付加され得る更新対象ファイルが圧縮されていない場合には、非圧縮更新対象ファイルのサイズを示す情報を含む。圧縮識別情報は、更新対象ファイルが圧縮されているか否かを示す情報である。
【0070】
実施の形態3のヘッダ内バージョン情報は、実施の形態1と同様、図3に示すように、サーバ6からのファームウェアファイルにおける全てのデータ構成の各々のバージョンを示す情報を含むものでもよい。この場合には、ヘッダ内バージョン情報は、上述の親側バージョン情報と等しい。ヘッダ内バージョン情報は、更新対象ファイルに含まれるデータ構成のバージョンを示す情報を含み、更新対象ファイルに含まれないデータ構成のバージョンを示す情報を含まないものでもよい。
【0071】
実施の形態3に係るヘッダ情報におけるデータ構成情報は、更新対象のデータ構成を示す情報である。
【0072】
実施の形態3におけるONU3は、子側通信部30がOLT1から第3更新用ファイルを受信した場合には、当該第3更新用ファイルを子側記憶部31の第2記憶領域に保存する。なお、後述するように、子側通信部30が、非圧縮更新対象ファイルにヘッダ情報を付加した第4更新用ファイルを受信した場合には、当該第4更新用ファイルは子側記憶部31の第2記憶領域に保存される。ヘッダ解析部32は、受信した第3更新用ファイルまたは第4更新用ファイルにおけるヘッダ情報の解析から得られた圧縮識別情報に基づき、OLT1からの更新対象ファイルが圧縮されているか否かを判定する。容量判定部33は、更新対象ファイルが圧縮されている場合には、子側記憶部31の空き容量が第2必要容量以上であるか否かを判定する。なお、第2必要容量は、圧縮更新対象ファイルの解凍に最低限必要な容量である。圧縮更新対象ファイルを解凍するには、第2記憶領域に、解凍後の非圧縮更新対象ファイルを展開できる容量が必要となる。すなわち、第2記憶領域には、非圧縮更新対象ファイルのサイズ以上の容量が必要となる。そのため、第2必要容量は非圧縮更新対象ファイルのデータ量と等しい。
【0073】
解凍部34は、子側記憶部31の第2記憶領域における空き容量が第2必要容量以上である場合には、圧縮更新対象ファイルを解凍する。そして、書き込み部35は、子側記憶部31の第1記憶領域に記憶されたファームウェアファイルのうち、更新対象のデータ構成を、非圧縮更新対象ファイルによって更新する。
【0074】
一方、空き容量が第2必要容量未満である場合には、結果応答部36は、子側記憶部31の容量不足によって更新処理が行えないことを示す更新不可情報を送信するよう子側通信部30に指示を行う。OLT1は、更新不可情報をONU3から受信した場合には、非圧縮更新対象ファイルにヘッダ情報を付加した第4更新用ファイルをONU3に送信する。ONU3の書き込み部35は、子側通信部30が第4更新用ファイルを受信した場合には、当該第4更新用ファイルに含まれる非圧縮更新対象ファイルによって、子側記憶部31の第1記憶領域に記憶されたファームウェアファイルにおける更新対象のデータ構成を更新する。
【0075】
以下、実施の形態3に係る通信システム100による処理について図15図17を参照して説明する。図15は、実施の形態3に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。図16は、実施の形態3に係る通信システムのOLTによる更新対象ファイルの送信処理の前半部分を例示するフローチャートである。図17は、実施の形態3に係る通信システムのOLTによる更新対象ファイルの送信処理の後半部分を例示するフローチャートである。なお、図16図17では、ファームウェアファイルに、デバイスツリーとOSとSDLとAPLとが含まれる場合が例示されている。
【0076】
図15のステップS41においてOLT1は、バージョン要求情報に対応するバージョン要求信号をONU3に送信する。ステップS42においてONU3は、子側バージョン情報に対応する子側バージョン信号をOLT1に送信する。ステップS42の処理後であって、後述するステップS66の処理以後において通信システム100は、図7についての上記説明において第1更新用ファイルを第3更新用ファイルに読み替えたステップS1~ステップS6の処理を実行する。
【0077】
図16では、ステップS51の処理に先立ち、OLT1はサーバ6からファームウェアファイルを取得する。ステップS51において更新対象特定部15は、サーバ6から取得したファームウェアファイルの各データ構成のバージョンを示す親側バージョン情報を取得する。
【0078】
ステップS52において更新対象特定部15は、子側バージョン情報を取得する。なおステップS52の処理は、図15のステップS42の処理に対応し、ステップS52の処理前に上記ステップS41の処理が実行されている。
【0079】
ステップS53において更新対象特定部15は、親側バージョン情報が示すデバイスツリーのバージョンが、子側バージョン情報が示すデバイスツリーのバージョンより新しいか否かを判定する。親側バージョン情報が示すデバイスツリーのバージョンが、子側バージョン情報が示すデバイスツリーのバージョンより新しい場合には(ステップS53:YES)、OLT1は処理をステップS54に移す。ステップS54において更新対象特定部15は、デバイスツリーを更新対象とし、サーバ6からのファームウェアファイルにおけるデバイスツリーをONU3に送信する更新対象ファイルに含ませる。ステップS54の処理後、OLT1は処理をステップS56に移す。
【0080】
親側バージョン情報が示すデバイスツリーのバージョンが、子側バージョン情報が示すデバイスツリーのバージョンより新しくない場合には(ステップS53:NO)、OLT1は処理をステップS55に移す。ステップS55において更新対象特定部15は、デバイスツリーを非更新対象とし、サーバ6からのファームウェアファイルにおけるデバイスツリーをONU3に送信する更新対象ファイルに含ませない。ステップS55の処理後、OLT1は処理をステップS56に移す。
【0081】
ステップS56において更新対象特定部15は、親側バージョン情報が示すOSのバージョンが、子側バージョン情報が示すOSのバージョンより新しいか否かを判定する。親側バージョン情報が示すOSのバージョンが、子側バージョン情報が示すOSのバージョンより新しい場合には(ステップS56:YES)、OLT1は処理をステップS57に移す。ステップS57において更新対象特定部15は、OSを更新対象とし、サーバ6からのファームウェアファイルにおけるOSをONU3に送信する更新対象ファイルに含ませる。ステップS57の処理後、OLT1は処理をステップS59に移す。
【0082】
親側バージョン情報が示すOSのバージョンが、子側バージョン情報が示すOSのバージョンより新しくない場合には(ステップS56:NO)、OLT1は処理をステップS58に移す。ステップS58において更新対象特定部15は、OSを非更新対象とし、サーバ6からのファームウェアファイルにおけるOSをONU3に送信する更新対象ファイルに含ませない。ステップS58の処理後、OLT1は処理をステップS59に移す。
【0083】
図17のステップS59において更新対象特定部15は、親側バージョン情報が示すSDKのバージョンが、子側バージョン情報が示すSDKのバージョンより新しいか否かを判定する。親側バージョン情報が示すSDKのバージョンが、子側バージョン情報が示すSDKのバージョンより新しい場合には(ステップS59:YES)、OLT1は処理をステップS60に移す。ステップS60において更新対象特定部15は、SDKを更新対象とし、サーバ6からのファームウェアファイルにおけるSDKを更新対象ファイルに含ませる。ステップS60の処理後、OLT1は処理をステップS62に移す。
【0084】
親側バージョン情報が示すSDKのバージョンが、子側バージョン情報が示すSDKのバージョンより新しくない場合には(ステップS59:NO)、OLT1は処理をステップS61に移す。ステップS61において更新対象特定部15は、SDKを非更新対象とし、サーバ6からのファームウェアファイルにおけるSDKをONU3に送信する更新対象ファイルに含ませない。ステップS61の処理後、OLT1は処理をステップS62に移す。
【0085】
ステップS62において更新対象特定部15は、親側バージョン情報が示すAPLのバージョンが、子側バージョン情報が示すAPLのバージョンより新しいか否かを判定する。親側バージョン情報が示すAPLのバージョンが、子側バージョン情報が示すAPLのバージョンより新しい場合には(ステップS62:YES)、OLT1は処理をステップS63に移す。ステップS63において更新対象特定部15は、APLを更新対象とし、サーバ6からのファームウェアファイルにおけるAPLを更新対象ファイルに含ませる。ステップS63の処理後、OLT1は処理をステップS65に移す。
【0086】
親側バージョン情報が示すAPLのバージョンが、子側バージョン情報が示すAPLのバージョンより新しくない場合には(ステップS62:NO)、OLT1は処理をステップS64に移す。ステップS64において更新対象特定部15は、APLを非更新対象とし、サーバ6からのファームウェアファイルにおけるAPLをONU3に送信する更新対象ファイルに含ませない。ステップS64の処理後、OLT1は処理をステップS65に移す。
【0087】
ステップS65において圧縮部12は、更新対象ファイルを圧縮する。ステップS66において親側通信部13は第3更新用ファイルをONU3に送信する。
【0088】
実施の形態3におけるONU3によるファームウェアの更新処理は、ファームウェアファイルを更新対象ファイルに読み替え、圧縮ファイルを圧縮更新対象ファイルに読み替え、非圧縮ファイルを非圧縮更新対象ファイルに読み替え、第1更新用ファイルを第3更新用ファイルに読み替え、且つ、第1必要容量を第2必要容量に読み替えた、図8におけるステップS11~ステップS15の処理に相当する。なお、実施の形態3のステップS14では、書き込み部35は、ヘッダ解析部32によるヘッダ情報の解析から得られたデータ構成情報を参照し、子側記憶部31の第1記憶領域におけるファームウェアファイルのうち、更新対象のデータ構成を非圧縮更新対象ファイルによって更新する。例えば、書き込み部35は、デバイスツリーが更新対象である場合には、非圧縮更新対象ファイルのうちのデバイスツリーによって、第1記憶領域におけるデバイスツリーを更新する。書き込み部35は、OSが更新対象である場合には、非圧縮更新対象ファイルのうちのOSによって、第1記憶領域におけるOSを更新する。書き込み部35は、SDKが更新対象である場合には、非圧縮更新対象ファイルのうちのSDKによって、第1記憶領域におけるSDKを更新する。書き込み部35は、APLが更新対象である場合には、非圧縮更新対象ファイルのうちのAPLによって、第1記憶領域におけるAPLを更新する。
【0089】
なお、実施の形態3のステップS12において、子側記憶部31の第2記憶領域における空き容量が第2必要容量未満である場合には、ONU3はステップS15の処理を実行する。すなわち、ONU3は、更新不可情報をOLT1に送信する。この場合において通信システム100は、図7に関する上記説明において第1更新用ファイルを第4更新用ファイルに読み替えた上記ステップS3~ステップS6の処理を行う。また、この場合においてOLT1は、図17に関する上記説明において第3更新用ファイルを第4更新用ファイルに読み替えたステップS66の処理を実行する。そして、ONU3は、ファームウェアファイルを更新対象ファイルに読み替え、圧縮ファイルを圧縮更新対象ファイルに読み替え、非圧縮ファイルを非圧縮更新対象ファイルに読み替え、且つ、第1必要容量を第2必要容量に読み替えたステップS11以降の処理をステップS15の処理後に実行する。
【0090】
以上の実施の形態3では、OLT1が更新対象ファイルを圧縮してONU3に送信し、ONU3において子側記憶部31の空き容量が第2必要容量に満たない場合には、ONU3が更新不可情報をOLT1に送信する例を示した。しかし、実施の形態3におけるOLT1は、ONU3において圧縮更新対象ファイルの解凍が可能か否かを判定し、解凍可能である場合に第3更新用ファイルをONU3に送信し、解凍不可能である場合に第4更新用ファイルを送信してもよい。この場合には、OLT1は、図9に示す構成に、更新対象特定部15を加えた構成で例示される。また、ONU3は、図10に示す構成に、バージョン取得部38を加えた構成で例示される。なお、OLT1が、ONU3における圧縮更新対象ファイルの解凍の可否を判定し、判定結果に応じて第3更新対象ファイルと第4更新用ファイルのいずれかを送信する場合には、ONU3は結果応答部36を含まないものでもよい。以下、OLT1が、ONU3における圧縮更新対象ファイルの解凍の可否を判定し、判定結果に応じて、第3更新対象ファイルと第4更新用ファイルのいずれかをONU3に送信する場合の通信システム100の機能と処理内容とについて説明する。
【0091】
更新対象特定部15は、上記同様、子側バージョン情報を要求するバージョン要求情報をONU3に送信するよう親側通信部13に指示を行う。そして、子側通信部30はバージョン要求情報を受信し、バージョン取得部38は子側ファイルの各データ構成のバージョンを示す子側バージョン情報を取得し、子側通信部30は子側バージョン情報をOLT1に送信する。更新対象特定部15は、上記同様に、親側バージョン情報と子側バージョン情報と基づいて、更新対象となるデータ構成を特定する。そして、更新対象特定部15は、子側ファイルにおける更新対象のデータ構成を更新するための、親側ファイルにおけるデータ構成を含む更新対象ファイルを生成する。
【0092】
更新可否判定部14は、更新対象特定部15が生成した更新対象ファイルのサイズを示す情報を取得する。更新可否判定部14は、また、圧縮部12が圧縮した更新対象ファイルのサイズを示す情報を取得する。更新可否判定部14は、容量要求信号を当該ONU3に送信するよう親側通信部13に指示を行い、親側通信部13は、ONU3に容量要求信号を送信する。容量特定部37は、子側通信部30が容量要求信号を受信した場合には、第2記憶領域における空き容量を示す容量情報を取得し、子側通信部30は、容量情報をOLT1に送信する。
【0093】
更新可否判定部14は、親側通信部13が受信した容量情報が示す空き容量が第2必要容量以上であるか否かを判定する。この場合における第2必要容量は、圧縮更新対象ファイルのサイズと、非圧縮更新対象ファイルのサイズと、ヘッダ情報のサイズとの和に相当する。あるいは、この場合における第2必要容量は、圧縮更新対象ファイルのサイズと、非圧縮更新対象ファイルのサイズとの和に相当する。親側通信部13は、容量情報が示す空き容量が第2必要容量以上である場合には第3更新用ファイルをONU3に送信し、空き容量が第2必要容量未満である場合には第4更新用ファイルをONU3に送信する。
【0094】
この場合における通信システム100による通信処理は、図15におけるステップS41~ステップS42の処理後において、図11のステップS21~ステップS22の処理が追加されたものとなる。
【0095】
OLT1による更新対象ファイルの送信処理は、図12についての上記説明において、ファームウェアファイルを更新対象ファイルと読み替え、第1更新用ファイルを第3更新用ファイルと読み替え、第2更新用ファイルを第4更新用ファイルと読み替え、且つ、第1必要容量を第2必要容量に読み替えた、ステップS31~ステップS36の処理であって、更に、当該ステップS31の処理前に、図16図17のステップS51~ステップS64の処理が追加されたものとなる。なお、ステップS33の処理は、ステップS32の前に実行されてもよい。この場合には、ステップS33の処理は、ステップS51~ステップS64の処理前もしくは処理後に実行されてもよいし、ステップS51~ステップS64の処理と並行して実行されてもよい。ステップS33の処理が、ステップS51~ステップS64の処理前に実行される場合には、ステップS21~ステップS22の処理は、ステップS41~ステップS42の処理前に実行される。ステップS33の処理が、ステップS51~ステップS64と並行して実行される場合には、ステップS21~ステップS22の処理は、ステップS41~ステップS42の処理と並行して実行される。
【0096】
この場合のステップS35以降の処理は、図7についての上記説明において、第1更新用ファイルを第3更新用ファイルと読み替えた場合の、ステップS3~ステップS6の処理に相当する。ステップS36以降の処理は、図7についての上記説明において第1更新用ファイルを第4更新用ファイルと読み替えた場合の、ステップS3~ステップS6の処理に相当する。
【0097】
ONU3によるファームウェア更新処理は、図8においてステップS12とステップS15とを省いた処理であって、図8についての上記説明において、ファームウェアファイルを更新対象ファイルに読み替え、圧縮ファイルを圧縮更新対象ファイルに読み替え、且つ、非圧縮ファイルを非圧縮更新対象ファイルに読み替えた場合の処理に相当する。なお、ここではステップS11で更新対象ファイルが圧縮されていると判定された場合には、ステップS14の処理が実行される。
【0098】
実施の形態3におけるOLT1は、実施の形態2と同様に、解凍機能を有するか否かをONU3に問うための機能要求情報を当該ONU3に送信してもよい。そして、OLT1は、ONU3から解凍機能を有さないことを示す機能情報を受信した場合には、ONU3に、第3更新用ファイルを送信せず、第4更新用ファイルを送信してもよい。
【0099】
以下、実施の形態3に係る通信システム100による効果について述べる。通信システム100は、互いに通信を行う親局装置と子局装置とを有する。子局装置は、子側記憶部31とバージョン取得部38と子側通信部30と容量判定部33と解凍部34と書き込み部35とを備える。子側記憶部31は、子側ファイルが記憶される第1記憶領域、および、当該第1記憶領域以外の第2記憶領域を有する。バージョン取得部38は、子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得する。子側通信部30は、子側バージョン情報を親局装置に送信する。親局装置は、取得部10と親側通信部13と更新対象特定部15と圧縮部12とを備える。取得部10は、サーバ6から親側ファイルを取得する。親側通信部13は、子局装置から子側バージョン情報を受信する。更新対象特定部15は、親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得し、取得した親側バージョン情報、および、親側通信部13が受信した子側バージョン情報に基づいて、親側ファイルにおける複数のデータ構成のうちの1以上のデータ構成による更新対象となる、子側ファイルにおける複数のデータ構成のうちの1以上のデータ構成を特定する。圧縮部12は、親側ファイルにおける当該1以上のデータ構成を含む更新対象ファイルを圧縮する。親側通信部13は、圧縮された更新対象ファイルである圧縮更新対象ファイルを子局装置に送信する。子局装置の容量判定部33は、子側通信部30が圧縮更新対象ファイルを受信した場合には、子側記憶部31の第2記憶領域における空き容量が、圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する。解凍部34は、空き容量が第2必要容量以上である場合には、圧縮更新対象ファイルを解凍する。書き込み部35は、解凍によって得られた更新対象ファイルによって、子側ファイルのうちの更新対象の1以上のデータ構成を更新する。
【0100】
上記構成によれば、親局装置は、ファームウェアファイルのうち、子側ファイルの更新に必要なデータ構成のよる更新対象ファイルを生成し、更新対象ファイルを圧縮した圧縮更新対象ファイルを子局装置に送信する。圧縮更新対象ファイルのサイズは、圧縮ファイルのサイズ以下であるため、親局装置から子局装置へのファイルの送信時間の更なる短縮が図られる。
【0101】
実施の形態3における子局装置は、結果応答部36を更に備える。結果応答部36は、空き容量が第2必要容量未満である場合には、圧縮更新対象ファイルを解凍できないことを示す情報を親局装置に送信するよう子側通信部30に指示を行う。親側通信部13は、圧縮更新対象ファイルを解凍できないことを示す情報を受信した場合には、圧縮されていない更新対象ファイルである非圧縮ファイルを子局装置に送信する。書き込み部35は、子側通信部30が非圧縮更新対象ファイルを受信した場合には、非圧縮更新対象ファイルによって、子側ファイルのうちの更新対象の1以上のデータ構成を更新する。これにより、子側記憶部31の第2記憶領域における空き容量が、第2必要容量未満であって、圧縮更新対象ファイルの解凍が行えない場合でも、結果応答部36が、解凍不能を示す上記情報を親局装置に送信することによって、子局装置は非圧縮更新対象ファイルを得ることができ、更新対象のデータ構成の更新を適切に行うことが可能になる。
【0102】
実施の形態3に係る通信システム100は、互いに通信を行う親局装置と子局装置とを有する。子局装置は、子側記憶部31と容量特定部37とバージョン取得部38と子側通信部30とを備える。子側記憶部31は、子側ファイルが記憶される第1記憶領域、および、当該第1記憶領域以外の第2記憶領域を有する。容量特定部37は、子側記憶部31の第2記憶領域における空き容量を特定する。バージョン取得部38は、子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得する。子側通信部30は、空き容量を示す容量情報、および、子側バージョン情報を、親局装置に送信する。親局装置は、取得部10と親側通信部13と更新対象特定部15と圧縮部12と更新可否判定部14とを備える。取得部10は、サーバ6から親側ファイルを取得する。親側通信部13は、子局装置から容量情報および子側バージョン情報を受信する。更新対象特定部15は、親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得する。更新対象特定部15は、親側バージョン情報と子側バージョン情報とに基づいて、親側ファイルにおける複数のデータ構成のうちの1以上のデータ構成による更新対象となる、子側ファイルにおける複数のデータ構成のうちの1以上のデータ構成を特定する。圧縮部12は、親側ファイルにおける当該1以上のデータ構成を含む更新対象ファイルを圧縮する。更新可否判定部14は、容量情報が示す空き容量が、圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する。親側通信部13は、空き容量が第2必要容量以上である場合には、圧縮更新対象ファイルを子局装置に送信し、空き容量が第2必要容量未満である場合には、圧縮されていない更新対象ファイルである非圧縮更新対象ファイルを子局装置に送信する。
【0103】
上記構成によれば、親局装置は、子側ファイルにおけるデータ構成を更新するための、親側ファイルにおけるデータ構成を含む更新対象ファイルを、子側記憶部31の第2記憶領域における空き容量に応じて、子局装置に送信可能になる。更新対象ファイルのサイズはファームウェアファイルのサイズ以下であり、圧縮更新対象ファイルのサイズは圧縮ファイルのサイズ以下である。そのため、親局装置が子局装置に非圧縮更新対象ファイルを送信する場合には、非圧縮ファイルを送信する場合に比べ、送信時間の削減が図られる。また、親局装置が子局装置に圧縮更新対象ファイルを送信する場合には、非圧縮更新対象ファイルを送信する場合に比べ、送信時間の削減が図られる。また、親局装置は、子側記憶部31の第2記憶領域における空き容量が第2必要容量未満であって、圧縮更新対象ファイルの解凍を行えない場合に、非圧縮更新対象ファイルを子局装置に送信するため、子局装置は更新に必要なデータ構成を適切に取得することができる。
【0104】
実施の形態3における子局装置は、解凍部34と書き込み部35とを備える。解凍部34は、子側通信部30が圧縮更新対象ファイルを受信した場合には、圧縮更新対象ファイルを解凍する。書き込み部35は、解凍によって得られた更新対象ファイルによって、子側ファイルのうちの更新対象の1以上のデータ構成を更新する。書き込み部35は、子側通信部30が、非圧縮更新対象ファイルを受信した場合には、当該非圧縮ファイルによって、子側ファイルのうちの更新対象の1以上のデータ構成を更新する。これにより、子側記憶部31の第1記憶領域におけるファームウェアファイルのうちの更新対象のデータ構成は、適切に更新される。
【0105】
実施の形態3における子側通信部30は、子局装置の解凍機能の有無を示す機能情報を親局装置に送信する。親側通信部13は、子局装置が解凍機能を有さないことを、子局装置からの機能情報が示す場合には、圧縮更新対象ファイルを子局装置に送信せず、圧縮されていない更新対象ファイルである非圧縮更新対象ファイルを子局装置に送信する。これにより、子局装置は、非圧縮更新対象ファイルによって、第1記憶領域におけるファームウェアファイルを適切に更新することができる。
【0106】
実施の形態4.
以下、実施の形態4に係る通信システム100について詳述する。なお、実施の形態4では、実施の形態1~実施の形態3における構成要素と同様の構成要素に対し、同一の符号を付すものとする。また、実施の形態4において、実施の形態1~実施の形態3における構成と同様の構成、および、実施の形態1~実施の形態3における機能と同様の機能等については、特段の事情がない限り説明を省略する。
【0107】
実施の形態4の通信システム100の構成は、実施の形態1~実施の形態3と同様に図1で例示される。実施の形態4に係るOLT1のハードウェア構成は、実施の形態1~実施の形態3と同様に図5で例示される。実施の形態4に係るONU3のハードウェア構成は、実施の形態1~実施の形態3と同様に図6で例示される。
【0108】
図18は、実施の形態4におけるOLTの機能ブロックを例示する図である。図19は、実施の形態4におけるONUの機能ブロックを例示する図である。実施の形態4のOLT1は、図2に示す構成に加え、実施の形態2の更新可否判定部14と、実施の形態3の更新対象特定部15と、圧縮変更部16とを備える。圧縮変更部16による機能は、上述の第1プロセッサ21が第1メモリ22に記憶されている各種プログラムを読み出して実行することにより実現可能である。図19に示すように、実施の形態4におけるONU3は、図10に示される構成に加え、実施の形態3のバージョン取得部38を備える。なお、実施の形態4のONU3は結果応答部36を含まないものでもよい。
【0109】
実施の形態4の更新可否判定部14は、更新対象特定部15によって得られた非圧縮更新対象ファイルのサイズを特定する。また、更新可否判定部14は、圧縮部12が非圧縮更新対象ファイルを圧縮することによって得られた圧縮更新対象ファイルのサイズを特定する。
【0110】
更新可否判定部14は、容量要求信号をONU3に送信するよう親側通信部13に指示を行い、親側通信部13は、ONU3に容量要求信号を送信する。容量特定部37は、子側通信部30が容量要求信号を受信した場合には、子側記憶部31の第2記憶領域における空き容量を特定し、子側通信部30は、当該空き容量を示す容量情報をOLT1に送信する。
【0111】
更新可否判定部14は、親側通信部13が受信した容量情報が示す空き容量が第2必要容量以上であるか否かを判定する。実施の形態4における第2必要容量は、圧縮更新対象ファイルのサイズと、非圧縮更新対象ファイルのサイズと、ヘッダ情報のサイズとの和に相当する。あるいは、実施の形態4における第2必要容量は、圧縮更新対象ファイルのサイズと、非圧縮更新対象ファイルのサイズとの和に相当する。
【0112】
親側通信部13は、容量情報が示す空き容量が第2必要容量以上である場合には、第3更新用ファイルをONU3に送信する。
【0113】
圧縮変更部16は、容量情報が示す空き容量が第2必要容量未満である場合には、圧縮更新対象ファイルのデータを減らす。減らされたデータは、圧縮されない状態でONU3に送信される。これにより、更新対象ファイルの全データは、圧縮された状態でONU3に送信されるデータと、圧縮されていない状態でONU3に送信されるデータとに分けられる。
【0114】
更新可否判定部14は、圧縮変更部16によって圧縮更新対象ファイルのデータが減らされた場合には、容量情報が示す空き容量が第3必要容量以上であるか否かを判定する。第3必要容量は、圧縮部分ファイルの解凍に最低限必要な容量である。なお、圧縮部分ファイルとは、圧縮変更部16によってデータが減らされた圧縮更新対象ファイルである。第3必要容量は、非圧縮更新対象ファイルのサイズと、圧縮部分ファイルのサイズと、ヘッダ情報のサイズとの和に相当する。あるいは、第3必要容量は、非圧縮更新対象ファイルのサイズと、圧縮部分ファイルのサイズとの和に相当する。
【0115】
容量情報が示す空き容量が第3必要容量以上である場合には、親側通信部13は、圧縮部分ファイルと非圧縮部分ファイルとに、ヘッダ情報を付加した第5更新用ファイルをONU3に送信する。なお、非圧縮部分ファイルとは、圧縮更新対象ファイルから削除されたデータによるファイルであって、圧縮されていないファイルである。容量情報が示す空き容量が第3必要容量未満である場合には、親側通信部13は、第4更新用ファイルをONU3に送信する。
【0116】
実施の形態4におけるヘッダ情報の圧縮識別情報は、子側ファイルの1以上のデータ構成を更新する、親側ファイルの1以上のデータ構成におけるデータの圧縮の有無を示す情報である。より具体的には、実施の形態4における圧縮識別情報は、更新対象特定部15によって得られた更新対象ファイルに複数のデータ構成が含まれる場合には、当該複数のデータ構成の各々におけるデータの圧縮の有無を示す。一方、当該更新対象ファイルに1つのデータ構成が含まれる場合には、圧縮識別情報は、当該1つのデータ構成におけるデータの圧縮の有無を示す。
【0117】
実施の形態4における子側記憶部31の第2記憶領域には、子側通信部30が受信した第3更新用ファイル、第4更新用ファイル、または第5更新用ファイルが保存される。ヘッダ解析部32は、第2記憶領域に保存された第3更新用ファイル、第4更新用ファイル、または第5更新用ファイルのヘッダ情報を解析し、圧縮識別情報等を得る。解凍部34は、ヘッダ解析部32による解析によって得られた圧縮識別情報がデータの圧縮を示す場合には、圧縮されているデータを解凍する。そして、書き込み部35は、解凍によって得られた更新対象ファイルである非圧縮更新対象ファイルによって、第1記憶領域におけるファームウェアファイルのうちの更新対象のデータ構成を更新する。書き込み部35は、子側通信部30が第4更新用ファイルを受信し、ヘッダ解析部32による解析によって得られた圧縮識別情報が、データが圧縮されていないことを示す場合には、当該第4更新対象ファイルにおける非圧縮更新対象ファイルによって、第1記憶領域におけるファームウェアファイルのうちの更新対象のデータ構成を更新する。
【0118】
以下、実施の形態4に係る通信システム100による処理について図20図22を参照して説明する。図20は、実施の形態4に係る通信システムにおけるOLTとONUとの間の通信処理を例示するシーケンス図である。図21は、実施の形態4に係る通信システムのOLTによる更新対象ファイルの送信処理を例示するフローチャートである。図22は、実施の形態4におけるONUによるファームウェア更新処理を例示するフローチャートである。
【0119】
図20のステップS71~ステップS72の処理は、図15のステップS41~ステップS42の処理と同様である。ステップS73~ステップS74の処理は、図11のステップS21~ステップS22の処理と同様である。なお、ステップS71~ステップS72の処理は、ステップS73~ステップS74の処理後に実行されてもよいし、ステップS73~ステップS74と並行して実行されてもよい。ステップS72の処理後であって、ステップS74の処理後、通信システム100は、図7についての上記説明において、第1更新用ファイルを、第3更新用ファイル、第4更新用ファイル、または第5更新用ファイルに読み替えた場合の、上記ステップS1~ステップS6の処理を実行する。
【0120】
図21におけるステップS81~ステップS82の処理は、図16におけるステップS51~ステップS52の処理と同様である。ステップS82の処理は、図20のステップS72の処理に対応する。ステップS83の処理は、図16図17のステップS53~ステップS64の処理に対応する。ステップS83において更新対象特定部15は、子側ファイルにおける更新対象のデータ構成を特定し、特定したデータ構成を更新するための、親側ファイルにおけるデータ構成を含む更新対象ファイルを生成する。ステップS84において更新可否判定部14は、圧縮前の更新対象ファイルのサイズを特定する。このとき、更新可否判定部14は、特定したサイズを示す情報を親側記憶部11に保存する。ステップS85において圧縮部12は、更新対象ファイルを圧縮する。ステップS86において更新可否判定部14は、圧縮部12によって圧縮された更新対象ファイルのサイズを特定する。このとき、更新可否判定部14は、特定したサイズを示す情報を親側記憶部11に保存する。
【0121】
ステップS87の処理は、図20のステップS74の処理に対応する。ステップS87において親側通信部13は容量信号をONU3から受信する。なお、ステップS73~ステップS74の処理は、ステップS81~ステップS86のうちのいずれかの処理前に実行されてもよいし、ステップS81~ステップS86のうちのいずれかの処理と並行して実行されてもよい。
【0122】
ステップS88において更新可否判定部14は、容量情報が示す空き容量が第2必要容量以上か否かを判定する。空き容量が第2必要容量以上であれば(ステップS88:YES)、ステップS89において親側通信部13は、第3更新用ファイルをONU3に送信する。ステップS89の処理は、図20に示すステップS1~ステップS6の処理であって、図7についての上記説明において第1更新用ファイルを第3更新用ファイルと読み替えた処理に相当する。ステップS89の処理後、OLT1は、更新対象ファイルの送信処理を終了する。
【0123】
空き容量が第2必要容量未満であれば(ステップS88:NO)、ステップS90において圧縮変更部16は、圧縮更新対象ファイルにおけるデータを削減する。圧縮変更部16による圧縮更新対象ファイルにおけるデータの削減処理については後述する。ステップS90の処理後、OLT1は処理をステップS91に移す。ステップS91において更新可否判定部14は、容量情報が示す空き容量が第3必要容量以上か否かを判定する。
【0124】
空き容量が第3必要容量以上であれば(ステップS91:YES)、ステップS92において親側通信部13は、第5更新用ファイルをONU3に送信する。ステップS92の処理は、図20に示すステップS1~ステップS6の処理であって、図7についての上記説明において第1更新用ファイルを第5更新用ファイルと読み替えた処理に相当する。
【0125】
空き容量が第3必要容量未満であれば(ステップS91:NO)、ステップS93において親側通信部13は、第4更新用ファイルをONU3に送信する。ステップS93の処理は、図20に示すステップS1~ステップS6の処理であって、図7についての上記説明において第1更新用ファイルを第4更新用ファイルと読み替えた処理に相当する。
【0126】
図22のステップS101の処理は、図20におけるステップS5以降においてONU3が第3更新用ファイル、第4更新用ファイル、または、第5更新用ファイルを構成する全てのフレームをOLT1から受信した場合に実行される。なお、ステップS101の処理は、図20におけるステップS3以降であって、ステップS5より前に、ONU3がヘッダ情報を構成する全てのフレームをOLT1から受信した場合に実行されてもよい。この場合においてステップS102~ステップS103の処理は、図20におけるステップS5以降においてONU3が第3更新用ファイル、第4更新用ファイル、または第5更新用ファイルの全フレームをOLT1から受信した場合に実行される。
【0127】
ステップS101においてヘッダ解析部32は、解析によって得られた圧縮識別情報に基づき、OLT1からの第3更新用ファイル、第4更新用ファイル、および第5更新用ファイルのうちのいずれかのファイルが、圧縮されたデータを含むか否かを判定する。OLT1からのファイルが、圧縮されたデータを含まない場合には(ステップS101:NO)、ONU3は処理をステップS103に移す。OLT1からのファイルが、圧縮されたデータを含む場合には(ステップS101:YES)、ステップS102において解凍部34は、圧縮されているデータを解凍する。
【0128】
ステップS103において書き込み部35は、非圧縮更新対象ファイルによって、子側記憶部31の第1記憶領域におけるファームウェアファイルのうちの更新対象のデータ構成を更新する。ステップS103の処理後、通信システム100におけるファームウェアの更新処理は終了する。
【0129】
以下、実施の形態4における圧縮変更部16による、圧縮更新対象ファイルにおけるデータの削減処理の詳細について説明する。なお、実施の形態4では、圧縮更新対象ファイルにおけるデータの削減処理の内容として、以下の3つの内容が挙げられる。以下、当該3つの内容の各々について説明する。
【0130】
図23は、実施の形態4における圧縮変更部による、圧縮更新対象ファイルにおけるデータの削減処理の第1の例を示すフローチャートである。ステップS111において圧縮変更部16は、圧縮更新対象ファイルに含まれるデータ構成の数が2以上か否かを判定する。圧縮更新対象ファイルに含まれるデータ構成の数が1以下である場合には(ステップS111:NO)、圧縮変更部16は、圧縮更新対象ファイルにおけるデータの削減処理を終了する。圧縮更新対象ファイルに含まれるデータ構成の数が2以上である場合には(ステップS111:YES)、ステップS112において圧縮変更部16は、圧縮更新対象ファイルからデータ構成を1つ削除する。
【0131】
ステップS113において圧縮変更部16は、容量情報が示す空き容量が第4必要容量以上であるか否かを判定する。第4必要容量は、ステップS112でデータ構成が削除された後の圧縮更新対象ファイルの解凍のために最低限必要な容量である。第4必要容量は、非圧縮更新対象ファイルのサイズと、ステップS112でデータ構成が削除された後の圧縮更新対象ファイルのサイズと、ヘッダ情報のサイズとの和に相当する。あるいは、第3必要容量は、非圧縮更新対象ファイルのサイズと、ステップS112でデータ構成が削除された後の圧縮更新対象ファイルのサイズとの和に相当する。
【0132】
空き容量が第4必要容量以上である場合には(ステップS113:YES)、ステップS114において圧縮変更部16は、ステップS112におけるデータ構成の削除後の圧縮更新対象ファイルを圧縮部分ファイルとする。そして、圧縮変更部16は、ステップS112において削除されたデータ構成を非圧縮状態で非圧縮部分ファイルに含ませる。すなわち、圧縮変更部16は、ステップS112において削除されたデータ構成であって、圧縮されていないデータ構成を含む非圧縮部分ファイルを生成する。ステップS114の処理後、圧縮変更部16は圧縮更新対象ファイルにおけるデータの削減処理を終了する。空き容量が第4必要容量未満である場合には(ステップS113:NO)、圧縮変更部16は処理をステップS111に戻す。
【0133】
ここで、ステップS112において圧縮更新対象ファイルから削除されるデータ構成は任意に定められるが、圧縮更新対象ファイルからサイズの最も小さいデータ構成が削除されてもよいし、サイズの最も大きいデータ構成が削除されもよい。あるいは、圧縮更新対象ファイルにおいて最も前に配置されているデータ構成が削除されてもよい。例えば、圧縮更新対象ファイルに、圧縮されたデバイスツリーと、圧縮されたOSと、圧縮されたSDKが、この順番で含まれる場合には、最初に実行されるステップS112では、圧縮後のデバイスツリーが削除される。そして、2回目に実行されるステップS112では、圧縮後のOSが削除される。
【0134】
図24は、実施の形態4における圧縮変更部による、圧縮更新対象ファイルにおけるデータの削減処理の第2の例を示すフローチャートである。ステップS121において圧縮変更部16は、容量情報が示す空き容量から、更新対象ファイルのサイズを差し引いた容量を導出する。あるいは、圧縮変更部16は、容量情報が示す空き容量から、更新対象ファイルのサイズと、ヘッダ情報のサイズとを差し引いた容量を導出する。以下では、当該空き容量から更新対象ファイルのサイズを差し引いた容量、または、当該空き容量から更新対象ファイルのサイズとヘッダ情報のサイズとを差し引いた容量を、圧縮ファイル用容量と記載する場合もある。
【0135】
ステップS122において圧縮変更部16は、圧縮更新対象ファイルに含まれる、圧縮後の各データ構成のサイズを特定する。ステップS123において圧縮変更部16は、サイズ条件を満たす圧縮データ構成グループを探索する。ここで、圧縮データ構成グループとは、圧縮更新対象ファイルにおける1以上のデータ構成によるグループである。サイズ条件とは、サイズが圧縮ファイル用容量以下であるとの条件である。なお、圧縮データ構成グループのサイズは、当該圧縮データ構成グループにおける1以上のデータ構成のサイズの総和である。このことより、サイズ条件を満たす圧縮データ構成グループとは、当該圧縮データ構成グループのサイズ、すなわち、当該圧縮データ構成グループにおける1以上のデータ構成のサイズの総和が、圧縮ファイル用容量以下であるグループである。
【0136】
ステップS124において圧縮変更部16は、サイズ条件を満たす圧縮データ構成グループの探索が成功したか否かを判定する。圧縮データ構成グループの探索が成功しなかった場合、すなわち、サイズ条件を満たす圧縮データ構成グループが見つからなかった場合には(ステップS124:NO)、圧縮変更部16は、圧縮更新対象ファイルのデータの削減処理を終了する。圧縮データ構成グループの探索が成功した場合、すなわち、サイズ条件を満たす圧縮データ構成グループが見つかった場合には(ステップS124:YES)、圧縮変更部16は処理をステップS125に移す。
【0137】
ステップS125において圧縮変更部16は、ステップS123の探索によって得られた1以上の圧縮データ構成グループのうち、サイズが最大の圧縮データ構成グループを抽出する。具体的には、圧縮変更部16は、ステップS123の探索の結果、複数の圧縮データ構成グループが得られた場合には、各圧縮データ構成グループにおける1以上のデータ構成のサイズの総和を導出する。そして、当該サイズの総和が最大となる圧縮データ構成グループを抽出する。なお、圧縮変更部16は、ステップS123の探索の結果、1つの圧縮データ構成グループのみが得られた場合には、当該1つの圧縮データ構成グループを抽出する。
【0138】
ステップS126において圧縮変更部16は、ステップS125で抽出した圧縮データ構成グループにおける1以上のデータ構成による圧縮更新対象ファイルを、圧縮部分ファイルとする。ステップS127において圧縮変更部16は、抽出した圧縮データ構成グループの1以上のデータ構成以外のデータ構成を非圧縮対象とし、圧縮されない状態で非圧縮部分ファイルに含める。ステップS127の処理後、圧縮変更部16は圧縮更新対象ファイルのデータ削減処理を終了する。
【0139】
図25は、実施の形態4における圧縮更新対象ファイルのデータの削減処理の第2の例について説明するための図である。なお、図25では、圧縮されていない状態での更新対象ファイルのサイズを40とし、ヘッダ情報のサイズを5とし、子側記憶部31の第2記憶領域における空き容量を55とする。また、圧縮ファイル用容量を、空き容量から、非圧縮状態の更新対象ファイルのサイズと、ヘッダ情報のサイズとを差し引いた容量とする。すると、図25では、圧縮ファイル用容量は10となる。
【0140】
更新対象ファイルには、4つのデータ構成が含まれ、各データ構成は、A、B、C、およびDの各々によって示される。ここで、圧縮されたAのサイズを2とし、圧縮されたBのサイズを3とし、圧縮されたCのサイズを4とし、圧縮されたDのサイズを5とする。この場合において、サイズ条件を満たす、1以上のデータ構成を含む圧縮データ構成グループとして、AとBとCとを含む圧縮データ構成グループと、AとBとDとを含む圧縮データ構成グループと、CとDとを含むデータ構成グループ等が挙げられる。これらの圧縮データ構成グループのうち、AとBとDとを含む圧縮データ構成グループのサイズ、すなわち、AとBとDのサイズの総和は10であり、全ての圧縮データ構成グループにおいて最大となる。圧縮変更部16は、AとBとDとの組み合わせを圧縮部分ファイルとする。
【0141】
なお、圧縮後のデータ構成のサイズは、圧縮前のデータ構成のサイズが大きいほど大きい。そのため、より大きいサイズのデータ構成のグループを圧縮した状態で送信することにより、当該グループを圧縮しない状態で送信するより、データ通信量の低減が可能になる。
【0142】
図26は、実施の形態4における圧縮変更部による、圧縮更新対象ファイルにおけるデータの削減処理の第3の例を示すフローチャートである。ステップS131において圧縮変更部16は、圧縮ファイル用容量を導出する。ステップS132において圧縮変更部16は、圧縮更新対象ファイルのサイズが圧縮ファイル用容量より大きいか否かを判定する。圧縮更新対象ファイルのサイズが圧縮ファイル用容量より大きい場合には(ステップS132:YES)、ステップS133において圧縮変更部16は、圧縮更新対象ファイルのデータ量を減らす。具体的には、圧縮変更部16は、圧縮更新対象ファイルのデータ量を基準量だけ減らす。ステップS133の処理後、圧縮変更部16は処理をステップS132に戻す。
【0143】
圧縮更新対象ファイルのサイズが圧縮ファイル用容量以下である場合には(ステップS132:NO)、ステップS134において圧縮変更部16は、当該圧縮更新対象ファイルを圧縮部分ファイルとする。ステップS135において圧縮変更部16は、圧縮更新対象ファイルのデータ以外のデータを非圧縮状態で非圧縮部分ファイルに含ませる。ステップS135の処理後、圧縮変更部16は圧縮更新対象ファイルのデータ削減処理を終了する。
【0144】
図27は、実施の形態4における圧縮更新対象ファイルのデータ削減処理の第3の例について説明するための図である。なお、図27でも、図25の場合と同様に、圧縮されていない状態での更新対象ファイルのサイズを40とし、ヘッダ情報のサイズを5とし、子側記憶部31の第2記憶領域における空き容量を55とし、圧縮ファイル用容量を10とする。また、図27では、圧縮された状態での更新対象ファイルのサイズを20とする。圧縮変更部16は、圧縮更新対象ファイルのサイズと圧縮ファイル用容量との比較を行う。図27に示すように、圧縮更新対象ファイルのサイズである20は、圧縮ファイル用容量である10より大きい。このため、圧縮変更部16は、基準量である1だけ、圧縮更新対象ファイルのサイズを減らす。これにより、圧縮更新のサイズは19となる。圧縮変更部16は、再び、圧縮更新対象ファイルのサイズと圧縮ファイル用容量との比較を行う。しかし、圧縮更新対象ファイルのサイズである19は、圧縮ファイル用容量である10より大きいため、圧縮変更部16は、基準量である1だけ、圧縮更新対象ファイルのサイズを再び減らす。このように、圧縮変更部16は、圧縮更新対象ファイルのサイズと圧縮ファイル用容量との比較と、圧縮更新対象ファイルのサイズの低減とを繰り返す。そして、圧縮変更部16は、圧縮更新ファイルのサイズを圧縮ファイル用容量と等しい10まで減らす。圧縮変更部16は、サイズが10である圧縮更新対象ファイルを圧縮部分ファイルとし、圧縮更新対象ファイルのデータ以外のデータを非圧縮状態で非圧縮部分ファイルに含ませる。
【0145】
実施の形態4におけるOLT1は、実施の形態2~実施の形態3と同様に、解凍機能を有するか否かをONU3に問うための機能要求情報を当該ONU3に送信してもよい。そして、OLT1は、ONU3から解凍機能を有さないことを示す機能情報を受信した場合には、ONU3に、第3更新用ファイルと第5更新用ファイルのいずれをも送信せず、第4更新用ファイルを送信してもよい。
【0146】
以下、実施の形態4に係る通信システム100による効果について述べる。実施の形態4に係る通信システム100は、互いに通信を行う親局装置と子局装置とを有する。子局装置は、子側記憶部31と容量特定部37とバージョン取得部38と子側通信部30十を備える。子側記憶部31は、子側ファイルが記憶される第1記憶領域、および、当該第1記憶領域以外の第2記憶領域を有する。容量特定部37は、子側記憶部31の第2記憶領域における空き容量を特定する。バージョン取得部38は、子側ファイルに含まれる複数のデータ構成の各々のバージョンを示す子側バージョン情報を取得する。子側通信部30は、空き容量を示す容量情報、および子側バージョン情報を、親局装置に送信する。親局装置は、取得部10と親側通信部13と更新対象特定部15と圧縮部12と更新可否判定部14と圧縮変更部16とを備える。取得部10は、サーバ6から親側ファイルを取得する。親側通信部13は、子局装置から容量情報および子側バージョン情報を受信する。更新対象特定部15は、親側ファイルに含まれる複数のデータ構成の各々のバージョンを示す親側バージョン情報を取得する。更新対象特定部15は、親側バージョン情報と子側バージョン情報とに基づいて、親側ファイルにおける複数のデータ構成のうちの1以上のデータ構成による更新対象となる、子側ファイルにおける複数のデータ構成のうちの1以上のデータ構成を特定する。圧縮部12は、親側ファイルにおける複数のデータ構成のうちの当該1以上のデータ構成を含む更新対象ファイルを圧縮する。更新可否判定部14は、容量情報が示す空き容量が、圧縮更新対象ファイルの解凍のために必要な第2必要容量以上か否かを判定する。圧縮変更部16は、空き容量が第2必要容量未満である場合には、圧縮更新対象ファイルのデータ量を低減させた圧縮部分ファイルを生成する。圧縮変更部16は、更新対象ファイルのうち、圧縮部分ファイルに含まれるデータ以外のデータを圧縮されない状態で含む非圧縮部分ファイルを生成する。親側通信部13は、空き容量が第2必要容量以上であれば、圧縮更新対象ファイルを子局装置に送信する。親側通信部13は、空き容量が、圧縮部分ファイルの容量によって定まる第3必要容量以上であって、且つ、第2必要容量未満である場合には、圧縮部分ファイルと非圧縮部分ファイルとを子局装置に送信する。親側通信部13は、空き容量が第3必要容量未満である場合には、圧縮されていない更新対象ファイルである非圧縮更新対象ファイルを子局装置に送信する。
【0147】
上記構成によれば、空き容量が第2必要容量未満である場合に、圧縮変更部16が圧縮更新対象ファイルのサイズを低減する。そして、サイズが低減された圧縮対象更新ファイルである圧縮部分ファイルと、圧縮更新対象ファイルから省かれた、非圧縮状態のデータによる非圧縮部分ファイルとが子局装置に送信されることにより、非圧縮更新対象ファイルが送信される場合に比べ、ファイル送信時間の低減が図られる。
【0148】
実施の形態4における子局装置は、解凍部34と書き込み部35とを備える。解凍部34は、子側通信部30が圧縮更新対象ファイルと圧縮部分ファイルのうちのいずれかのファイルを受信した場合には、当該いずれかのファイルを解凍する。書き込み部35は、当該いずれかのファイルを解凍することによって得られた、圧縮されていない更新対象ファイルである非圧縮更新対象ファイルによって、子側ファイルのうちの更新対象の1以上のデータ構成を更新する。書き込み部35は、子側通信部30が、非圧縮更新対象ファイルを受信した場合には、当該非圧縮更新対象ファイルによって、子側ファイルのうちの更新対象の1以上のデータ構成を更新する。これにより、圧縮部分ファイル等の解凍が可能になり、ファームウェアにおける更新対象のデータ構成の更新が可能になる。従って、圧縮部分ファイルと非圧縮部分ファイルとの送受信によって、ファームウェアの更新のための通信処理の回数が1回で済み、ファイルの送受信にかかる時間の総和の低減が図られる。
【0149】
実施の形態4における圧縮変更部16は、容量情報が示す空き容量から、更新対象ファイルのサイズを差し引いた圧縮ファイル用容量を導出する。圧縮変更部16は、圧縮更新対象ファイルにおける1以上のデータ構成のうち、少なくとも1つのデータ構成を含む圧縮データ構成グループであって、サイズが圧縮ファイル用容量以下となる圧縮データ構成グループを探索する。圧縮変更部16は、探索して得られた1以上の圧縮データ構成グループのうち、サイズが最大となる圧縮データ構成グループを圧縮部分ファイルとする。これにより、更新対象ファイルのうち、より大きなサイズの1以上のデータ構成が圧縮された状態で送信されることになる。従って、更新対象ファイルの送信時間の更なる短縮が図られる。
【0150】
実施の形態4における子側通信部30は、子局装置の解凍機能の有無を示す機能情報を親局装置に送信する。親側通信部13は、子局装置が解凍機能を有さないことを、子局装置からの機能情報が示す場合には、圧縮更新対象ファイル、または、圧縮部分ファイルおよび非圧縮部分ファイルに代え、非圧縮ファイルを子局装置に送信する。これにより、子局装置は、非圧縮更新対象ファイルによって、第1記憶領域におけるファームウェアファイルを適切に更新することができる。
【0151】
以上、実施の形態について説明したが、本開示の内容は、実施の形態に限定されるものではなく、想定しうる均等の範囲を含む。また、実施の形態1~実施の形態4で説明した構成およびその変形例は、機能及び動作を阻害しない範囲で、互いに組み合わせることができる。
【符号の説明】
【0152】
1 OLT、3 ONU、5 光スプリッタ、6 サーバ、10 取得部、11 親側記憶部、12 圧縮部、13 親側通信部、14 更新可否判定部、15 更新対象特定部、16 圧縮変更部、20 第1バス、21 第1プロセッサ、22 第1メモリ、23 第1通信インターフェース回路、24 サーバ通信用インターフェース回路、30 子側通信部、31 子側記憶部、32 ヘッダ解析部、33 容量判定部、34 解凍部、35 書き込み部、36 結果応答部、37 容量特定部、38 バージョン取得部、40 第2バス、41 第2プロセッサ、42 第2メモリ、43 第3メモリ、44 第2通信インターフェース回路、100 通信システム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27