JP2020046756A - 情報処理装置、その制御方法およびプログラム - Google Patents
情報処理装置、その制御方法およびプログラム Download PDFInfo
- Publication number
- JP2020046756A JP2020046756A JP2018172828A JP2018172828A JP2020046756A JP 2020046756 A JP2020046756 A JP 2020046756A JP 2018172828 A JP2018172828 A JP 2018172828A JP 2018172828 A JP2018172828 A JP 2018172828A JP 2020046756 A JP2020046756 A JP 2020046756A
- Authority
- JP
- Japan
- Prior art keywords
- information
- information processing
- processing apparatus
- address
- port number
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1231—Device related settings, e.g. IP address, Name, Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1279—Controller construction, e.g. aspects of the interface hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Systems (AREA)
- Facsimiles In General (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
前記デバイスの固有情報を含むデバイス情報を取得する取得手段と、
空きポート番号を決定し、決定したポート番号を含むアドレスを、前記デバイスからデータを取得するためのアクセス先として決定する決定手段と、
前記決定手段により決定されたアドレスを、アクセス元と共有するための共有手段と、
前記固有情報と前記ポート番号を通信部に通知する通知手段を有し、
前記アクセス元が前記共有手段から取得した前記アドレスに対するアクセスを実行した場合、前記通信部が、前記ポート番号に基づいて前記アクセスを検知し、かつ、前記固有情報に対応する前記デバイスに前記所定のインターフェースを介してデータを要求し、
前記デバイスから前記所定のインターフェースを介して前記データが受信された場合、前記アクセス元へと前記データが送信されることを特徴とする情報処理装置が提供される。
<実施形態1>
図1は情報処理装置110と情報処理装置110に接続された印刷装置120により構成されるシステムの全体構成を示すブロック図の一例である。情報処理装置110は入力I/F111、CPU112、ROM113、出力I/F114、外部記憶装置115、RAM116、入力装置117、出力装置118、入出力I/F119を有する。ROM113は初期化プログラムを保存し、外部記憶装置115はOS(オペレーティングシステム)、プリンタドライバやその他各種のデータが保存されている。RAM116は外部記憶装置115に保存される各種プログラムがワークメモリーとして使用する。入力装置117はデータ入力や動作指示に使用され入力I/F111に接続されている。出力装置118はデータ表示や状態の通知に使用され出力I/F114に接続されている。
図2は本実施例の構成を概念的に示すブロック図の一例である。中継プログラム201は情報処理装置110上で稼働し、Web(ウエブ)ブラウザ202と印刷装置120との間の通信を中継する。中継プログラム201はHTTP制御部203、USB制御部204、URL決定部205、デバイス接続検知部206を備えている。HTTP制御部203は、Webブラウザ202とHTTP通信を行うと共に、Webブラウザ202から受信したHTTP(ハイパーテキストマークアップ言語)リクエストをUSB制御部204に送信する。またHTTP制御部203は、USB制御部204を経由して受信した印刷装置120からの情報を、HTTPレスポンスとしてWebブラウザ202に応答する。すなわち、HTTPリクエストについては、Webブラウザ202がアクセス元となり、指定したURLがアクセス先となる。USB制御部204は、HTTP制御部203から入力されたリクエストデータを、USBドライバ207を経由して印刷装置120に送信する。またUSB制御部204は、HTTP制御部203からの指示に応じて、USBドライバ207を経由して受信した印刷装置120からレスポンスデータを、HTTP制御部203に返信する。さらにUSBドライバ207は、USBインターフェースを介して接続されている周辺装置の情報を管理しており、要求に応じて情報処理装置110に接続されている周辺装置の情報を応答する。
デバイス接続検知部206は、USBインターフェースを介して接続されているデバイス、すなわち周辺装置の情報をUSBドライバ207から取得する。そして、デバイス接続検知部206は、取得された周辺装置の情報から、中継プログラム201と通信可能な印刷装置が接続されていることを検知する。またデバイス接続検知部206は、新しく中継プログラム201と通信可能な印刷装置が接続されたことを検知すると、URL決定部205より当該の印刷装置に対応するURLを取得する。URLはユニバーサルリソースロケータの略称であり、アクセスしようとするデータ等の所在(或いは宛先)を示す所在情報(或いは宛先情報)であり、アドレスに相当する。URL決定部205は、Webブラウザ202がHTTP制御部203とHTTP通信を行う際に利用するURLを決定する。URL決定部205により決定されるURLはhttp://localhost:<利用可能なTCPポート番号>のようにTCPポート番号を含む形式である。なお、以降においては、TCPポート番号を単にポート番号と記載することもある。デバイス接続検知部206は、印刷装置120を識別する情報(例えば後述するようにベンダーID、製品ID、シリアル番号などである)とURL決定部205から取得した当該印刷装置に対応するURLを関連付けて、共有メモリ212に保存する。共有メモリ212は中継プログラム201と情報処理装置110上で稼働する任意のアプリケーション211が参照可能な領域である。共有メモリは、アプリケーション211と中継プログラム201とが、印刷装置の固有情報や、印刷装置に固有のURLを共有するために利用される。アプリケーション211は情報処理装置110に接続されている印刷装置のWebページを表示する機能を備えている。該機能の一例は図3の<Webページ表示ボタン303>で後述する。アプリケーション211のWebページ表示機能が実行されると、アプリケーション211は共有メモリ212を参照し、指定された印刷装置に関連付けてされたURLを取得する。その後、アプリケーション211は共有メモリ212より取得したURLを指定して、Webブラウザ202を起動する。
図4では、本実施例における通信処理の全体像を示す。印刷装置120の左側の要素は情報処理装置110のソフトウェア構成要素である。したがって印刷装置120による処理工程はCPU124により、情報処理装置110による処理工程はCPU112により実行される。印刷装置120を情報処理装置110にUSBインターフェース経由で接続すると(S401)、USBドライバ207は接続された印刷装置120のデバイス情報を生成する(S402)。S402で生成されるデバイス情報には、印刷装置120のUSBデバイスディスクリプタやストリングディスクリプタ、インターフェイスディスクリプタ等のUSB仕様で定められる各種ディスクリプタ情報が含まれる。
図5では、図4の処理シーケンスにおける中継プログラム201の処理をより詳細に説明する。なお本実施例では、中継プログラム201は、インストーラーやユーザによる操作などにより、事前に情報処理装置110に配置(インストール)済みであることを前提とする。中継プログラム201は、情報処理装置110の起動と共に処理を開始する(S501)。つまり、中継プログラム201は、情報処理装置110の起動と共に自動的に起動される常駐プログラムである。次に中継プログラム201は、情報処理装置110にUSBインターフェース経由で接続されている周辺装置のデバイス情報を、USBドライバ207から取得する(S502)。その後中継プログラム201は、S502で取得した情報から中継プログラム201と通信可能な印刷装置120が情報処理装置110に接続されているか否かを判定する(S503)。具体的な判定方法として、接続された装置のインターフェイスディスクリプタ情報を参照し、所定のプロトコルをサポートしている装置を中継プログラム201が通信可能であると見なす方法が挙げられる。プロトコルの一例としては、USB経由でのIPP(Internet Printing Protocol)を行うIPP over USBが挙げられる。S503にてYESと判定した場合、中継プログラム201は印刷装置120及びWebブラウザ202と実際に通信を行う通信スレッドが起動済みであるか否かを判定する(S504)。本実施例では中継プログラム201が共有メモリ212を参照し、当該印刷装置に関連付けされたURLが既に記録済みかによって通信スレッドの起動有無を判定することとする。
http://localhost:61234/index.html
ここでURLに含まれるポート番号は他のアプリケーションが利用しておらず、かつファイアウォールなどのセキュリティ機能により遮断されていないポート番号の中から動的に選択されるものとする。なお一般的なオペレーティングシステムでは使用されているTCPやUDPのポート番号を知ることができる。そこで、例えば遮断されているポート番号は予め記憶しておけば、未使用かつ遮断されていないポート番号のうちから使用するポート番号を選択できる。これは後述する他の実施形態についても同様である。また、ホスト名はここに示したようにループバックアドレスであってよい。次に中継プログラム201は、S502で取得したUSBデバイス情報から印刷装置120を一意に特定するための固有情報を取得する(S506)。具体的な固有情報としては、印刷装置120に組み込まれているストリングディスクリプタの中のベンダーID、製品ID、シリアル番号を利用する。本実施例ではそれぞれの値は以下の値であると仮定する。
ベンダーID:VID_04A9
製品ID:PID_1234
シリアル番号:ABC1234
次に中継プログラム201は、S505で決定したポート番号を含むURLと、S506で取得した印刷装置120の固有情報を関連付けて共有メモリ212に記録する(S507)。次に中継プログラム201は、印刷装置120及びWebブラウザ202と実際に通信を行う通信スレッド41を起動する(S508)。この時、中継プログラム201は起動した通信スレッド41にS505で決定したポート番号を含むURLと、S506で取得した印刷装置120の固有情報とを通知する。その後中継プログラム201は、現在の情報処理装置110の状態情報を取得し、情報処理装置110が終了中(シャットダウン処理中)か否かを判断する(S509)。S509にて終了中であると判断した場合は、中継プログラム201は処理を終了する。
図7では、中継プログラム201により起動される通信スレッド41の処理を詳細に説明する。通信スレッド41は、中継プログラム201により起動される(S701)。次に通信スレッド41は、中継プログラム201より通知されたURLからポート番号を取得し、該ポート番号に対する通信開始処理を行う(S702)。具体的には、通信スレッド41は、取得されたポート番号に対するリクエストがないかを判定する。この処理により、以降該ポート番号を利用した通信が可能となる。なお通信スレッド41は、ステップS702の後にはHTTPリクエストの受信待ちとなっていてよい。次に通信スレッド41は、アプリケーション211により起動されたWebブラウザ202からHTTPリクエストを受信する(S703)。ここでは、以下のHTTPリクエストを受信したと仮定する。
GET /index.html HTTP/1.1
Host: localhost:61234
次に通信スレッド41は、中継プログラム201より通知された印刷装置120の固有情報と一致する印刷装置の特定を試みる(S704)。具体的には、通信スレッド41には、S508において中継プログラムより起動される際に固有情報が通知されている。そのため、通信スレッド41はOSから情報処理装置110にUSB接続されているデバイスリストを取得する。そして、通信スレッド41は、S508において通知された固有情報に対応する装置をデバイスリスト特定することでS704が実現される。なお、この際、通信スレッド41は、印刷装置120と通信するために必要な情報をOSから取得する。個の情報を後述するS706で使用することでUSB通信が実現される。次に通信スレッド41は、S704で印刷装置の特定に成功したか否かを判定する(S705)。中継プログラム201より通知された印刷装置120の固有情報と一致する印刷装置が特定できない場合、通信スレッド41はWebブラウザ202へ通信すべき印刷装置が特定できなかったことを示すHTTPレスポンスを応答する(S711)。ここでは、以下のHTTPレスポンスを送信する。
HTTP/1.1 404 Not Found
その後、通信スレッド41はS702にて通信処理を開始したポート番号に対する通信終了処理を実行する(S712)。
本実施形態では、実施形態1とは異なる構成で課題を解決する例を述べる。本実施形態では、WebブラウザからのHTTPリクエストを中継プログラム自身が中継する。そして、Webブラウザから中継プログラムへ送信するHTTPリクエストパケットの中に、リクエストを送信すべき印刷装置を特定する固有情報を含める。HTTPリクエストを受信した中継プログラムは、受信した固有情報から印刷装置を一意に特定し、USBインターフェース経由でHTTPパケットの送受信を行う。なお、以後、特に言及が無い点は、実施形態1と同等の構成である。
図8は本実施例の構成を概念的に示すブロック図の一例である。中継プログラム801は情報処理装置110上で稼働し、Webブラウザ202と印刷装置120との間の通信を中継する。中継プログラム801はHTTP制御部802、USB制御部803、URL決定部804、URL保存部805を備えている。HTTP制御部802は、Webブラウザ202とHTTP通信を行うと共に、Webブラウザ202から受信したHTTPリクエストをUSB制御部803に送信する。またHTTP制御部802は、USB制御部803を経由して受信した印刷装置120からの情報を、HTTPレスポンスとしてWebブラウザ202に応答する。さらにHTTP制御部802はWebブラウザ202が中継プログラム801にHTTPリクエスト送信を開始する際の初期URLを共有メモリ212に保存する。またHTTP制御部802はWebブラウザ202から受信したHTTPリクエストパケットを解析し、通信対象の印刷装置を特定すると、URL決定部804より当該の印刷装置に対応するURLを取得する。さらにHTTP制御部802は、印刷装置120を識別する情報とURL決定部804から取得した当該印刷装置に対応するURLを関連付けて、URL保存部805に記録する。一方、アプリケーション806のWebページ表示機能が実行されると、アプリケーション806は共有メモリ212を参照し、Webブラウザ202が中継プログラム201にHTTPリクエスト送信を開始する際の初期URLを取得する。その後、アプリケーション806は共有メモリ212より取得したURLを指定して、Webブラウザ202を起動する。
図9では、本実施例における通信処理の全体像を示す。なお図9では、S904に先立って、USB接続された印刷装置のデバイス情報(固有情報を含む)を情報処理装置110が取得済みであり、所定の場所に保存されている。なお、所定の場所とはOSにより決められている保存場所である。デバイス情報は例えば、アプリケーション806がS904に先立ってUSBドライバ207から取得しておいてもよい。
ベンダーID:VID_04A9
製品ID:PID_4321
シリアル番号:PID_4321
次に、アプリケーション806はS903で取得したURLとS904で取得した印刷装置120の固有情報を組み合わせて、Webブラウザ202の起動時に指定するURLを生成する(S905)。ここでは、以下のURLを生成したと仮定する。
http://localhost:65432/VID_04A9&PID_4321&PID_4321
その後、アプリケーション806はS905で作成したURLを指定して、Webブラウザ202を起動する(S906)。Webブラウザ202は指定されたURLに対してWebコンテンツ取得のためのHTTPリクエスト(GETリクエスト)を送信する(S907)。
GET /VID_04A9&PID_4321&PID_4321 HTTP/1.1
Host: localhost:65432
HTTPリクエストを受信した中継プログラム801は、HTTPリクエストに含まれるURL情報を解析し、URLからHTTPリクエストを送信すべき印刷装置の固有情報を取得する(S908)。次に中継プログラム801は通信スレッド91がWebブラウザ202と通信を行うためのポート番号を含むURLを決定する(S909)。ここでもURLに含まれるポート番号は他のアプリケーションが利用しておらず、かつファイアウォールなどのセキュリティ機能により遮断されていないポート番号の中から動的に選択するものとする。その後、中継プログラム801は通信スレッド91を起動する(S910)。この時、中継プログラム801はS908で取得した印刷装置120の固有情報と、起動した通信スレッド91にS909で決定したポート番号を含むURLを通知する。次に中継プログラム801は、S907で受信したHTTPリクエストに対する応答として、S909で決定したURLへのリダイレクトを指示するHTTPレスポンスをWebブラウザ202へ送信する。ここでは、以下のHTTPレスポンスを送信したと仮定する。
HTTP/1.1 307 Tempolary Redirect
Location: localhost:65000/index.html
なお、リダイレクト先のアドレスとして指定したlocalhost:65000/index.htmlはS909で決定したポート番号を含むURLである。ここでリダイレクト指示は、アプリケーションとWebブラウザとが、印刷装置の固有情報や、印刷装置に固有のURLを共有するために利用される。
図10では、本実施形態における中継プログラム801の処理をより詳細に説明する。なお本実施形態では、中継プログラム801は、インストーラーやユーザによる操作などにより、事前に情報処理装置110に配置(インストール)済みであることを前提とする。中継プログラム801は、情報処理装置110の起動と共に処理を開始する(S1001)。次に中継プログラム801は、Webブラウザ202が中継プログラム801にHTTPリクエスト送信を開始する際の初期URLを生成する(S1002)。ここでURLに含まれるポート番号は他のアプリケーションが利用しておらず、かつファイアウォールなどのセキュリティ機能により遮断されていないポート番号の中から動的に選択されるものとする。次に中継プログラム801は、共有メモリ212に生成した初期URLを保存する(S1003)。その後、中継プログラム801は、S1002で生成したURLに含まれるポート番号に対して通信開始処理を行う(S1004)。続いて、中継プログラム801はアプリケーション806により起動されたWebブラウザ202からHTTPリクエストを受信する(S1005)。なお中継プログラム801は、ステップS1004の後にはHTTPリクエストの受信待ちとなっていてよい。HTTPリクエストを受信した中継プログラム801は、受信したHTTPリクエストに含まれるURL情報を解析し、URLからHTTPリクエストを送信すべき印刷装置の固有情報を取得する(S1006)。次に中継プログラム801は、S1006で取得した印刷装置の固有情報がすでにURL保存部805に保存されているか否かを判定する(S1007)。
図11では、中継プログラム801により起動される通信スレッド91の処理を詳細に説明する。通信スレッド91は、中継プログラム801により起動される(S1101)。次に通信スレッド91は、中継プログラム801より通知されたURLからポート番号を取得し、該ポート番号に対する通信開始処理を行う(S1102)。次に通信スレッド91は、アプリケーション806により起動されたWebブラウザ202からHTTPリクエストを受信する(S1103)。ここでは、以下のHTTPリクエストを受信したと仮定する。
GET /index.html HTTP/1.1
Host: localhost:65000
次に通信スレッド91は、中継プログラム801より通知された印刷装置120の固有情報と一致する印刷装置を特定する(S1104)。なお、S1104で行われる処理は、S705と同じである。次に通信スレッド91は、S1104で印刷装置の特定に成功したか否かを判定する(S1105)。中継プログラム801より通知された印刷装置120の固有情報と一致する印刷装置が特定できない場合、通信スレッド91はWebブラウザ202へ通信すべき印刷装置が特定できなかったことを示すHTTPレスポンスを応答する(S1111)。その後、通信スレッド91はS1102にて通信処理を開始したポート番号に対する通信終了処理を実行する(S1112)。印刷装置120の固有情報と一致する印刷装置が特定できた場合、次に通信スレッド91は、受信したHTTPリクエストをUSBドライバ207経由で印刷装置120に送信(Write)する(S1106)。続いて通信スレッド91は、送信したHTTPリクエストに対するレスポンスをUSBドライバ207経由で印刷装置120から受信(Read)する(S1107)。その後通信スレッド91は、受信したレスポンスをHTTPレスポンスとしてWebブラウザ202へ応答する(S1108)。次に通信スレッド91は、印刷装置120の電源状態を確認し、オンライン状態か否かを判定する(S1109)。印刷装置120がオンライン状態であると判定した場合、次に通信スレッド91は情報処理装置110の状態情報を取得し、情報処理装置110が終了中か否かを判断する(S1110)。S1110にて情報処理装置110が終了中でないと判断した場合は、通信スレッド91はS1103に戻り再度Webブラウザ202からのHTTPリクエストの受信を行う。一方、S1109にて印刷装置120がオフライン状態、またはS1110にて情報処理装置110が終了中であると判断した場合、通信スレッド91はS1102にて通信処理を開始したポート番号に対する通信終了処理を実行する(S1112)。その後通信スレッド91は、URL保存部805に記録されている印刷装置120の固有情報とURLの関連付け情報を削除する(S1113)。その後、通信スレッド91は処理を終了する(S1114)。以上説明したように、本実施形態によると、Webブラウザ202と中継プログラム801との間の通信に利用するポート番号と、Webブラウザ202と通信スレッド91との間の通信に利用するポート番号は、動的に選択される。この際、選択されるポート番号は、それぞれ他のアプリケーションが利用しておらず、かつファイアウォールなどのセキュリティ機能により遮断されていないポート番号の中から選択される。そのため、利用可能なポートが限定されている場合においても情報処理装置110で実行されるWebブラウザ202がUSB接続された印刷装置と適切に通信することが可能となる。
<実施形態3>
先に示した2つの実施形態では中継プログラムは、インストーラーやユーザによる操作などにより、事前に情報処理装置110に配置(インストール)済みであり、かつ、情報処理装置の起動と同時に起動されることを前提とした。本実施形態では、中継プログラムは常駐プログラムとして動作しない構成について述べる。すなわち、ユーザ操作によりアプリケーションのWebページ表示ボタンが押下されたときに、アプリケーション自身が中継プグラムを起動する。なお、以後、特に言及が無い点は、実施形態1または実施形態2と同等の構成である。
図13では、本実施形態における通信処理の全体像を示す。なお図13においては、第二実施形態と同様に、S1301に先立って、USB接続された印刷装置のデバイス情報(固有情報を含む)を情報処理装置110が取得済みであり、所定の場所に保存されている。デバイス情報は例えば、アプリケーション1208がS1301に先立ってUSBドライバ207から取得しておいてもよい。アプリケーション1208はユーザ操作によりWebページ表示ボタン303が押下されると、ユーザがアプリケーション1208の画面上で選択した印刷装置の固有情報を取得する(S1301)。次にアプリケーション1208は、S1301で取得した印刷装置の固有情報を指定して、中継プログラム1201を起動する(S1302)。起動された中継プログラム1201は、Webブラウザ202とHTTP通信を行うためのポート番号を含むURLを決定する(S1303)。ここでURLに含まれるポート番号は他のアプリケーションが利用しておらず、かつファイアウォールなどのセキュリティ機能により遮断されていないポート番号の中から動的に選択するものとする。次に中継プログラム1201は、アプリケーション1208から指示された印刷装置の固有情報とS1303にて決定したURLをURL保存部805に保存する(S1304)。その後、中継プログラム1201はS1303で決定したURLを指定してWebブラウザ202を起動する(S1305)。Webブラウザ202は指定されたURLに対してWebコンテンツ取得のためのHTTPリクエスト(GETリクエスト)を送信する(S1306)。
図14では、本実施形態における中継プログラム1201の処理をより詳細に説明する。中継プログラム1201はアプリケーション1208により起動され処理を開始する(S1401)。次に中継プログラム1201は、起動時にアプリケーション1208から通知された印刷装置(プリンタ)の固有情報がURL保存部1205に保存されているか否かを判定する(S1402)。アプリケーション1208から指定された印刷装置の固有情報がURL保存部1205に保存されている場合、中継プログラム1201は該固有情報に関連付けされているURLを指定しWebブラウザを起動する(S1403)。その後、中継プログラム1201は処理を終了する(S1419)。この状況では、既にアプリケーション1208から指定された印刷装置と通信する中継プログラムが起動しているため、改めて中継プログラムを起動する必要はない。そのため、URL保存部1205に保存されているURLを指定し、Webブラウザ202を起動すれば、先に起動している中継プログラムが印刷装置との通信処理を行う。一方、S1402にて印刷装置の固有情報がURL保存部1205に保存されていない場合、中継プログラム1201は、Webブラウザ202と通信を行うためのポート番号を含むURLを決定する(S1404)。ここでURLに含まれるポート番号は他のアプリケーションが利用しておらず、かつファイアウォールなどのセキュリティ機能により遮断されていないポート番号の中から動的に選択するものとする。次に中継プログラム1201は、S1404で決定したポート番号を含むURLと、アプリケーション1208から指定された印刷装置の固有情報を関連付けてURL保存部805に保存する(S1405)。続いて、中継プログラム1201はS1404で生成したURLに含まれるポート番号に対して通信開始処理を行う(S1406)。その後、中継プログラム1201はS1404にて決定したURLを指定し、Webブラウザ202を起動する(S1407)。次に中継プログラム1201は、Webブラウザ202からHTTPリクエストを受信する(S1408)。その後中継プログラム1201は、アプリケーション1208より起動時に通知された印刷装置120の固有情報と一致する印刷装置を特定する(S1409)。次に中継プログラム1201は、S1409で印刷装置の特定に成功したか否かを判定する(S1410)。アプリケーション1208より起動時に通知された印刷装置120の固有情報と一致する印刷装置が特定できない場合について説明する。中継プログラム1201はWebブラウザ202へ通信すべき印刷装置が特定できなかったことを示すHTTPレスポンスを応答する(S1418)。ここでは、以下のHTTPレスポンスを送信したと仮定する。
HTTP/1.1 404 Not Found
その後、中継プログラム1201はS1406にて通信処理を開始したポート番号に対する通信終了処理を実行する(S1416)。一方、S1409で印刷装置120の固有情報と一致する印刷装置を特定できた場合、次に中継プログラム1201は、受信したHTTPリクエストをUSBドライバ207経由で印刷装置120に送信(Write)する(S1411)。続いて中継プログラム1201は、送信したHTTPリクエストに対するレスポンスをUSBドライバ207経由で印刷装置120から受信(Read)する(S1412)。その後中継プログラム1201は、受信したレスポンスをHTTPレスポンスとしてWebブラウザ202へ応答する(S1413)。次に中継プログラム1201は、印刷装置120の電源状態を確認し、オンライン状態か否かを判定する(S1414)。印刷装置120がオンライン状態であると判定した場合、中継プログラム1201は情報処理装置110の状態情報を取得し、情報処理装置110が終了中か否かを判断する(S1415)。S1415にて情報処理装置110が終了中でないと判断した場合は、中継プログラム1201はS1408に戻り再度Webブラウザ202からのHTTPリクエストの受信を行う。一方、S1414にて印刷装置120がオフライン状態、またはS1415にて情報処理装置110が終了中であると判断した場合、中継プログラム1201はS1406にて通信処理を開始したポート番号に対する通信終了処理を実行する(S1416)。その後中継プログラム1201は、URL保存部805に保存されている印刷装置120とURLの関連付け情報を削除する(S1417)。その後、中継プログラム1201は処理を終了する(S1420)。
本実施形態では、アプリケーションが中継プログラムの稼働状況に応じてWebブラウザの起動処理を切り替える形態について説明する。なお以後、特に言及が無い点は、実施形態1、実施形態2または実施形態3と同等の構成である。また、本実施形態で説明する処理は、実施形態1で示したアプリケーション211が実行するものとして説明する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (14)
- IPアドレスが設定されていないデバイスと所定のインターフェースを介して接続される情報処理装置であって、
前記デバイスの固有情報を含むデバイス情報を取得する取得手段と、
空きポート番号を決定し、決定したポート番号を含むアドレスを、前記デバイスからデータを取得するためのアクセス先として決定する決定手段と、
前記決定手段により決定されたアドレスを、アクセス元と共有するための共有手段と、
前記固有情報と前記ポート番号を通信部に通知する通知手段を有し、
前記アクセス元が前記共有手段から取得した前記アドレスに対するアクセスを実行した場合、前記通信部が、前記ポート番号に基づいて前記アクセスを検知し、かつ、前記固有情報に対応する前記デバイスに前記所定のインターフェースを介してデータを要求し、
前記デバイスから前記所定のインターフェースを介して前記データが受信された場合、前記アクセス元へと前記データが送信されることを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記通信部は、前記取得手段により前記デバイス情報が取得された前記デバイスごとに生成される
ことを特徴とする情報処理装置。 - 請求項1または2に記載の情報処理装置であって、
前記共有手段は、前記取得手段により取得した前記デバイス情報と、前記決定手段により決定されたアドレスとを関連付けて記憶することで実現され、
前記アクセス元が、前記共有手段に記憶されたアドレスへとアクセスする
ことを特徴とする情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記取得手段は、前記デバイスから前記デバイス情報を取得する
ことを特徴とする情報処理装置。 - 請求項1または2に記載の情報処理装置であって、
前記共有手段は、前記取得手段により取得した前記デバイス情報と、前記決定手段により決定されたアドレスとを関連付けて前記アクセス元へと通知することで実現され、
前記アクセス元が、通知された前記アドレスへとアクセスする
ことを特徴とする情報処理装置。 - 請求項5に記載の情報処理装置であって、
前記取得手段は、前記アクセス元が取得した前記デバイス情報を、前記アクセス元から取得する
ことを特徴とする情報処理装置。 - 請求項6に記載の情報処理装置であって、
前記アクセス元から前記アクセス先に対する前記データの要求はHTTPリクエストであり、
前記共有手段は、前記取得手段により取得した前記デバイス情報と、前記決定手段により決定されたアドレスとを関連付けて、前記アクセス元へとリダイレクト指示することで実現される
ことを特徴とする情報処理装置。 - IPアドレスが設定されていないデバイスと所定のインターフェースを介して接続される情報処理装置であって、
中継手段を有し、
前記デバイスの固有情報を含むデバイス情報を取得する取得手段と、
空きポート番号のひとつを決定し、決定したポート番号を含むアドレスを、前記デバイスからデータを取得するためのアクセス先として決定する決定手段と、
前記決定手段により決定されたアドレスを共有するための共有手段と、
前記決定手段により決定されたアドレスに対するアクセスがあると、前記ポート番号に基づいて前記アクセスを検知し、かつ、前記固有情報に対応する前記デバイスに前記インターフェースを介して前記デバイスに前記データを要求し、前記デバイスから前記インターフェースを介して前記データを受信すると、Webブラウザへと前記データを送信する通信手段と
を有することを特徴とする情報処理装置。 - 請求項8に記載の情報処理装置であって、
前記Webブラウザを用いてデータを取得するアプリケーションを更に有し、
前記アプリケーションは、データを取得する指示に応じて、前記中継手段を起動する
ことを特徴とする情報処理装置。 - 請求項8または9に記載の情報処理装置であって、
前記Webブラウザを用いてデータを取得するアプリケーションを更に有し、
前記アプリケーションは、前記デバイスが前記インターフェースで接続され、かつ、前記中継手段が起動済みであり、かつ、前記共有手段により前記アドレスを取得済みの場合に、前記Webブラウザを起動する
ことを特徴とする情報処理装置。 - 請求項1乃至10のいずれか一項に記載の情報処理装置であって、
前記インターフェースは、ユニバーサルシリアルバスである
ことを特徴とする情報処理装置。 - 請求項9または10に記載の情報処理装置であって、
ユーザーインターフェース手段を更に有し、
前記アプリケーションは、前記ユーザーインターフェース手段により前記デバイスが選択されると、選択された前記デバイスに対応しており、前記共有手段により共有される前記アドレスにアクセスする
ことを特徴とする情報処理装置。 - IPアドレスが設定されていないデバイスと所定のインターフェースを介して接続される情報処理装置の制御方法であって、
前記デバイスの固有情報を含むデバイス情報を取得し、
空きポート番号を決定し、決定したポート番号を含むアドレスを、前記デバイスからデータを取得するためのアクセス先として決定し、
前記決定されたアドレスを、アクセス元と共有し、
前記固有情報と前記ポート番号を通信部に通知し、
前記アクセス元が前記共有した前記アドレスに対するアクセスを実行した場合、前記通信部が、前記ポート番号に基づいて前記アクセスを検知し、かつ、前記固有情報に対応する前記デバイスに前記所定のインターフェースを介してデータを要求し、
前記デバイスから前記所定のインターフェースを介して前記データが受信された場合、前記アクセス元へと前記データが送信されることを特徴とする情報処理装置の制御方法。 - IPアドレスが設定されていないデバイスと所定のインターフェースを介して接続される情報処理装置を、
前記デバイスの固有情報を含むデバイス情報を取得する取得手段と、
空きポート番号を決定し、決定したポート番号を含むアドレスを、前記デバイスからデータを取得するためのアクセス先として決定する決定手段と、
前記決定手段により決定されたアドレスを、アクセス元と共有するための共有手段と、
前記固有情報と前記ポート番号を通信部に通知する通知手段として機能させるためのプログラムであって、
前記アクセス元が前記共有手段から取得した前記アドレスに対するアクセスを実行した場合、前記通信部が、前記ポート番号に基づいて前記アクセスを検知し、かつ、前記固有情報に対応する前記デバイスに前記所定のインターフェースを介してデータを要求し、
前記デバイスから前記所定のインターフェースを介して前記データが受信された場合、前記アクセス元へと前記データが送信されることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018172828A JP7240118B2 (ja) | 2018-09-14 | 2018-09-14 | 情報処理装置、その制御方法およびプログラム |
US16/562,695 US11079983B2 (en) | 2018-09-14 | 2019-09-06 | Information processing apparatus that saves, in a shared memory, information for accessing a device using a URL via a USB, and method of controlling same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018172828A JP7240118B2 (ja) | 2018-09-14 | 2018-09-14 | 情報処理装置、その制御方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020046756A true JP2020046756A (ja) | 2020-03-26 |
JP7240118B2 JP7240118B2 (ja) | 2023-03-15 |
Family
ID=69774003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018172828A Active JP7240118B2 (ja) | 2018-09-14 | 2018-09-14 | 情報処理装置、その制御方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11079983B2 (ja) |
JP (1) | JP7240118B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021160098A (ja) * | 2020-03-30 | 2021-10-11 | ブラザー工業株式会社 | 画像形成装置、画像形成装置の制御方法、及びプログラム |
JP7528725B2 (ja) * | 2020-10-30 | 2024-08-06 | ブラザー工業株式会社 | 表示制御プログラム、管理装置、中継装置および表示制御方法 |
JP7346524B2 (ja) * | 2021-11-22 | 2023-09-19 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法並びにプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014102620A (ja) * | 2012-11-19 | 2014-06-05 | Brother Ind Ltd | 通信中継プログラム、及び、通信中継装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3525070B2 (ja) * | 1999-01-27 | 2004-05-10 | 松下電器産業株式会社 | アクセス制御装置及びアクセス方法 |
JP4144632B2 (ja) | 2006-05-01 | 2008-09-03 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置、画像処理システム、画像処理装置のパラメータ設定方法 |
JP6074165B2 (ja) * | 2012-06-01 | 2017-02-01 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP6011266B2 (ja) * | 2012-11-19 | 2016-10-19 | ブラザー工業株式会社 | 通信中継プログラム、通信中継方法、情報処理装置及び画像処理装置 |
JP6869097B2 (ja) | 2017-05-10 | 2021-05-12 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
-
2018
- 2018-09-14 JP JP2018172828A patent/JP7240118B2/ja active Active
-
2019
- 2019-09-06 US US16/562,695 patent/US11079983B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014102620A (ja) * | 2012-11-19 | 2014-06-05 | Brother Ind Ltd | 通信中継プログラム、及び、通信中継装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7240118B2 (ja) | 2023-03-15 |
US11079983B2 (en) | 2021-08-03 |
US20200089445A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2543951C2 (ru) | Устройство обработки информации, способ управления устройством обработки информации, программа и носитель данных | |
EP2453349B1 (en) | Print relay system, print relay system control method, and program | |
JP6075010B2 (ja) | 通信中継プログラム、及び、画像処理装置 | |
JP5943571B2 (ja) | 印刷システム、プリンター、プリントサーバー、及びその方法 | |
EP2728459B1 (en) | Image Processing System | |
JP6155607B2 (ja) | 通信中継プログラム、及び、通信中継装置 | |
US8947720B2 (en) | Communication terminal device, communication control method, and non-transitory computer-readable medium storing communication control program | |
JP6202902B2 (ja) | システム、情報処理装置とその制御方法及びプログラム | |
JP7240118B2 (ja) | 情報処理装置、その制御方法およびプログラム | |
JP2012216166A (ja) | 情報処理装置、その方法、及びプログラム | |
JP2012053624A (ja) | サーバシステムとプリント装置及びそれらを有するネットワーク印刷システムとそれらにおける方法 | |
US8982388B2 (en) | Information processing apparatus that displays operation screen and control method therefor | |
WO2015151526A1 (en) | Printer registration apparatus, display apparatus, and method for printer registration | |
JP7360245B2 (ja) | 画像形成システム及び出力方法 | |
JP2019181866A (ja) | 印刷制御装置、制御方法及びプログラム | |
CN108306943A (zh) | 信息处理装置、其控制方法、存储介质及信息处理系统 | |
JP2017168028A (ja) | 情報処理装置、印刷プラグイン、印刷システム及び制御方法 | |
JP2010201862A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2017204139A (ja) | 更新アプリケーション及び更新方法 | |
JP4649584B2 (ja) | 周辺機器ドライバインストールシステム | |
JP6397168B2 (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP6271944B2 (ja) | 画像処理装置、情報処理装置、画像処理装置のデータ処理方法、情報処理装置のデータ処理方法、及びプログラム | |
JP6157144B2 (ja) | 印刷装置、印刷装置の制御方法、及びプログラム | |
JP2017136780A (ja) | 画像形成装置及びその制御方法、画像形成装置のサポートシステム及びその制御方法、並びにプログラム | |
JP2015115011A (ja) | 通信機器、機器設定装置、撮像装置およびそれらの制御方法、システム、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230111 |
|
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: 20230203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230303 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7240118 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |