JP2019050623A - Information processing device, control method of information processing device, and program - Google Patents

Information processing device, control method of information processing device, and program Download PDF

Info

Publication number
JP2019050623A
JP2019050623A JP2018222806A JP2018222806A JP2019050623A JP 2019050623 A JP2019050623 A JP 2019050623A JP 2018222806 A JP2018222806 A JP 2018222806A JP 2018222806 A JP2018222806 A JP 2018222806A JP 2019050623 A JP2019050623 A JP 2019050623A
Authority
JP
Japan
Prior art keywords
communication
connection
information processing
external device
processing apparatus
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.)
Granted
Application number
JP2018222806A
Other languages
Japanese (ja)
Other versions
JP6728314B2 (en
Inventor
実 藤沢
Minoru Fujisawa
実 藤沢
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018222806A priority Critical patent/JP6728314B2/en
Publication of JP2019050623A publication Critical patent/JP2019050623A/en
Application granted granted Critical
Publication of JP6728314B2 publication Critical patent/JP6728314B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To solve a problem in which if multi-connection communication is performed to a server that is not compatible with multi-connection communication, an information processing device terminates with an error.SOLUTION: An information processing device 101 that received a communication execution instruction determines whether or not a server 102 is compatible with multi-connection communication. Then, according to a result of the determination, the information processing device 101 determines whether or not to execute multi-connection communication or to execute communication using one connection.SELECTED DRAWING: Figure 4

Description

本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。   The present invention relates to an information processing apparatus, a control method of the information processing apparatus, and a program.

HTTP(HyperText Transfer Protocol)では、情報処理装置はサーバとの間で1つのコネクションを確立して、データ通信を実行する。このデータ通信をより効率的に実行するための技術として、情報処理装置とサーバとの間で複数のコネクションを確立して、データを分割して分割したデータを複数のコネクションを使用して通信する技術が知られている。なお、以降の説明では、分割データを複数のコネクションを使用して通信することをマルチコネクション通信と呼ぶ。   In HTTP (HyperText Transfer Protocol), the information processing apparatus establishes one connection with a server to execute data communication. As a technique for executing this data communication more efficiently, a plurality of connections are established between the information processing apparatus and the server, and data is divided and the divided data are communicated using the plurality of connections. Technology is known. In the following description, communicating divided data using a plurality of connections is referred to as multi-connection communication.

マルチコネクション通信を実行する場合、複数のコネクションを並列して通信に使用できるため、1つのコネクションを使用してデータを通信する場合に比べてより効率的に実行することができる。特許文献1には、情報処理装置が最大接続数をサーバに通知し、通知された最大接続数に従って、サーバが情報処理装置との間で通信を実行する技術が記載されている。   When multi-connection communication is performed, since multiple connections can be used in parallel for communication, it can be performed more efficiently than when data is communicated using one connection. Patent Document 1 describes a technique in which the information processing apparatus notifies the server of the maximum number of connections, and the server executes communication with the information processing apparatus according to the notified maximum number of connections.

特開2012−95098号公報JP 2012-95098 A

例えば分割データを情報処理装置が複数のコネクションを使用してサーバに送信する場合、情報処理装置はHTTPパケットのヘッダ部にContent−Range情報を含めて分割データをサーバに送信する。このHTTPパケットを受信したサーバは、ヘッダ部のContent−Range情報を参照することで、複数のコネクションを使用して受信した複数の分割データを元の1つのデータに結合することができる。   For example, when the information processing apparatus transmits divided data to the server using a plurality of connections, the information processing apparatus transmits the divided data to the server by including Content-Range information in the header portion of the HTTP packet. The server that has received this HTTP packet can combine multiple pieces of divided data received using multiple connections with the original single data by referring to the Content-Range information in the header section.

しかしながら、Content−Range情報等の特定のヘッダ情報はサポートが必須の情報ではないため、サーバによってはマルチコネクション通信をサポートしていないことになる。これに対して特許文献1の場合、サーバがマルチコネクション通信をサポートしていることを前提としている。従って、特許文献1の情報処理装置がマルチコネクション通信をサポートしていないサーバに対してマルチコネクション通信を実行すると、エラー終了することになり、情報処理装置がサーバと通信を実行できないことになってしまう。   However, since specific header information such as Content-Range information is not required to support, some servers may not support multi-connection communication. On the other hand, in the case of Patent Document 1, it is assumed that the server supports multi-connection communication. Therefore, when the information processing apparatus of Patent Document 1 executes multi-connection communication to a server that does not support multi-connection communication, an error ends, and the information processing apparatus can not execute communication with the server. I will.

そこで本発明では、サーバがマルチコネクション通信をサポートしていない場合に、マルチコネクション通信ではなく、1つのコネクションを使用した通信を実行する情報処理装置を提供することを目的とする。   Therefore, it is an object of the present invention to provide an information processing apparatus that executes communication using one connection instead of multi-connection communication when the server does not support multi-connection communication.

上述した課題を解決するために、本発明が提供する情報処理装置は、複数のコネクションを使用して通信するマルチコネクション通信を実行可能な情報処理装置であって、通信相手である外部装置が前記マルチコネクション通信をサポートしているか否かを判定する判定手段と、前記判定手段によって前記外部装置が前記マルチコネクション通信をサポートしていると判定された場合、前記外部装置との間で前記マルチコネクション通信を実行し、前記判定手段によって前記外部装置が前記マルチコネクション通信をサポートしていないと判定された場合、1つのコネクションを使用して前記実行指示が示す通信を実行する通信手段と、を備えることを特徴とする。   In order to solve the problems described above, an information processing apparatus provided by the present invention is an information processing apparatus capable of executing multi-connection communication for communicating using a plurality of connections, and an external apparatus that is a communication partner is Determining means for determining whether or not the multi-connection communication is supported, and when the determining means determines that the external device supports the multi-connection communication, the multi-connection with the external device is performed Communication means for executing communication and performing communication indicated by the execution instruction using one connection when the determination means determines that the external device does not support the multi-connection communication It is characterized by

また、本発明が提供する情報処理装置は、複数のコネクションを使用して通信するマルチコネクション通信を通信相手である外部装置との間で実行する通信手段と、前記マルチコネクション通信に対する応答を前記外部装置から受信する受信手段と、前記受信手段が受信した応答がエラーを示さない場合、前記マルチコネクション通信を継続するよう前記通信手段を制御し、前記受信手段が受信した応答がエラーを示す場合、通信方法を前記マルチコネクション通信から1つのコネクションを使用する通信に切り替えることで前記実行指示が示す通信を実行するよう前記通信手段を制御する制御手段と、を備えることを特徴とする。   Further, an information processing apparatus provided by the present invention includes communication means for executing multi-connection communication for communicating using a plurality of connections with an external apparatus as a communication counterpart, and a response to the multi-connection communication from the external. Receiving means received from a device, and when the response received by the receiving means does not indicate an error, the communication means is controlled to continue the multi-connection communication, and the response received by the receiving means indicates an error; And controlling means for controlling the communication means to execute the communication indicated by the execution instruction by switching the communication method from the multi-connection communication to the communication using one connection.

また、本発明が提供する情報処理装置は、複数のコネクションを使用して通信するマルチコネクション通信を実行可能な情報処理装置であって、パケットのヘッダ部に前記マルチコネクション通信に関連する特定のヘッダ情報を含めたパケットを、1つのコネクションを使用して外部装置に送信する送信手段と、前記送信手段が送信したパケットに対する応答パケットを前記外部装置から受信する受信手段と、前記受信手段が受信した前記応答パケットに基づいて、前記外部装置との間で前記マルチコネクション通信を実行するか、又は、パケットのヘッダ部に前記特定のヘッダ情報を含めずに1つのコネクションを使用して前記実行指示が示す通信を実行するかを決定する決定手段と、を備えることを特徴とする。   Further, an information processing apparatus provided by the present invention is an information processing apparatus capable of executing multi-connection communication for communicating using a plurality of connections, and a specific header related to the multi-connection communication in a header portion of a packet. Transmission means for transmitting a packet including information to an external device using one connection, reception means for receiving a response packet to the packet transmitted by the transmission means from the external device, and the reception means received Based on the response packet, the multi-connection communication is performed with the external device, or the execution instruction is performed using one connection without including the specific header information in the header portion of the packet. And D. determining means for determining whether to perform the communication shown.

本発明によれば、サーバがマルチコネクション通信をサポートしていない場合に、マルチコネクション通信ではなく、1つのコネクションを使用した通信を実行する。これにより、サーバがマルチコネクション通信をサポートしていない場合であっても、エラー終了するのではなく通信を実行できる。   According to the present invention, when the server does not support multi-connection communication, communication using one connection instead of multi-connection communication is performed. In this way, even if the server does not support multi-connection communication, communication can be performed without error termination.

システム全体を示す図である。It is a figure showing the whole system. 情報処理装置101の構成を示す図である。FIG. 2 is a diagram showing a configuration of an information processing apparatus 101. マルチコネクション通信を実行するか否かを設定するための画面を示す図である。It is a figure which shows the screen for setting whether multi-connection communication is performed. 実施形態1で実行される処理を示すフローチャートである。5 is a flowchart showing processing performed in the first embodiment. データ送信処理に関する画面を示す図である。It is a figure which shows the screen regarding data transmission processing. データを送信する際のマルチコネクション通信を示す図である。It is a figure which shows the multi-connection communication at the time of transmitting data. データを取得する際のマルチコネクション通信を示す図である。It is a figure which shows the multi-connection communication at the time of acquiring data. 実施形態2で実行される処理を示すフローチャートである。7 is a flowchart showing processing executed in the second embodiment. 実施形態2で実行されるマルチコネクション通信を説明する図である。FIG. 8 is a diagram for explaining multi-connection communication performed in the second embodiment. 情報処理装置101が記憶するテーブル1000を示す図である。It is a figure which shows the table 1000 which the information processing apparatus 101 memorize | stores.

以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。   Hereinafter, the best mode for carrying out the present invention will be described using the drawings. The following embodiments do not limit the invention according to the claims, and all combinations of the features described in the embodiments are not necessarily essential to the solution means of the invention.

(実施形態1)
図1を用いて本実施形態に係る情報処理システムの構成を説明する。情報処理システムは、情報処理装置101とサーバ102を備え、情報処理装置101とサーバ102はネットワーク103を介して互いに通信可能に接続されている。
(Embodiment 1)
The configuration of the information processing system according to the present embodiment will be described with reference to FIG. The information processing system includes an information processing apparatus 101 and a server 102, and the information processing apparatus 101 and the server 102 are communicably connected to each other via a network 103.

次に、図2を用いて情報処理装置101のハードウェア構成について説明する。情報処理装置101は、コピー機能、プリント機能、スキャン機能、送信機能等を備える印刷装置である。なお、本実施形態では、情報処理装置101として印刷装置を例にして説明するが、印刷装置に限らず、サーバ102と通信を実行できる装置(例えばPC、携帯電話、スマートフォン等)であればよい。   Next, the hardware configuration of the information processing apparatus 101 will be described using FIG. The information processing apparatus 101 is a printing apparatus provided with a copy function, a print function, a scan function, a transmission function, and the like. In the present embodiment, a printing apparatus is described as an example of the information processing apparatus 101. However, the apparatus is not limited to the printing apparatus, and any apparatus (for example, a PC, a mobile phone, a smartphone, etc.) capable of executing communication with the server 102 may be used. .

CPU201は、ROM202に記憶された制御プログラムを読み出して、情報処理装置101全体の動作を制御する。RAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD204は、フォントデータ、エミュレーションプログラム、フォームデータ等の各種データを記憶する。   The CPU 201 reads out the control program stored in the ROM 202 and controls the overall operation of the information processing apparatus 101. The RAM 203 is used as a main memory of the CPU 201 and a temporary storage area such as a work area. The HDD 204 stores various data such as font data, an emulation program, and form data.

なお、情報処理装置101の場合、1つのCPU201が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のCPUが協働して後述するフローチャートに示す各処理を実行するようにすることもできる。   In the case of the information processing apparatus 101, one CPU 201 executes each process shown in the flowchart to be described later, but other modes may be employed. For example, a plurality of CPUs may cooperate to execute each process shown in the flowchart to be described later.

プリンタ205は、印刷ジョブやスキャナ206が生成した画像データに基づいて印刷処理を実行する。スキャナ206は、原稿を読み取って画像データを生成する。操作部207にはタッチパネル機能を有する液晶表示部やキーボードなどが備えられている。ユーザは操作部207を介して情報処理装置101に対する操作、指示を入力することができる。ネットワークI/F208は、ネットワーク103を介してサーバ102等の外部装置との通信を実行する。   The printer 205 executes print processing based on the print job and the image data generated by the scanner 206. The scanner 206 reads an original and generates image data. The operation unit 207 is provided with a liquid crystal display unit having a touch panel function, a keyboard, and the like. The user can input an operation and an instruction to the information processing apparatus 101 via the operation unit 207. A network I / F 208 executes communication with an external device such as the server 102 via the network 103.

情報処理装置101は、あるデータをサーバ102に送信する場合に、サーバ102との間で複数のコネクション(HTTPコネクション)を確立して、この複数のコネクションを使用してデータを送信することができる。この際、送信対象のデータは所定のサイズに分割され、分割データが複数のコネクションを使用して並列してサーバ102に送信される。サーバ102は、受信した分割データを結合して、元のデータに戻すことができる。また、情報処理装置101は、あるデータをサーバ102から取得する場合にも、サーバ102との間で複数のコネクションを確立して、この複数のコネクションを使用してデータを取得することができる。   When transmitting certain data to the server 102, the information processing apparatus 101 can establish a plurality of connections (HTTP connection) with the server 102, and transmit data using the plurality of connections. . At this time, data to be transmitted is divided into predetermined sizes, and the divided data is transmitted in parallel to the server 102 using a plurality of connections. The server 102 can combine the received divided data and restore the original data. Further, even when acquiring certain data from the server 102, the information processing apparatus 101 can establish a plurality of connections with the server 102 and acquire data using the plurality of connections.

このように、分割データを複数のコネクションを使用して通信する通信方法のことを、以降の説明ではマルチコネクション通信と呼ぶこととする。情報処理装置101はマルチコネクション通信をサポートしていて、マルチコネクション通信を実行可能である。マルチコネクション通信を実行ことによって、複数のコネクションを並列して通信に使用できるため、1つのコネクションを使用してデータを通信する場合に比べて通信をより効率的に実行することができる。しかしながら、通信相手である外部装置(例えばサーバ102)が、必ずしもマルチコネクション通信をサポートしているとは限らない。そこで本実施形態の情報処理装置101は、外部装置がマルチコネクション通信をサポートしていないと判定されたことに応じて、通信方法を1つのコネクションを使用する通信に切り替えることを特徴とする。情報処理装置101が実行する処理は、後述のフローチャートで詳しく説明する。   A communication method in which divided data are communicated using a plurality of connections in this manner is hereinafter referred to as multi-connection communication. The information processing apparatus 101 supports multi-connection communication and can execute multi-connection communication. By executing multi-connection communication, a plurality of connections can be used in parallel for communication, so communication can be performed more efficiently than when data is communicated using one connection. However, the external device (for example, the server 102) that is the communication partner does not necessarily support multi-connection communication. Therefore, the information processing apparatus 101 according to the present embodiment is characterized in that the communication method is switched to communication using one connection in response to the determination that the external apparatus does not support multi-connection communication. The processing executed by the information processing apparatus 101 will be described in detail in the flowchart described later.

図3の画面300は、操作部207が表示する画面である。この画面300は、情報処理装置101がマルチコネクション通信を実行するか否かを、ユーザが設定するために使用する画面である。ボタン301をユーザが選択すると、「マルチコネクション通信を実行する」という設定がHDD204に記憶される。一方、ボタン302をユーザが選択すると、「マルチコネクション通信を実行しない」という設定がHDD204に記憶される。   The screen 300 in FIG. 3 is a screen displayed by the operation unit 207. The screen 300 is a screen used by the user to set whether the information processing apparatus 101 executes multi-connection communication. When the user selects the button 301, the setting “execute multi-connection communication” is stored in the HDD 204. On the other hand, when the button 302 is selected by the user, the setting “do not execute multi-connection communication” is stored in the HDD 204.

情報処理装置101がマルチコネクション通信を実行すると、CPU201の処理負荷が増加するため、CPU201の処理負荷を軽減することを優先する場合には、ユーザはボタン302を選択すればよい。一方、通信の高速化を優先する場合には、ユーザはボタン301を選択すればよい。   When the information processing apparatus 101 executes multi-connection communication, the processing load of the CPU 201 increases. Therefore, when priority is given to reducing the processing load of the CPU 201, the user may select the button 302. On the other hand, when priority is given to speeding up communication, the user may select the button 301.

以上の説明の通り、画面300によってユーザはマルチコネクション通信を実行するか否かを設定することができる。なお、本実施形態では画面300の設定はどのユーザでも行えるものとするが、情報処理装置にユーザ認証機能を導入することで特定のユーザ(例えば管理者権限を有するユーザ)のみが画面300の設定を行えるようにしてもよい。   As described above, the screen 300 allows the user to set whether or not to execute multi-connection communication. In the present embodiment, the setting of the screen 300 can be performed by any user. However, only a specific user (for example, a user having administrator authority) can set the screen 300 by introducing the user authentication function into the information processing apparatus. It may be possible to

次に、マルチコネクション通信を行う場合に情報処理装置101が実行する処理を、図4のフローチャートを用いて説明する。図4のフローチャートに示す各ステップは、CPU201がROM202等のメモリに格納されたプログラムをRAM203に展開して実行することによって処理される。また、マルチコネクション通信を実行するか否かの設定が、画面300を介してユーザに設定されていて、設定された内容がHDD204に記憶されている。   Next, processing performed by the information processing apparatus 101 when multi-connection communication is performed will be described using the flowchart in FIG. 4. Each step shown in the flowchart of FIG. 4 is processed by the CPU 201 loading a program stored in a memory such as the ROM 202 into the RAM 203 and executing the program. Further, the setting as to whether or not to execute the multi-connection communication is set by the user via the screen 300, and the set content is stored in the HDD 204.

まずステップS401において、CPU201は、データ通信の実行指示をユーザから受け付ける。図5の画面500は、スキャナ206が原稿を読み取って生成したスキャン画像(読取画像)を、サーバ102等の外部装置にアップロードする際に使用される画面であり、操作部207が表示する。例えばこの画面500のボタン501がユーザによって押下された場合に、ステップS401において、データ通信の実行指示をCPU201が受け付ける。   First, in step S401, the CPU 201 receives an execution instruction of data communication from the user. A screen 500 in FIG. 5 is a screen used when uploading a scanned image (read image) generated by the scanner 206 reading a document to an external device such as the server 102, and displayed by the operation unit 207. For example, when the button 501 of the screen 500 is pressed by the user, in step S401, the CPU 201 receives an execution instruction of data communication.

ステップS401でデータ通信の実行指示を受け付けると、ステップS402において、CPU201はマルチコネクション通信を実行するか否かを判定する。ステップS402の判定は、画面300を介して設定され、HDD204に記憶されている設定をCPU201が参照することで行われる。「マルチコネクション通信を実行する」という設定がHDD204に記憶されていれば、マルチコネクション通信を実行するとCPU201が判定し、ステップS403に進む。一方、「マルチコネクション通信を実行しない」という設定がHDD204に記憶されていれば、マルチコネクション通信を実行しないとCPU201が判定し、ステップS409に進む。   When an execution instruction of data communication is received in step S401, the CPU 201 determines in step S402 whether or not to execute multi-connection communication. The determination in step S402 is performed by the CPU 201 referring to settings that are set via the screen 300 and stored in the HDD 204. If the setting “execute multi-connection communication” is stored in the HDD 204, the CPU 201 determines that multi-connection communication is to be performed, and the process proceeds to step S403. On the other hand, if the setting “do not execute multi-connection communication” is stored in the HDD 204, the CPU 201 determines that the multi-connection communication is not to be performed, and the process proceeds to step S409.

次にステップS403において、ネットワークI/F208は、複数のHTTPコネクションをサーバ102との間で確立し、この複数のHTTPコネクションを使用してデータ通信を実行する。ステップS403で実行されるデータ通信を、図6を用いて詳しく説明する。   Next, in step S403, the network I / F 208 establishes a plurality of HTTP connections with the server 102, and executes data communication using the plurality of HTTP connections. The data communication performed in step S403 will be described in detail using FIG.

情報処理装置101は、マルチコネクション通信を実行する場合に5本のHTTPコネクションを確立することとする。なお、この5本という数は単なる例示であり、装置の性能に応じた他の数でもよいし、ユーザに設定された数でもよい。図5のボタン501がユーザによって押下されると、情報処理装置101は、スキャン画像をサーバ102にアップロードするために、スキャン画像を所定のサイズに分割して、分割データを5本のHTTPコネクションを使用してサーバ102に送信する。パケットのヘッダ部601には、Content−Range情報が含まれていて、1つの分割データがデータ全体の何バイト目であるかを示している。ヘッダ部601の場合、0バイト目から999バイト目の分割データを送信することを示している。分割データを受信したサーバ102は、Content−Range情報を参照することで、分割データを元の1つのデータに結合することができる。図6では記載を省略したが、S403で送信される分割データにはすべてContent−Range情報が指定される。   The information processing apparatus 101 establishes five HTTP connections when executing multi-connection communication. The number of five is merely an example, and may be another number according to the performance of the apparatus, or may be a number set by the user. When the user presses the button 501 in FIG. 5, the information processing apparatus 101 divides the scanned image into a predetermined size and uploads the divided data into five HTTP connections in order to upload the scanned image to the server 102. Use to send to the server 102. Content-Range information is included in the header section 601 of the packet, and indicates which byte of the entire data is one divided data. In the case of the header portion 601, transmission of divided data of the 0th byte to the 999th byte is shown. The server 102 having received the divided data can combine the divided data with one original data by referring to the Content-Range information. Although not described in FIG. 6, Content-Range information is specified for all divided data transmitted in S403.

次にステップS404において、CPU201は、ステップS403で実行した通信に対する応答パケットをサーバ102から受信したか否かを判定する。応答パケットを受信したとCPU201が判定すると、ステップS405に進み、応答パケットを受信していないとCPU201が判定すると、応答パケットを受信するまで待機する。   Next, in step S404, the CPU 201 determines whether a response packet to the communication performed in step S403 has been received from the server 102. If the CPU 201 determines that the response packet has been received, the process proceeds to step S405, and if the CPU 201 determines that the response packet has not been received, the process waits until the response packet is received.

サーバ102から応答パケットを受信すると、ステップS405において、CPU201は受信した応答パケットがエラー応答を示すパケットであるか否かを判定する。サーバ102がContent−Range情報をサポートしている場合、受信成功を示す応答パケットがサーバ102から返される。受信成功を示す応答パケットとは、HTTPの場合、ステータスコードに「200:OK」や「201:Created」を含むHTTPパケットのことである。このような受信成功を示す応答パケットをサーバ102から受信した場合、受信した応答パケットがエラー応答を示すパケットではないとCPU201が判定し、ステップS406に進む。   When receiving the response packet from the server 102, in step S405, the CPU 201 determines whether the received response packet is a packet indicating an error response. If the server 102 supports Content-Range information, a response packet indicating success in reception is returned from the server 102. The response packet indicating the reception success is an HTTP packet including “200: OK” and “201: Created” in the status code in the case of HTTP. When a response packet indicating such a successful reception is received from the server 102, the CPU 201 determines that the received response packet is not a packet indicating an error response, and the process proceeds to step S406.

ステップS406において、ネットワークI/F208は、確立済みの複数のHTTPコネクションを使用して、残りの分割データをサーバ102に送信する。言い換えれば、サーバ102がマルチコネクション通信をサポートしていることがわかっているため、情報処理装置101はマルチコネクション通信を継続する。なお、ステップS406で実行される通信は、ステップS403と同様にパケットのヘッダ部にContent−Range情報が含まれる。   In step S406, the network I / F 208 transmits the remaining divided data to the server 102 using a plurality of established HTTP connections. In other words, since it is known that the server 102 supports multi-connection communication, the information processing apparatus 101 continues multi-connection communication. In the communication executed in step S406, Content-Range information is included in the header portion of the packet as in step S403.

一方、ステップS405において受信した応答パケットがエラー応答を示すパケットであるとCPU201が判定すると、ステップS407に進む。ステップS407において、CPU201は、通信方法を切り替えるか否かを判定する。   On the other hand, when the CPU 201 determines that the response packet received in step S405 is an error response, the process proceeds to step S407. In step S407, the CPU 201 determines whether to switch the communication method.

サーバ102が特定のヘッダ情報(例えばContent−Range)をサポートしていない場合、情報処理装置101は、エラー応答をサーバ102から受信する。受信したエラー応答がステータスコードに「400:Bad Request」や「501:Not Implemented」を含む応答である場合、マルチコネクション通信を使わなければ情報処理装置101はサーバ102と通信を実行できる可能性が高い。そこでステップS407では、受信したエラー応答の種類に基づいて、通信方法を切り替えるか否かをCPU201が判定する。   If the server 102 does not support specific header information (for example, Content-Range), the information processing apparatus 101 receives an error response from the server 102. If the received error response is a response including “400: Bad Request” or “501: Not Implemented” in the status code, there is a possibility that the information processing apparatus 101 can execute communication with the server 102 unless multi-connection communication is used. high. Therefore, in step S407, the CPU 201 determines whether to switch the communication method based on the type of the received error response.

「400:Bad Request」や「501:Not Implemented」のような特定のエラー応答をサーバ102から受信した場合、ステップS407において通信方法を切り替えるとCPU201が判定して、ステップS409に進む。一方、ステータスコード「500:Internal Server Error」のようなエラー応答をサーバ102から返された場合は、通信方法を切り替えたとしても情報処理装置101はサーバ102と通信を実行できない。従って、「500:Internal Server Error」のような特定のエラー応答をサーバ102から受信した場合は、ステップS407において通信方法を切り替えないとCPU201が判定して、ステップS408に進む。   When a specific error response such as "400: Bad Request" or "501: Not Implemented" is received from the server 102, the CPU 201 determines that the communication method is switched in step S407, and the process proceeds to step S409. On the other hand, when an error response such as a status code “500: Internal Server Error” is returned from the server 102, the information processing apparatus 101 can not execute communication with the server 102 even if the communication method is switched. Therefore, when a specific error response such as "500: Internal Server Error" is received from the server 102, the CPU 201 determines in step S407 that the communication method is not switched, and the process proceeds to step S408.

ステップS408において、CPU201は、エラー終了する。ステップS408においてエラー終了する場合、エラー終了した旨を操作部207に表示してもよいし、所定の外部装置に通知してもよい。   In step S408, the CPU 201 ends the error. In the case of error end in step S408, the error end may be displayed on the operation unit 207 or may be notified to a predetermined external device.

次にステップS409について説明する。ステップS409において、ネットワークI/F208は、1つのHTTPコネクションを使用してサーバ102との間でデータ通信を実行する。このとき使用するHTTPコネクションは、S403で確立済みの複数のHTTPコネクションのいずれか1つを使用してもよいし、サーバ102との間で新たなHTTPコネクションを1つ確立してもよい。本実施形態では、ステップS409において1つのHTTPコネクションを使用してスキャン画像がサーバ102に送信される。マルチコネクション通信をサポートしていないサーバ102は、ステップS403で送信された分割データを破棄している可能性が高いため、ステップS409ではスキャン画像の先頭から送信される。また、ステップS409で実行される通信は、Content−Range情報等のマルチコネクション通信に関連する特定のヘッダ情報を含まない。   Next, step S409 will be described. In step S409, the network I / F 208 performs data communication with the server 102 using one HTTP connection. The HTTP connection used at this time may use any one of the plurality of HTTP connections already established in S403, or one new HTTP connection may be established with the server 102. In the present embodiment, a scanned image is transmitted to the server 102 using one HTTP connection in step S409. The server 102 that does not support multi-connection communication has a high possibility of discarding the divided data transmitted in step S403, and therefore, is transmitted from the top of the scan image in step S409. Also, the communication performed in step S409 does not include specific header information related to multi-connection communication such as Content-Range information.

なお、ステップS409の処理は、ステップS402においてマルチコネクション通信を実行しないとCPU201が判定した場合にも実行される。ステップS402においてマルチコネクション通信を実行しないと判定された場合は、複数のHTTPコネクションがサーバ102との間で確立していない。ネットワークI/F208はサーバ102との間でHTTPコネクションを1つ確立して、通信を実行する。   The process of step S409 is also performed when the CPU 201 determines that the multi-connection communication is not to be performed in step S402. If it is determined in step S402 that multi-connection communication is not to be performed, a plurality of HTTP connections have not been established with the server 102. The network I / F 208 establishes one HTTP connection with the server 102 to execute communication.

以上の説明の通り、情報処理装置101は、サーバがマルチコネクション通信をサポートしていないと判定したことに応じて、通信方法を1つのHTTPコネクションを使用する通信に切り替えることができる。これにより、サーバがマルチコネクション通信をサポートしていない場合であっても、エラー終了することなく、サーバとのデータ通信を実行することができる。   As described above, the information processing apparatus 101 can switch the communication method to communication using one HTTP connection in response to determining that the server does not support multi-connection communication. As a result, even when the server does not support multi-connection communication, data communication with the server can be performed without error termination.

なお、図4のフローチャートの説明では、マルチコネクション通信の一例として情報処理装置101がサーバ102にデータを送信するデータ送信処理を挙げたが、図4のフローチャートは送信処理に限定されるものではない。情報処理装置101がサーバ102からデータを取得するデータ取得処理にも、図4のフローチャートを適用することができる。   In the description of the flowchart in FIG. 4, the data transmission process in which the information processing apparatus 101 transmits data to the server 102 is described as an example of multi-connection communication, but the flowchart in FIG. 4 is not limited to the transmission process. . The flowchart of FIG. 4 can also be applied to data acquisition processing in which the information processing apparatus 101 acquires data from the server 102.

情報処理装置101がサーバ102からデータを取得する場合に実行される処理を、図4と図7を用いて説明する。図4のフローチャートについては、先に説明した送信処理と異なる処理を実行するステップを詳しく説明し、同様の処理を実行するステップの説明は省略する。また、データ取得処理として、サーバ102から情報処理装置101が印刷データを取得してプリンタ205が印刷を実行する処理を例にして説明する。   A process performed when the information processing apparatus 101 acquires data from the server 102 will be described with reference to FIGS. 4 and 7. The flowchart of FIG. 4 describes in detail the steps of performing a process different from the transmission process described above, and the description of the steps of executing the same process is omitted. Also, as data acquisition processing, processing will be described by way of example in which the information processing apparatus 101 acquires print data from the server 102 and the printer 205 executes printing.

ステップS403において、ネットワークI/F208は、複数のHTTPコネクションをサーバ102との間で確立し、この複数のHTTPコネクションを使用して印刷データを取得するためのHTTPのGET要求をサーバ102に送信する。このGET要求の送信を、図7に示す。サーバ102に送信されるパケットのヘッダ部701には、Range情報が含まれている。図7では記載を省略したが、S403で送信されるGET要求のパケットにはすべてRange情報を含んでいる。このRange情報は、取得する印刷データの範囲を指定するための情報であり、ヘッダ部701の場合、0バイト目から999バイト目の印刷データをサーバ102に要求していることになる。なお、Range情報もサポートが必須の情報ではないため、Content−Range情報と同様に、サーバによってはRange情報を使用したマルチコネクション通信をサポートしていない場合がある。   In step S403, the network I / F 208 establishes a plurality of HTTP connections with the server 102, and transmits, to the server 102, an HTTP GET request for acquiring print data using the plurality of HTTP connections. . The transmission of this GET request is shown in FIG. The header portion 701 of the packet transmitted to the server 102 includes Range information. Although not described in FIG. 7, all GET request packets transmitted in S403 include Range information. The Range information is information for specifying the range of print data to be acquired, and in the case of the header portion 701, print data of 0th byte to 999th byte is requested to the server 102. In addition, since the range information is not also the information for which support is essential, some servers may not support multi-connection communication using the range information, like the content-range information.

図6のGET要求を受信したサーバ102がRange情報をサポートしている場合、つまりマルチコネクション通信をサポートしている場合、サーバ102は、情報処理装置101にRange情報によって指定された範囲の印刷データを送信する。この応答を受信した情報処理装置101は、ステップS405において受信した応答はエラー応答ではないと判定し、ステップS406において残りの印刷データを取得する際にもマルチコネクション通信を実行する。印刷データ全体の受信が完了すると、受信した印刷データに基づいて、プリンタ205が印刷処理を実行する。   When the server 102 that has received the GET request in FIG. 6 supports the Range information, that is, supports multi-connection communication, the server 102 causes the information processing apparatus 101 to print data in the range specified by the Range information. Send The information processing apparatus 101 that has received this response determines that the response received in step S405 is not an error response, and executes multi-connection communication also when acquiring the remaining print data in step S406. When reception of the entire print data is completed, the printer 205 executes print processing based on the received print data.

一方、図6のGET要求を受信したサーバ102がRange情報をサポートしていない場合、つまりマルチコネクション通信をサポートしていない場合、サーバ102は、エラー応答を情報処理装置に返す。このときサーバ102が送信するエラー応答は、図4の説明と同様にステータスコードに「400:Bad Request」や「501:Not Implemented」を含むエラー応答である。この応答を受信した情報処理装置101は、ステップS407において通信方法を切り替えると判定し、ステップS409において1つのHTTPコネクションを使用して印刷データをサーバ102から取得する。ステップS409では、情報処理装置101がサーバ102に送信するGET要求にはRange情報が含まれない。印刷データの受信が完了すると、受信した印刷データに基づいて、プリンタ205が印刷処理を実行する。   On the other hand, when the server 102 that has received the GET request in FIG. 6 does not support the Range information, that is, does not support multi-connection communication, the server 102 returns an error response to the information processing apparatus. At this time, the error response transmitted by the server 102 is an error response including “400: Bad Request” or “501: Not Implemented” in the status code, as described in FIG. The information processing apparatus 101 having received this response determines to switch the communication method in step S407, and acquires print data from the server 102 using one HTTP connection in step S409. In step S409, the GET request that the information processing apparatus 101 transmits to the server 102 does not include the Range information. When reception of print data is completed, the printer 205 executes print processing based on the received print data.

以上の説明の通り、データ送信処理とデータ取得処理のどちらであったとしても、情報処理装置101は、マルチコネクション通信をサポートしていないサーバとの通信方法を1つのHTTPコネクションを使用する通信に切り替えることができる。   As described above, in either of the data transmission process and the data acquisition process, the information processing apparatus 101 communicates with a server that does not support multi-connection communication for communication using one HTTP connection. It can be switched.

(実施形態2)
実施形態1では、ステップS403において複数のHTTPコネクションを確立してマルチコネクション通信を実行し、そしてサーバ102から受信した応答に基づいて、サーバ102がマルチコネクション通信をサポートしているか否かを判定する構成を説明した。これに対して本実施形態では、実施形態1の変形例として、まずは1つのコネクションを使用した通信を実行し、その応答に基づいてサーバ102がマルチコネクション通信をサポートしているか否かを判定する構成を説明する。
Second Embodiment
In the first embodiment, a plurality of HTTP connections are established in step S403 to execute multi-connection communication, and based on the response received from the server 102, it is determined whether or not the server 102 supports multi-connection communication. The configuration has been described. On the other hand, in the present embodiment, as a modification of the first embodiment, first, communication using one connection is executed, and it is determined whether the server 102 supports multi-connection communication based on the response. The configuration will be described.

本実施形態においてマルチコネクション通信を行う場合に情報処理装置101が実行する処理を、図8のフローチャートを用いて説明する。図8のフローチャートに示す各ステップは、CPU201がROM202等のメモリに格納されたプログラムをRAM203に展開して実行することによって処理される。なお、図8の各ステップのうち、図4のフローチャートと同じ番号のステップは図4と同様の処理を実行するため、詳しい説明は省略する。   A process executed by the information processing apparatus 101 when performing multi-connection communication in the present embodiment will be described using the flowchart of FIG. Each step shown in the flowchart of FIG. 8 is processed by the CPU 201 loading a program stored in a memory such as the ROM 202 into the RAM 203 and executing the program. Note that among the steps in FIG. 8, the steps with the same numbers as in the flowchart in FIG. 4 execute the same processing as in FIG. 4, so detailed description will be omitted.

ステップS402においてマルチコネクション通信を実行するとCPU201が判定すると、ステップS801に進む。そしてステップS801において、ネットワークI/F208は、1つのHTTPコネクションをサーバとの間で確立して、この1つのHTTPコネクションを使用してデータ通信を実行する。ステップS801で実行されるデータ通信を、図9(a)を用いて詳しく説明する。   If the CPU 201 determines that multi-connection communication is to be performed in step S402, the process proceeds to step S801. Then, in step S801, the network I / F 208 establishes one HTTP connection with the server and executes data communication using this one HTTP connection. The data communication performed in step S801 will be described in detail with reference to FIG.

情報処理装置101は、図4のステップS403及び図7とは異なり、複数のHTTPコネクションではなく1つのHTTPコネクションをサーバ102との間で確立する。図9(a)は、情報処理装置101がデータ(例えばスキャン画像)をサーバ102に送信する処理を例に示している。情報処理装置101が送信する分割データのヘッダ部901には、マルチコネクション通信に関連する特定のヘッダ情報(図9の場合はContent−Range情報)が含まれていている。従って、サーバ102から受信する応答に基づいて、情報処理装置101はサーバ102がマルチコネクション通信をサポートしているか否かを判定することができる。   The information processing apparatus 101 establishes one HTTP connection instead of a plurality of HTTP connections with the server 102, unlike step S403 in FIG. 4 and FIG. FIG. 9A illustrates an example of processing in which the information processing apparatus 101 transmits data (for example, a scan image) to the server 102. The header portion 901 of the divided data transmitted by the information processing apparatus 101 includes specific header information (Content-Range information in the case of FIG. 9) related to multi-connection communication. Therefore, based on the response received from the server 102, the information processing apparatus 101 can determine whether the server 102 supports multi-connection communication.

ステップS801において特定のヘッダ情報(Content−Range情報)を含むデータを1つのHTTPコネクションを使用してサーバ102に送信すると、情報処理装置101はその通信に対する応答をサーバ102から受信する。そしてステップS405において、CPU201は、受信した応答パケットがエラー応答を示すパケットであるか否かを判定する。   When data including specific header information (Content-Range information) is transmitted to the server 102 using one HTTP connection in step S801, the information processing apparatus 101 receives a response to the communication from the server 102. Then, in step S405, the CPU 201 determines whether the received response packet is a packet indicating an error response.

受信した応答パケットがエラー応答を示すパケットではないとCPU201が判定すると、ステップS802に進み、ネットワークI/F208がマルチコネクション通信を実行する。ステップS802では、図9(b)に示すように、情報処理装置101はサーバ102との間で複数のHTTPコネクションを確立して、そしてこの複数のHTTPコネクションを使用してデータ通信を実行する。ヘッダ部911には、Content−Range情報が含まれる。   If the CPU 201 determines that the received response packet is not a packet indicating an error response, the process advances to step S802, and the network I / F 208 executes multi-connection communication. In step S802, as shown in FIG. 9B, the information processing apparatus 101 establishes a plurality of HTTP connections with the server 102, and executes data communication using the plurality of HTTP connections. The header portion 911 includes Content-Range information.

一方、受信した応答パケットがエラー応答を示すパケットであり、かつ、エラー内容が特定のエラー(「400:Bad Request」や「501:Not Implemented」)であれば、ステップS803に進む。ステップS803では、図4のステップS409と同様に、1つのHTTPを使用してサーバ102との間でデータ通信を実行する。このとき、サーバ102はマルチコネクション通信をサポートしていないため、ステップS801とは異なり、Content−Range情報等の特定のヘッダ情報を使用せずにデータ通信が実行される。   On the other hand, if the received response packet is a packet indicating an error response and the error content is a specific error ("400: Bad Request" or "501: Not Implemented"), the process proceeds to step S803. In step S803, data communication with the server 102 is performed using one HTTP, as in step S409 in FIG. At this time, since the server 102 does not support multi-connection communication, data communication is executed without using specific header information such as Content-Range information, unlike step S801.

本実施形態と実施形態1を比較すると、ステップS801において、複数のHTTPコネクションではなく1つのHTTPコネクションを使用する点が異なる。ステップS801において、複数のHTTPコネクションではなく1つのHTTPコネクションを使用することで、以下の効果が得られる。   When this embodiment and the first embodiment are compared, in step S801, one HTTP connection is used instead of a plurality of HTTP connections. By using one HTTP connection instead of a plurality of HTTP connections in step S801, the following effects can be obtained.

複数のHTTPコネクションを使用する通信は情報処理装置101とサーバ102の双方の処理負荷を増加させることになるため、出来る限りこの処理負荷を軽減することが望ましい。そこでサーバ102がマルチコネクション通信をサポートしているか否かを判定するまでは1つのHTTPコネクションを使用する通信を実行することで、情報処理装置101とサーバ102の双方の処理負荷を軽減することができる。   Since communication using a plurality of HTTP connections increases the processing load of both the information processing apparatus 101 and the server 102, it is desirable to reduce this processing load as much as possible. Therefore, processing load on both the information processing apparatus 101 and the server 102 can be reduced by executing communication using one HTTP connection until it is determined whether the server 102 supports multi-connection communication. it can.

(実施形態3)
図4及び図8のステップS407では、受信したエラー応答の種類に基づいて、1つのHTTPコネクションを使用する通信を実行するか、又は、エラー終了するかを切り替えているが、他の形態であってもよい。例えば、ステップS405においてエラー応答を受信したとCPU201が判定した場合に、エラー応答の種類に関わらず、通信方法をマルチコネクション通信から1つのHTTPコネクションを使用する通信に一律切り替えてもよい。
(Embodiment 3)
In step S 407 in FIG. 4 and FIG. 8, whether to execute communication using one HTTP connection or to end abnormally is switched based on the type of the received error response, but it is another form. May be For example, when the CPU 201 determines that an error response has been received in step S405, the communication method may be uniformly switched from multi-connection communication to communication using one HTTP connection regardless of the type of error response.

(実施形態4)
上述した各実施形態では、データ通信の実行指示をユーザから受け付けるたびにサーバがマルチコネクション通信をサポートしているか否かを判定しているが、他の形態であってもよい。例えば、初めて通信する際はサーバがマルチコネクション通信をサポートしているか否かを判定し、その判定結果とサーバを示す識別情報とを対応付けてHDD204等のメモリに記憶してもよい。そして2回目以降の通信を実行するときは、HDD204等のメモリに記憶している情報を参照して、マルチコネクション通信を実行するか否かを決定してもよい。
(Embodiment 4)
In each of the embodiments described above, it is determined whether or not the server supports multi-connection communication each time the execution instruction of data communication is received from the user, but other forms may be used. For example, when communicating for the first time, it may be determined whether the server supports multi-connection communication, and the determination result may be stored in a memory such as the HDD 204 in association with identification information indicating the server. When the second and subsequent communications are performed, it may be determined whether or not to execute the multi-connection communication with reference to the information stored in the memory such as the HDD 204 or the like.

図10のテーブル1000は、一度通信したサーバがマルチコネクション通信をサポートしているか否かを情報処理装置101が記憶するためのテーブルであり、HDD204に記憶される。図4や図8のステップS404でサーバから応答を受信した場合に、その応答がエラーを示す応答でなければ、情報処理装置101は通信相手のサーバがマルチコネクション通信をサポートしているとテーブル1000に記憶する。一方、受信したエラーを示す応答であれば、情報処理装置101は通信相手のサーバがマルチコネクション通信をサポートしていないとテーブル1000に記憶する。   A table 1000 in FIG. 10 is a table for storing whether or not the server once communicated supports multi-connection communication, and is stored in the HDD 204. If a response is received from the server in step S404 in FIG. 4 or 8 and the response does not indicate an error, the information processing apparatus 101 determines that the server of the communication partner supports multi-connection communication. Remember to On the other hand, if the response indicates the received error, the information processing apparatus 101 stores in the table 1000 that the server of the communication partner does not support multi-connection communication.

項目1001は、サーバを示す識別情報を記憶する。項目1002と項目1003は、データ送信処理とデータ取得処理のそれぞれについて、サーバがマルチコネクション通信をサポートしているか否かを記憶する。データ送信処理とデータ取得処理を分けて記憶しているのは、夫々で使用するヘッダ情報が異なるためであり、サーバによってはどちらか一方しかサポートしていない可能性があるためである。   An item 1001 stores identification information indicating a server. An item 1002 and an item 1003 store whether or not the server supports multi-connection communication for each of the data transmission process and the data acquisition process. The data transmission process and the data acquisition process are stored separately because the header information used in each is different, and depending on the server, only one of them may be supported.

例えば図4や図8のステップS402でマルチコネクション通信を実行すると判定された場合に、テーブル1000を参照して、通信相手であるサーバがマルチコネクション通信をサポートしているか否かを判定する。通信相手であるサーバを示す情報がテーブル1000に記憶されていれば、記憶されている判定結果に従って、マルチコネクション通信を実行するか、あるいはマルチコネクション通信を実行しないかを決定すればよい。これにより、マルチコネクション通信をサポートしてないサーバと2回目以降の通信を実行する場合に、無駄な通信を実行すること(マルチコネクション通信をサポートしてないサーバに対する図4のステップS403や図8のステップS801の実行)を防止できる。   For example, when it is determined in step S402 in FIG. 4 or FIG. 8 that multi-connection communication is to be performed, the table 1000 is referenced to determine whether the server that is the other end of the communication supports multi-connection communication. If the information indicating the server that is the communication counterpart is stored in the table 1000, it may be determined whether to execute multi-connection communication or not to execute multi-connection communication according to the stored determination result. Thus, when executing the second and subsequent communications with a server that does not support multi-connection communication, execute unnecessary communication (step S403 in FIG. 4 or FIG. 8 for a server that does not support multi-connection communication). Execution of step S801 can be prevented.

一方、サーバを示す情報がテーブル1000に記憶されていない場合(例えば初めて通信する場合)は、図4のステップS403や図8のステップS801の処理を実行して、サーバがマルチコネクション通信をサポートしているか否かを判定すればよい。そしてその判定結果をテーブル1000に記憶して、次回以降の通信を実行する際に記憶した情報を参照すればよい。   On the other hand, when the information indicating the server is not stored in the table 1000 (for example, when communicating for the first time), the process of step S403 in FIG. 4 and step S801 in FIG. It may be determined whether or not it is. Then, the determination result may be stored in the table 1000, and the information stored when performing the communication after the next time may be referred to.

(その他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention is also realized by performing the following processing. That is, software (program) for realizing the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU or the like) of the system or apparatus reads the program. It is a process to execute.

101 情報処理装置
102 サーバ
201 CPU
202 ROM
203 RAM
204 HDD
208 ネットワークI/F
101 information processing apparatus 102 server 201 CPU
202 ROM
203 RAM
204 HDD
208 Network I / F

Claims (21)

複数のコネクションを使用して通信するマルチコネクション通信を実行可能な情報処理装置であって、
通信相手である外部装置が前記マルチコネクション通信をサポートしているか否かを判定する判定手段と、
前記判定手段によって前記外部装置が前記マルチコネクション通信をサポートしていると判定された場合、前記外部装置との間で前記マルチコネクション通信を実行し、前記判定手段によって前記外部装置が前記マルチコネクション通信をサポートしていないと判定された場合、前記外部装置との間で1つのコネクションを使用した通信を実行する通信手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus capable of executing multi-connection communication in which communication is performed using a plurality of connections.
A determination unit that determines whether an external device that is a communication partner supports the multi-connection communication;
When the determination means determines that the external device supports the multiconnection communication, the multiconnection communication is performed with the external device, and the determination means causes the external device to perform the multiconnection communication. Communication means for performing communication using one connection with the external device if it is determined that the device does not support
An information processing apparatus comprising:
前記通信手段は、通信相手である外部装置が前記マルチコネクション通信をサポートしているか否かを判定するための通信を実行し、
前記判定手段は、前記通信に対する前記外部装置の応答に基づいて、前記外部装置が前記マルチコネクション通信をサポートしているか否かを判定することを特徴とする請求項1に記載の情報処理装置。
The communication means executes communication for determining whether the external device which is the communication partner supports the multi-connection communication.
The information processing apparatus according to claim 1, wherein the determination unit determines whether the external device supports the multi-connection communication based on a response of the external device to the communication.
前記外部装置の前記応答がエラーを示す場合、前記判定手段は、前記外部装置が前記マルチコネクション通信をサポートしていないと判定することを特徴とする請求項2に記載の情報処理装置。   3. The information processing apparatus according to claim 2, wherein when the response of the external device indicates an error, the determination unit determines that the external device does not support the multi-connection communication. 前記判定手段によって前記外部装置が前記マルチコネクション通信をサポートしていないと判定された場合、前記通信手段は、1つのコネクションを使用して前記外部装置との通信を実行するか、又は、エラー終了するかを決定するかをエラーの種類に基づいて決定することを特徴とする請求項3に記載の情報処理装置。   When the determination means determines that the external device does not support the multi-connection communication, the communication means executes communication with the external device using one connection, or an error ends. The information processing apparatus according to claim 3, wherein whether to decide or not is decided based on the type of error. 通信の実行指示を受け付ける受付手段を更に備え、
前記判定手段は、前記受付手段が前記実行指示を受け付けたことに従って、前記外部装置が前記マルチコネクション通信をサポートしているか否かを判定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
And a receiving unit for receiving an instruction to execute communication.
5. The apparatus according to any one of claims 1 to 4, wherein the determination unit determines whether the external device supports the multi-connection communication according to the reception unit receiving the execution instruction. The information processing apparatus according to any one of the above.
複数のコネクションを使用して通信するマルチコネクション通信を通信相手である外部装置との間で実行する通信手段と、
前記マルチコネクション通信に対する応答を前記外部装置から受信する受信手段と、
前記受信手段が受信した応答がエラーを示さない場合、前記マルチコネクション通信を継続するよう前記通信手段を制御し、前記受信手段が受信した応答がエラーを示す場合、通信方法を前記マルチコネクション通信から1つのコネクションを使用する通信に切り替えるよう前記通信手段を制御する制御手段と、
を備えることを特徴とする情報処理装置。
Communication means for executing multi-connection communication, which communicates using a plurality of connections, with an external device as a communication counterpart;
Receiving means for receiving a response to the multi-connection communication from the external device;
If the response received by the receiving means does not indicate an error, the communication means is controlled to continue the multi-connection communication, and if the response received by the receiving means indicates an error, the communication method is selected from the multi-connection communication Control means for controlling the communication means to switch to communication using one connection;
An information processing apparatus comprising:
前記受信手段が受信した応答がエラーを示す場合、前記制御手段は、1つのコネクションを使用して前記外部装置との通信を実行するか、又は、エラー終了するかを決定するかをエラーの種類に基づいて決定することを特徴とする請求項6に記載の情報処理装置。   If the response received by the receiving means indicates an error, the control means determines whether to execute communication with the external device using one connection or to determine whether to end in error. The information processing apparatus according to claim 6, wherein the information processing apparatus is determined based on 通信の実行指示を受け付ける受付手段を更に備え、
前記通信手段は、前記受付手段が前記実行指示を受け付けたことに従って、前記外部装置との間で前記マルチコネクション通信を実行することを特徴とする請求項5乃至7のいずれか1項に記載の情報処理装置。
And a receiving unit for receiving an instruction to execute communication.
8. The communication method according to any one of claims 5 to 7, wherein the communication means executes the multi-connection communication with the external device in accordance with the reception means receiving the execution instruction. Information processing device.
前記通信手段が前記マルチコネクション通信を実行する場合、パケットのヘッダ部には特定のヘッダ情報が含まれ、
前記通信手段が1つのコネクションを使用して通信を実行する場合、パケットのヘッダ部には前記特定のヘッダ情報が含まれないことを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
When the communication means executes the multi-connection communication, the header portion of the packet includes specific header information,
The packet communication method according to any one of claims 1 to 8, wherein, when the communication means performs communication using one connection, the header part of the packet does not include the specific header information. Information processing device.
複数のコネクションを使用して通信するマルチコネクション通信を実行可能な情報処理装置であって、
パケットのヘッダ部に前記マルチコネクション通信に関連する特定のヘッダ情報を含めたパケットを、1つのコネクションを使用して外部装置に送信する送信手段と、
前記送信手段が送信したパケットに対する応答パケットを前記外部装置から受信する受信手段と、
前記受信手段が受信した前記応答パケットに基づいて、前記外部装置との間で前記マルチコネクション通信を実行するか、又は、パケットのヘッダ部に前記特定のヘッダ情報を含めずに1つのコネクションを使用して前記外部装置との通信を実行するかを決定する決定手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus capable of executing multi-connection communication in which communication is performed using a plurality of connections.
Transmitting means for transmitting a packet including specific header information related to the multi-connection communication in a header portion of the packet to an external device using one connection;
Receiving means for receiving from the external device a response packet to the packet transmitted by the transmitting means;
Based on the response packet received by the receiving means, execute the multi-connection communication with the external device, or use one connection without including the specific header information in the header portion of the packet Determining means for determining whether to execute communication with the external device;
An information processing apparatus comprising:
通信の実行指示を受け付ける受付手段を更に備え、
前記送信手段は、前記受付手段が前記実行指示を受け付けたことに従って、前記特定のヘッダ情報を含めたパケットを、1つのコネクションを使用して外部装置に送信することを特徴とする請求項10記載の情報処理装置。
And a receiving unit for receiving an instruction to execute communication.
11. The apparatus according to claim 10, wherein the transmitting means transmits the packet including the specific header information to the external device using one connection according to the reception means receiving the execution instruction. Information processing equipment.
前記応答パケットがエラーを示すパケットではない場合、前記決定手段は、前記マルチコネクション通信を実行すると決定し、前記応答パケットがエラーを示すパケットである場合、前記決定手段は、パケットのヘッダ部に前記特定のヘッダ情報を含めずに1つのコネクションを使用して前記外部装置との通信を実行すると決定することを特徴とする請求項10又は11に記載の情報処理装置。   If the response packet is not a packet indicating an error, the determination means determines to execute the multi-connection communication, and if the response packet is a packet indicating an error, the determination means includes the header portion of the packet. 12. The information processing apparatus according to claim 10, wherein it is determined that communication with the external apparatus is performed using one connection without including specific header information. 前記応答パケットがエラーを示すパケットである場合、前記決定手段は、パケットのヘッダ部に前記特定のヘッダ情報を含めずに1つのコネクションを使用して前記外部装置との通信を実行するか、又は、エラー終了するかを決定するかをエラーの種類に基づいて決定することを特徴とする請求項12に記載の情報処理装置。   When the response packet is a packet indicating an error, the determination unit performs communication with the external device using one connection without including the specific header information in the header portion of the packet, or The information processing apparatus according to claim 12, wherein it is determined based on the type of error whether to determine whether to end in error. 前記特定のヘッダ情報は、HTTPのContent−Rangeであることを特徴とする請求項9乃至13のいずれか1項に記載の情報処理装置。   The information processing apparatus according to any one of claims 9 to 13, wherein the specific header information is an HTTP Content-Range. 前記特定のヘッダ情報は、HTTPのRangeであることを特徴とする請求項9乃至13のいずれか1項に記載の情報処理装置。   The information processing apparatus according to any one of claims 9 to 13, wherein the specific header information is an HTTP range. 原稿を読み取り画像データを生成する読取手段を更に備え、
前記マルチコネクション通信は、前記画像データを分割し、分割された前記画像データを複数のコネクションを使用して前記外部装置に送信する処理であることを特徴とする請求項1乃至15のいずれか1項に記載の情報処理装置。
The image reading apparatus further comprises reading means for reading an original and generating image data;
16. The multi-connection communication is a process of dividing the image data and transmitting the divided image data to the external device using a plurality of connections. The information processing apparatus according to any one of the above.
印刷手段を更に備え、
前記マルチコネクション通信は、分割された印刷データを複数のコネクションを使用して前記外部装置から取得する処理であり、
前記印刷手段は、前記外部装置から取得した印刷データに基づいて印刷を実行することを特徴とする請求項1乃至16のいずれか1項に記載の情報処理装置。
Further comprising printing means,
The multi-connection communication is a process of acquiring divided print data from the external device using a plurality of connections,
The information processing apparatus according to any one of claims 1 to 16, wherein the printing unit executes printing based on print data acquired from the external device.
複数のコネクションを使用して通信するマルチコネクション通信を実行可能な情報処理装置の制御方法であって、
通信相手である外部装置が前記マルチコネクション通信をサポートしているか否かを判定する判定ステップと、
前記判定ステップで前記外部装置が前記マルチコネクション通信をサポートしていると判定された場合、前記外部装置との間で前記マルチコネクション通信を実行し、前記判定ステップで前記外部装置が前記マルチコネクション通信をサポートしていないと判定された場合、前記外部装置との間で1つのコネクションを使用した通信を実行する通信ステップと、
を有することを特徴とする情報処理装置の制御方法。
A control method of an information processing apparatus capable of executing multi-connection communication in which communication is performed using a plurality of connections.
A determination step of determining whether the external device which is the communication counterpart supports the multi-connection communication;
If it is determined in the determination step that the external device supports the multi-connection communication, the multi-connection communication is executed with the external device, and the external device performs the multi-connection communication in the determination step. A communication step of executing communication using one connection with the external device if it is determined that the device does not support
And controlling the information processing apparatus.
情報処理装置の制御方法であって、
複数のコネクションを使用して通信するマルチコネクション通信を通信相手である外部装置との間で実行する通信ステップと、
前記マルチコネクション通信に対する応答を前記外部装置から受信する受信ステップと、
前記受信ステップで受信した応答がエラーを示さない場合、前記マルチコネクション通信を継続し、前記受信ステップで受信した応答がエラーを示す場合、通信方法を前記マルチコネクション通信から1つのコネクションを使用する通信に切り替えるよう制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
A control method of the information processing apparatus,
A communication step of executing multi-connection communication in which communication is performed using a plurality of connections with an external device as a communication partner;
Receiving a response to the multi-connection communication from the external device;
If the response received in the receiving step does not indicate an error, the multi-connection communication is continued, and if the response received in the receiving step indicates an error, the communication method uses one connection from the multi-connection communication. Control step to control switching to
And controlling the information processing apparatus.
複数のコネクションを使用して通信するマルチコネクション通信を実行可能な情報処理装置の制御方法であって、
パケットのヘッダ部に前記マルチコネクション通信に関連する特定のヘッダ情報を含めたパケットを、1つのコネクションを使用して外部装置に送信する送信ステップと、
前記送信ステップで送信したパケットに対する応答パケットを前記外部装置から受信する受信ステップと、
前記受信ステップで受信した前記応答パケットに基づいて、前記外部装置との間で前記マルチコネクション通信を実行するか、又は、パケットのヘッダ部に前記特定のヘッダ情報を含めずに1つのコネクションを使用して前記外部装置との通信を実行するかを決定する決定ステップと、
を有することを特徴とする情報処理装置の制御方法。
A control method of an information processing apparatus capable of executing multi-connection communication in which communication is performed using a plurality of connections.
A transmitting step of transmitting a packet including specific header information related to the multi-connection communication in a header portion of the packet to an external device using one connection;
A receiving step of receiving a response packet to the packet transmitted in the transmitting step from the external device;
Execute the multi-connection communication with the external device based on the response packet received in the receiving step, or use one connection without including the specific header information in the header portion of the packet And determining whether to communicate with the external device;
And controlling the information processing apparatus.
コンピュータを、請求項1乃至17のいずれか1項に記載の情報処理装置として動作させるためのプログラム。   A program for operating a computer as the information processing device according to any one of claims 1 to 17.
JP2018222806A 2018-11-28 2018-11-28 Information processing apparatus, control method of information processing apparatus, and program Expired - Fee Related JP6728314B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018222806A JP6728314B2 (en) 2018-11-28 2018-11-28 Information processing apparatus, control method of information processing apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018222806A JP6728314B2 (en) 2018-11-28 2018-11-28 Information processing apparatus, control method of information processing apparatus, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014206739A Division JP6444125B2 (en) 2014-10-07 2014-10-07 Information processing apparatus, information processing apparatus control method, and program

Publications (2)

Publication Number Publication Date
JP2019050623A true JP2019050623A (en) 2019-03-28
JP6728314B2 JP6728314B2 (en) 2020-07-22

Family

ID=65905946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018222806A Expired - Fee Related JP6728314B2 (en) 2018-11-28 2018-11-28 Information processing apparatus, control method of information processing apparatus, and program

Country Status (1)

Country Link
JP (1) JP6728314B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318694A (en) * 2006-05-29 2007-12-06 Canon Inc Image processing apparatus, image processing method
JP2010504688A (en) * 2006-09-20 2010-02-12 イスト・インターナショナル・インコーポレイテッド Method and module for implementing network protocol stack handoff and optimization
JP2012095098A (en) * 2010-10-27 2012-05-17 Sony Corp Data communication method and information processor
JP2012155619A (en) * 2011-01-27 2012-08-16 Canon Inc Network job communication system
JP2013071406A (en) * 2011-09-29 2013-04-22 Brother Industries Ltd Printer and print system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318694A (en) * 2006-05-29 2007-12-06 Canon Inc Image processing apparatus, image processing method
JP2010504688A (en) * 2006-09-20 2010-02-12 イスト・インターナショナル・インコーポレイテッド Method and module for implementing network protocol stack handoff and optimization
JP2012095098A (en) * 2010-10-27 2012-05-17 Sony Corp Data communication method and information processor
JP2012155619A (en) * 2011-01-27 2012-08-16 Canon Inc Network job communication system
JP2013071406A (en) * 2011-09-29 2013-04-22 Brother Industries Ltd Printer and print system

Also Published As

Publication number Publication date
JP6728314B2 (en) 2020-07-22

Similar Documents

Publication Publication Date Title
US10802779B2 (en) Print processing system and method having print server converts document data into print data and to store the print data into plural storage servers for printing at image processing apparatus
US8947720B2 (en) Communication terminal device, communication control method, and non-transitory computer-readable medium storing communication control program
JP6415048B2 (en) Image forming apparatus, control method thereof, program, and system
US9906581B2 (en) Information processing apparatus, control method, and storage medium
JP6222950B2 (en) Printing apparatus, control method thereof, and program
US10089050B2 (en) Information processing device, and method and computer-readable medium therefor
JP7238011B2 (en) Information processing device, application, control method and program for information processing device
JP6541322B2 (en) Image reading apparatus, control method for image reading apparatus, and program
US20120331175A1 (en) Image processing apparatus that communicates with server via relay device, method of controlling image processing apparatus, and storage medium
US8860969B2 (en) Intermediation server and communication device
JP6728314B2 (en) Information processing apparatus, control method of information processing apparatus, and program
JP6444125B2 (en) Information processing apparatus, information processing apparatus control method, and program
US20180048774A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
EP3220256A1 (en) Printing with priority for print jobs received via a wireless connection
JP2019070981A (en) Image processing apparatus, control method and program for image processing apparatus
EP3185529B1 (en) Function execution apparatus, function execution system, and computer-readable medium therefor
JP6634057B2 (en) Communication device, control method thereof, and program
JP7289888B2 (en) Information processing device, application, control method and program for information processing device
JP7423680B2 (en) Method, application program, and information processing device
JP6884840B2 (en) Communication equipment, control methods and programs for communication equipment
JP7383432B2 (en) Communication device, communication device control method, and program
JP6750383B2 (en) Image forming system, image forming apparatus, and control program for image forming apparatus
JP2022051766A (en) Image processing device, image processing device control method, and program
US20200007700A1 (en) Information processing device, information processing method, and non-transitory computer readable medium
JP2024014484A (en) Data processing device, image forming device, control method thereof, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200701

R151 Written notification of patent or utility model registration

Ref document number: 6728314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees