JP7427951B2 - Programs, program groups, and information processing devices - Google Patents

Programs, program groups, and information processing devices Download PDF

Info

Publication number
JP7427951B2
JP7427951B2 JP2019226158A JP2019226158A JP7427951B2 JP 7427951 B2 JP7427951 B2 JP 7427951B2 JP 2019226158 A JP2019226158 A JP 2019226158A JP 2019226158 A JP2019226158 A JP 2019226158A JP 7427951 B2 JP7427951 B2 JP 7427951B2
Authority
JP
Japan
Prior art keywords
request
port
program
protocol
information
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
JP2019226158A
Other languages
Japanese (ja)
Other versions
JP2021096556A (en
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 JP2019226158A priority Critical patent/JP7427951B2/en
Priority to PCT/JP2020/045636 priority patent/WO2021124980A1/en
Priority to CN202080085593.XA priority patent/CN114902200A/en
Publication of JP2021096556A publication Critical patent/JP2021096556A/en
Application granted granted Critical
Publication of JP7427951B2 publication Critical patent/JP7427951B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、第1通信インタフェースで用いられる第1プロトコルでのリクエストをデバイスに送信するためのプログラム等に関する。 The present invention relates to a program and the like for transmitting a request using a first protocol used in a first communication interface to a device.

下記特許文献に記載されているように、近年のプリンタ、スキャナ等のデバイスには、サーバ、所謂、EW S(Embedded Web Serverの略)が組み込まれており、PC等の情報処理装置により、そのサーバにアクセスすることで、そのデバイスの状態、設定情報等を確認することが可能とされている。 As described in the following patent documents, recent devices such as printers and scanners have a built-in server, the so-called EWS (abbreviation for Embedded Web Server), which can be accessed by an information processing device such as a PC. By accessing the server, it is possible to check the status, setting information, etc. of the device.

特開2007-079940号公報Japanese Patent Application Publication No. 2007-079940

PC等の情報処理装置では、第1のプロトコルでの、例えば、デバイスのEWSにアクセスする際に、HTTPでのデバイスリクエストが出力される。一方で、HTTPで用いられる通信インタフェースと異なる通信インタフェース、例えば、USBインタフェースを介してデバイスが情報処理装置に接続されている場合がある。このような場合に、HTTPでのデバイスリクエストを、USBインタフェースを介してデバイスに送信し、そのデバイスからデバイスリクエストの返信を、USBインタフェースを介して受信することが望まれている。そこで、本発明は、第1プロトコルでのデバイスリクエストを、第1プロトコルで用いられる第1通信インタフェースと異なる第2通信インタフェースを介してデバイスに送信し、そのデバイスからデバイスリクエストの返信を、第2通信インタフェースを介して受信することを課題とする。 In an information processing apparatus such as a PC, when accessing the EWS of a device using the first protocol, for example, a device request using HTTP is output. On the other hand, there are cases where a device is connected to an information processing apparatus via a communication interface different from the communication interface used in HTTP, for example, a USB interface. In such a case, it is desirable to send an HTTP device request to a device via a USB interface, and to receive a reply to the device request from the device via the USB interface. Therefore, the present invention transmits a device request in a first protocol to a device via a second communication interface different from the first communication interface used in the first protocol, and transmits a reply to the device request from the device in a second communication interface. The task is to receive data via a communication interface.

上記課題を解決するために、実施例に開示するプログラムは、第1通信インタフェースおよび第2通信インタフェースを備える情報処理装置のコンピュータが読み取り可能なプログラムであって、前記コンピュータを、第1リクエストを受け付けるための第1ポートを作成する第1作成手段と、第2リクエストを受け付けるための第2ポートを作成する第2作成手段として機能させ、前記第2リクエストは前記第1リクエストとは異なるリクエストであり、前記第1リクエストおよび前記第2リクエストは第1プロトコルによるリクエストであり、前記第1プロトコルは前記第1通信インタフェースで用いられるプロトコルであり、前記第1ポートおよび前記第2ポートは、前記プログラムがインストールされているコンピュータにインストールされたプログラムであって前記プログラムとは異なるプログラムから、前記第1プロトコルによって、前記第1通信インタフェースを介さずリクエストを受け付けるためのポートであり、前記コンピュータを、前記第1ポートへの前記第1リクエストを受け付けた場合に、当該第1リクエストのリクエスト元のプログラムに、前記第2ポートを公開する第1公開手段と、前記第1公開手段により公開された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2リクエストを前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信する送信手段と、前記送信手段により送信された前記第2リクエストに対する返信を前記デバイスから前記第2通信インタフェースを介して受信する受信手段として機能させ、前記第2プロトコルは前記第2通信インタフェースで用いられるプロトコルであり、前記受信手段により受信した返信を、前記第2ポートへの前記第2リクエストのリクエスト元のプログラムに、前記第1プロトコルで出力する第1出力手段と、して機能させることを特徴とする。 In order to solve the above problems, a program disclosed in an embodiment is a program readable by a computer of an information processing device including a first communication interface and a second communication interface, the program causing the computer to accept a first request. and a second creating means that creates a second port for receiving a second request, and the second request is a request different from the first request. , the first request and the second request are requests based on a first protocol, the first protocol is a protocol used in the first communication interface, and the first port and the second port are requests based on a first protocol. A port for receiving a request from a program installed on a computer that is different from the program, according to the first protocol, without going through the first communication interface; a first publishing means for disclosing the second port to a request source program of the first request when the first request to the first port is received; transmitting means for transmitting the second request to a device connected to the second communication interface according to a second protocol when the second request to the port is received; The second communication interface functions as a receiving means for receiving a reply to a request from the device via the second communication interface, and the second protocol is a protocol used in the second communication interface, and the reply received by the receiving means is sent to the second communication interface. The present invention is characterized in that the request source program of the second request to the second port is made to function as a first output means for outputting in the first protocol.

実施例に開示するプログラムは、第1ポート及び第2ポートを作成し、第1ポートに第1プロトコルでのリクエストを受け付けると、その第1ポートへのリクエストのリクエスト元のプログラムに、第2ポートを公開する。そして、プログラムは、その第2ポートに、第1プロトコルでのデバイスリクエストを受け付けると、そのデバイスリクエストをデバイスに第2通信インタフェースを介して、第2プロトコルで送信する。続いて、プログラムは、そのデバイスリクエストの返信を第2プロトコルで受信すると、そのデバイスリクエストの返信を、デバイスリクエストのリクエスト元のプログラムに出力する。これにより、第1プロトコルでのデバイスリクエストを、第2通信インタフェースを介してデバイスに送信し、そのデバイスからデバイスリクエストの返信を、第2通信インタフェースを介して受信することができる。 The program disclosed in the embodiment creates a first port and a second port, and when a request using the first protocol is received at the first port, the program that requests the request to the first port is sent to the second port. Publish. When the program receives a device request using the first protocol at the second port, the program transmits the device request to the device via the second communication interface using the second protocol. Subsequently, when the program receives the reply to the device request using the second protocol, the program outputs the reply to the device request to the program that requested the device request. Thereby, it is possible to transmit a device request using the first protocol to the device via the second communication interface, and to receive a reply to the device request from the device via the second communication interface.

通信システム1のブロック図である。1 is a block diagram of a communication system 1. FIG. 通信システム1での処理を示すシーケンス図である。3 is a sequence diagram showing processing in the communication system 1. FIG. 通信システム1での処理を示すシーケンス図である。3 is a sequence diagram showing processing in the communication system 1. FIG. 通信システム1での処理を示すシーケンス図である。3 is a sequence diagram showing processing in the communication system 1. FIG. 通信システム1での処理を示すシーケンス図である。3 is a sequence diagram showing processing in the communication system 1. FIG. 通信システム1での処理を示すシーケンス図である。3 is a sequence diagram showing processing in the communication system 1. FIG.

以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。 Embodiments of the present invention will be described below with reference to the drawings as appropriate. Note that the embodiments described below are merely examples of the present invention, and it goes without saying that the embodiments of the present invention can be modified as appropriate without changing the gist of the present invention. For example, the execution order of each process described below can be changed as appropriate without changing the gist of the present invention.

図1は、本実施形態に係る通信システム1のブロック図である。図1に示す通信システム1は、PC(情報処理装置の一例)10、MFP(デバイスの一例)50、MFP56を備える。MFP50,56は、スキャン処理,印刷処理等の各種処理を実行可能なデバイスである。また、MFP50には、EWS(サーバの一例)52が組み込まれており、MFP56には、EWS58が組み込まれている。EWS52,58は、ウェブサーバと同等の機能を有しており、EWS52,58には、MFP50,56の状態を示す情報,設定情報などに関するHTMLのウェブページを示す情報(以下、「EWS情報」と記載する)(サーバ情報の一例)が蓄積されている。 FIG. 1 is a block diagram of a communication system 1 according to this embodiment. The communication system 1 shown in FIG. 1 includes a PC (an example of an information processing device) 10, an MFP (an example of a device) 50, and an MFP 56. The MFPs 50 and 56 are devices that can perform various processes such as scan processing and print processing. Further, the MFP 50 has a built-in EWS (an example of a server) 52, and the MFP 56 has a built-in EWS 58. The EWSs 52 and 58 have functions equivalent to web servers, and the EWSs 52 and 58 contain information indicating the status of the MFPs 50 and 56, information indicating HTML web pages regarding setting information, etc. (hereinafter referred to as "EWS information"). ) (an example of server information) is stored.

PC10は、CPU(コンピュータの一例)12、メモリ14、LCD16、入力I/F18、ネットワークI/F(第1通信インタフェースの一例)19、USBI/F(第2通信インタフェースの一例)20を主に備えている。これらの構成要素は、バス22を介して互いに通信可能とされている。 The PC 10 mainly includes a CPU (an example of a computer) 12, a memory 14, an LCD 16, an input I/F 18, a network I/F (an example of a first communication interface) 19, and a USB I/F (an example of a second communication interface) 20. We are prepared. These components are able to communicate with each other via bus 22.

CPU12は、メモリ14内の制御プログラム(プログラム及び第1プログラムの一例)30,アプリケーション(別プログラム及び第2プログラムの一例)32,設定ツール(別プログラム及び第3プログラムの一例)34,ブラウザ(ブラウザの一例)36,OS38に従って処理を実行する。制御プログラム30は、MFP50のEWS52からサーバ情報を取得するためのアプリケーションプログラムである。また、アプリケーション32は、MFP50を用いて各種処理を実行するためのアプリケーションプログラムである。また、設定ツール34は、MFP50,56のEWS52,58に蓄積されているEWS情報に基づいて各種設定を行うためのアプリケーションプログラムである。なお、アプリケーション32は、ライブラリ(モジュールプログラムの一例)40を含んでおり、設定ツール34は、ライブラリ(モジュールプログラムの一例)42を含んでいる。ライブラリ40とライブラリ42とは、同じアプリケーションプログラムであり、制御プログラム30の処理によりMFP50のEWS52からサーバ情報を取得する際に用いられる。また、ブラウザ36は、ネットワークI/F19を介してHTTPを用いてHTML形式のデータを取得し、ウェブページをLCD16に表示するためのアプリケーションプログラムである。また、OS38は、制御プログラム30等に利用される基本的な機能を提供するプログラムである。なお、以下の説明では、制御プログラム30等を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「制御プログラム30が」という記載は、「制御プログラム30を実行するCPU12が」ということを意味する場合がある。 The CPU 12 includes a control program (an example of a program and a first program) 30, an application (an example of a separate program and a second program) 32, a setting tool (an example of a separate program and a third program) 34, and a browser (an example of a third program) in the memory 14. (Example) 36, the process is executed according to the OS 38. The control program 30 is an application program for acquiring server information from the EWS 52 of the MFP 50. Further, the application 32 is an application program for executing various processes using the MFP 50. Further, the setting tool 34 is an application program for performing various settings based on EWS information stored in the EWSs 52 and 58 of the MFPs 50 and 56. Note that the application 32 includes a library (an example of a module program) 40, and the setting tool 34 includes a library (an example of a module program) 42. The library 40 and the library 42 are the same application program, and are used when acquiring server information from the EWS 52 of the MFP 50 through the processing of the control program 30. Moreover, the browser 36 is an application program for acquiring HTML format data using HTTP via the network I/F 19 and displaying a web page on the LCD 16. Further, the OS 38 is a program that provides basic functions used by the control program 30 and the like. In addition, in the following description, the CPU 12 that executes the control program 30 and the like may be described simply by the program name. For example, the description "the control program 30" may mean "the CPU 12 that executes the control program 30."

