JP6772772B2 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP6772772B2
JP6772772B2 JP2016220956A JP2016220956A JP6772772B2 JP 6772772 B2 JP6772772 B2 JP 6772772B2 JP 2016220956 A JP2016220956 A JP 2016220956A JP 2016220956 A JP2016220956 A JP 2016220956A JP 6772772 B2 JP6772772 B2 JP 6772772B2
Authority
JP
Japan
Prior art keywords
character string
setting
item
characters
name
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
JP2016220956A
Other languages
English (en)
Other versions
JP2018077803A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2016220956A priority Critical patent/JP6772772B2/ja
Publication of JP2018077803A publication Critical patent/JP2018077803A/ja
Application granted granted Critical
Publication of JP6772772B2 publication Critical patent/JP6772772B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本明細書では、通信装置の設定値を変更するための技術を開示する。
特許文献1には、サーバがMFP(Multifunction Peripheralの略)に所定の処理を実行させるための技術が開示されている。サーバは、MFPに所定の処理を実行させるための命令を生成し、当該命令をMFPに供給する。当該命令は、所定のスクリプト言語であるJSON(JavaScript(登録商標) Object Notationの略)に従って記述される。MFPは、JSONで記述された命令を解釈して、所定の処理を実行する。所定の処理は、例えば、MFPの設定値を変更する処理、MFPの状態を示す情報をサーバに送信する処理等を含む。
特開2015−125472号公報
MFPが命令に従って所定の処理を実行するために、所定のスクリプト言語の文法に従った文字列をMFPのメモリに予め格納しておくことが想定される。このような文字列を格納しておくためのメモリ容量を低減させることが求められている。
本明細書では、通信装置が、端末装置から受信される設定情報に応じて設定値を変更する処理を実行するために、通信装置のメモリに格納される情報量を低減させるための技術を提供する。
本明細書によって開示される通信装置は、通信インターフェースと、複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列と、当該設定項目の設定値と、を対応付けて格納するメモリであって、前記複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列の文字数は、前記通信装置とは異なる端末装置に表示される当該設定項目を示す項目文字列の文字数よりも少なく、当該設定項目を示す短縮文字列は、当該設定項目を示す項目文字列の一部の文字を含む、前記メモリと、前記端末装置において、前記複数個の設定項目のうちの第1の設定項目を示す第1の項目文字列が表示されている状態で、前記第1の設定項目の第1の設定値が指定される場合に、前記端末装置から、前記通信インターフェースを介して、前記第1の項目文字列に関係する第1の関係文字列と、前記第1の設定値と、が対応付けられている設定情報を受信する第1の受信部と、前記設定情報に含まれる前記第1の関係文字列を利用して、前記メモリ内の前記第1の設定項目を示す第1の短縮文字列を特定する第1の特定部と、特定済みの前記第1の短縮文字列に対応付けられている前記メモリ内の設定値を、前記設定情報に含まれる前記第1の設定値に変更する変更部と、を備える。
上記の構成によれば、通信装置のメモリは、複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列と、当該設定項目の設定値と、を対応付けて格納する。これにより、複数個の設定項目のそれぞれについて、当該設定項目を示す項目文字列と、当該設定項目の設定値と、を対応付けて格納する構成と比べて、メモリに格納される情報量を低減させることができる。従って、メモリに格納される情報量を低減させつつ、端末装置から受信される設定情報に応じて通信装置内の設定値を変更することができる。
上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
通信システムの構成を示す。 プリンタのメモリに格納される対応テーブル及び設定値の一例を示す。 端末装置に表示される画面を示す。 プリンタで実行される処理のフローチャートを示す。 テーブル生成処理のフローチャートを示す。 JSONファイルの階層構造と設定テーブルとを示す。 設定値を書き込むための具体的なケースを示す。 設定値を読み出すための具体的なケースを示す。
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、プリンタ10と端末装置100とを備える。プリンタ10と端末装置100とは、同じLAN(Local Area Networkの略)4に所属しており、LAN4を介して相互に通信可能である。
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(即ち端末装置100の周辺装置)である。プリンタ10は、ネットワークインターフェース16と制御部20とを備える。各部16、20は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と呼ぶ。ネットワークI/F16は、有線通信を実行するためのI/Fであり、LAN4に接続されている。変形例では、ネットワークI/F16は、無線通信を実行するためのI/Fであってもよく、この場合、LAN4は、いわゆる無線LANである。
制御部20は、CPU22と、メモリ24と、を備える。CPU22は、メモリ24に格納されているプログラム26に従って、様々な処理を実行する。メモリ24は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ24は、さらに、複数個の設定値30と対応テーブル34とを格納する。
(対応テーブル34と設定値30の一例;図2)
図2には、プリンタ10で採用されている複数個の設定項目を示す複数個の項目文字列が階層構造で示されている。なお、本実施例では、階層構造は、最上層から最下層までの4個の階層によって表現されるが、変形例では、2個又は3個の階層によって表現されてもよいし、5個以上の階層によって表現されてもよい。各階層名は、1個の単語又は複数個の単語の組合せによって構成される。複数個の単語によって構成される階層名は、隣り合う2個の単語の間にアンダーバー記号「_」を含む。例えば、階層名「contact_and_location」は、3個の単語によって構成されており、2個の単語「contact」、「and」の間に「_」を含み、2個の単語「and」、「location」の間に「_」を含む。
4個の階層名を組み合わせることによって、1個の設定項目を示す1個の項目文字列が表現される。例えば、「setting」と「general」と「contact_and_location」と「contact」との組合せである項目文字列(一点破線参照)は、プリンタ10のマシントラブルが発生した際の連絡先(例えば電話番号)に対応する設定項目を示す。また、「setting」と「general」と「contact_and_location」と「location」との組合せである項目文字列は、プリンタ10が設置される場所に対応する設定項目(例えばフロア番号、部屋番号等)を示す。同様に、他の設定項目も表現される。階層名「sleep_time」を含む項目文字列は、プリンタ10が通常モードから省電力モードへ移行するための待機時間に対応する設定項目を示す。階層名「language」を含む項目文字列は、プリンタ10で表示されるメッセージの言語に対応する設定項目を示す。階層名「wireless_print」及び「enable」を含む項目文字列は、無線通信に従った印刷(即ち無線印刷)の可否に対応する設定項目を示す。階層名「cloud_print」及び「enable」を含む項目文字列は、クラウドサーバからダウンロードされるデータに従った印刷(即ちクラウド印刷)の可否に対応する設定項目を示す。
対応テーブル34は、複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列と、当該設定項目の設定値が格納されているメモリ24内の位置を示すアドレスと、が対応付けられているテーブルである。複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列の文字数は、当該設定項目を示す項目文字列の文字数よりも少なく、当該設定項目を示す短縮文字列は、当該設定項目を示す項目文字列の一部の文字を含む。具体的には、短縮文字列は、項目文字列に含まれる4個の階層名のうちの最上層から第3層までの3個の階層名のそれぞれの一部の文字と、最下層の階層名の全ての文字と、を含む。
例えば、項目文字列「setting general contact_and_location contact」(一点破線参照)は、各階層名の少なくとも一部がドット「.」で連結された短縮文字列「set.gen.cal.contact」として表現される。文字列「set」、文字列「gen」は、それぞれ、最上層の階層名「setting」、第2層の階層名「general」のうち、当該階層名の配列方向(即ち図2の左右方向)の左端(即ち先頭)の文字から連続する3個の文字である。文字列「cal」は、第3層の階層名「contact_and_location」を構成する3個の単語「contact」、「and」、「location」のそれぞれの先頭の文字の組合せである。文字列「contact」は、最下層の階層名「contact」の全ての文字である。このように、最下層よりも上位層の階層名については、アンダーバー記号を含まない場合には、当該階層名のうちの先頭の3個の文字が利用され、アンダーバー記号を含む場合には、各単語の先頭の文字が利用される。他の短縮文字列も同様に表現される。
項目文字列「setting general contact_and_location contact」と項目文字列「setting general contact_and_location location」とを比較すると、最上層から第3層までの各階層名は同じであり、最下層の階層名が異なる。そして、短縮文字列は、最下層の階層名の全ての文字を含む。このために、上記の2個の項目文字列から異なる2個の短縮文字列(即ち、「set.gen.cal.contact」、「set.gen.cal.location」)を生成することができる。即ち、2個の項目文字列から同じ短縮文字列が生成されるのを抑制することができる。また、最下層の階層名は、設定項目の内容を最も端的に示す。従って、プリンタ10のベンダは、最下層の階層名の全ての文字列を含む短縮文字列から設定項目の内容を容易に連想することができる。このために、ベンダは、短縮文字列に関する処理を実行するためのプログラムを容易に生成し得る。
なお、変形例では、短縮文字列は以下のように構成されてもよい。例えば、最下層よりも上位層の階層名がアンダーバー記号を含む場合(例えば「contact_and_location」)には、3個の単語「contact」、「and」、「location」から、最後の3個の文字「tdn」が利用されてもよい。また、例えば、最下層よりも上位層の階層名(例えば「contact_and_location」)については、アンダーバー記号を含むのか否かに関わらず、当該階層名のうちの先頭の3個の文字(例えば「con」)が利用されてもよい。また、例えば、最下層よりも上位層の階層名(例えば「setting」)については、当該階層名のうちの先頭の3個の文字ではなく、先頭の2個の文字(例えば「se」)が利用されてもよいし、先頭の1個の文字(例えば「s」)が利用されてもよいし、最後の1個以上の文字(例えば「ing」)が利用されてもよい。また、例えば、最下層の階層名(例えば「contact」)については、当該階層名の全ての文字ではなく、当該階層名の一部の文字が利用されてもよい。また、例えば、先頭の1個以上の文字(例えば「con」)が利用されてもよいし、最後の1個以上の文字(例えば「act」)が利用されてもよい。
対応テーブル34では、短縮文字列「set.gen.cal.contact」は、アドレスA1に対応付けられており、アドレスA1は、メモリ24内の設定値「default」の位置を示す。従って、短縮文字列「set.gen.cal.contact」と設定値「default」とは、アドレスA1を介して対応付けられている。同様に、他の各短縮文字列も、各アドレスA2〜A6を介して設定値に対応付けられている。ただし、変形例では、対応テーブル34において、短縮文字列と設定値とが直接対応付けられていてもよい。設定値「default」は、マシントラブルの際の連絡先又はプリンタ10の設置場所がまだ登録されていないことを示す。設定値「100」は、通常モードから省電力モードへ移行するための待機時間が100秒であることを示す。設定値「English」は、プリンタ10で表示されるメッセージの言語が英語であることを示す。設定値「false」は、無線印刷又はクラウド印刷が許可されていないことを示す。
(端末装置100の構成;図1)
端末装置100は、デスクトップPC(Personal Computerの略)、ノートPC等のユーザ端末である。端末装置10には、PJL(Printer Job Languageの略)プログラム126とJSON(JavaScript Object Notationの略)プログラム128とがインストールされている。また、端末装置10には、スキームファイル130が格納されている。
PJLプログラム126は、PJLファイルを生成して、PJLファイルを端末装置100に送信するためのプログラムである。PJLプログラム126は、プリンタ10のベンダによって提供されるプログラムであり、例えば、プリンタ10と共に出荷されるメディアから端末装置100にインストールされてもよいし、インターネット上の図示省略のサーバから端末装置100にインストールされてもよい。なお、PJLプログラム126は、プリンタ10のベンダとは異なる事業者から提供されてもよい。
JSONプログラム128は、スキームファイル130からJSONファイルを生成するためのプログラムである。JSONプログラム128は、プリンタ10のベンダとは異なる事業者によって提供されるプログラムであり、例えば、インターネット上の図示省略のサーバから端末装置100にインストールされる。
スキームファイル130は、プリンタ10で採用されている複数個の設定項目を示す複数個の項目文字列を定義するファイルである。スキームファイル130は、プリンタ10のベンダによって提供されるファイルであり、例えば、プリンタ10と共に出荷されるメディアから端末装置100にインストールされてもよいし、インターネット上の図示省略のサーバから端末装置100にインストールされてもよい。スキームファイル130では、複数個の設定項目のそれぞれについて、当該設定項目の項目文字列と、当該設定項目の設定値の範囲と、が対応付けられている。
(端末装置100に表示される画面;図3)
端末装置100は、ユーザの操作に応じて、JSONプログラム128を起動する指示を受け付けると、図3に示されるように、JSONプログラム128に従って、スキームファイル130に記述された複数個の項目文字列を含む入力画面SCを表示する。入力画面SCは、複数個の項目文字列と、複数個の項目文字列に対応する複数個の設定値を入力するための複数個の入力欄と、OKアイコンICと、を含む。
入力画面SCでは、階層名「setting」を示す枠F1と、枠F1の内側に配置される階層名「general」を示す枠F2と、枠F2の内側に配置される階層名「contact_and_location」を示す枠F3と、枠F3の内側に記述される階層名「contact」と、によって、項目文字列「setting general contact_and_location contact」が表現される。枠F3は、項目文字列「setting general contact_and_location contact」に対応する設定値を入力するための入力欄を含む。同様に、他の項目文字列及び入力欄も表示される。入力画面SCでは、短縮文字列ではなく項目文字列が表示されるので、ユーザは、項目文字列がどの設定項目を示すのかを容易に把握することができる。
端末装置100は、入力画面SCにおいて、1個以上の入力欄への所望の設定値が入力された後に、OKアイコンACの選択を受け付ける。この場合、端末装置100は、JSONプログラム128に従って、JSONファイルを生成する。
その後、端末装置100は、PJLプログラム126を起動し、設定値を変更する処理と設定値を取得する処理とのうちのいずれかの処理を選択するための選択画面(不図示)を表示する。端末装置100は、選択画面において、設定値を変更する処理の選択を受け付けると、PJLプログラム126に従って、生成済みのJSONファイルを含むPJLファイルを生成する。ここで、端末装置100は、設定値の書き込み(即ち変更)を示す文字列「WRITE」が記述されたヘッダを含むPJLファイルを生成する。そして、端末装置100は、当該PJLファイルを端末装置100に送信する。
また、端末装置100のユーザがプリンタ10内の現在の設定値を知りたい場合には、ユーザは、入力画面SCにおいて、知りたい設定値に対応する1個以上の入力欄に適当な文字列(例えば「XXX」)を入力し、その後、OKアイコンACを選択する。この場合、端末装置100は、適当な文字列が入力された1個以上の入力欄に対応する1個以上の項目文字列と、1個以上の適当な文字列「XXX」と、が記述されたJSONファイルを生成する。
その後、端末装置100は、選択画面において、設定値を取得する処理の選択を受け付けると、PJLプログラム126に従って、生成済みのJSONファイルを含むPJLファイルを生成する。ここで、端末装置100は、設定値の読み出しを示す文字列「READ」が記述されたヘッダを含むPJLファイルを生成する。そして、端末装置100は、当該PJLファイルを端末装置100に送信する。
(プリンタの処理;図4)
続いて、図4を参照して、プリンタ10のCPU22がプログラム26に従って実行する処理の内容を説明する。この処理は、プリンタ10の電源が投入されることをトリガとして開始される。
S10では、CPU22は、端末装置100からネットワークI/F16を介してPJLファイルを受信することを監視する。CPU22は、端末装置100からPJLファイルを受信すると(S10でYES)、S20に進む。上述したように、PJLファイルは、「WRITE」又は「READ」が記述されたヘッダと、JSONファイルと、を含む。図4には、「WRITE」が記述されたヘッダを含むJSONファイルの一例が示されている。JSONファイルでは、複数個の設定項目のそれぞれについて、当該設定項目を示す項目文字列と、当該設定項目の設定値と、が対応付けられている。ここでの設定値は、図3の入力画面SCにおいて、ユーザによって入力された所望の設定値である。なお、「READ」が記述されたヘッダを含むJSONファイルでは、設定値が記述されるべき領域に適当な文字列「XXX」が記述される。
S20では、CPU22は、図5に示すテーブル生成処理を実行する。これにより、JSONファイルに含まれる設定文字列及び設定値の複数個の組合せから、短縮文字列及び設定値の複数個の組合せが記述された設定テーブルが生成される。
S30では、CPU22は、PJLファイルのヘッダに「WRITE」が記述されているのか「READ」が記述されているのかを判断する。CPU22は、ヘッダに「WRITE」が記述されている場合(S30でYES)には、設定値を変更する処理を実行すべきと判断して、S32に進む。一方、CPU22は、ヘッダに「READ」が記述されている場合(S30でNO)には、設定値を端末装置100に送信する処理を実行すべきと判断して、S36に進む。
S32では、CPU22は、S20で生成された設定テーブルから、1個の短縮文字列である対象短縮文字列と、対象短縮文字列に対応付けられている対象設定値(即ちJSONファイルに記述されていた設定値)と、の組合せを特定する。次いで、CPU22は、対象短縮文字列に一致する対応テーブル34内の短縮文字列を特定する。そして、S34では、CPU22は、対応テーブル34から、特定済みの短縮文字列に対応付けられているアドレス(例えば図2のA1)を特定する。次いで、CPU22は、特定済みのアドレスが示す位置に現在記述されている設定値に代えて、対象設定値を書き込む。CPU22は、設定テーブル内の短縮文字列及び設定値の他の組合せについても、同様の処理を実行する。これにより、メモリ24内の各設定値30の変更が実現される。S34が終了すると、図4の処理が終了する。
S36では、CPU22は、S32と同様に、設定テーブルから、対象短縮文字列を特定する。次いで、CPU22は、対象短縮文字列に一致する対応テーブル34内の短縮文字列を特定する。S38では、CPU22は、対応テーブル34から、特定済みの短縮文字列に対応付けられているアドレスを特定し、当該アドレスが示す位置に格納されている設定値を取得する(即ち読み出す)。次いで、CPU22は、対象短縮文字列の元の項目文字列と取得済みの設定値とが対応付けられている送信ファイルを生成する。ここで、送信ファイルは、JSON形式(例えば図4に示される形式)に従って記述される。CPU22は、設定テーブル内の他の短縮文字列についても、同様の処理を実行する。これにより、送信ファイルが完成する。そして、S40では、CPU22は、ネットワークI/F16を介して、送信ファイルを端末装置100に送信する。これにより、端末装置100では、プリンタ100内の各設定項目の各設定値が表示される。S40が終了すると、図4の処理が終了する。
(テーブル生成処理;図5)
続いて、図5を参照して、図4のS20で実行されるテーブル生成処理を説明する。S50では、CPU22は、図4のS10で受信されたPJLファイル内のJSONファイルから階層情報を生成する。階層情報は、JSONファイルに記述された複数個の項目文字列を構成する複数個の階層名のそれぞれについて、当該階層名によって示される階層の階位を示す情報である。CPU22は、例えば、Jasson、JSMN等のオープンソースのソフトウエアを利用して、階層情報を生成する。
S60では、CPU22は、複数個の階層名の中から、処理対象の階層名である対象階層名を特定する。S62では、CPU22は、階層情報を利用して、特定済みの対象階層名の階位が最下層であるの否かを判断する。CPU22は、対象階層名の階位が最下層である場合(S62でYES)には、S70に進み、対象階層名の階位が最下層でない場合(S62でNO)には、S64に進む。
S64では、CPU22は、対象階層名を構成する全ての文字を抽出する。例えば、対象階層名が最下層の階層名「contact」である場合には、CPU22は、最下層の階層名「contact」から、全ての文字「contact」を抽出する。S64が終了するとS80に進む。
S70では、CPU22は、対象階層名がアンダーバー記号「_」を含むのか否かを判断する。CPU22は、対象階層名がアンダーバー記号を含む場合(S70でYES)には、S72に進み、対象階層名がアンダーバー記号を含まない場合(S70でNO)には、S76に進む。
S72では、CPU22は、対象階層名を構成する複数個の単語のそれぞれから、先頭の1個の文字を抽出する。S74では、CPU22は、複数個の単語が並ぶ順序と同じ順序に従って、S72で抽出済みの各文字を組み合わせる。例えば、対象階層名が階層名「contact_and_location」である場合には、CPU22は、S72において、3個の単語「contact」、「and」、「location」のそれぞれからの先頭の文字「c」、「a」、「l」を抽出し、S74において、抽出済みの3個の文字を組み合わせて文字列「cal」を生成する。また、例えば、対象階層名が階層名「sleep_mode」である場合には、CPU22は、S72において、2個の単語「sleep」、「mode」のそれぞれから先頭の文字「s」、「m」を抽出し、S74において、抽出済みの2個の文字を組み合わせて文字列「sm」を生成する。これにより、対象階層名がアンダーバー記号「_」を含む場合でも、対象階層名を適切に短縮することができる。
また、S76では、CPU22は、対象階層名から先頭の3個の文字を抽出する。例えば、対象階層名が階層名「setting」である場合には、CPU22は、階層名「setting」から先頭の3個の文字「set」を抽出する。
S80では、CPU22は、JSONファイルに記述された複数個の階層名の中に、対象階層名として特定されていない階層名が存在するのか否かを判断する。CPU22は、未特定の階層名が存在すると判断する場合(S80でYES)には、S60に戻り、新たな対象階層名を特定する。一方、CPU22は、未特定の階層名が存在しないと判断する場合(S80でNO)には、S82に進む。
S82では、CPU22は、S50で生成された階層情報と、S60〜S80で複数個の階層名から抽出された複数個の文字列と、を利用して、複数個の項目文字列を示す複数個の短縮文字列を生成する。この際、CPU22は、複数個の項目文字列と生成済みの複数個の短縮文字列との対応関係を示す関係情報をメモリ24内に格納する。
S84では、CPU22は、上記の関係情報とJSONファイルとを利用して、設定テーブルを生成する。具体的には、CPU22は、S82で生成された複数個の短縮文字列のそれぞれについて、関係情報を利用して、当該短縮文字列に対応する項目文字列を特定し、JSONファイルから、当該項目文字列に対応する設定値を抽出する。そして、CPU22は、複数個の短縮文字列のそれぞれについて、当該短縮文字列と抽出済みの設定値とが対応付けられている設定テーブルを生成する。S84が終了すると、図5のテーブル生成処理が終了する。
(短縮文字列及び設定テーブルの具体例;図6)
図6を参照して、図5のテーブル生成処理によって生成される短縮文字列及び設定テーブルの具体例を説明する。図6の上段は、図4のJSONファイルに記述される複数個の項目文字列の階層構造を示す。図6の下段は、当該JSONファイルから生成される設定テーブルを示す。
項目文字列「setting general contact_and_location contact」から短縮文字列「set.gen.cal.contact」が生成される具体例を説明する。最上層の階層名「setting」は、最下層ではなく(S62でNO)、アンダーバー記号を含まないので(S70でNO)、階層名「setting」から先頭の3個の文字「set」が抽出される(S76)。第2層の階層名「general」についても、同様に、先頭の3個の文字「gen」が抽出される。第3層の階層名「contact_and_location」は、最下層ではなく(S62でNO)、アンダーバー記号を含むので(S70でYES)、3個の単語「contact」、「and」、「location」から3個の先頭の文字「c」、「a」、「l」が抽出され、文字列「cal」が生成される(S72)。最下層の階層名「contact」は、最下層であるので(S62でYES)、全ての文字「contact」が抽出される(S76)。抽出済みの各文字列がドット記号「.」で連結されて、短縮文字列「set.gen.cal.contact」が生成される(S82)。他の短縮文字列も同様に生成される。
ユーザが設定値の変更を望む場合には、JSONファイルの設定値が記述されるべき領域には、所望の設定値(即ち図3の入力画面SCに入力された設定値)が記述されている。そして、この場合に生成される設定テーブルTB1では、複数個の短縮文字列と複数個の設定値(例えば「contact1」、「store1」)とが対応付けられている(S84)。
一方、ユーザが設定値の変更を望む場合には、JSONファイルの設定値が記述されるべき領域には、適当な文字列「XXX」が記述される。そして、この場合に生成される設定テーブルTB2では、複数個の短縮文字列と複数個の文字列「XXX」とが対応付けられている。
(設定値を書き込む具体的なケース;図7)
図7を参照して、図4のS32及びS34の処理によって設定値を書き込む具体的なケースを説明する。CPU22は、設定テーブルTB1から、対象短縮文字列「set.gen.cal.contact」と対象設定値「contact1」との組合せを特定する。次いで、CPU22は、対象短縮文字列「set.gen.cal.contact」に一致する対応テーブル34内の短縮文字列「set.gen.cal.contact」を特定する(S32)。CPU22は、対応テーブル34から、特定済みの短縮文字列「set.gen.cal.contact」に対応付けられているアドレスA1を特定し、アドレスA1が示す位置に現在記述されている設定値「default」に代えて、対象設定値「contact1」を書き込む(S34)。CPU22は、設定テーブルTB1内の短縮文字列及び設定値の他の組合せについても、同様の処理を実行する。これにより、複数個の設定値の変更が実現される。
(設定値を読み出す具体的なケース;図8)
図8を参照して、図4のS36〜S40の処理によって設定値を読み出す具体的なケースを説明する。CPU22は、設定テーブルTB2から、図7のケースと同様に、対象短縮文字列「set.gen.cal.contact」に一致する対応テーブル34内の短縮文字列「set.gen.cal.contact」を特定する(S36)。CPU22は、対応テーブル34から、特定済みの短縮文字列「set.gen.cal.contact」に対応付けられているアドレスA1を特定し、アドレスA1が示す位置に現在記述されている設定値「default」を取得する(S38)。そして、CPU22は、設定テーブルTB2の対象短縮文字列「set.gen.cal.contact」の元の設定文字列「setting general contact_and_location contact」と、取得済みの設定値「default」と、が対応付けられている送信ファイルSFを生成する。CPU22は、設定テーブルTB2内の短縮文字列及び設定値の他の組合せについても、同様の処理を実行する。これにより、複数個の項目文字列とプリンタ10内の現在の複数個の設定値とが対応づけられた送信ファイルSFが生成される。CPU22は、生成済みの送信ファイルを端末装置100に送信する(S40)。これにより、ユーザは、受信済みの送信ファイルSFの内容を端末装置100に表示させることによって、プリンタ10内の現在の複数個の設定値を知ることができる。
(本実施例の効果)
上記の構成によれば、プリンタ10のメモリ24は、複数個の設定項目のそれぞれについて、当該設定項目を示す項目文字列ではなく、少ない文字数を有する短縮文字列を含む対応テーブル34を格納する。これにより、メモリ24が複数個の項目文字列を含むテーブルを格納する構成と比べて、メモリ24に格納される情報量を低減させることができる。従って、メモリ24に格納される情報量を低減させつつ、端末装置100から受信されるJSONファイルに応じてプリンタ10の設定値を変更することができる。
(対応関係)
プリンタ10、ネットワークI/F16が、それぞれ、「通信装置」、「通信インターフェース」の一例である。項目文字列「setting general contact_and_location contact」、設定値「contact1」が、それぞれ、「第1の項目文字列」、「第1の設定値」の一例である。ヘッダに「WRITE」が記述されたPJLファイルに含まれるJSONファイルが、「設定情報」の一例である。図4のJSONファイルに記述されている項目文字列「setting general contact_and_location contact」、短縮文字列「set.gen.cal.contact」が、それぞれ、「第1の関係文字列」、「第1の短縮文字列」の一例である。階層名「contact_and_location」、階層名「contact」、階層名「location」、項目文字列「setting general contact_and_location location」、「set.gen.cal.location」が、それぞれ、「特定の階層名」、「第1の最下層名」、「第2の最下層名」、「第2の項目文字列」、「第2の短縮文字列」の一例である。アンダーバー記号「_」、単語「contact」、単語「and」、文字「c」、文字「a」が、それぞれ、「所定記号」、「第1側文字列」、「第2側文字列」、「第1の文字」、「第2の文字」の一例である。ヘッダに「READ」が記述されたPJLファイルに含まれるJSONファイル、当該JSONファイルに記述されている項目文字列「setting general contact_and_location contact」、短縮文字列「set.gen.cal.contact」が、「要求情報」、「第3の項目文字列(及び第2の関係文字列)」、「第3の短縮文字列」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の実施例では、プリンタ10は、端末装置100からJSONファイル含むPJLファイルを受信して、図5の処理を実行してJSONファイルから設定テーブルTB1(又はTB2)を生成する。これに代えて、端末装置100は、JSONファイルを生成した後に、図5の処理を実行してJSONファイルから設定テーブルTB1(又はTB2)を生成し、JSONファイルに代えて設定テーブルTB1(又はTB2)を含むPJLファイルをプリンタ10に送信してもよい。この場合、プリンタ10は、図4のS20をスキップして、PJLファイルに含まれる設定テーブルTB1(又はTB2)を利用してS32〜S40の処理を実行する。本変形例では、PJLファイルに含まれる設定テーブルTB1(又はTB2)内の短縮文字列が、「第1(又は第2)の関係文字列」の一例である。なお、本変形例では、図5の処理を実行するための特別なプログラムを端末装置100にインストールする必要がある。これに対して、上記の実施例では、端末装置100に当該特別なプログラムをインストールする必要が無い。
(変形例2)プリンタ10は、図4のS10において、端末装置100からPJLファイルではなくJSONファイルのみを受信してもよい。この場合、プリンタ10は、S30及びS36〜S40を実行せずに、JSONファイルに従ってS32及びS34を実行してもよい。本変形例では、JSONファイルが、「設定情報」の一例であり、「第2の受信部」、「第2の特定部」、及び、「送信部」を省略可能である。
(変形例3)「設定情報」は、JSON形式とは異なる形式(例えばXML(Extensible Markup Languageの略)形式)に従って記述されてもよい。この場合、「設定情報」は、階層構造を有していなくてもよい。即ち、「項目文字列」は、2個以上の階層名を含まなくてもよい。
(変形例4)対応テーブル34では、複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列と、当該設定項目の設定値を書き込むための手順を示す関数と、が対応付けられていてもよい。例えば、関数は、設定値が格納されているメモリ24内の位置を示すアドレスを含み、当該アドレスによって示される領域に設定値を格納するための手順を示す。プリンタ10は、図4のS32で対応テーブル34内の短縮文字列を特定すると、特定済みの短縮文字列に対応付けられている関数を特定し、特定済みの関数によって示される手順に従って、特定済みの関数に含まれるアドレスによって示される領域に設定値を書き込む。本変形例では、「短縮文字列」と「設定値」は、関数及びアドレスを介して対応付けられている。
(変形例5)上記の実施例では、CPU22がプログラム26(即ちソフトウェア)を実行することによって、図4及び図5の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、4:LAN、10:プリンタ、12:操作部、14:表示部、16:ネットワークI/F、20:制御部、22:CPU、24:メモリ、26:プログラム、30:複数個の設定値、34:対応テーブル、100:端末装置、126:PJLプログラム、128:JSONプログラム、130:スキームファイル

