特許第6221317号(P6221317)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ セイコーエプソン株式会社の特許一覧

<>
  • 特許6221317-電子機器、及び、通信システム 図000002
  • 特許6221317-電子機器、及び、通信システム 図000003
  • 特許6221317-電子機器、及び、通信システム 図000004
  • 特許6221317-電子機器、及び、通信システム 図000005
  • 特許6221317-電子機器、及び、通信システム 図000006
  • 特許6221317-電子機器、及び、通信システム 図000007
  • 特許6221317-電子機器、及び、通信システム 図000008
  • 特許6221317-電子機器、及び、通信システム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6221317
(24)【登録日】2017年10月13日
(45)【発行日】2017年11月1日
(54)【発明の名称】電子機器、及び、通信システム
(51)【国際特許分類】
   G06F 11/00 20060101AFI20171023BHJP
【FI】
   G06F9/06 630A
【請求項の数】3
【全頁数】17
(21)【出願番号】特願2013-84617(P2013-84617)
(22)【出願日】2013年4月15日
(65)【公開番号】特開2014-206889(P2014-206889A)
(43)【公開日】2014年10月30日
【審査請求日】2016年3月23日
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100116665
【弁理士】
【氏名又は名称】渡辺 和昭
(74)【代理人】
【識別番号】100164633
【弁理士】
【氏名又は名称】西田 圭介
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(72)【発明者】
【氏名】河西 永治
【審査官】 杉浦 孝光
(56)【参考文献】
【文献】 特開2008−123412(JP,A)
【文献】 特開2007−058478(JP,A)
【文献】 国際公開第2012/144462(WO,A1)
【文献】 特開2012−006176(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/00
(57)【特許請求の範囲】
【請求項1】
端末装置と、通信回線を介し前記端末装置からのアクセスに応答する複数のサーバーを搭載した電子機器とを有する通信システムであって、
前記電子機器は、
前記通信回線により第1通信ポートを使用してアクセス可能な第1サーバーと、第2通信ポートを使用してアクセス可能であり、ファイルの格納処理を実行可能な第2サーバーと、を有し、
前記第1サーバー及び前記第2サーバーが動作している状態、及び、前記第2サーバーのみが動作している状態のいずれかの状態をとることが可能であり、前記第2サーバーのみが動作している状態の場合は、前記第2サーバーには前記第1通信ポートを使用してアクセス可能な構成とされ、
前記端末装置は、
前記第2通信ポートを指定して前記電子機器にアクセスし、肯定応答があった場合、前記第2通信ポートを介して前記第2サーバーに対して前記特定のファイルの格納要求を行なう一方、否定応答があった場合、前記第1通信ポートを介して前記第2サーバーに対して前記特定のファイルの格納要求を行い、
前記電子機器は、
前記第2通信ポートを介して前記端末装置から前記特定のファイルの格納要求があった場合、前記第1サーバーを停止させた後、前記第2サーバーによって前記特定のファイルを受信することを特徴とする信システム。
【請求項2】
前記電子機器は、
前記第2サーバーは、ファームウェアに係るファイルに基づいて、前記ファームウェアのアップデートを行なう機能が実装されており、前記端末装置からの前記特定のファイルの格納要求は、前記ファームウェアに係るファイルに基づくアップデートの要求であることを特徴とする請求項に記載の通信システム。
【請求項3】
前記電子機器は、
前記第1サーバーの停止後、前記第2サーバーによる前記第2通信ポートを介した前記特定のファイルの受信中に、受信が中断した場合、停止した前記第1サーバーを起動することを特徴とする請求項に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバーが搭載された電子機器、及び、当該電子機器と端末装置とを備える通信システムに関する。
【背景技術】
【0002】
従来、サーバーが搭載された電子機器(サーバー装置)が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−227662号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した電子機器において、複数のサーバーソフトウェアがインストールされることにより、複数のサーバーが搭載されることを想定する。このような構成により、事後的に、電子機器に、サーバーに係る機能を追加することが可能となる。そして、上記構成に係る電子機器が、外部機器たる端末装置の要求に応じて、ファイルの格納を行なう場合、複数のサーバーが搭載されていることを踏まえた適切な処理を行なう必要がある。
本発明は、上述した事情に鑑みてなされたものであり、複数のサーバーを搭載した電子機器、及び、当該電子機器を有する通信システムについて、複数のサーバーが搭載されていることを踏まえて適切にファイルの格納処理を行えるようにすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、通信回線を介した端末装置からのアクセスに応答する複数のサーバーを搭載した電子機器であって、前記通信回線により第1通信ポートを使用してアクセス可能な第1サーバーと、第2通信ポートを使用してアクセス可能であり、ファイルの格納処理を実行可能な第2サーバーと、を有し、前記第2通信ポートを介して前記端末装置から特定のファイルの格納要求を受信した場合、前記第1サーバーを停止させて、前記第2サーバーによって前記第2通信ポートを介して前記特定のファイルを受信すること、を特徴とする。
この構成によれば、第2サーバーによる特定のファイルの格納に伴う当該特定のファイルの受信に際し、第1サーバーが停止される。これにより、例えば、第1サーバーが動作していることに起因して、特定のファイルの格納に使用するメモリー領域の不足が発生する等のエラーが発生することが防止される。すなわち、電子機器は、複数のサーバーが搭載されることを踏まえて、適切にファイルの格納処理を行うことができる。
【0006】
また、本発明は、前記第1サーバーは、前記特定のファイルの格納に使用するメモリー領域を使用して動作すること、を特徴とする。
この構成によれば、第1サーバーが動作していることに起因して、特定のファイルの格納に使用するメモリー領域の不足が発生することが防止される。
【0007】
また、本発明は、前記第2サーバーは、ファームウェアに係るファイルに基づいて、ファームウェアのアップデートを行なう機能が実装されており、前記端末装置からの前記特定のファイルの格納要求は、前記ファームウェアに係るファイルに基づくアップデートの要求であることを特徴とする。
この構成によれば、電子機器は、複数のサーバーが搭載されることを踏まえて、適切に、ファームウェアのアップデートを実行することができる。
【0008】
また、本発明は、前記第1サーバーの停止後、前記第2サーバーによる前記第2通信ポートを介した前記特定のファイルの受信中に、受信が中断した場合、停止した前記第1サーバーを起動することを特徴とする。
この構成によれば、通信エラー等の何らかの原因で、特定のファイルの受信が中断し、特定のファイルの格納が失敗した場合であっても、速やかに第1サーバーが立ち上がり、第1サーバーの機能による処理を実行可能となる。
【0009】
また、本発明は、端末装置と、通信回線を介した前記端末装置からのアクセスに応答する複数のサーバーを搭載した電子機器とを有し、前記電子機器は、前記通信回線により第1通信ポートを使用してアクセス可能な第1サーバーと、第2通信ポートを使用してアクセス可能であり、ファイルの格納処理を実行可能な第2サーバーと、を有し、前記端末装置は、前記第2通信ポートを介して前記第2サーバーに対して、特定のファイルの格納要求を行い、前記電子機器は、前記第2通信ポートを介して前記端末装置から前記特定のファイルの格納要求を受信した場合、前記第1サーバーを停止させて、前記第2サーバーによって前記特定のファイルを受信すること、を特徴とする。
この構成によれば、第2サーバーによる特定のファイルの格納に伴う当該特定のファイルの受信に際し、第1サーバーが停止される。これにより、例えば、第1サーバーが動作していることに起因して、特定のファイルの格納に使用するメモリー領域の不足が発生する等のエラーが発生することが防止される。すなわち、通信システムは、複数のサーバーが搭載されることを踏まえて、適切にファイルの格納処理を行うことができる。
【0010】
また、本発明は、前記電子機器は、前記第1サーバー及び前記第2サーバーが動作している状態、及び、前記第2サーバーのみが動作している状態のいずれかの状態をとることが可能であり、前記第2サーバーのみが動作している状態の場合は、前記第2サーバーには前記第1通信ポートを使用してアクセス可能な構成とされ、前記端末装置は、前記第2通信ポートを指定して前記電子機器にアクセスし、肯定応答があった場合、前記第2通信ポートを介して前記第2サーバーに対して前記特定のファイルの格納要求を行なう一方、否定応答があった場合、第1通信ポートを介して前記第2サーバーに対して特定のファイルの格納要求を行い、前記電子機器は、前記第2通信ポートを介して前記端末装置から前記特定のファイルの格納要求があった場合、前記第1サーバーを停止させて、前記第2サーバーによって前記特定のファイルを受信することを特徴とする。
この構成によれば、第1サーバー及び第2サーバーが動作している状態、及び、第2サーバーのみが動作している状態のいずれであっても、複数のサーバーが搭載されることを踏まえて、ファイルの格納処理を行うことができる。
【0011】
また、本発明は、前記第2サーバーは、ファームウェアに係るファイルに基づいて、ファームウェアのアップデートを行なう機能が実装されており、前記端末装置からの前記特定のファイルの格納要求は、前記ファームウェアに係るファイルに基づくアップデートの要求であることを特徴とする。
この構成によれば、通信システムは、電子機器は、複数のサーバーが搭載されることを踏まえて、適切に、ファームウェアのアップデートを実行することができる。
【発明の効果】
【0012】
本発明によれば、複数のサーバーが搭載されていることを踏まえて適切にファイルの格納処理を実行できる、という効果を奏する。
【図面の簡単な説明】
【0013】
図1】第1実施形態に係る通信システムの機能的構成を示すブロック図である。
図2】動作モードを説明するための図である。
図3】プリンター、及び、端末装置の動作を示すフローチャートである。
図4】プリンター、及び、端末装置の動作を示すフローチャートである。
図5】第2実施形態に係る動作モードを説明するための図である。
図6】プリンター、及び、端末装置の動作を示すフローチャートである。
図7】ユーザーインターフェースを示す図である。
図8】プリンター、及び、端末装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態について説明する。
<第1実施形態>
図1は、本実施形態に係る通信システム1の機能的構成を示すブロック図である。
図1に示すように、通信システム1は、プリンター10(電子機器)と、端末装置30とを備え、これらがインターネットや、LAN等のネットワークを含んで構成される通信回線Nを介して通信可能に接続されている。
プリンター10は、少なくとも、記録媒体に画像を印刷する機能、及び、通信回線Nを介して端末装置30と通信する機能を有する印刷装置である。
また、端末装置30は、少なくとも、ブラウザー(不図示)、及び、専用ツール34a(ソフトウェアツール、詳細は後述。)の機能により、通信回線Nを介してプリンター10と通信し、プリンター10に関する各種設定、各種メンテナンスを実行する機能を有する端末である。端末装置30は、上記ソフトウェアがインストールされていれば何でもよく、デスクトップ型や、携帯型、タブレット型のPCや、携帯電話等を、端末装置30として使用できる。また、後述するようにプリンター10は、ホストコンピューターから入力された制御コマンドに基づいて印刷に係る各種処理を実行するが、このホストコンピューターが端末装置30であってもよい。
【0015】
図1に示すように、プリンター10は、プリンター制御部11と、プリンター記憶部12と、印刷機構13と、インターフェースボード14と、を備えている。
プリンター制御部11は、プリンター10の各部を中枢的に制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。プリンター記憶部12は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。プリンター記憶部12には、プリンター10の制御に係るプログラムであるプリンターファームウェア12aが記憶されている。印刷機構13は、印刷ヘッドや、記録媒体を搬送する搬送機構等を備え、プリンター制御部11の制御の下、印刷に係る各種処理を実行して、記録媒体に画像を印刷する。
インターフェースボード14は、制御部16と、不揮発性メモリー17と、RAM18と、通信モジュール19と、コネクター20とが実装されている。
制御部16は、CPUや、周辺回路等が実装され、インターフェースボード14の各部を中枢的に制御する。不揮発性メモリー17は、EEPROM等の不揮発性メモリーを含んで構成され、各種データを不揮発的に書き換え可能に記憶する。不揮発性メモリー17には、拡張サーバーソフトウェア17a、基本サーバーソフトウェア17b、及び、ファームウェア17cが記憶されている。これらプログラムについては後述する。
RAMは、制御部16のワークエリアとして機能し、各種データを一時記憶する。
通信モジュール19は、所定の通信規格に準拠して、通信回線Nを介して端末装置30と通信するための信号処理回路や、その他の回路等を備え、制御部16の制御の下、端末装置30との間でのデータの送受信を制御する。コネクター20には、所定の通信規格に準拠したケーブルが接続される。本実施形態では、通信は、有線を想定しているが、無線であってもよい。
【0016】
一方、図1に示すように、端末装置30は、端末制御部31と、端末表示部32と、端末入力部33と、端末記憶部34と、インターフェース部35(I/F)と、を備えている。
端末制御部31は、CPUや、ROM、RAM、その他の周辺回路等を備え、端末装置30の各部を中枢的に制御する。端末表示部32は、端末制御部31の制御の下、表示パネル32aに各種画像を表示する。端末入力部33は、キーボードや、マウス、その他の入力デバイスに接続され、入力デバイスに対する入力を検出して端末制御部31に出力する。端末記憶部34は、EEPROMや、ハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。端末記憶部34には、専用ツール34aが記憶されている。専用ツール34aは、プリンター10に関する各種設定、各種メンテナンスを実行する機能が実装されたプログラムであり、少なくとも、プリンター10にファームウェア17cのアップデートを実行させる機能が実装されている。インターフェース部35は、端末制御部31の制御の下、プリンター10と所定の通信規格に準拠して通信する。
【0017】
次に、プリンター10が記録媒体に画像を印刷する際の基本的な動作について説明する。
記録媒体への画像の記録に際し、プリンター10に接続されたホストコンピューター(不図示)から画像の記録に係る各種処理を実行させる制御コマンドが入力される。ホストコンピューターにはプリンタードライバーがインストールされており、ホストコンピューターは、当該プリンタードライバーの機能により、制御コマンドを生成し、出力する。プリンター10のプリンター制御部11は、入力された制御コマンドに基づいて、印刷機構13を制御して、記録媒体を搬送しつつ、印刷ヘッドによって記録媒体に画像を印刷する。
【0018】
次に、拡張サーバーソフトウェア17aに係る拡張サーバーSV1(第1サーバー)、及び、基本サーバーソフトウェア17bに係る基本サーバーSV2(第2サーバー)について説明する。
上述したように、インターフェースボード14の不揮発性メモリー17には、拡張サーバーソフトウェア17a、及び、基本サーバーソフトウェア17bが記憶(インストール)されている。これらソフトウェアは、いわゆるWebサーバーソフトウェアであり、クライアントとして端末装置30のリクエストに応じて、HTTPに準拠して、サービスを提供する機能が実装されている。
拡張サーバーSV1とは、拡張サーバーソフトウェア17aの起動(ロード)後、このソフトウェアにより実現されるサーバーとしての機能を概念的に表わしたものである。同様に、基本サーバーSV2とは、基本サーバーソフトウェア17bの起動(ロード)後、このソフトウェアにより実現されるサーバーとしての機能を概念的に表わしたものである。
基本サーバーSV2(第2サーバー)は、基本的な機能を有するサーバーである。本実施形態では、基本サーバーSV2は、少なくとも、インターフェースボード14に関する各種設定を実行する機能、及び、後述するようにファームウェア17cをアップデートする機能(ファイルの格納処理を実行する機能)を有している。
拡張サーバーSV1は、基本サーバーSV2の機能に加えて、さらに機能を追加することを目的としたサーバーである。本実施形態では、拡張サーバーSV1は、perlや、php、JavaScript(登録商標)等のプログラム言語に対応して各種処理を実行する機能を有している。
プリンター10は、拡張サーバーSV1、及び、基本サーバーSV2に関連して、2つの動作モードをとり得る構成となっている。
【0019】
1つ目の動作モードは、拡張−基本動作モードである。この動作モードでは、図2(A)に示すように、拡張サーバーSV1、及び、基本サーバーSV2が共に動作している状態とされる。換言すれば、拡張サーバーソフトウェア17a、及び、基本サーバーソフトウェア17bのいずれもがロードされた状態とされる。
そして、拡張−基本動作モードでは、拡張サーバーSV1には、TCP(UDPでもよいが、本実施形態ではTCPであるものとする。)に係るポート番号として、「80」が割り当てられる。以下、ポート番号が「80」の通信ポートを、「80ポート」という。80ポートが、第1通信ポートに該当する。
また、基本サーバーSV2には、ポート番号として、「8080」が割り当てられる。以下、ポート番号が「8080」の通信ポートを「8080ポート」という。8080ポートが、第2通信ポートに該当する。
2つ目の動作モードは、基本動作モードである。この動作モードでは、図2(B)に示すように、基本サーバーSV2のみが動作している状態とされる。換言すれば、基本サーバーソフトウェア17bのみがロードされた状態とされる。
そして、基本動作モードでは、基本サーバーSV2には、ポート番号として「80」が割り当てられる。
【0020】
次に、ファームウェア17cのアップデートを実行するときのプリンター10、及び、端末装置30の動作について説明する。
以下に説明するとおり、本実施形態では、プリンター10に、拡張サーバーSV1、及び、基本サーバーSV2が搭載されている点、及び、ファームウェア17cのアップデートに特有の課題、を踏まえて、各装置は、適切な処理を実行する。
図3は、動作モードが「拡張−基本動作モード」の場合のファームウェア17cのアップデート時におけるプリンター10、及び、端末装置30の動作を示すフローチャートである。(A)は端末装置30の動作を、(B)はプリンター10の動作をそれぞれ示している。
ファームウェア17cのアップデートに際し、まず、ユーザーからその旨の指示が行なわれる(ステップSX1)。ユーザーは、端末装置30にインストールされている専用ツール34aを起動し、この専用ツール34aの機能によって提供される専用のユーザーインターフェースを利用して、ファームウェアのアップデートの指示を行なう。なお、アップデートファイルは、ユーザーによって、事前に、端末記憶部34の所定の記憶領域に記憶される。
【0021】
ステップSX1におけるユーザーの指示に応じて、端末装置30の端末制御部31は、専用ツール34aの機能により、8080ポートを使用して、TCPコネクションの確立の要求を行なう(ステップSA1)。具体的には、端末制御部31は、8080ポートを使用して、SYNフラグがセットされたパケットをプリンター10に送信する。
ここで、本実施形態では、端末制御部31は、プリンター10の動作モードが、拡張−基本動作モードであるのか、基本動作モードであるのかを事前に認識できない。そして、ファームウェア17cのアップデートが指示された場合、端末制御部31は、専用ツール34aの機能により、まず、8080ポートを使用してTCPコネクションの確立の要求を行なう構成となっている。そして、後述するように、端末制御部31は、8080ポートに係るTCPコネクションの確立に失敗した場合、80ポートに係るTCPコネクションの確立の要求を行なう構成となっている。
図3のフローチャートでは、プリンター10の動作モードは、拡張−基本動作モードである。従って、8080ポートの基本サーバーSV2が動作している。このため、ステップSA1における、8080ポートについてのTCPコネクションの確立の要求に対して、基本サーバーSV2は、肯定応答を行なう(ステップSB1)。具体的には、基本サーバーSV2は、SYN/ACKフラグがセットされたパケットを端末装置30に送信する。ステップSB1の肯定応答に対応して、端末制御部31は、肯定応答を行なう(ステップSA2)。具体的には、ACKフラグがセットされたパケットをプリンター10に送信する。これにより、プリンター10と、端末装置30との間で、TCPコネクションが確立する。
【0022】
次いで、端末制御部31は、専用ツール34aの機能により、8080ポート(第2通信ポート)を介して、基本サーバーSV2に対して、ファームウェア17cのアップデートの要求(特定のファイルの格納の要求)を行なう(ステップSA3)。当該要求は、予め定められたプロトコルに準拠して行なわれる。
当該要求を受信すると、基本サーバーSV2は、拡張サーバーソフトウェア17aを終了することにより、拡張サーバーSV1を停止する(ステップSB2)。
ここで、ステップSB2の処理が行なわれる理由について説明する。
ファームウェア17cのアップデートは、以下の手順で行なわれる。まず、端末装置30からプリンター10に対して、アップデートファイル(特定のファイル)が送信される。ここで、送信されたアップデートファイルは、順次、RAM18に一時記憶される。基本サーバーSV2は、アップデートファイルの全てについて、RAM18への記憶が完了したか否かを監視する。アップデートファイルの全てについてRAM18への記憶が完了すると、基本サーバーSV2は、RAM18に記憶されたアップデートファイルを、不揮発性メモリー17の適切な記憶領域に適切な態様で記憶(格納)する。不揮発性メモリー17へのアップデートファイルの記憶(格納)が完了すると、基本サーバーSV2は、RAM18に記憶されたアップデートファイルを消去する。
【0023】
このように、一旦、アップデートファイルの全てをRAM18に記憶した後、RAM18に記憶したアップデートファイルを不揮発性メモリー17に記憶する理由は以下である。すなわち、ファームウェア17cは、インターフェースボード14の制御に係るプログラムであり、アップデートに失敗した場合、悪影響が非常に大きい。これを踏まえ、上記処理を行なうことにより、通信エラー、その他のエラーに起因して、アップデートファイルの送信が正常に完了しなかった場合であっても、既に不揮発性メモリー17に記憶されているファームウェア17cに対して何らかの影響が与えられることを防止するためである。
一方で、アップデートファイルの全てをRAM18に記憶した後、RAM18に記憶したアップデートファイルを不揮発性メモリー17に記憶するという処理を行なっているため、以下の問題がある。
すなわち、アップデートの実行中、RAM18の記憶領域の使用量が大きい、という問題である。一例として、RAM18の記憶容量が64MBであるのに対して、アップデートの実行中に使用するRAM18の記憶領域の容量が30MBである。
このように、アップデートの実行中におけるRAM18の記憶領域の使用量が大きいという問題を踏まえて、ステップSB2において、基本サーバーSV2は、拡張サーバーSV1を停止する。すなわち、拡張サーバーSV1は、複数のプログラム言語に対応して各種処理を実行する機能を有しており、ワークエリアとしてRAM18を使用する頻度が高く、その動作中におけるRAM18の記憶領域の使用量が大きい。一例として、RAM18の記憶容量が64MBであるのに対して、拡張サーバーSV1が使用するRAM18の記憶領域の容量が30MBである。そして、ファームウェア17cのアップデートの要求が合ったことをトリガーとして、拡張サーバーSV1が停止されることにより、RAM18において、拡張サーバーSV1に関する各種データがアンロードされ、記憶領域が開放される。これにより、RAM18において、ファームウェア17cのアップデートに使用する記憶領域が確保され、例えば、RAM18の容量不足に起因して、ファームウェア17cのアップデートが完了しないといった事態が発生することが防止される。
【0024】
ステップSB2において拡張サーバーSV1を停止した後、基本サーバーSV2は、端末装置30に対して、アップデートファイルの送信要求を行なう(ステップSB3)。この送信要求に応答して、端末制御部31は、アップデートファイルの送信を開始する(ステップSA4)。
基本サーバーSV2は、アップデートファイルを受信し、順次、RAM18に記憶していく(ステップSB4)。上述したように、ステップSB4の処理の時点では、拡張サーバーSV1が停止されているため、拡張サーバーSV1に係るデータがRAM18から消去されている。従って、RAM18上で、アップデートファイルを展開するだけの記憶領域が確保されており、RAM18のメモリー不足に起因して何らかのエラーが発生することが防止されている。
アップデートファイルの受信中、基本サーバーSV2は、アップデートファイルの全てについてRAM18への記憶が完了したか否かを監視しつつ(ステップSB6)、アップデートファイルの受信が中断したか否かを監視する(ステップSB5)。受信が中断する場合としては、通信に関する何らかのエラーや、端末装置30のソフト的なエラー等が想定される。
アップデートファイルの全てのRAM18への記憶が完了する前に、アップデートファイルの受信が中断した場合(ステップSB5:YES)、基本サーバーSV2は、その旨、端末装置30に通知する(ステップSB7)。当該通知により、プリンター10は、対応する処理、例えば、ファームウェア17cのアップデートが正常に完了しなかった旨の報知等を実行することが可能となる。次いで、基本サーバーSV2は、拡張サーバーソフトウェア17aを起動することにより、拡張サーバーSV1を起動する(ステップSB8)。このような構成のため、通信エラー等の何らかの原因で、特定のファイルの受信が中断し、ファームウェア17cのアップデート(特定のファイルの格納)が失敗した場合であっても、速やかに拡張サーバーSV1が起動され、拡張サーバーSV1の機能による処理を実行可能となる。
【0025】
一方で、アップデートファイルの受信が中断することなく、アップデートファイルの全てについて、RAM18への記憶が完了した場合(ステップSB6:YES)、基本サーバーSV2は、以下の処理を実行する。すなわち、基本サーバーSV2は、RAM18に記憶されたアップデートファイルを、不揮発性メモリー17の適切な記憶領域に適切な態様で記憶(格納)する(ステップSB9)。次いで、基本サーバーSV2は、RAM18に記憶されたアップデートファイルを消去する(ステップSB10)。これにより、ファームウェア17cのアップデートが完了する。次いで、基本サーバーSV2は、ファームウェア17cのアップデートが正常に完了した旨、端末装置30に通知する(ステップSB11)。次いで、基本サーバーSV2は、拡張サーバーソフトウェア17aを起動することにより、拡張サーバーSV1を起動する(ステップSB12)。これにより、ファームウェア17cのアップデート完了後、速やかに拡張サーバーSV1が起動され、拡張サーバーSV1の機能による処理を実行可能となる。
【0026】
次に、動作モードが「基本動作モード」の場合におけるファームウェア17cのアップデートを実行するときのプリンター10、及び、端末装置30の動作について説明する。
図4は、動作モードが「基本動作モード」の場合のファームウェア17cのアップデート時におけるプリンター10、及び、端末装置30の動作を示すフローチャートである。(A)は端末装置30の動作を、(B)はプリンター10の動作をそれぞれ示している。
ファームウェア17cのアップデートに際し、まず、ユーザーからその旨の指示が行なわれる(ステップSY1)。ステップSY1におけるユーザーの指示に応じて、端末装置30の端末制御部31は、専用ツール34aの機能により、8080ポートを使用して、TCPコネクションの確立の要求を行なう(ステップSC1)。具体的には、端末制御部31は、8080ポートを使用して、SYNフラグがセットされたパケットをプリンター10に送信する。上述したとおり、端末制御部31は、プリンター10の動作モードが、拡張−基本動作モードであるのか、基本動作モードであるのかを事前に認識できない。そして、ファームウェア17cのアップデートが指示された場合、端末制御部31は、専用ツール34aの機能により、まず、8080ポートを使用してTCPコネクションの確立の要求を行なう構成となっている。
図4のフローチャートでは、プリンター10の動作モードは、基本動作モードである。従って、80ポートの基本サーバーSV2が動作している。換言すれば、8080ポートのサーバーは動作していない。このため、ステップSC1における、8080ポートについてのTCPコネクションの確立の要求に対して、プリンター10は、否定応答を行なう(ステップSD1)。具体的には、プリンター10は、RSTフラグがセットされたパケットを端末装置30に送信する。
否定応答を受けた、端末制御部31は、専用ツール34aの機能により、80ポートを使用して、TCPコネクションの確立の要求を行なう(ステップSC2)。具体的には、端末制御部31は、80ポートを使用して、SYNフラグがセットされたパケットをプリンター10に送信する。上述したように、本実施形態では、端末制御部31は、プリンター10の動作モードが、拡張−基本動作モードであるのか、基本動作モードであるのかを事前に認識できない。そして、端末制御部31は、8080ポートに係るTCPコネクションの確立に失敗した場合、80ポートに係るTCPコネクションの確立の要求を行なう構成となっている。
図4のフローチャートでは、プリンター10の動作モードは、基本動作モードである。従って、80ポートの基本サーバーSV2が動作している。このため、ステップSC2における、80ポートについてのTCPコネクションの確立の要求に対して、基本サーバーSV2は、肯定応答を行なう(ステップSD2)。具体的には、基本サーバーSV2は、SYN/ACKフラグがセットされたパケットを端末装置30に送信する。ステップSD2の肯定応答に対応して、端末制御部31は、肯定応答を行なう(ステップSC3)。具体的には、ACKフラグがセットされたパケットをプリンター10に送信する。これにより、プリンター10と、端末装置30との間で、TCPコネクションが確立する。
【0027】
以下、プリンター10と、端末装置30とが協働して、ファームウェア17cのアップデートを行なう(ステップSC4、ステップSD3)。当該処理は、図3のフローチャートを用いて説明した処理に対応する処理であるため、詳細な説明を省略する。なお、当該処理において、端末装置30の端末制御部31は、8080ポートを介して基本サーバーSV2にアクセスするのではなく、80ポートを介して基本サーバーSV2にアクセスする。また、当該処理では、拡張サーバーSV1は動作していないため、拡張サーバーSV1を停止する処理は行なわれない。
このように、本字視形態では、動作モードが基本モードの場合であっても、プリンター10と端末装置30とが協働して、基本サーバーSV2の機能により、ファームウェア17cのアップデートを実行できる。
【0028】
以上説明したように、本実施形態では、プリンター10(電子機器)は、通信回線Nにより80ポート(第1通信ポート)を使用してアクセス可能な拡張サーバーSV1(第1サーバー)と、8080ポート(第2通信ポート)を使用してアクセス可能な基本サーバーSV2(第2サーバー)と、を有している。そして、プリンター10は、8080ポートを介して端末装置30からファームウェア17cのアップデートの要求(特定のファイルの格納要求)を受信した場合、拡張サーバーSV1(第1サーバー)を停止させて、基本サーバーSV2(第2サーバー)によって8080ポートを介してアップデートファイル(特定のファイル)を受信する。
この構成によれば、拡張サーバーSV1が動作していることに起因して、アップデートファイルの格納に使用するメモリー領域の不足が発生する等のエラーが発生することが防止される。すなわち、プリンター10は、複数のサーバーが搭載されることを踏まえて、適切にファイルの格納処理を行うことができる。
【0029】
また、本実施形態では、拡張サーバーSV1は、アップデートファイルの格納に使用するRAM18のメモリー領域を使用して動作する。
この構成によれば、拡張サーバーSV1が動作していることに起因して、アップデートファイルの格納に使用するメモリー領域の不足が発生することが防止される。
【0030】
また、本実施形態では、基本サーバーSV2は、アップデートファイル(ファームウェア17cに係るファイル)に基づいて、ファームウェア17cのアップデートを行なう機能が実装されており、端末装置30からの要求に基づいて、ファームウェア17cのアップデートを実行可能である。
この構成によれば、プリンター10は、複数のサーバーが搭載されることを踏まえて、適切に、ファームウェア17cのアップデートを実行することができる。
【0031】
また、本実施形態では、拡張サーバーSV1の停止後、基本サーバーSV2による8080ポートを介したアップデートファイルの受信中に、受信が中断した場合、停止した拡張サーバーSV1を起動する。
この構成によれば、通信エラー等の何らかの原因で、アップデートファイルの受信が中断し、アップデートファイルの格納が失敗した場合であっても、速やかに拡張サーバーSV1が立ち上がり、拡張サーバーSV1の機能による処理を実行可能となる。
【0032】
また、本実施形態では、プリンター10は、拡張−基本動作モード(第1サーバー及び第2サーバーが動作している状態)、及び、基本動作モード(第2サーバーのみが動作している状態)のいずれかのモードもとり得る。そして、基本動作モードでは、基本サーバーSV2には80ポートを使用してアクセス可能な構成とされる。その上で、端末装置30は、8080ポートを指定してプリンター10にアクセスし、肯定応答があった場合、8080ポートを介して基本サーバーSV2に対してファームウェア17cのアップデートの要求を行なう一方、否定応答があった場合、80ポートを介して基本サーバーSV2に対してファームウェア17cのアップデートの要求を行なう。プリンター10は、8080ポートを介して端末装置30からファームウェア17cのアップデートの要求があった場合、拡張サーバーSV1を停止させて、基本サーバーSV2によってアップデートファイルを受信する。
この構成によれば、動作モードが、拡張−基本動作モード、及び、基本動作モードのいずれであっても、複数のサーバーが搭載されることを踏まえて、適切に、ファイルの格納処理を行うことができる。
【0033】
<第2実施形態>
次に、第2実施形態について説明する。
本実施形態に係る通信システム1の機能ブロックは、第1実施形態に係る通信システム1の機能ブロックと同様であるため、図1を援用し、その詳細な説明を省略する。
本実施形態に係るプリンター10は、拡張サーバーSV1、及び、基本サーバーSV2に関連して、2つの動作モードをとり得る構成となっている。
【0034】
1つ目の動作モードは、拡張−基本動作モード(図5(A)参照)である。この動作モードは、第1実施形態で説明したように、拡張サーバーSV1、及び、基本サーバーSV2が共に動作している状態とされる。換言すれば、拡張サーバーソフトウェア17a、及び、基本サーバーソフトウェア17bのいずれもがロードされた状態とされる。拡張サーバーSV1の通信ポートは、80ポート(第1通信ポート)であり、基本サーバーSV2の通信ポートは、8080ポート(第2通信ポート)である。
2つ目の動作モードは、拡張動作モードである。この動作モードでは、図5(B)に示すように、拡張サーバーSV1のみが動作している状態とされる。換言すれば、拡張サーバーソフトウェア17aのみがロードされた状態とされる。
そして、拡張動作モードでは、拡張サーバーSV1の通信ポートは、80ポートである。
【0035】
次に、ファームウェア17cのアップデートを実行するときのプリンター10、及び、端末装置30の動作について説明する。
図6は、動作モードが「拡張−基本動作モード」の場合のファームウェア17cのアップデート時におけるプリンター10、及び、端末装置30の動作を示すフローチャートである。(A)は端末装置30の動作を、(B)はプリンター10の動作をそれぞれ示している。
ファームウェア17cのアップデートに際し、まず、ユーザーからその旨の指示が行なわれる(ステップSZ1)。ステップSZ1におけるユーザーの指示に応じて、端末装置30の端末制御部31は、専用ツール34aの機能により、80ポートを使用して、TCPコネクションの確立の要求を行なう(ステップSE1)。具体的には、端末制御部31は、80ポートを使用して、SYNフラグがセットされたパケットをプリンター10に送信する。
ここで、本実施形態では、端末制御部31は、ファームウェア17cのアップデートが指示された場合、専用ツール34aの機能により、80ポートを使用してTCPコネクションの確立の要求を行なう構成となっている。この点、第1実施形態と相違している。
図6のフローチャートでは、プリンター10の動作モードは、拡張−基本動作モードである。従って、80ポートの拡張サーバーSV1が動作している。このため、ステップSE1における、80ポートについてのTCPコネクションの確立の要求に対して、拡張サーバーSV1は、肯定応答を行なう(ステップSF1)。具体的には、拡張サーバーSV1は、SYN/ACKフラグがセットされたパケットを端末装置30に送信する。ステップSB1の肯定応答に対応して、端末制御部31は、肯定応答を行なう(ステップSE2)。具体的には、ACKフラグがセットされたパケットをプリンター10に送信する。これにより、プリンター10と、端末装置30との間で、TCPコネクションが確立する。
【0036】
次いで、端末制御部31は、専用ツール34aの機能により、80ポート(第1通信ポート)を介して、拡張サーバーSV1に対して、ファームウェア17cのアップデートの要求(特定のファイルの格納の要求)を行なう(ステップSE3)。当該要求は、予め定められたプロトコルに準拠して行なわれる。
なお、後に明らかとなるとおり、ステップSE3の要求に応じて、プリンター10から端末装置30に対して、ユーザーインターフェースUI1(図7)を表示させるための表示用データD1が送信される。端末装置30は、受信した表示用データD1に基づいて、ユーザーインターフェースUI1を表示する。これを踏まえ、ステップSE3における「アップデートの要求」は、「表示用データD1の送信の要求」を含む概念である。
さて、ステップSE3の要求を受けた拡張サーバーSV1は、ユーザーインターフェースUI1(図7)を表示させるための表示用データD1を生成し、端末装置30に送信する(ステップSF2)。表示用データD1は、Html等で記述された描画データである。
表示用データD1を受信すると、端末制御部31は、表示用データD1に基づいて、表示パネル32aにユーザーインターフェースUI1(図7)を表示する(ステップSE4)。
【0037】
図7は、ユーザーインターフェースUI1の一例を示す図である。
このユーザーインターフェースUI1は、8080ポート(第2通信ポート)を指定して、基本サーバーSV2に対して、アップデートファイルを送信するためのユーザーインターフェースである。ユーザーは、ユーザーインターフェースUI1を利用して、アップデートファイルの格納場所を指定して、送信ボタンB1を選択する(ステップSP1)。これにより、端末制御部31は、表示用データD1に実装されたスクリプトの機能等により、8080ポートを使用した基本サーバーSV2との間でのTCPコネクションを確立した上で、アップデートファイルの送信要求を行なう(ステップSE5)。
当該要求を受信すると、基本サーバーSV2は、拡張サーバーソフトウェア17aを終了することにより、拡張サーバーSV1を停止する(ステップSF3)。このステップSF3の処理が行なわれる理由は、第1実施形態で説明したとおりである。
【0038】
ステップSF3において拡張サーバーSV1を停止した後、基本サーバーSV2は、端末装置30に対して、アップデートファイルの送信要求を行なう(ステップSF4)。この送信要求に応答して、端末制御部31は、アップデートファイルの送信を開始する(ステップSE6)。
基本サーバーSV2は、アップデートファイルを受信し、順次、RAM18に記憶していく(ステップSF5)。このステップSF5の処理の時点では、拡張サーバーSV1が停止されているため、拡張サーバーSV1に係るデータがRAM18から消去されている。従って、RAM18上で、アップデートファイルを展開するだけの記憶領域が確保されており、RAM18のメモリー不足に起因して何らかのエラーが発生することが防止されている。
アップデートファイルの受信中、基本サーバーSV2は、アップデートファイルの全てについてRAM18への記憶が完了したか否かを監視しつつ(ステップSF7)、アップデートファイルの受信が中断したか否かを監視する(ステップSF6)。
アップデートファイルの全てのRAM18への記憶が完了する前に、アップデートファイルの受信が中断した場合(ステップSF6:YES)、基本サーバーSV2は、その旨、端末装置30に通知する(ステップSF8)。当該通知により、プリンター10は、対応する処理、例えば、ファームウェア17cのアップデートが正常に完了しなかった旨の報知等を実行することが可能となる。次いで、基本サーバーSV2は、拡張サーバーソフトウェア17aを起動することにより、拡張サーバーSV1を起動する(ステップSF9)。このような構成のため、通信エラー等の何らかの原因で、特定のファイルの受信が中断し、ファームウェア17cのアップデート(特定のファイルの格納)が失敗した場合であっても、速やかに拡張サーバーSV1が起動され、拡張サーバーSV1の機能による処理を実行可能となる。
【0039】
一方で、アップデートファイルの受信が中断することなく、アップデートファイルの全てについて、RAM18への記憶が完了した場合(ステップSF7:YES)、基本サーバーSV2は、以下の処理を実行する。すなわち、基本サーバーSV2は、RAM18に記憶されたアップデートファイルを、不揮発性メモリー17の適切な記憶領域に適切な態様で記憶(格納)する(ステップSF10)。次いで、基本サーバーSV2は、RAM18に記憶されたアップデートファイルを消去する(ステップSF11)。これにより、ファームウェア17cのアップデートが完了する。次いで、基本サーバーSV2は、ファームウェア17cのアップデートが正常に完了した旨、端末装置30に通知する(ステップSF12)。次いで、基本サーバーSV2は、拡張サーバーソフトウェア17aを起動することにより、拡張サーバーSV1を起動する(ステップSF13)。これにより、ファームウェア17cのアップデート完了後、速やかに拡張サーバーSV1が起動され、拡張サーバーSV1の機能による処理を実行可能となる。
【0040】
このように、本実施形態では、端末制御部31からプリンター10に対して、80ポート(第1通信ポート)を介してファームウェア17cのアップデートの要求(特定のファイルの格納要求)があった場合に、8080ポート(第2通信ポート)を指定してアップデートファイルを送信するためのユーザーインターフェースUI1を表示させる表示用データD1が送信される。これにより、ユーザーは、当該表示用データに基づいて端末装置30の表示パネル32aに表示されたユーザーインターフェースUI1を利用して、8080ポートを介してアップデートファイルの送信を指示することができ、さらに、基本サーバーSV2にアップデートに係る処理を実行させることができる。
【0041】
次に、動作モードが「拡張動作モード」の場合におけるファームウェア17cのアップデートを実行するときのプリンター10、及び、端末装置30の動作について説明する。
図8は、動作モードが「拡張動作モード」の場合のファームウェア17cのアップデート時におけるプリンター10、及び、端末装置30の動作を示すフローチャートである。(A)は端末装置30の動作を、(B)はプリンター10の動作をそれぞれ示している。
図6と、図8との比較において明らかなとおり、拡張動作モードの場合、プリンター10が、ステップSF1の処理と、ステップSF2の処理との間で、ステップSQ1の処理を実行する点で、拡張−基本動作モードの場合と異なっている。
詳述すると、ステップSE3において、端末制御部31は、専用ツール34aの機能により、80ポート(第1通信ポート)を介して、拡張サーバーSV1に対して、ファームウェア17cのアップデートの要求(特定のファイルの格納の要求)を行なう。当該要求に応じて、拡張サーバーSV1は、基本サーバーSV2が動作していない状態であるため、基本サーバーソフトウェア17bを起動することにより、基本サーバーSV2を起動する(動作させる)(ステップSQ1)。その後、拡張サーバーSV1は、表示用データD1を生成し、端末装置30に送信する。
このような処理が実行されるため、動作モードが拡張モードである場合であっても、アップデートの要求に応じて、ファームウェア17cのアップデートに係る処理を実行する機能が実装された基本サーバーSV2が起動され、当該サーバーの機能により、ファームウェア17cのアップデートが適切に実行される。
なお、図8では、ステップSF9における拡張サーバーSV1の起動後、基本サーバーSV2が停止される。これにより、アップデートファイルの受信が中断した場合は、拡張サーバーSV1のみが動作している状態に速やかに移行する。
【0042】
以上説明したように、本実施形態に係るプリンター10(電子機器)は、端末装置30から80ポート(第1通信ポート)を介してファームウェア17cのアップデートの要求(特定のファイルの格納要求)を受信した場合に、8080ポート(第2通信ポート)を指定してアップデートファイル(特定のファイル)を送信するためのユーザーインターフェースUI1を表示させる表示用データD1を端末装置30に送信する。
この構成によれば、ユーザーは、表示用データD1に基づいて端末装置30の表示パネル32aに表示されたユーザーインターフェースUI1を利用して、8080ポートを介してアップデートファイルの送信を指示することができ、さらに、基本サーバーSV2にアップデートに係る処理を実行させることができる。つまり、プリンター10は、複数のサーバーが搭載されることを踏まえて、適切にファームウェア17cのアップデート(ファイルの格納処理)を行うことができる。
【0043】
また、本実施形態では、表示用データD1を受信した端末装置30から、8080ポートを介してアップデートファイルを受信した場合、拡張サーバーSV1を停止させて、基本サーバーSV2によりアップデートファイルを受信する。
この構成によれば、拡張サーバーSV1が動作していることに起因して、ファームウェア17cのアップデートに使用するメモリー領域の不足が発生する等のエラーが発生することが防止される。
【0044】
また、本実施形態では、拡張サーバーSV1の停止後、基本サーバーSV2による8080ポートを介したアップデートファイルの受信中に、受信が中断した場合、停止した拡張サーバーSV1を起動する。
この構成によれば、通信エラー等の何らかの原因で、特定のファイルの受信が中断し、特定のファイルの格納が失敗した場合であっても、速やかに拡張サーバーSV1が立ち上がり、拡張サーバーSV1の機能による処理を実行可能となる。
【0045】
また、本実施形態では、拡張サーバーSV1は、ファームウェア17cのアップデートに使用するメモリー領域を使用して動作する。
この構成によれば、ファームウェア17cのアップデートの際に、拡張サーバーSV1が動作していることに起因して、メモリー領域の不足が発生することが防止される。
【0046】
また、本実施形態に係るプリンター10は、拡張サーバーSV1及び基本サーバーSV2が動作している状態(拡張−基本動作モード)、及び、拡張サーバーSV1のみが動作している状態(拡張モード)のいずれかの状態をとることが可能である。そして、端末装置30は、80ポートを介してファームウェア17cのアップデートの要求を行ない、プリンター10は、拡張サーバーSV1のみが動作している状態の場合、表示用データD1を端末装置30に送信する一方、基本サーバーSV2を起動する。
この構成によれば、拡張サーバーSV1のみが動作している状態のときに、ファームウェア17cのアップデートの要求があった場合であっても、基本サーバーSV2の機能によりファイルの格納を実行できる。
【0047】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、電子機器が印刷機能を有するプリンター10である場合を例にして発明を説明したが、電子機器は、必ずしも印刷機能を有している必要はない。また例えば、ファイルの格納処理として、ファームウェア17cのアップデートを行なう場合を例にして発明を説明したが、ファイルの格納処理はこれに限らず、例えば、ファームウェア17c自体の格納処理、その他のファイル(データ)の格納処理であってもよい。特に、ファームウェア17cは、プリンターファームウェア12aであってもよい。
また例えば、図1に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、プリンター10や、端末装置30の各機能を、これら装置に外部接続される別の装置に持たせるようにしてもよい。また、プリンター10や、端末装置30は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
【符号の説明】
【0048】
1…通信システム、10…プリンター(電子機器)、11…プリンター制御部、14…インターフェースボード、16…制御部、17…不揮発性メモリー、17c…ファームウェア、30…端末装置、31…端末制御部、35…インターフェース部、N…通信回線、SV1…拡張サーバー(第1サーバー)、SV2…基本サーバー(第2サーバー)、UI1…ユーザーインターフェース。
図1
図2
図3
図4
図5
図6
図7
図8