また、メモリ14は、データ記憶領域(メモリの一例)46を備える。データ記憶領域46は、制御プログラム30等の実行に必要なデータなどを記憶する領域である。なお、メモリ14は、RAM、ROM、フラッシュメモリ、HDD、PC10に着脱されるUSBメモリ等の可搬記憶媒体、CPU12が備えるバッファなどが組み合わされて構成されている。 The memory 14 also includes a data storage area (an example of a memory) 46. The data storage area 46 is an area for storing data necessary for executing the control program 30 and the like. Note that the memory 14 is configured by combining a RAM, a ROM, a flash memory, an HDD, a portable storage medium such as a USB memory that can be attached to and detached from the PC 10, a buffer included in the CPU 12, and the like.

なお、メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。 Note that the memory 14 may be a computer-readable storage medium. A computer readable storage medium is a non-transitory medium. In addition to the above-mentioned examples, non-transitory media also include recording media such as CD-ROMs and DVD-ROMs. Furthermore, non-transitory media are also tangible media. On the other hand, electrical signals that carry programs downloaded from servers on the Internet are a type of computer-readable signal medium, but non-transitory computer-readable storage Not included in media.

また、LCD16は、PC10の各種情報を表示する。なお、本願のディスプレイは、液晶ディスプレイに限らず、有機ELディスプレイ等の他の表示方式のディスプレイでも良い。入力I/F18は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。なお、入力I/F18は、キーボード等に限らず、LCD16の表示画面に重畳された膜状のタッチセンサでも良い。 Further, the LCD 16 displays various information of the PC 10. Note that the display of the present application is not limited to a liquid crystal display, and may be a display of other display methods such as an organic EL display. The input I/F 18 includes a keyboard, a mouse, etc., and is an interface for inputting user operations. Note that the input I/F 18 is not limited to a keyboard or the like, but may be a film-like touch sensor superimposed on the display screen of the LCD 16.

ネットワークI/F19は、HTTP(第1プロトコルの一例)を用いてデバイスと通信を行うためのものであり、ネットワーク60を介してMFP56と通信可能とされている。また、USBI/F20は、USBプロトコル(第2プロトコルの一例)を用いてデバイスと通信を行うためのものであり、MFP50と通信可能とされている。 The network I/F 19 is for communicating with devices using HTTP (an example of a first protocol), and is capable of communicating with the MFP 56 via the network 60. Further, the USB I/F 20 is for communicating with devices using the USB protocol (an example of a second protocol), and is capable of communicating with the MFP 50.

なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU12の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」「設定 」等の処理は、CPU12の処理を表している。CPU12による処理は、OS38を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU12が要求することなくデータを受信するという処理も、「CPU12がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。また、CPUによる、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPUによる、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。 Note that this specification basically shows the processing of the CPU 12 according to instructions written in a program. That is, processes such as "judgment", "extraction", "selection", "calculation", "determination", "identification", "acquisition", "reception", "control" and "setting" in the following explanation are performed by the CPU 12. represents the processing of The processing by the CPU 12 also includes hardware control via the OS 38. Note that "acquisition" is used as a concept that does not require a request. That is, the process of receiving data without a request from the CPU 12 is also included in the concept of "the CPU 12 obtains data." Furthermore, "data" in this specification is represented by a computer-readable bit string. Furthermore, data having substantially the same meaning and content but different formats shall be treated as the same data. The same applies to "information" in this specification. Further, processing such as "command", "response", "request", etc. is performed by communicating information indicating "command", "response", "request", etc. Further, words such as "command", "response", "request", etc. may be written to mean the information itself indicating "command", "response", "request", etc. Additionally, the process of determining whether information A indicates matter B by the CPU may be conceptually described as "determine whether information A is matter B." There is. The process of determining whether information A indicates matter B or matter C by the CPU is called "determining whether information A is matter B or matter C." It may be described conceptually as follows.

通信システム1では、上述した構成に従って、PC10とネットワークI/F19を介して通信可能とされたMFP56から、ブラウザ36がEWS情報を取得し、EWS情報に基づいてウェブページをLCD16に表示することが可能とされている。このような処理は、従来から行われている処理であり、ブラウザ36がHTTPを用いることで好適にMFP56からEWS情報を取得することができる。一方で、PC10とUSBI/F20を介して通信可能とされたMFP50、つまり、USB接続されたMFP50から、ブラウザ36は、従来の手法ではHTTPを用いてEWS情報を取得することはできなかったが、通信システム1では、USB接続されたMFP50から、ブラウザ36がHTTPを用いてEWS情報を取得することが可能とされている。以下に、USB接続されたMFP50から、ブラウザ36がHTTPを用いてEWS情報を取得する際の制御プログラム30等の処理について、図2乃至図4に示すシーケンス図を用いて、詳しく説明する。 In the communication system 1, the browser 36 acquires EWS information from the MFP 56 that is capable of communicating with the PC 10 via the network I/F 19, and displays a web page on the LCD 16 based on the EWS information, according to the above-described configuration. It is considered possible. Such processing is conventional processing, and the browser 36 can preferably acquire EWS information from the MFP 56 by using HTTP. On the other hand, the browser 36 could not obtain EWS information from the MFP 50 that was able to communicate with the PC 10 via the USB I/F 20, that is, the MFP 50 connected via USB, using HTTP using the conventional method. In the communication system 1, the browser 36 can obtain EWS information from the USB-connected MFP 50 using HTTP. Below, the processing of the control program 30 and the like when the browser 36 acquires EWS information from the USB-connected MFP 50 using HTTP will be described in detail using the sequence diagrams shown in FIGS. 2 to 4.

詳しくは、PC10への電源投入に伴って、OS38の処理により制御プログラム30が起動する(図2参照:S100)。そして、制御プログラム30は、データ記憶領域46を参照し(S102)、データ記憶領域46に関連情報が記憶されているか否かを判断する(S104)。関連情報は、EWS情報の取得先を示すデバイス及び、そのデバイスとの通信を行うためのデバイスポートを示す情報である。関連情報については、後に詳しく説明する。まず、ここでは、関連情報が、まだデータ記憶領域46に記憶されていない場合を説明する。制御プログラム30は、データ記憶領域46に関連情報は記憶されていないと判断し(S104:NO)、制御プログラム30は、受付ポート(第1ポートの一例)を作成する(S106)。そして、制御プログラム30は、その受付ポートを「Accept」で待ち受け状態とする(S108)。つまり、制御プログラム30は、受付ポートを、情報を受け付け可能な状態(以下、「受付可能状態」と記載する)とする。なお、受付ポートのポート番号は、HTTPに従ったものであり、50000とされている。そして、制御プログラム30は、その受付ポートによりアプリケーション32のライブラリ40と通信を行う。制御プログラム30は、例えば、既知のSocket方式に従ってポートの作成、ポートの状態の変更、ポートの削除などを行う。 Specifically, when the PC 10 is powered on, the control program 30 is activated by the process of the OS 38 (see FIG. 2: S100). Then, the control program 30 refers to the data storage area 46 (S102) and determines whether related information is stored in the data storage area 46 (S104). The related information is information indicating a device indicating a source from which EWS information is obtained and a device port for communicating with the device. Related information will be explained in detail later. First, a case will be described here in which the related information is not yet stored in the data storage area 46. The control program 30 determines that no related information is stored in the data storage area 46 (S104: NO), and the control program 30 creates a reception port (an example of a first port) (S106). Then, the control program 30 sets the reception port to a standby state with "Accept" (S108). In other words, the control program 30 puts the reception port in a state where it can receive information (hereinafter referred to as "receivable state"). Note that the port number of the reception port is 50000 in accordance with HTTP. The control program 30 communicates with the library 40 of the application 32 through the reception port. The control program 30 creates a port, changes the state of a port, deletes a port, etc. according to the known Socket method, for example.

このように、PC10では、電源投入に伴って、制御プログラム30が起動し、制御プログラム30の処理により、アプリケーション32と通信を行うための受付ポートが作成される。一方で、アプリケーション32は、ユーザ操作により起動し、アプリケーション32が起動すると(図3参照:S110)、アプリケーション32に含まれるライブラリ40が、ポート番号50000の受付ポートに接続を確認するための情報を出力する(S112)。なお、ライブラリ40には、通信対象のポートのポート番号が50000であることがプログラミングされている。そして、制御プログラム30は、受付ポートに接続確認の情報が入力されると、「OK」をライブラリ40に返信する(S114)。なお、受付ポートに接続確認の情報が入力されない場合には、「NG」がライブラリ40に返信される。ちなみに、制御プログラム30は、ポート番号50000のデバイスポートを作成することができない場合に(例えば、ポート番号50000のポートが、他のプログラムによって既に使用されている場合に)、受付ポート決定の所定のルールに従って、そのポート番号50000と異なるポート番号を受付ポートのポート番号として決定し、そのポート番号のポートを受付ポートとして作成する。この場合、ライブラリ40がポート番号50000のポートに接続確認の情報を入力しようとしても、入力できない。そこで、ライブラリ40にも、受付ポート決定の所定のルールがプログラミングされている。接続確認の情報を入力できなかった場合、ライブラリ40は、ルールに従って、異なるポート番号のポートに接続確認の情報などを入力する。ライブラリ40は、接続確認の情報を入力できたポート番号を、受付ポートの番号として使用する。便宜上、本実施例ではポート番号50000のポートを受付ポートとして説明を続ける。 In this way, in the PC 10, when the power is turned on, the control program 30 is activated, and through the processing of the control program 30, a reception port for communicating with the application 32 is created. On the other hand, the application 32 is started by a user operation, and when the application 32 is started (see FIG. 3: S110), the library 40 included in the application 32 sends information for confirming connection to the reception port with port number 50000. Output (S112). Note that it is programmed in the library 40 that the port number of the communication target port is 50,000. Then, when the connection confirmation information is input to the reception port, the control program 30 returns "OK" to the library 40 (S114). Note that if the connection confirmation information is not input to the reception port, "NG" is returned to the library 40. Incidentally, if the device port with port number 50,000 cannot be created (for example, if the port with port number 50,000 is already being used by another program), the control program 30 uses the predetermined method for determining the reception port. According to the rules, a port number different from the port number 50000 is determined as the port number of the reception port, and a port with that port number is created as the reception port. In this case, even if the library 40 tries to input connection confirmation information to the port with port number 50000, it cannot be input. Therefore, the library 40 is also programmed with predetermined rules for determining the reception port. If the connection confirmation information cannot be input, the library 40 inputs the connection confirmation information to a port with a different port number according to the rules. The library 40 uses the port number for which connection confirmation information can be input as the reception port number. For convenience, in this embodiment, the description will continue assuming that the port with port number 50000 is the reception port.

そして、ライブラリ40は、「OK」を受け付けると、ポート番号50000の受付ポートに、ポート情報の要求を出力する。この際、ライブラリ40は、ポート情報の要求とともに、デバイス指定情報も受付ポートに出力する。デバイス指定情報は、EWS情報の取得先のデバイスを指定する情報であり、ここでは、MFP50を指定するデバイス指定情報が受付ポートに出力される。また、デバイス指定情報は、USBプロトコルで用いられる文字列の情報とされている。具体的には、例えば、デバイス指定情報として「VID/PID」が受付ポートに出力される。ちなみに、VIDは、VenderID(メーカ番号)であり、PIDは、ProductID(製品番号)である。このため、「VID/PID」により、デバイスの機種(モデル)を特定することができる。なお、1台のPCに、複数の同じ機種のプリンタをUSBで接続して利用する形態は一般的ではないと考えられる。そのため、本願実施例ではデバイス指定情報である「VID/PID」が、デバイスの個体を識別する情報としても用いられる。もちろん、「VID/PID」以外の情報、例えばシリアル番号などを、デバイスの個体を識別する情報として用いることとし、「VID/PID」と、デバイスの個体を識別する情報とを合わせてデバイス指定情報としてもよい。 Then, upon receiving "OK", the library 40 outputs a request for port information to the reception port with port number 50,000. At this time, the library 40 outputs the device designation information to the reception port along with the request for port information. The device designation information is information that designates the device from which the EWS information is to be obtained, and here, the device designation information that designates the MFP 50 is output to the reception port. Further, the device specification information is character string information used in the USB protocol. Specifically, for example, "VID/PID" is output to the reception port as device designation information. Incidentally, VID is Vender ID (manufacturer number), and PID is Product ID (product number). Therefore, the type (model) of the device can be specified by "VID/PID". Note that it is considered that it is not common for a plurality of printers of the same model to be connected to one PC via USB. Therefore, in the embodiment of the present application, "VID/PID" which is device designation information is also used as information for identifying the individual device. Of course, information other than "VID/PID", such as a serial number, will be used as information to identify the individual device, and "VID/PID" and information to identify the individual device will be combined to provide device specification information. You can also use it as

そして、制御プログラム30は、受付ポートがポート情報の要求を受け付けると、その要求に含まれるデバイス指定情報により指定されるデバイス(以下、「対象デバイス」と記載する場合がある)の確認要求をOS38に出力する(S118)。この確認要求は、対象デバイスがHTTPに対応するデバイスであるか否かを確認するためのものであり、OS38は、対象デバイスがHTTPに対応するデバイスであれば、「true」を制御プログラム30に出力する(S120)。一方、OS38は、対象デバイスがHTTPに対応するデバイスでなければ、「false」を制御プログラム30に出力する(S120)。OS38は、例えば、レジストリと呼ばれる領域にUSBデバイスの情報を記憶しており、S118では、その情報の出力をOSに要求している。USBデバイスの情報は、PC10にUSB接続したデバイスから取得した情報であってもよいし、PC10のデータ記憶領域46や、デバイスメーカのサーバから取得した情報であってもよい。対象デバイスがHTTPに対応するデバイスであるか否かを示す情報は「true」「false」以外の情報であってもよい。また、ライブラリ40が出力するVID/PIDに基づいて、機種で判断してもよく、OS38からモデル情報を取得して判断してもよい。さらに言えば、デバイスからモデル情報を受け取って判断してもよい。 When the reception port receives a request for port information, the control program 30 sends a confirmation request to the OS 30 for the device specified by the device specification information included in the request (hereinafter sometimes referred to as "target device"). (S118). This confirmation request is for confirming whether or not the target device is a device compatible with HTTP. If the target device is a device compatible with HTTP, the OS 38 sends "true" to the control program 30. Output (S120). On the other hand, if the target device is not a device compatible with HTTP, the OS 38 outputs "false" to the control program 30 (S120). The OS 38 stores information about USB devices in an area called a registry, for example, and requests the OS to output this information in S118. The information on the USB device may be information obtained from a device connected to the PC 10 via USB, or may be information obtained from the data storage area 46 of the PC 10 or a server of a device manufacturer. The information indicating whether the target device is a device compatible with HTTP may be information other than "true" and "false". Further, the determination may be made based on the model based on the VID/PID output by the library 40, or the determination may be made by acquiring model information from the OS 38. Furthermore, the determination may be made by receiving model information from the device.

この際、制御プログラム30は、「true」をOS38から受け付けると、スレッドを作成する(S122)。そして、制御プログラム30は、デバイスポート(第2ポートの一例)を作成し(S124)、そのデバイスポートを「Accept」で待ち受け状態とする(S126)。つまり、制御プログラム30は、デバイスポートを受付可能状態とする。なお、デバイスポートのポート番号も、HTTPに従ったものであり、51000とされている。そして、制御プログラム30は、そのデバイスポートによりブラウザ36と通信を行う。ちなみに、ポート番号51000のポートが、既に使用されており、制御プログラム30が、ポート番号51000のデバイスポートを作成することができない場合に、デバイスポート決定の所定のルールに従って、そのポート番号51000と異なるポート番号のポートをデバイスポートとして作成する。便宜上、本実施例ではポート番号51000のポートを受付ポートとして説明を続ける。 At this time, if the control program 30 receives "true" from the OS 38, it creates a thread (S122). Then, the control program 30 creates a device port (an example of a second port) (S124), and puts the device port into a standby state with "Accept" (S126). In other words, the control program 30 makes the device port ready for reception. Note that the port number of the device port also conforms to HTTP and is set to 51000. The control program 30 then communicates with the browser 36 through the device port. By the way, if the port with port number 51000 is already in use and the control program 30 is unable to create a device port with port number 51000, the port number is different from 51000 according to the predetermined rules for device port determination. Create a port with port number as a device port. For convenience, in this embodiment, the description will continue assuming that the port with port number 51000 is the reception port.

そして、制御プログラム30は、作成したデバイスポートのポート番号を示す情報(以下、「ポート情報」と記載する)と、S116で受け付けているデバイス指定情報とを関連付けて、データ記憶領域46に記憶する(S128)。なお、ここで記憶されるポート情報とデバイス指定情報とが、先に説明した関連情報となる。つまり、制御プログラム30の処理によりデバイスポートが作成されることで、関連情報がデータ記憶領域46に記憶される。そして、制御プログラム30は、デバイスポートのポート番号を示すポート情報をライブラリ40に出力する(S130)。この際、制御プログラム30は、HTTP形式のポート情報をライブラリ40に出力する。具体的には、例えば、デバイスポートのポート番号が51000である場合に、制御プログラム30は、ポート情報「http://localhost:51000/」をライブラリ40に出力する。 Then, the control program 30 associates information indicating the port number of the created device port (hereinafter referred to as "port information") with the device designation information accepted in S116 and stores it in the data storage area 46. (S128). Note that the port information and device designation information stored here become the related information described above. That is, by creating a device port through the processing of the control program 30, related information is stored in the data storage area 46. The control program 30 then outputs port information indicating the port number of the device port to the library 40 (S130). At this time, the control program 30 outputs port information in HTTP format to the library 40. Specifically, for example, when the port number of the device port is 51000, the control program 30 outputs port information “http://localhost:51000/” to the library 40.

ライブラリ40は、制御プログラム30からポート情報を受け付けると、ブラウザ36を起動する(S132)。そして、ライブラリ40は、制御プログラム30から受け付けたポート情報「http://localhost:51000/」をブラウザ36に出力する(S134)。これにより、ブラウザ36は、ポート番号51000のデバイスポートにアクセス可能となり、そのデバイスポートにEWS情報の要求情報をHTTPで出力する(図4参照:S136)。この際、制御プログラム30は、ポート番号51000のデバイスポートにHTTPでのEWS情報の要求情報を受け付けると、そのポート番号のポート情報と関連付けて記憶されているデバイス指定情報に応じたデバイス、つまり、MFP50に、EWS情報の要求情報をUSBプロトコル(第2プロトコルの一例)で出力する(S138)。このとき、制御プログラム30は、デバイスポートにHTTPで受け取った要求情報を変換することなく、USBプロトコルでMFP50に送信する。すなわち、MFP50が制御プログラム30から受信する要求情報と、仮に、MFP50がブラウザ36から直接HTTPで受信するとして、MFP50がHTTPで受信する要求情報とは、同じ要求情報である。したがって、MFP50は、制御プログラム30から受信する場合と、HTTPで受信する場合とで、要求情報に対する処理を基本的には変更する必要がない。 When the library 40 receives the port information from the control program 30, it starts the browser 36 (S132). The library 40 then outputs the port information "http://localhost:51000/" received from the control program 30 to the browser 36 (S134). As a result, the browser 36 becomes able to access the device port with port number 51000, and outputs EWS information request information to the device port via HTTP (see FIG. 4: S136). At this time, when the control program 30 receives request information for EWS information via HTTP to the device port with the port number 51000, the control program 30 selects a device according to the device specification information stored in association with the port information of the port number, that is, EWS information request information is output to the MFP 50 using the USB protocol (an example of the second protocol) (S138). At this time, the control program 30 transmits the request information received via HTTP to the device port to the MFP 50 using the USB protocol without converting it. That is, the request information that the MFP 50 receives from the control program 30 and the request information that the MFP 50 receives via HTTP, assuming that the MFP 50 receives the request information directly from the browser 36 via HTTP, are the same request information. Therefore, the MFP 50 basically does not need to change the process for request information depending on whether the request information is received from the control program 30 or via HTTP.

次に、MFP50は、EWS情報の要求情報を受け付けると、EWS情報を制御プログラム30にUSBプロトコルで返信する(S140)。そして、制御プログラム30は、受け付けたEWS情報をブラウザ36にHTTPで出力する(S142)。このように、PC10では、制御プログラム30を介することで、ブラウザ36がHTTPを用いてEWS情報を取得することが可能とされている。そして、ブラウザ36は、取得したEWS情報に基づいてウェブページをLCD16に表示する(S143)。なお、MFP50が制御プログラム30に返信するEWS情報と、仮に、MFP50がブラウザ36に直接HTTPで返信するとして、MFP50がHTTPで返信するEWS情報とは、同じEWS情報である。また、制御プログラム30は、USBプロトコルで受信したEWS情報を変換することなく、HTTPでブラウザ36に出力する。したがって、ブラウザ36は、制御プログラム30から受け取る場合と、HTTPで受信する場合とで、EWS情報に対する処理を基本的には変更する必要がない。 Next, upon receiving the EWS information request information, the MFP 50 returns the EWS information to the control program 30 using the USB protocol (S140). The control program 30 then outputs the received EWS information to the browser 36 via HTTP (S142). In this way, in the PC 10, the browser 36 can obtain EWS information using HTTP via the control program 30. The browser 36 then displays the web page on the LCD 16 based on the acquired EWS information (S143). Note that the EWS information that the MFP 50 sends back to the control program 30 and, if the MFP 50 sends a reply directly to the browser 36 via HTTP, are the same EWS information that the MFP 50 sends back via HTTP. Furthermore, the control program 30 outputs the EWS information received using the USB protocol to the browser 36 using HTTP without converting it. Therefore, the browser 36 basically does not need to change the processing for EWS information depending on whether it receives it from the control program 30 or receives it via HTTP.

なお、デバイスポートは情報を受け付けると、次の情報を受け付けることができない状態、つまり、次の情報の受付が不能な状態となる。このため、制御プログラム30は、ブラウザからEWS情報の要求情報を受け付けたデバイスポートを、その要求情報に応じたEWS情報をブラウザ36に出力した後に受付可能状態とする(S144)。これにより、ブラウザ36が、再度、そのデバイスポートにEWS情報の要求情報をHTTPで出力した場合(S146)において、そのデバイスポートが、EWS情報の要求情報を受け付けることができる。なお、以降の処理(S148~S154)は、先に説明した処理(S138~S144)と同じである。なお、ブラウザ36は、ブックマーク保存を行うことができるため、ブックマーク保存のユーザ操作を受け付けた場合に、そのデバイスポート、つまり、ポート番号51000のデバイスポートにアクセスするための情報、つまり、制御プログラム30から取得したポート情報をデータ記憶領域46に保存する(S156)。 Note that once the device port receives information, it enters a state in which it cannot accept the next information, that is, it becomes unable to accept the next information. Therefore, the control program 30 outputs EWS information corresponding to the request information to the browser 36, and then puts the device port that has received EWS information request information from the browser into a receivable state (S144). Thereby, when the browser 36 outputs EWS information request information to that device port again via HTTP (S146), that device port can accept the EWS information request information. Note that the subsequent processes (S148 to S154) are the same as the previously described processes (S138 to S144). Note that since the browser 36 can save bookmarks, when it receives a user operation to save a bookmark, the browser 36 saves information for accessing the device port, that is, the device port with port number 51000, that is, the control program 30 The port information obtained from is stored in the data storage area 46 (S156).

このように、ポート情報がブラウザ36によりブックマーク保存されると、ブックマーク操作により、ブラウザ36は容易にデバイスポートにアクセスし、制御プログラム30を介してMFP50からEWS情報を取得することが可能となる。ただし、例えば、制御プログラム30が再起動されると、ブックマーク保存されたポート情報が示すポート番号と異なるポート番号のデバイスポートが作成される場合がある。つまり、制御プログラム30が再起動し、S106~S124の処理を実行すると、再度、デバイスポートが作成される。この際、ポート番号51000のデバイスポートが作成されれば、問題ないが、上述したように、制御プログラム30がデバイスポートを作成する際に、既に、ポート番号51000のポートが使用されている場合に、制御プログラム30は、ポート番号51000と異なるポート番号、例えば、ポート番号51010のポートをデバイスポートとして作成する。このような場合に、ブックマーク操作が実行されると、ブラウザ36は、ポート番号51000のデバイスポートにアクセスするためのポート情報を利用して、EWS情報の要求情報を出力しようとするが、当然、ブラウザ36は、ポート番号51010のデバイスポートにアクセスできず、ウェブページをLCD16に表示することはできない。 In this way, when the port information is bookmarked and saved by the browser 36, the browser 36 can easily access the device port and acquire EWS information from the MFP 50 via the control program 30 by operating the bookmark. However, for example, when the control program 30 is restarted, a device port with a port number different from the port number indicated by the bookmarked port information may be created. That is, when the control program 30 is restarted and the processes of S106 to S124 are executed, the device port is created again. At this time, there is no problem if the device port with port number 51000 is created, but as described above, when the control program 30 creates the device port, if the port with port number 51000 is already in use. , the control program 30 creates a port with a port number different from port number 51000, for example, port number 51010, as a device port. In such a case, when the bookmark operation is executed, the browser 36 tries to output EWS information request information using the port information for accessing the device port with port number 51000, but of course, The browser 36 cannot access the device port with port number 51010 and cannot display a web page on the LCD 16.

このため、制御プログラム30は、デバイスポートを作成した際(図3参照:S124)に、作成したデバイスポートのポート情報と、ライブラリ40から受け付けたデバイス指定情報とを関連付けて、関連情報としてデータ記憶領域46に記憶している(S128)。そして、制御プログラム30は、その関連情報に基づいてデバイスポートを作成する。これにより、ブックマーク保存されたポート情報が示すポート番号と同じポート番号のデバイスポートを作成することが可能となり、制御プログラム30が再起動した場合などにおいても、ブラウザがブックマーク操作によりウェブページをLCD16に表示することが可能となる。 Therefore, when the control program 30 creates a device port (see FIG. 3: S124), the control program 30 associates the port information of the created device port with the device specification information received from the library 40, and stores the data as related information. It is stored in area 46 (S128). The control program 30 then creates a device port based on the related information. This makes it possible to create a device port with the same port number as the port number indicated by the bookmarked port information, and even if the control program 30 is restarted, the browser can display a web page on the LCD 16 by bookmarking. It becomes possible to display.

詳しくは、制御プログラム30は、OS38からの指令により再起動すると(図2参照:S100)、データ記憶領域46を参照し(S102)、データ記憶領域46に関連情報が記憶されているか否かを判断する(S104)。ここでは、関連情報はデータ記憶領域46に記憶されているため、データ記憶領域46に関連情報が記憶されていると判断され(S104:YES)、制御プログラム30は、監視スレッドを作成する(S160)。次に、制御プログラム30は、USB一覧情報をOS38に要求する(S162)。USB一覧情報は、USBI/F20に接続されている全てのデバイスを示す情報である。OS38は、USB一覧情報の要求を受け付けると、USB一覧情報を制御プログラム30に出力する(S164)。そして、制御プログラム30は、受け付けたUSB一覧情報に基づいて、関連情報に含まれるデバイス指定情報に応じたデバイスが、USBI/F20に接続されているか否かを判断する(S166)。この際、デバイス指定情報に応じたデバイスが、USBI/F20に接続されていないと判断されると、それらの処理(S162~S166)と同じ処理(S168~S178)が繰り返し実行される。なお、制御プログラム30は受け付けたUSB一覧情報のみでは判断できない場合、例えば、個体を識別する情報がUSB一覧情報に含まれていない場合には、PC10にUSB接続したデバイスにさらに情報を問い合わせる通信を行い、返信された情報に基づいて、デバイス指定情報に応じたデバイスが、USBI/F20に接続されているか否かを判断してもよい。 Specifically, when the control program 30 is restarted by a command from the OS 38 (see FIG. 2: S100), the control program 30 refers to the data storage area 46 (S102) and determines whether or not related information is stored in the data storage area 46. A judgment is made (S104). Here, since the related information is stored in the data storage area 46, it is determined that the related information is stored in the data storage area 46 (S104: YES), and the control program 30 creates a monitoring thread (S160). ). Next, the control program 30 requests USB list information from the OS 38 (S162). The USB list information is information indicating all devices connected to the USB I/F 20. Upon receiving the request for USB list information, the OS 38 outputs the USB list information to the control program 30 (S164). Then, the control program 30 determines, based on the received USB list information, whether a device corresponding to the device designation information included in the related information is connected to the USB I/F 20 (S166). At this time, if it is determined that the device according to the device specification information is not connected to the USB I/F 20, the same processes (S168 to S178) as those processes (S162 to S166) are repeatedly executed. Note that if the control program 30 cannot make a determination based only on the received USB list information, for example, if the USB list information does not include information for identifying an individual, it sends a communication to the device connected to the PC 10 via USB to inquire about further information. Based on the returned information, it may be determined whether the device corresponding to the device specification information is connected to the USB I/F 20.

そして、デバイス指定情報に応じたデバイスが、USBI/F20に接続されたと判断されると(S178)、制御プログラム30は、判断の対象とされたデバイス指定情報を監視スレッドから受け付ける(S180)。次に、制御プログラム30は、監視スレッドと異なるスレッドを作成する(S182)。続いて、制御プログラム30は、受け付けたデバイス指定情報と関連付けてデータ記憶領域46に記憶されているポート情報を特定し、そのポート情報が示すポート番号のデバイスポートを作成する(S184)。そして、制御プログラム30は、そのデバイスポートを受付可能状態とする(S186)。 When it is determined that the device corresponding to the device designation information is connected to the USB I/F 20 (S178), the control program 30 receives the device designation information targeted for determination from the monitoring thread (S180). Next, the control program 30 creates a thread different from the monitoring thread (S182). Subsequently, the control program 30 identifies the port information stored in the data storage area 46 in association with the received device designation information, and creates a device port having the port number indicated by the port information (S184). Then, the control program 30 makes the device port ready for reception (S186).

このように、PC10では、S124において、例えば、ポート番号51000のデバイスポートが作成され、S128において、ポート番号51000を示すポート情報がデータ記憶領域46に記憶されている場合に、制御プログラム30の再起動時において、そのポート番号51000のデバイスポートが作成される(S184)。さらに言えば、そのポート情報と関連付けてデータ記憶領域46に記憶されているデバイス指定情報に応じたデバイスが、USBI/F20に接続されていることが確認された後に(S178)、そのポート情報に応じたデバイスポートが作成される(S184)。このため、ブラウザ36が、ライブラリ40からの指令でなく、ユーザ操作により起動し(図4参照:S190)、ブックマーク操作が実行された場合に(S192)、ブラウザ36は、ブックマーク保存されたポート情報、つまり、S156で保存されたポート番号51000のデバイスポートにアクセスするためのポート情報を利用してデバイスポートにアクセスし、そのデバイスポートにEWS情報の要求情報をHTTPで出力する(S136)。そして、先に説明したように、S138以降の処理が実行される。これにより、制御プログラム30が再起動した場合などにおいても、ブックマーク保存されたポート情報を利用して確実にデバイスポートにアクセスするとともに、デバイス指定情報に応じたデバイスのウェブページをLCD16に表示することが可能となる。 In this way, in the PC 10, in S124, for example, a device port with port number 51000 is created, and in S128, when port information indicating port number 51000 is stored in the data storage area 46, the control program 30 is replayed. At startup, a device port with port number 51000 is created (S184). Furthermore, after it is confirmed that a device corresponding to the device specification information stored in the data storage area 46 in association with the port information is connected to the USB I/F 20 (S178), the port information is A corresponding device port is created (S184). Therefore, when the browser 36 is started not by a command from the library 40 but by a user operation (see FIG. 4: S190), and a bookmark operation is executed (S192), the browser 36 receives the port information stored in the bookmark. That is, the device port is accessed using the port information for accessing the device port with port number 51000 saved in S156, and EWS information request information is output to the device port using HTTP (S136). Then, as described above, the processes from S138 onwards are executed. As a result, even if the control program 30 is restarted, the device port can be reliably accessed using the bookmarked port information, and the device web page according to the device specification information can be displayed on the LCD 16. becomes possible.

なお、上記説明では、アプリケーション32のライブラリ40からのポート情報の要求に応じて、制御プログラム30がデバイスポートを作成し、そのデバイスポートのポート情報をアプリケーション32のライブラリ40に出力しているが、設定ツール34にも、アプリケーション32のライブラリ40と同じライブラリ42が含まれている。このため、設定ツール34のライブラリ42も、アプリケーション32のライブラリ40と同様の処理を行うことができる。つまり、上述したライブラリ40による処理と同じ処理を、設定ツール34のライブラリ42も実行することが可能とされている。 Note that in the above description, the control program 30 creates a device port in response to a request for port information from the library 40 of the application 32, and outputs the port information of the device port to the library 40 of the application 32. The configuration tool 34 also includes a library 42 that is the same as the library 40 of the application 32. Therefore, the library 42 of the setting tool 34 can also perform the same processing as the library 40 of the application 32. In other words, the library 42 of the setting tool 34 can also execute the same process as the process performed by the library 40 described above.

また、上記実施形態では、図4に示すように、ブラウザ36がEWS情報の要求情報を出力した後に、制御プログラム30が、その要求情報に応じてEWS情報をブラウザ36に出力するまで、デバイスポートは、情報を受付可能な状態とされない。つまり、制御プログラム30は、ブラウザ36から受け付けた1の要求情報に応じた返信を、ブラウザ36に出力するまで、次の要求情報を受け付けることができず、処理時間が長くなる虞がある。そこで、制御プログラム30は、ブラウザ36から要求情報を受け付ける毎に、デバイスポートを受付可能状態とすることも可能である。 Further, in the above embodiment, as shown in FIG. 4, after the browser 36 outputs the EWS information request information, the device port is not ready to accept information. In other words, the control program 30 cannot accept the next request information until it outputs a reply corresponding to the first request information received from the browser 36 to the browser 36, which may increase the processing time. Therefore, each time the control program 30 receives request information from the browser 36, it is also possible to make the device port ready for reception.

詳しくは、図5に示すように、ブラウザ36が、デバイスポートにEWS情報の要求情報をHTTPで出力すると(S200)、制御プログラム30は、EWS情報の要求情報をUSBプロトコルでMFP50に出力する(S202)。この際、制御プログラム30は、EWS情報の要求情報に、1番目の要求情報であることを示す識別情報(ID:No.1)を付与し、その識別情報が付与されたEWS情報の要求情報をMFP50に出力する。そして、制御プログラム30は、その要求情報に対する返信の受け付けを待つことなく、デバイスポートを受付可能状態とする(S204)。このため、デバイスポートは、1番目のEWS情報の要求情報に対する返信を待つことなく、ブラウザ36が2番目に出力したEWS情報の要求情報を受け付ける(S206)。そして、制御プログラム30は、2番目の要求情報であることを示す識別情報(ID:No.2)を付与したEWS情報の要求情報をMFP50に出力し(S208)、デバイスポートを受付可能状態とする(S210)。 Specifically, as shown in FIG. 5, when the browser 36 outputs EWS information request information to the device port using HTTP (S200), the control program 30 outputs the EWS information request information to the MFP 50 using the USB protocol (S200). S202). At this time, the control program 30 adds identification information (ID: No. 1) indicating that it is the first request information to the EWS information request information, and adds the EWS information request information to which the identification information is added. is output to the MFP 50. Then, the control program 30 makes the device port ready for reception without waiting for the response to the request information (S204). Therefore, the device port accepts the second EWS information request information output by the browser 36 without waiting for a reply to the first EWS information request information (S206). Then, the control program 30 outputs the EWS information request information to which identification information (ID: No. 2) indicating that it is the second request information has been added to the MFP 50 (S208), and sets the device port to an acceptable state. (S210).

また、MFP50は、識別情報が付与されたEWS情報の要求情報を受け付けると、その要求情報に対する返信として、その要求情報に付与された識別情報をEWS情報に付与し、識別情報が付与されたEWS情報をUSBプロトコルで、制御プログラム30に出力する。このため、MFP50は、例えば、1番目のEWS情報の要求情報に対する返信として、識別情報「ID:No.1」が付与されたEWS情報をUSBプロトコルで制御プログラム30に出力する(S212)。そして、制御プログラム30は、識別情報「ID:No.1」が付与されたEWS情報をHTTPでブラウザ36に出力する(S214)。 Further, upon receiving request information for EWS information to which identification information is attached, the MFP 50 attaches the identification information attached to the request information to the EWS information as a reply to the request information, and then sends the EWS information to which the identification information is attached. The information is output to the control program 30 using the USB protocol. Therefore, the MFP 50 outputs EWS information to which identification information "ID: No. 1" is attached to the control program 30 using the USB protocol, for example, as a reply to the first EWS information request information (S212). Then, the control program 30 outputs the EWS information to which the identification information "ID: No. 1" is attached to the browser 36 via HTTP (S214).

また、制御プログラム30は、S210でデバイスポートを受付可能状態としているため、ブラウザ36が3番目に出力したEWS情報の要求情報を受け付ける(S216)。そして、制御プログラム30は、3番目の要求情報であることを示す識別情報(ID:No.3)を付与したEWS情報の要求情報をMFP50に出力し(S218)、デバイスポートを受付可能状態とする(S220)。また、MFP50が、例えば、2番目のEWS情報の要求情報に対する返信として、識別情報「ID:No.2」が付与されたEWS情報をUSBプロトコルで制御プログラム30に出力すると(S222)、制御プログラム30は、識別情報「ID:No.2」が付与されたEWS情報をHTTPでブラウザ36に出力する(S224)。また、MFP50が、例えば、3番目のEWS情報の要求情報に対する返信として、識別情報「ID:No.3」が付与されたEWS情報をUSBプロトコルで制御プログラム30に出力すると(S226)、制御プログラム30は、識別情報「ID:No.3」が付与されたEWS情報をHTTPでブラウザ36に出力する(S228)。 Furthermore, since the control program 30 has set the device port in an accepting state in S210, it accepts the EWS information request information outputted thirdly by the browser 36 (S216). Then, the control program 30 outputs the EWS information request information to which identification information (ID: No. 3) indicating that it is the third request information has been added to the MFP 50 (S218), and sets the device port to an acceptable state. (S220). Further, when the MFP 50 outputs the EWS information to which the identification information "ID: No. 2" is attached, for example, to the control program 30 using the USB protocol as a reply to the second EWS information request information (S222), the control program 30 outputs the EWS information to which the identification information "ID: No. 2" has been added to the browser 36 via HTTP (S224). Further, when the MFP 50 outputs the EWS information to which the identification information "ID: No. 3" is attached, for example, to the control program 30 using the USB protocol as a reply to the request information for the third EWS information (S226), the control program 30 outputs the EWS information to which the identification information "ID: No. 3" has been added to the browser 36 via HTTP (S228).

このように、制御プログラム30が、ブラウザ36から要求情報を受け付ける毎に、デバイスポートを受付可能状態とすることで、制御プログラム30が出力した要求情報の返信を待つことなく、ブラウザ36からの要求情報を順次、受け付けることが可能となる。これにより、処理時間の短縮を図ることが可能となる。また、制御プログラム30が出力するEWS情報の要求情報及び、EWS情報に、識別情報が付与されることで、ブラウザ36が出力したEWS情報の要求情報と、その要求情報に対するEWS情報とを確実に対応させることが可能となる。 In this way, each time the control program 30 receives request information from the browser 36, it enables the device port to accept requests from the browser 36 without waiting for a response to the request information output by the control program 30. It becomes possible to receive information sequentially. This makes it possible to reduce processing time. Furthermore, by adding identification information to the EWS information request information output by the control program 30 and the EWS information, the EWS information request information output by the browser 36 and the EWS information corresponding to the request information can be reliably identified. It becomes possible to make it compatible.

また、上記実施形態では、制御プログラム30が作成したデバイスポートに、ブラウザ36がデバイスリクエストとして、EWS情報の要求情報を出力することで、MFP50からEWS情報を取得しているが、制御プログラム30が作成したデバイスポートに、アプリケーション32がデバイスリクエストとして、各種画像処理の要求を出力することで、MFP50に各種画像処理を実行させることができる。 Furthermore, in the above embodiment, the browser 36 outputs EWS information request information as a device request to the device port created by the control program 30 to obtain EWS information from the MFP 50. The application 32 outputs various image processing requests as device requests to the created device port, thereby allowing the MFP 50 to perform various image processing.

詳しくは、制御プログラム30が、デバイスポートを作成し(図3参照:S124)、作成したデバイスポートを受付可能状態とした後に(S126)、そのデバイスポートのポート情報と、デバイス指定情報とを関連付けてデータ記憶領域46に記憶すると(S128)、制御プログラム30は、ライブラリ40でなく、図6に示すように、アプリケーション32にポート情報を出力する(S300)。これにより、アプリケーション32は、制御プログラム30が作成したデバイスポートにアクセス可能となり、そのデバイスポートにコピー処理の要求をHTTPで出力する(S302)。そして、制御プログラム30は、デバイスポートにHTTPでのコピー処理の要求を受け付けると、そのデバイスポートのポート情報と関連付けて記憶されているデバイス指定情報に応じたデバイス、つまり、MFP50に、コピー処理の要求をUSBプロトコルで出力する(S304)。これにより、MFP50においてコピー処理が実行される(S306)。この際、MFP50は、コピー処理を完了させると、制御プログラム30にコピー処理が完了したことを示す情報をUSBプロトコルで送信する(S308)。また、MFP50は、コピー処理にエラーが発生した場合には、エラーが発生したことを示す情報を制御プログラム30にUSBプロトコルで送信する(S308)。そして、制御プログラム30は、コピー処理が完了したことを示す情報、若しくは、エラーが発生したことを示す情報を、HTTPでアプリケーション32に出力する(S310)。なお、制御プログラム30は、コピー処理が完了したことを示す情報、若しくは、エラーが発生したことを示す情報をアプリケーション32に出力した後に、デバイスポートを受付可能状態とする(S312)。このように、制御プログラム30が作成したデバイスポートに、アプリケーション32がデバイスリクエストとして、各種画像処理の要求を出力することで、MFP50に各種画像処理を実行させることもできる。 Specifically, after the control program 30 creates a device port (see FIG. 3: S124) and puts the created device port into an accepting state (S126), it associates the port information of the device port with the device specification information. When the port information is stored in the data storage area 46 (S128), the control program 30 outputs the port information not to the library 40 but to the application 32 as shown in FIG. 6 (S300). This allows the application 32 to access the device port created by the control program 30, and outputs a copy processing request to the device port via HTTP (S302). When the control program 30 receives a request for a copy process using HTTP from a device port, the control program 30 requests a device corresponding to the device specification information stored in association with the port information of the device port, that is, the MFP 50, to perform the copy process. The request is output using the USB protocol (S304). As a result, copy processing is executed in the MFP 50 (S306). At this time, when the MFP 50 completes the copy process, it transmits information indicating that the copy process has been completed to the control program 30 using the USB protocol (S308). Furthermore, if an error occurs in the copy process, the MFP 50 transmits information indicating that an error has occurred to the control program 30 using the USB protocol (S308). Then, the control program 30 outputs information indicating that the copy process has been completed or information indicating that an error has occurred to the application 32 via HTTP (S310). Note that the control program 30 outputs information indicating that the copy process is completed or information indicating that an error has occurred to the application 32, and then sets the device port in a ready state (S312). In this manner, by the application 32 outputting various image processing requests as device requests to the device port created by the control program 30, the MFP 50 can be caused to perform various image processing.

なお、S106を実行するCPU12は、第1作成手段の一例である。S116を実行するCPU12は、受付手段及び第2出力手段の一例である。S124,S184を実行するCPU12は、第2作成手段の一例である。S128を実行するCPU12は、記憶制御手段の一例である。S130を実行するCPU12は、第1公開手段の一例である。S134を実行するCPU12は、第2公開手段の一例である。S136,S146,S200,S206,S216,S302を実行するCPU12は、第3出力手段の一例である。S138,S148,S202,S208,S218,S304を実行するCPU12は、送信手段の一例である。S140,S150,S212,S222,S226,S308を実行するCPU12は、受信手段の一例である。S142,S152,S214,S224,S228,S310を実行するCPU12は、第1出力手段の一例である。S144,S154,S204,S210,S220,S312を実行するCPU12は、受付状態変更手段の一例である。S166,S172,S178を実行するCPU12は、判断手段の一例である。 Note that the CPU 12 that executes S106 is an example of the first creation means. The CPU 12 that executes S116 is an example of a reception means and a second output means. The CPU 12 that executes S124 and S184 is an example of the second creation means. The CPU 12 that executes S128 is an example of a storage control means. The CPU 12 that executes S130 is an example of first publishing means. The CPU 12 that executes S134 is an example of second publishing means. The CPU 12 that executes S136, S146, S200, S206, S216, and S302 is an example of a third output means. The CPU 12 that executes S138, S148, S202, S208, S218, and S304 is an example of a transmitting means. The CPU 12 that executes S140, S150, S212, S222, S226, and S308 is an example of a receiving unit. The CPU 12 that executes S142, S152, S214, S224, S228, and S310 is an example of the first output means. The CPU 12 that executes S144, S154, S204, S210, S220, and S312 is an example of reception state changing means. The CPU 12 that executes S166, S172, and S178 is an example of a determining means.

上記した実施形態によれば、以下の効果を奏する。 According to the embodiment described above, the following effects are achieved.

上記実施形態では、制御プログラム30が、受け付けポートを作成するとともに、デバイスポートを作成する。そして、制御プログラム30は、アプリケーション32のライブラリ40からポート情報の要求を受け付けると、デバイスポートのポート情報をライブラリ40に出力する。続いて、制御プログラム30は、デバイスポートへのデバイスリクエストつまり、EWS情報の要求情報、若しくは、コピー処理の要求をHTTPで受け付けると、そのデバイスリクエストをMFP50に、USBI/F20を介して、USBプロトコルで送信する。この際、制御プログラム30は、MFP50にデバイスリクエストを送信したことに応じて、MFP50からデバイスリクエストの返信を、USBI/F20を介して、USBプロトコルで受信する。そして、制御プログラム30は、受信したデバイスリクエストの返信を、デバイスリクエストの出力元、つまり、ブラウザ36若しくは、アプリケーション32に出力する。これにより、HTTPでのデバイスリクエストをUSBI/F20を介してMFP50に送信し、そのMFP50からデバイスリクエストの返信をUSBI/F20を介して受信することが可能となる。 In the embodiment described above, the control program 30 creates an acceptance port and also creates a device port. When the control program 30 receives a request for port information from the library 40 of the application 32, it outputs the port information of the device port to the library 40. Subsequently, when the control program 30 receives a device request to the device port, that is, request information for EWS information or a request for copy processing via HTTP, the control program 30 transmits the device request to the MFP 50 via the USB I/F 20 using the USB protocol. Send by. At this time, in response to transmitting the device request to the MFP 50, the control program 30 receives a device request reply from the MFP 50 via the USB I/F 20 using the USB protocol. The control program 30 then outputs the received device request reply to the device request output source, that is, the browser 36 or the application 32. This makes it possible to send an HTTP device request to the MFP 50 via the USB I/F 20 and receive a reply to the device request from the MFP 50 via the USB I/F 20.

また、制御プログラム30は、ライブラリ40からポート情報の要求を受け付けると、デバイスポートを作成する。これにより、不必要なデバイスポートの作成を抑制することが可能となる。 Furthermore, upon receiving a request for port information from the library 40, the control program 30 creates a device port. This makes it possible to suppress the creation of unnecessary device ports.

また、デバイス指定情報がデータ記憶領域46に記憶されており、制御プログラム30は、データ記憶領域46に記憶されているデバイス指定情報に応じたデバイス、つまり、MFP50へのデバイスリクエストを受け付けるためのデバイスポートを作成する。これにより、MFP50と確実に通信することが可能なデバイスポートを作成することができる。 Further, device specification information is stored in the data storage area 46, and the control program 30 selects a device corresponding to the device specification information stored in the data storage area 46, that is, a device for accepting a device request to the MFP 50. Create a port. Thereby, a device port that can reliably communicate with the MFP 50 can be created.

また、制御プログラム30は、データ記憶領域46に記憶されているデバイス指定情報に応じたデバイス、つまり、MFP50と通信が確立しているか否かを判断しており、MFP50と通信が確立していると判断された場合に、MFP50へのデバイスリクエストを受け付けるためのデバイスポートを作成する。これにより、MFP50と確実に通信することが可能なデバイスポートを作成することができる。 The control program 30 also determines whether or not communication has been established with a device according to the device specification information stored in the data storage area 46, that is, the MFP 50, and has established communication with the MFP 50. If it is determined that this is the case, a device port is created to receive a device request to the MFP 50. Thereby, a device port that can reliably communicate with the MFP 50 can be created.

また、デバイスポートはデバイスリクエストを受け付ける毎に、情報の受け付けが不能な状態とされているため、制御プログラム30は、受け付けたデバイスリクエストをデバイスに送信した後に、そのデバイスリクエストに対する返信をデバイスから受信した場合に、デバイスポートを受付可能状態とする。これにより、ブラウザ等から次のデバイスリクエストを受け付けることが可能となる。一方で、制御プログラム30は、受け付けたデバイスリクエストをデバイスに送信した後に、そのデバイスリクエストに対する返信をデバイスから受信しなくても、デバイスポートを受付可能状態とする。これにより、ブラウザ等からデバイスリクエストを順次、受け付けることが可能となり、処理の短縮を図ることが可能となる。 Furthermore, each time the device port receives a device request, it is set to a state in which it cannot accept information, so after transmitting the accepted device request to the device, the control program 30 receives a reply to the device request from the device. In this case, the device port is set to a ready state. This makes it possible to accept the next device request from a browser or the like. On the other hand, after transmitting the accepted device request to the device, the control program 30 makes the device port ready for reception even if it does not receive a reply to the device request from the device. This makes it possible to sequentially accept device requests from browsers and the like, thereby shortening the processing time.

また、ライブラリ40からのリクエストを受け付ける受付ポートと、ブラウザ36からのリクエストを受け付けるデバイスポートとは、ポート番号が異なっている。これにより、ライブラリ40及び、ブラウザ36から好適にリクエストを受け付けることができる。 Furthermore, the reception port that accepts requests from the library 40 and the device port that accepts requests from the browser 36 have different port numbers. Thereby, requests can be suitably received from the library 40 and the browser 36.

また、制御プログラム30は、ポート情報の要求とデバイス指定情報とを受け付けると、そのポート情報とデバイス指定情報とを関連付けてデータ記憶領域46に記憶する。そして、制御プログラム30は、デバイスポートへのデバイスリクエストを受け付けると、そのデバイスリクエストを、データ記憶領域46に記憶されているデバイス指定情報に応じたデバイスにUSBI/F20を介して送信する。これにより、デバイス指定情報に応じたデバイスにデバイスリクエストを確実に送信することが可能となる。なお、制御プログラム30が受け付けるデバイス指定情報はUSBプロトコルに従ったものである。これにより、デバイス指定情報に応じたデバイスに、USBI/F20を介して好適にデバイスリクエストを送信することが可能となる。 Further, upon receiving a request for port information and device designation information, the control program 30 stores the port information and device designation information in association with each other in the data storage area 46 . When the control program 30 receives a device request to the device port, the control program 30 transmits the device request to the device corresponding to the device designation information stored in the data storage area 46 via the USB I/F 20. This makes it possible to reliably send a device request to a device according to the device specification information. Note that the device designation information accepted by the control program 30 is in accordance with the USB protocol. Thereby, it becomes possible to suitably transmit a device request to a device according to the device specification information via the USB I/F 20.

また、ライブラリ40は、制御プログラム30からポート情報を受け付けると、そのポート情報をブラウザ36に出力し、ブラウザ36は、そのポート情報を用いて、デバイスポートにEWS情報の要求情報をHTTPで出力する。そして、制御プログラム30が、そのEWS情報の要求情報をMFP50にUSBプロトコルで送信する。これにより、ブラウザ36は、HTTPでのEWS情報の要求情報をUSBI/F20を介してMFP50に送信し、そのMFP50からEWS情報をUSBI/F20を介して受信することが可能となる。 Further, upon receiving port information from the control program 30, the library 40 outputs the port information to the browser 36, and the browser 36 uses the port information to output EWS information request information to the device port via HTTP. . Then, the control program 30 transmits the EWS information request information to the MFP 50 using the USB protocol. This allows the browser 36 to transmit request information for EWS information via HTTP to the MFP 50 via the USB I/F 20, and to receive EWS information from the MFP 50 via the USB I/F 20.

また、ライブラリ40は、制御プログラム30からポート情報を受け付けると、そのポート情報をアプリケーション32に出力し、アプリケーション32は、そのポート情報を用いて、デバイスポートにコピー処理の要求をHTTPで出力する。そして、制御プログラム30が、そのコピー処理の要求をMFP50にUSBプロトコルで送信する。これにより、アプリケーション32は、HTTPでのコピー処理の要求をUSBI/F20を介してMFP50に送信し、MFP50によりコピー処理を実行させることが可能となる。 Further, upon receiving port information from the control program 30, the library 40 outputs the port information to the application 32, and the application 32 uses the port information to output a copy processing request to the device port using HTTP. Then, the control program 30 transmits the copy processing request to the MFP 50 using the USB protocol. This allows the application 32 to transmit a request for copy processing using HTTP to the MFP 50 via the USB I/F 20 and cause the MFP 50 to execute the copy processing.

また、制御プログラム30と送受信を行うライブラリ40は、モジュール化されており、そのライブラリ40と同じライブラリ42が設定ツール34にも組み込まれている。このため、アプリケーション32と設定ツール34との何れを用いても、HTTPでのデバイスリクエストをUSBI/F20を介してデバイスに送信することができる。これにより、種々のアプリケーションプログラムに、ライブラリを組み込むだけで、HTTPでのデバイスリクエストをUSBI/F20を介してデバイスに送信することが可能となる。 Further, a library 40 that transmits and receives data to and from the control program 30 is modularized, and the same library 42 as the library 40 is also incorporated into the setting tool 34. Therefore, using either the application 32 or the setting tool 34, an HTTP device request can be sent to the device via the USB I/F 20. This makes it possible to send an HTTP device request to a device via the USB I/F 20 simply by incorporating the library into various application programs.

また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、制御プログラム30が、OS38の処理により起動しているが、ユーザ操作により起動してもよい。また、上記実施形態では、ライブラリ40は、ユーザ操作により起動しているが、制御プログラム30の処理により起動してもよい。 Furthermore, the present invention is not limited to the above-described embodiments, but can be implemented in various forms with various modifications and improvements based on the knowledge of those skilled in the art. Specifically, for example, in the embodiment described above, the control program 30 is started by the processing of the OS 38, but it may be started by a user operation. Further, in the above embodiment, the library 40 is activated by a user operation, but it may be activated by processing of the control program 30.

また、上記実施形態では、PC10がMFP50のみと通信を行っているが、複数のデバイスと通信を行う場合に、それら複数のデバイスに対応して複数のデバイスポートが作成されてもよい。そして、制御プログラム30は、それら複数のデバイスのうちの1のデバイスを指定してポート情報の要求を受け付けた場合に、その1のデバイスに対応するデバイスポートのポート情報をライブラリ40に出力する。 Further, in the above embodiment, the PC 10 communicates only with the MFP 50, but when communicating with multiple devices, multiple device ports may be created corresponding to the multiple devices. When the control program 30 receives a request for port information specifying one of the plurality of devices, the control program 30 outputs port information of the device port corresponding to the one device to the library 40.

また、上記実施形態では、制御プログラム30がS128(図3参照)の処理においてデータ記憶領域46に記憶させた関連情報に基づいて、制御プログラム30がS184(図2参照)の処理においてデバイスポートを作成しているが、別手法によりデータ記憶領域46に記憶された情報を利用して、制御プログラム30がデバイスポートを作成してもよい。具体的には、例えば、PC10にUSBI/F20を介してデバイスが装着されると、PnPによりデバイス情報がOS38に登録される。そこで、OS38に登録されたデバイス情報を利用してデバイスポートが作成されてもよい。また、例えば、アプリケーション32のようにデバイスによる画像処理を実行させるためのアプリケーションプログラムでは、処理を実行するデバイスのデバイス情報が登録されている場合がある。このような場合に、そのアプリケーションプログラムに登録されているデバイス情報を利用してデバイスポートが作成されてもよい。なお、デバイス情報が登録されるアプリケーションプログラムとして、受付ポートやデバイスポートにリクエストを出力しないものも採用することができる。 Further, in the above embodiment, the control program 30 selects the device port in the process of S184 (see FIG. 2) based on the related information stored in the data storage area 46 in the process of S128 (see FIG. 3). However, the control program 30 may create a device port using information stored in the data storage area 46 using another method. Specifically, for example, when a device is attached to the PC 10 via the USB I/F 20, device information is registered in the OS 38 using PnP. Therefore, a device port may be created using device information registered in the OS 38. Further, for example, in an application program such as the application 32 for causing a device to perform image processing, device information of the device that executes the processing may be registered. In such a case, a device port may be created using device information registered in the application program. Note that an application program in which device information is registered may also be one that does not output requests to the reception port or device port.

また、上記実施形態では、HTTPでのデバイスリクエストをUSBI/F20を介してデバイスに送信し、そのデバイスからデバイスリクエストの返信をUSBI/F20を介して受信する技術に、本発明が適用されているが、第1の通信プロトコルでのデバイスリクエストを、その第1のプロトコルに応じた第1の通信インタフェースと異なる第2の通信インタフェースを介してデバイスに送信し、そのデバイスからデバイスリクエストの返信を第2の通信インタフェースを介して受信する技術に、本発明が適用されてもよい。つまり、第1の通信プロトコル及び第2の通信プロトコルが、HTTP及びUSBプロトコルに限定される必要はない。 Further, in the above embodiment, the present invention is applied to a technique of transmitting an HTTP device request to a device via the USB I/F 20 and receiving a reply to the device request from the device via the USB I/F 20. transmits a device request using a first communication protocol to a device via a second communication interface different from the first communication interface corresponding to the first protocol, and sends a reply of the device request from the device to a second communication interface. The present invention may be applied to techniques for receiving data via the second communication interface. That is, the first communication protocol and the second communication protocol do not need to be limited to HTTP and USB protocols.

また、上記実施形態では、CPU12によって図2~図6に示す処理が実行される例を説明したが、これら処理は、CPU12に限らず、ASICや他の論理集積回路により実行されてもよいし、これら処理が、CPU等やASIC、他の論理集積回路が協働することにより実行されてもよい。 Further, in the above embodiment, an example has been described in which the processes shown in FIGS. 2 to 6 are executed by the CPU 12, but these processes are not limited to the CPU 12, but may be executed by an ASIC or other logic integrated circuit. , these processes may be executed by the cooperation of a CPU, ASIC, or other logic integrated circuit.

10:PC、12:CPU、20:USBI/F、30:制御プログラム、32:アプリケーション、36:ブラウザ、40:ライブラリ、50:MFP、52:EWS
10: PC, 12: CPU, 20: USB I/F, 30: Control program, 32: Application, 36: Browser, 40: Library, 50: MFP, 52: EWS

Claims (22)

第1通信インタフェースおよび第2通信インタフェースを備える情報処理装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータを、
第1リクエストを受け付けるための第1ポートを作成する第1作成手段と、
第2リクエストを受け付けるための第2ポートを作成する第2作成手段として機能させ、前記第2リクエストは前記第1リクエストとは異なるリクエストであり、前記第1リクエストおよび前記第2リクエストは第1プロトコルによるリクエストであり、前記第1プロトコルは前記第1通信インタフェースで用いられるプロトコルであり、前記第1ポートおよび前記第2ポートは、前記プログラムがインストールされているコンピュータにインストールされたプログラムであって前記プログラムとは異なるプログラムから、前記第1プロトコルによって、前記第1通信インタフェースを介さずリクエストを受け付けるためのポートであり、
前記コンピュータを、
前記第1ポートへの前記第1リクエストを受け付けた場合に、当該第1リクエストのリクエスト元のプログラムに、前記第2ポートを公開する第1公開手段と、
前記第1公開手段により公開された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2リクエストを前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信する送信手段と、
前記送信手段により送信された前記第2リクエストに対する返信を前記デバイスから前記第2通信インタフェースを介して受信する受信手段として機能させ、前記第2プロトコルは前記第2通信インタフェースで用いられるプロトコルであり、
前記受信手段により受信した返信を、前記第2ポートへの前記第2リクエストのリクエスト元のプログラムに、前記第1プロトコルで出力する第1出力手段と、
して機能させることを特徴とするプログラム。
A program readable by a computer of an information processing device including a first communication interface and a second communication interface,
The computer,
a first creation means for creating a first port for accepting a first request;
The function is made to function as a second creation means for creating a second port for receiving a second request, the second request is a request different from the first request, and the first request and the second request are based on the first protocol. The first protocol is a protocol used by the first communication interface, and the first port and the second port are a program installed on a computer in which the program is installed, A port for receiving a request from a program different from the program according to the first protocol without going through the first communication interface,
The computer,
a first publishing unit that, when accepting the first request to the first port, publishes the second port to a request source program of the first request;
Transmitting means for transmitting the second request to the device connected to the second communication interface using a second protocol when the second request to the second port published by the first publishing means is received; and,
functioning as receiving means for receiving a reply to the second request transmitted by the transmitting means from the device via the second communication interface, and the second protocol is a protocol used in the second communication interface;
a first output means for outputting the reply received by the receiving means to a request source program of the second request to the second port using the first protocol;
A program that is characterized by its functions.
前記第1作成手段により作成される第1ポートのポート番号と、前記第2作成手段により作成される第2ポートのポート番号とは、異なることを特徴とする請求項1に記載のプログラム。 2. The program according to claim 1, wherein the port number of the first port created by the first creation means and the port number of the second port created by the second creation means are different. 前記第1プロトコルは、HTTPであり、
前記ポート番号は、HTTPのポート番号であることを特徴とする請求項2に記載のプログラム。
the first protocol is HTTP;
3. The program according to claim 2, wherein the port number is an HTTP port number.
前記コンピュータを、
前記第1ポートへの前記第1リクエストとともに、デバイスを指定するデバイス指定情報を受け付ける受付手段と、
前記受付手段が受け付けたデバイス指定情報と、前記第2作成手段により作成された第2ポートと関連付けて、前記情報処理装置のメモリに記憶させる記憶制御手段と、
して機能させ、
前記送信手段は、
前記第1公開手段により公開された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2ポートと関連付けて前記メモリに記憶されているデバイス指定情報により指定されるデバイスに前記第2リクエストを、前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信することを特徴とする請求項1乃至3の何れか1項に記載のプログラム。
The computer,
reception means for receiving device specification information specifying a device together with the first request to the first port;
storage control means for storing the device designation information received by the reception means in a memory of the information processing apparatus in association with the second port created by the second creation means;
and make it work,
The transmitting means includes:
When the second request to the second port published by the first publishing means is received, the second request is sent to the device designated by the device designation information stored in the memory in association with the second port. 4. The program according to claim 1, wherein the program transmits a second request to a device connected to the second communication interface using a second protocol.
前記受付手段は、
前記第1ポートへの前記第1リクエストとともに、第2プロトコルでのデバイス指定情報を受け付けることを特徴とする請求項4に記載のプログラム。
The reception means is
5. The program according to claim 4, wherein device designation information in a second protocol is accepted together with the first request to the first port.
前記第2リクエストは、前記デバイスに組み込まれたサーバに記憶されているサーバ情報の返信を要求するものであることを特徴とする請求項1乃至5の何れか1項に記載のプログラム。 6. The program according to claim 1, wherein the second request requests a reply of server information stored in a server installed in the device. 前記第2リクエストは、前記デバイスによる処理実行を要求するものであることを特徴とする請求項1乃至5の何れか1項に記載のプログラム。 6. The program according to claim 1, wherein the second request requests execution of a process by the device. 前記第2作成手段は、
前記第1ポートへの前記第1リクエストを受け付けた場合に、前記第2ポートを作成することを特徴とする請求項1乃至7の何れか1項に記載のプログラム。
The second creating means includes:
8. The program according to claim 1, wherein the program creates the second port when the first request to the first port is received.
前記情報処理装置は、デバイスを指定するデバイス指定情報を記憶するメモリを備え、
前記第2作成手段は、
前記メモリに記憶されているデバイス指定情報により指定されるデバイスに対応する第2ポートを作成することを特徴とする請求項1乃至7の何れか1項に記載のプログラム。
The information processing device includes a memory that stores device designation information that designates a device,
The second creating means includes:
8. The program according to claim 1, wherein the program creates a second port corresponding to a device specified by device specification information stored in the memory.
前記第2作成手段は、
前記情報処理装置のオペレーティングシステムが備える、前記第2通信インタフェースでの通信対象として登録されたデバイスを記憶する前記メモリを参照し、そのデバイスに対応する第2ポートを作成することを特徴とする請求項9に記載のプログラム。
The second creating means includes:
A claim characterized in that the operating system of the information processing apparatus refers to the memory that stores a device registered as a communication target on the second communication interface, and creates a second port corresponding to the device. The program described in item 9.
前記第2作成手段は、
前記プログラムと異なるプログラムにより前記第2通信インタフェースでの通信対象として登録されたデバイスを記憶する前記メモリを参照し、そのデバイスに対応する第2ポートを作成することを特徴とする請求項9に記載のプログラム。
The second creating means includes:
10. A second port corresponding to the device is created by referring to the memory that stores a device registered as a communication target on the second communication interface by a program different from the program. program.
前記メモリは、複数のデバイスに応じた複数のデバイス指定情報を記憶しており、
前記第2作成手段は、
前記メモリに記憶されている複数のデバイス指定情報により指定される複数のデバイスの各々に対応する第2ポートを作成し、
前記第1公開手段は、
前記第1ポートへのデバイスを指定した前記第1リクエストを受け付けた場合に、当該指定されたデバイスに対応する前記第2ポートを、当該第1リクエストのリクエスト元のプログラムに公開することを特徴とする請求項9乃至11の何れか1項に記載のプログラム。
The memory stores a plurality of device specification information corresponding to a plurality of devices,
The second creation means includes:
creating a second port corresponding to each of the plurality of devices specified by the plurality of device specification information stored in the memory;
The first publishing means is:
When the first request specifying a device to the first port is received, the second port corresponding to the specified device is disclosed to the request source program of the first request. The program according to any one of claims 9 to 11.
前記コンピュータを、
前記メモリに記憶されているデバイス指定情報により指定されるデバイスとの通信が確立しているか否かを判断する判断手段として機能させ、
前記第2作成手段は、
前記判断手段によりデバイスとの通信が確立していると判断された場合に、当該デバイスへの第2リクエストを受け付けるための第2ポートを作成することを特徴とする請求項9乃至12の何れか1項に記載のプログラム。
The computer,
functioning as a determining means for determining whether communication with a device designated by device designation information stored in the memory is established;
The second creating means includes:
Any one of claims 9 to 12, characterized in that when the determining means determines that communication with the device is established, a second port is created for accepting a second request to the device. The program described in Section 1.
前記第2ポートは、第2リクエストを受け付ける毎に、第2リクエストの受付が不能な状態である受付不能状態となり、
前記コンピュータを、
第2リクエストを受け付けて受付不能状態となった第2ポートを、第2リクエストの受付を可能な状態とする受付状態変更手段として機能させ、
前記受付状態変更手段は、前記第2ポートが第2リクエストを受付不能な状態で、前記受信手段が第2リクエストに対する返信を受信した場合に、当該第2ポートを、第2リクエストの受付を可能な状態とし、前記第1出力手段が当該返信を出力することを特徴とする請求項1乃至13の何れか1項に記載のプログラム。
Each time the second port receives a second request, the second port enters an unacceptable state in which it is unable to accept the second request,
The computer,
The second port, which has received the second request and is now in an unreceivable state, functions as a reception state changing means that changes the second port to a state in which it can accept the second request,
The acceptance state changing means enables the second port to accept the second request when the second port is in a state where the second request cannot be accepted and the receiving means receives a reply to the second request. 14. The program according to claim 1, wherein the first output means outputs the reply.
前記第2ポートは、第2リクエストを受け付ける毎に、第2リクエストの受付が不能な状態である受付不能状態となり、
前記コンピュータを、
第2リクエストを受け付けて受付不能状態となった第2ポートを、第2リクエストの受付を可能な状態とする受付状態変更手段として機能させ、
前記受付状態変更手段は、前記受信手段が第2リクエストに対する返信を受信すること、及び、当該返信を前記第1出力手段が出力することを必要とせず、前記第2ポートを、第2リクエストの受付を可能な状態とし、当該第2ポートにより新たな第2リクエストを受け付けることを特徴とする請求項1乃至13の何れか1項に記載のプログラム。
Each time the second port receives a second request, the second port enters an unacceptable state in which it is unable to accept the second request,
The computer,
The second port, which has received the second request and is now in an unreceivable state, functions as a reception state changing means that changes the second port to a state in which it can accept the second request,
The acceptance state changing means does not require that the receiving means receive a reply to the second request and that the first output means output the reply, and the second port is configured to change the reception status of the second request. 14. The program according to claim 1, wherein the program enables reception and receives a new second request through the second port.
第1通信インタフェースおよび第2通信インタフェースを備える情報処理装置のコンピュータが読み取り可能な第1プログラムと第2プログラムとを含むプログラム群であって、
前記コンピュータを、
第1リクエストを受け付けるための第1ポートを作成する第1作成手段と、
第2リクエストを受け付けるための第2ポートを作成する第2作成手段として前記第1プログラムにより機能させ、前記第2リクエストは前記第1リクエストとは異なるリクエストであり、前記第1リクエストおよび前記第2リクエストは第1プロトコルによるリクエストであり、前記第1プロトコルは前記第1通信インタフェースで用いられるプロトコルであり、前記第1ポートおよび前記第2ポートは、前記コンピュータにインストールされたプログラムであって前記第1プログラムとは異なるプログラムから、前記第1プロトコルによって、前記第1通信インタフェースを介さずリクエストを受け付けるためのポートであり、
前記コンピュータを、
前記第1作成手段により作成された第1ポートに前記第1リクエストを出力する第2出力手段として前記第2プログラムにより機能させ、
前記コンピュータを、
前記第2出力手段により出力された前記第1ポートへの前記第1リクエストを受け付けた場合に、前記第2プログラムに、前記第2ポートを公開する第1公開手段と、
前記第1公開手段により公開された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2リクエストを前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信する送信手段と、
前記送信手段により送信された前記第2リクエストに対する返信を前記デバイスから前記第2通信インタフェースを介して受信する受信手段として機能させ、前記第2プロトコルは前記第2通信インタフェースで用いられるプロトコルであり、
前記受信手段により受信した返信を、前記第2ポートへの前記第2リクエストのリクエスト元のプログラムに、前記第1プロトコルで出力する第1出力手段と、
して前記プログラムにより機能させることを特徴とするプログラム群。
A program group including a first program and a second program readable by a computer of an information processing device including a first communication interface and a second communication interface,
The computer,
a first creation means for creating a first port for accepting a first request;
The first program functions as a second creation means for creating a second port for receiving a second request, and the second request is a request different from the first request, and the first request and the second The request is a request based on a first protocol, the first protocol is a protocol used in the first communication interface, and the first port and the second port are programs installed in the computer, and the first protocol is a protocol used in the first communication interface. a port for accepting a request from a program different from the first program by the first protocol without going through the first communication interface;
The computer,
Functioned by the second program as a second output means for outputting the first request to the first port created by the first creation means,
The computer,
a first publishing unit that publishes the second port to the second program when receiving the first request to the first port output by the second output unit;
Transmitting means for transmitting the second request to the device connected to the second communication interface using a second protocol when the second request to the second port published by the first publishing means is received; and,
functioning as receiving means for receiving a reply to the second request transmitted by the transmitting means from the device via the second communication interface, and the second protocol is a protocol used in the second communication interface;
a first output means for outputting the reply received by the receiving means to a request source program of the second request to the second port using the first protocol;
A group of programs characterized in that the program is made to function by the program.
前記第2出力手段は、
前記第1作成手段により作成された前記第1ポートに前記第1リクエストとともに、デバイスを指定するデバイス指定情報を出力し、
前記コンピュータを、
前記第2出力手段が出力したデバイス指定情報と、前記第2作成手段により作成された第2ポートと関連付けて、前記情報処理装置のメモリに記憶させる記憶制御手段として前記第1プログラムにより機能させ、
前記送信手段は、
前記第1公開手段により公開された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2ポートと関連付けて前記メモリに記憶されているデバイス指定情報により指定されるデバイスに前記第2リクエストを、前記第2通信インタフェースに接続されたデバイスに、前記第2プロトコルによって送信することを特徴とする請求項16に記載のプログラム群。
The second output means is
outputting device specification information specifying a device together with the first request to the first port created by the first creation means;
The computer,
causing the first program to function as a storage control means for storing the device designation information outputted by the second outputting means in the memory of the information processing apparatus in association with the second port created by the second creating means;
The transmitting means includes:
When the second request to the second port published by the first publishing means is received, the second request is sent to the device designated by the device designation information stored in the memory in association with the second port. 17. The program group according to claim 16, wherein the program sends a second request to a device connected to the second communication interface using the second protocol.
前記第2出力手段は、
前記第1作成手段により作成された前記第1ポートに前記第1リクエストとともに、第2プロトコルでのデバイス指定情報を出力することを特徴とする請求項17に記載のプログラム群。
The second output means is
18. The program group according to claim 17, wherein device designation information in a second protocol is outputted together with the first request to the first port created by the first creation means.
当該プログラム群は、前記コンピュータが読み取り可能なブラウザも含み、
前記コンピュータを、
前記第1公開手段により公開された前記第2ポートを、前記ブラウザに公開する第2公開手段として前記第2プログラムにより機能させ、
前記コンピュータを、
前記第2公開手段により公開された第2ポートに前記第2リクエストを出力する第3出力手段として前記ブラウザにより機能させ、
前記送信手段は、
前記第3出力手段により出力された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2リクエストを前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信し、
前記第1出力手段は、
前記受信手段により受信した返信を、前記第2ポートへの前記第2リクエストのリクエスト元である前記ブラウザに、前記第1プロトコルによって出力することを特徴とする請求項16乃至18の何れか1項に記載のプログラム群。
The program group also includes the computer-readable browser,
The computer,
causing the second port published by the first publishing unit to function as a second publishing unit for publishing to the browser, by the second program;
The computer,
causing the browser to function as a third output means for outputting the second request to a second port published by the second publishing means;
The transmitting means includes:
When receiving the second request to the second port output by the third output means, transmitting the second request to a device connected to the second communication interface using a second protocol;
The first output means is
19. Any one of claims 16 to 18, wherein the reply received by the receiving means is output to the browser, which is the source of the second request to the second port, using the first protocol. A group of programs described in .
前記コンピュータを、
前記第1公開手段により公開された前記第2ポートに前記第2リクエストを出力する第3出力手段として前記第2プログラムにより機能させ、
前記送信手段は、
前記第3出力手段により出力された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2リクエストを前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信し、
前記第1出力手段は、
前記受信手段により受信した返信を、前記第2ポートへの前記第2リクエストのリクエスト元である前記第2プログラムに、前記第1プロトコルによって出力することを特徴とする請求項16乃至18の何れか1項に記載のプログラム群。
The computer,
Caused by the second program to function as a third output means for outputting the second request to the second port published by the first publication means,
The transmitting means includes:
When receiving the second request to the second port output by the third output means, transmitting the second request to a device connected to the second communication interface using a second protocol;
The first output means is
19. Any one of claims 16 to 18, characterized in that the reply received by the receiving means is output to the second program, which is the source of the second request to the second port, according to the first protocol. The program group described in Section 1.
当該プログラム群は、前記コンピュータが読み取り可能な第3プログラムも含み、
前記第2プログラムと前記第3プログラムとの各々は、モジュールプログラムを含み、
前記モジュールプログラムは、前記コンピュータを前記第2出力手段として機能させ、
前記第2出力手段は、
前記第1プログラムが前記コンピュータを前記第1作成手段として機能させることで作成された第1ポートに前記第1リクエストを出力することを特徴とする請求項16乃至20の何れか1項に記載のプログラム群。
The program group also includes a third program readable by the computer,
Each of the second program and the third program includes a module program,
The module program causes the computer to function as the second output means,
The second output means is
21. The computer according to claim 16, wherein the first program outputs the first request to a first port created by causing the computer to function as the first creating means. Program group.
第1通信インタフェースと第2通信インタフェースとコンピュータとを備える情報処理装置であって、
前記コンピュータに、第1プログラムと第2プログラムとがインストールされており、
前記コンピュータを、
第1リクエストを受け付けるための第1ポートを作成する第1作成手段と、
第2リクエストを受け付けるための第2ポートを作成する第2作成手段として前記第1プログラムにより機能させ、前記第2リクエストは前記第1リクエストとは異なるリクエストであり、前記第1リクエストおよび前記第2リクエストは第1プロトコルによるリクエストであり、前記第1プロトコルは前記第1通信インタフェースで用いられるプロトコルであり、前記第1ポートおよび前記第2ポートは、前記コンピュータにインストールされたプログラムであって前記第1プログラムとは異なるプログラムから、前記第1プロトコルによって、前記第1通信インタフェースを介さずリクエストを受け付けるためのポートであり、
前記コンピュータを、
前記第1作成手段により作成された第1ポートに前記第1リクエストを出力する第2出力手段として前記第2プログラムにより機能させ、
前記コンピュータを、
前記第2出力手段により出力された前記第1ポートへの前記第1リクエストを受け付けた場合に、前記第2プログラムに、前記第2ポートを公開する第1公開手段と、
前記第1公開手段により公開された前記第2ポートへの前記第2リクエストを受け付けた場合に、当該第2リクエストを前記第2通信インタフェースに接続されたデバイスに、第2プロトコルによって送信する送信手段と、
前記送信手段により送信された前記第2リクエストに対する返信を前記デバイスから前記第2通信インタフェースを介して受信する受信手段として機能させ、前記第2プロトコルは前記第2通信インタフェースで用いられるプロトコルであり、
前記受信手段により受信した返信を、前記第2ポートへの前記第2リクエストのリクエスト元のプログラムに、前記第1プロトコルで出力する第1出力手段と、
して前記プログラムにより機能させることを特徴とするプログラム群。
An information processing device comprising a first communication interface, a second communication interface, and a computer,
A first program and a second program are installed on the computer,
The computer,
a first creation means for creating a first port for accepting a first request;
The first program functions as a second creation means for creating a second port for receiving a second request, and the second request is a request different from the first request, and the first request and the second The request is a request based on a first protocol, the first protocol is a protocol used in the first communication interface, and the first port and the second port are programs installed in the computer, and the first protocol is a protocol used in the first communication interface. a port for accepting a request from a program different from the first program by the first protocol without going through the first communication interface;
The computer,
Functioned by the second program as a second output means for outputting the first request to the first port created by the first creation means,
The computer,
a first publishing unit that publishes the second port to the second program when receiving the first request to the first port output by the second output unit;
Transmitting means for transmitting the second request to the device connected to the second communication interface using a second protocol when the second request to the second port published by the first publishing means is received; and,
functioning as receiving means for receiving a reply to the second request transmitted by the transmitting means from the device via the second communication interface, and the second protocol is a protocol used in the second communication interface;
a first output means for outputting the reply received by the receiving means to a request source program of the second request to the second port using the first protocol;
A group of programs characterized in that the program is made to function by the program.
JP2019226158A 2019-12-16 2019-12-16 Programs, program groups, and information processing devices Active JP7427951B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019226158A JP7427951B2 (en) 2019-12-16 2019-12-16 Programs, program groups, and information processing devices
PCT/JP2020/045636 WO2021124980A1 (en) 2019-12-16 2020-12-08 Program, program group, and information processing device
CN202080085593.XA CN114902200A (en) 2019-12-16 2020-12-08 Program, program group, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019226158A JP7427951B2 (en) 2019-12-16 2019-12-16 Programs, program groups, and information processing devices

Publications (2)

Publication Number Publication Date
JP2021096556A JP2021096556A (en) 2021-06-24
JP7427951B2 true JP7427951B2 (en) 2024-02-06

Family

ID=76431411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019226158A Active JP7427951B2 (en) 2019-12-16 2019-12-16 Programs, program groups, and information processing devices

Country Status (3)

Country Link
JP (1) JP7427951B2 (en)
CN (1) CN114902200A (en)
WO (1) WO2021124980A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196559A (en) 2004-01-08 2005-07-21 Ricoh Co Ltd Web server built-in business apparatus
JP2007207141A (en) 2006-02-06 2007-08-16 Seiko Epson Corp Computer device driver implementation method, and computer
JP2008191883A (en) 2007-02-05 2008-08-21 Ricoh Co Ltd Print system, print program and storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4019848B2 (en) * 2002-08-05 2007-12-12 ソニー株式会社 Address translation device
JP2009059152A (en) * 2007-08-31 2009-03-19 Konica Minolta Business Technologies Inc Data processing system, data processing apparatus, data processing method, and data processing program
JP5507295B2 (en) * 2009-06-05 2014-05-28 株式会社ミツトヨ Signal processing apparatus and signal conversion transmission system
KR102031957B1 (en) * 2011-12-12 2019-11-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. Image forming apparatus supporting Wi-Fi Direct and method of activating Wi-Fi Direct thereof
JP6167502B2 (en) * 2012-10-31 2017-07-26 ブラザー工業株式会社 Communication relay program, communication relay apparatus, and image processing apparatus
CN103973812B (en) * 2014-05-23 2018-05-25 上海斐讯数据通信技术有限公司 Service interface providing method and system based on uniform resource locator in http protocol
US20170005938A1 (en) * 2015-06-30 2017-01-05 Konica Minolta Laboratory U.S.A., Inc. System and method of tcp/ip bypass over universal serial bus (usb)
JP2017121761A (en) * 2016-01-08 2017-07-13 ブラザー工業株式会社 Printer and computer program
JP6988421B2 (en) * 2017-12-11 2022-01-05 ブラザー工業株式会社 Control program
JP6750706B2 (en) * 2019-05-22 2020-09-02 ブラザー工業株式会社 Relay device, image processing device, and communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196559A (en) 2004-01-08 2005-07-21 Ricoh Co Ltd Web server built-in business apparatus
JP2007207141A (en) 2006-02-06 2007-08-16 Seiko Epson Corp Computer device driver implementation method, and computer
JP2008191883A (en) 2007-02-05 2008-08-21 Ricoh Co Ltd Print system, print program and storage medium

Also Published As

Publication number Publication date
CN114902200A (en) 2022-08-12
JP2021096556A (en) 2021-06-24
WO2021124980A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US10122870B2 (en) Information processing system, information processing apparatus, and information processing method
US8228521B2 (en) Data processing apparatus, printing system, job execution system, and job execution method
US20140139877A1 (en) Non-Transitory Computer-Readable Medium, Communication Relaying Method, Information Processing Apparatus, and Image Processing Apparatus
JP2005242994A (en) Device, method and program for providing service, device, method and program for processing information, and recording medium
US20170277497A1 (en) Image processing apparatus, control method, and storage medium
JP2009205529A (en) Driver installation method and driver installation program
JP2012008860A (en) Image forming apparatus, print control method, and program
JP4844105B2 (en) Menu data generation in the control device to which the local device is connected
US20180302529A1 (en) Image forming apparatus, method of controlling the same, and storage medium
JP7338461B2 (en) Program, program group, and information processing device
JP7427951B2 (en) Programs, program groups, and information processing devices
JP7413750B2 (en) Programs, program groups, and information processing devices
US9367267B2 (en) Relaying device, image processing device, and system comprising image processing device and relaying device and image data conversion process
US7653658B2 (en) Data file storage/management apparatus and electronic mail processing program thereof
JP6714805B2 (en) Information processing system and information processing method
US10127200B2 (en) Information processing apparatus, information processing method and information processing system for converting display elements of a web page for use with functions of an information processing apparatus
US10382638B2 (en) Electronic device, service execution system, and log acquisition method
JP2018037018A (en) Information processing device and program
JP5974726B2 (en) Preview screen display control apparatus and program
US8755077B2 (en) Device information providing system for providing information through a web page included in each of a main electronic device and a sub-electronic device
JP7115071B2 (en) Printer driver and information processing device
JP5978780B2 (en) Information processing apparatus and control program therefor, control program for portable terminal, and printing system
US20240056540A1 (en) Information processing system and non-transitory computer readable medium storing information processing program
JP6888350B2 (en) Image forming device, image forming method, information processing system, and program
JP6335546B2 (en) Image processing apparatus, image processing apparatus control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240108

R150 Certificate of patent or registration of utility model

Ref document number: 7427951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150