Claims (12)

  1. 通信装置であって、
    通信インターフェースと、
    複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列と、当該設定項目の設定値と、を対応付けて格納するメモリであって、前記複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列の文字数は、前記通信装置とは異なる端末装置に表示される当該設定項目を示す項目文字列の文字数よりも少なく、当該設定項目を示す短縮文字列は、当該設定項目を示す項目文字列の一部の文字を含む、前記メモリと、
    前記端末装置において、前記複数個の設定項目のうちの第1の設定項目を示す第1の項目文字列が表示されている状態で、前記第1の設定項目の第1の設定値が指定される場合に、前記端末装置から、前記通信インターフェースを介して、前記第1の項目文字列に関係する第1の関係文字列と、前記第1の設定値と、が対応付けられている設定情報を受信する第1の受信部と、
    前記設定情報に含まれる前記第1の関係文字列を利用して、前記メモリ内の前記第1の設定項目を示す第1の短縮文字列を特定する第1の特定部と、
    特定済みの前記第1の短縮文字列に対応付けられている前記メモリ内の設定値を、前記設定情報に含まれる前記第1の設定値に変更する変更部と、
    を備える、通信装置。
  2. 前記複数個の設定項目のそれぞれについて、当該設定項目を示す項目文字列は、当該設定項目を示す2個以上の階層名を含み、
    前記複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列は、当該設定項目を示す2個以上の階層名のそれぞれの少なくとも一部の文字を含む、請求項1に記載の通信装置。
  3. 前記複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列は、当該設定項目を示す2個以上の階層名のうち、最下層の階層名とは異なる1個以上の階層名のそれぞれの一部の文字と、最下層の階層名の全ての文字と、を含む、請求項2に記載の通信装置。
  4. 前記第1の設定項目を示す前記第1の項目文字列は、最下層より上位層の階層名である特定の階層名と、最下層の階層名である第1の最下層名と、を含み、
    前記複数個の設定項目のうち、前記第1の設定項目とは異なる第2の設定項目を示す第2の項目文字列は、前記特定の階層名と、最下層の階層名である第2の最下層名であって、前記第1の最下層名とは異なる前記第2の最下層名と、を含み、
    前記第1の設定項目を示す前記第1の短縮文字列は、前記特定の階層名の一部の文字と、前記第1の最下層名の少なくとも一部の文字と、を含み、
    前記第2の設定項目を示す第2の短縮文字列は、前記特定の階層名の前記一部の文字と、前記第2の最下層名の少なくとも一部の文字と、含む、請求項2又は3に記載の通信装置。
  5. 前記第1の設定項目を示す前記第1の項目文字列に含まれる2個以上の階層名は、特定の階層名を含み、
    前記特定の階層名は、所定記号と、前記特定の階層名を構成する各文字が並ぶ配列方向の第1側において前記所定記号に隣接する第1側文字列と、前記配列方向の第2側において前記所定記号に隣接する第2側文字列と、を含み、
    前記第1の短縮文字列は、前記第1側文字列の両端を構成する2個の文字のうち、前記配列方向の一方側に存在する第1の文字と、前記第2側文字列の両端を構成する2個の文字のうち、前記配列方向の前記一方側に存在する第2の文字と、を含む、請求項2から4のいずれか一項に記載の通信装置。
  6. 前記第1の関係文字列は、前記第1の項目文字列を含み、
    前記第1の特定部は、前記第1の項目文字列を含む前記第1の関係文字列を利用して、前記第1の項目文字列の文字数よりも少ない文字数を有する前記第1の短縮文字列を生成し、生成済みの前記第1の短縮文字列に一致する前記メモリ内の前記第1の短縮文字列を特定する、請求項1から5のいずれか一項に記載の通信装置。
  7. 前記第1の項目文字列は、2個以上の階層名を含み、
    前記第1の特定部は、前記2個以上の階層名のそれぞれの少なくとも一部の文字を抽出し、前記2個以上の階層名のそれぞれの抽出済みの前記少なくとも一部の文字を含む前記第1の短縮文字列を生成する、請求項6に記載の通信装置。
  8. 前記第1の特定部は、前記2個以上の階層名のうち、最下層の階層名とは異なる1個以上の階層名のそれぞれの一部の文字と、前記最下層の階層名の全ての文字と、を抽出し、前記1個以上の階層名のそれぞれの抽出済みの前記一部の文字と、前記最下層の階層名の抽出済みの前記全ての文字と、を含む前記第1の短縮文字列を生成する、請求項7に記載の通信装置。
  9. 前記第1の特定部は、
    前記2個以上の階層名のうちの処理対象の対象階層名が所定記号を含むのか否かを判断し、
    前記対象階層名が前記所定記号を含むと判断される場合に、前記対象階層名のうちの第1の文字と第2の文字とを抽出し、前記第1の文字と前記第2の文字とを含む前記第1の短縮文字列を生成し、
    前記対象階層名が前記所定記号を含まないと判断される場合に、前記対象階層名の一部である2個以上の文字を抽出し、前記2個以上の文字を含む前記第1の短縮文字列を生成し、
    前記対象階層名が前記所定記号を含むと判断される場合に、前記対象階層名は、前記所定記号と、前記対象階層名を構成する各文字が並ぶ配列方向の第1側において前記所定記号に隣接する第1側文字列と、前記配列方向の第2側において前記所定記号に隣接する第2側文字列と、を含み、
    前記第1の文字は、前記第1側文字列の両端を構成する2個の文字のうち、前記配列方向の一方側に存在する文字であり、
    前記第2の文字は、前記第2側文字列の両端を構成する2個の文字のうち、前記配列方向の前記一方側に存在する文字であり、
    前記2個以上の文字は、前記対象階層名のうち、前記配列方向の前記第1側又は前記第2側の端を構成する文字と、当該文字に隣接する文字と、を含む、請求項7又は8のいずれか一項に記載の通信装置。
  10. 前記設定情報は、JSON(JavaScript Object Notationの略)形式に従って記述されている情報である、請求項1から9のいずれか一項に記載の通信装置。
  11. 前記通信装置は、さらに、
    前記端末装置から、前記通信インターフェースを介して、第3の項目文字列に関係する第2の関係文字列を含む要求情報を受信する第2の受信部と、
    前記第2の関係文字列を利用して、前記メモリ内の第3の短縮文字列であって、前記第3の項目文字列を示す前記第3の短縮文字列を特定する第2の特定部と、
    特定済みの前記第3の短縮文字列に対応付けられている前記メモリ内の設定値を前記端末装置に送信する送信部と、
    を備える、請求項1から10のいずれか一項に記載の通信装置。
  12. 通信装置のためのコンピュータプログラムであって、
    前記通信装置は、
    通信インターフェースと、
    複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列と、当該設定項目の設定値と、を対応付けて格納するメモリであって、前記複数個の設定項目のそれぞれについて、当該設定項目を示す短縮文字列の文字数は、前記通信装置とは異なる端末装置に表示される当該設定項目を示す項目文字列の文字数よりも少なく、当該設定項目を示す短縮文字列は、当該設定項目を示す項目文字列の一部の文字を含む、前記メモリと、を備え、
    前記コンピュータプログラムは、前記通信装置のコンピュータを、
    前記端末装置において、前記複数個の設定項目のうちの第1の設定項目を示す第1の項目文字列が表示されている状態で、前記第1の設定項目の第1の設定値が指定される場合に、前記端末装置から、前記通信インターフェースを介して、前記第1の項目文字列に関係する第1の関係文字列と、前記第1の設定値と、が対応付けられている設定情報を受信する第1の受信部と、
    前記設定情報に含まれる前記第1の関係文字列を利用して、前記メモリ内の前記第1の設定項目を示す第1の短縮文字列を特定する第1の特定部と、
    特定済みの前記第1の短縮文字列に対応付けられている前記メモリ内の設定値を、前記設定情報に含まれる前記第1の設定値に変更する変更部と、
    として機能させるコンピュータプログラム。
JP2016220956A 2016-11-11 2016-11-11 通信装置 Active JP6772772B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016220956A JP6772772B2 (ja) 2016-11-11 2016-11-11 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016220956A JP6772772B2 (ja) 2016-11-11 2016-11-11 通信装置

Publications (2)

Publication Number Publication Date
JP2018077803A JP2018077803A (ja) 2018-05-17
JP6772772B2 true JP6772772B2 (ja) 2020-10-21

Family

ID=62150539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016220956A Active JP6772772B2 (ja) 2016-11-11 2016-11-11 通信装置

Country Status (1)

Country Link
JP (1) JP6772772B2 (ja)

Also Published As

Publication number Publication date
JP2018077803A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
JP2014026562A (ja) 印刷設定装置、プログラムおよび画像形成システム
JP2017220221A (ja) 情報処理装置、情報処理方法、及びプログラム
KR101282254B1 (ko) 화상처리장치 및 화상처리방법과 그 화상처리방법을 수행할 수 있는 프로그램이 포함된 기록매체
JP2018049579A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2007200255A (ja) 仮想デバイス名変更プログラム
JP5908213B2 (ja) 通信装置
JP2016208264A (ja) 画像データ管理システム、画像データ管理方法、及びプログラム
US20210303133A1 (en) Information processing device and recording system
US9736323B2 (en) Method of using address book of image forming apparatus on web browser and image forming apparatus for performing the same
JP2012039356A (ja) 画像処理装置及びその制御方法、プログラム
US20140092405A1 (en) Image forming control apparatus and control method thereof
JP6772772B2 (ja) 通信装置
JP2015166919A (ja) プログラム、情報処理装置、及び印刷システム
JP5955245B2 (ja) 画像処理装置
JP2012060521A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US8687232B2 (en) Function execution device
US9336221B2 (en) Image processing system, image processing apparatus, image processing method, and storage medium, that are capable of displaying a list of folders
JP2019020892A (ja) 印刷システムおよびこれに用いるプリンタ
JP2021140366A (ja) 情報処理装置、情報処理システム、変換方法およびプログラム
JP6128503B1 (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
JP2010089287A (ja) 印刷装置
JP2008219087A (ja) 機能実行装置
JP6544868B2 (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
JP2018067856A (ja) 情報処理端末で実行されるプログラム及び情報処理端末
JP2018075777A (ja) 情報処理端末によって実行されるプログラム及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200820

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: 20200901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200914

R150 Certificate of patent or registration of utility model

Ref document number: 6772772

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150