JP2011082599A - 通信装置及び方法、並びにプログラム - Google Patents

通信装置及び方法、並びにプログラム Download PDF

Info

Publication number
JP2011082599A
JP2011082599A JP2009230594A JP2009230594A JP2011082599A JP 2011082599 A JP2011082599 A JP 2011082599A JP 2009230594 A JP2009230594 A JP 2009230594A JP 2009230594 A JP2009230594 A JP 2009230594A JP 2011082599 A JP2011082599 A JP 2011082599A
Authority
JP
Japan
Prior art keywords
network
multicast
communication
broadcast
network interfaces
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
JP2009230594A
Other languages
English (en)
Other versions
JP2011082599A5 (ja
JP5550297B2 (ja
Inventor
Hiroki Shono
広希 庄野
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 JP2009230594A priority Critical patent/JP5550297B2/ja
Priority to CN201010503836.5A priority patent/CN102035657B/zh
Priority to US12/896,022 priority patent/US8411682B2/en
Publication of JP2011082599A publication Critical patent/JP2011082599A/ja
Publication of JP2011082599A5 publication Critical patent/JP2011082599A5/ja
Priority to US13/778,485 priority patent/US8817785B2/en
Application granted granted Critical
Publication of JP5550297B2 publication Critical patent/JP5550297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】本発明は、マルチホームデバイスにおいて、専用のコードを組み込んだアプリケーションを開発することなく、ユーザが望むネットワークインターフェイスを利用してマルチキャストやブロードキャストを行うことができる通信装置を提供する。
【解決手段】複数のネットワークI/Fを備えるMFP101では、マルチキャストパケットやブロードキャストパケットを特定のネットワークI/Fで送出させるための送出条件をユーザに設定させる。そして、MFP101内で動作するアプリケーションにネットワークI/Fを介して通信を行うためのソケットAPIラッパ307が、アクティブなネットワークI/Fを複数検出した場合、アプリケーションから受信したマルチキャスト又はブロードキャストの送出要求に応じて、設定された送出条件を満たすネットワークI/Fでマルチキャスト又はブロードキャストを行う。
【選択図】図9

Description

本発明は、通信装置及び方法、並びにプログラムに関し、特に、複数のネットワークインターフェイスを有する通信装置において、上位層で動作するアプリケーションに当該インターフェイスの個数を意識させないプラットフォームの構築技術に関する。
従来、複合機やプリンタの内部で動作するアプリケーションがTCP/IPネットワーク上の他の複合機やプリンタ、パーソナルコンピュータやサーバ等を探索する場合、マルチキャストやブロードキャストと呼ばれる手法が一般的に使用されている。
マルチキャストとは、ネットワーク上の複数のノードに対してデータを同時に送信する手法であり、マルチキャストグループと呼ばれる特定のグループに参加しているノードに対して同一のデータを送信することが可能になる。マルチキャストを使用した探索においては、探索対象となるデバイス(プリンタや複合機等)は予め特定のマルチキャストグループに属しており、探索を実行する側のデバイスはそのマルチキャストグループ宛てのマルチキャストパケットを送出する。探索対象となるデバイスはマルチキャストパケットを受信すると、送信者に対してユニキャストを使用してパケット応答する。送信者、即ち探索を実行する側のデバイスは、応答パケットに含まれるノードのアドレス情報や名称情報を参照することでノードを識別する。マルチキャストを使用したデバイスの探索は、一般的に、このような手順によって行なわれる。なお、上述したユニキャストとは、単一のノードに対して宛て先を指定する手法のことである。
一方、ブロードキャストとは、ネットワーク上の不特定多数のノードに宛てて同時にパケットを送出する技術である。ブロードキャストを使用した探索においては、探索を実行する側のデバイスはブロードキャスト宛てのパケットを送出する。探索対象となるデバイスはブロードキャストパケットを受信すると、送信者に対してユニキャストを使用してパケット応答する。送信者、即ち探索を実行する側のデバイスは、応答パケットに含まれるノードのアドレス情報や名称情報を参照することでノードを識別する。ブロードキャストを使用したデバイスの探索は、一般的には、このような手順によって行なわれる。
近年の複合機やプリンタ上で動作するソフトウェアの開発においては、プラットフォームや機種間で共通のソースコードを使用することにより、開発効率の向上を図る傾向が強くなってきている。これは、同時期に複数の機種を水平的に開発することが一般的な近年の製品計画において、より短期間でソフトウェアを開発するために有益な方法である。即ち、ハードウェアやオプション装備が異なる機種においてもできるだけ共通のソースコードを用いることによって、ソフトウェアの開発工数を削減し、より短期間且つ低コストで製品を開発すること可能となる。
そのような製品間でアプリケーションプログラムのソースコードを共通化する技術の一例として、Java(登録商標)プラットフォームをプリンタや複合機等に搭載する手法が浸透しつつある。Java(登録商標)によって作成されたソフトウェアは、特定のOS(Operationg System)やCPU(Central Processing Unit)に依存することなく動作する。それゆえ、アプリケーションの開発者は、Java(登録商標)を使用したアプリケーションを1つ作成するのみで、Java(登録商標)プラットフォームが搭載された全ての製品に対応することが可能になった。
また、近年のプリンタや複合機では、ネットワークI/F(インターフェイス)を標準またはオプションとして複数装備する機種が増えつつある。その構成の例として、Ethernet(登録商標)インターフェイスを標準で備え、オプションとして無線LAN(Local Area Network)I/Fを備えるといった構成が挙げられる。これらのネットワークI/Fは、同時に両方での使用が可能である。このような複数のネットワークI/Fを同時に使用可能にしているシステム構成は「マルチホーム」と呼ばれ、プリンタや複合機以外においても採用される。なお、マルチホームでのネットワークI/Fは2つとは限らない。一般的ではないものの、3つ以上のネットワークI/Fを同時に動作させることが可能なデバイスも、それはマルチホーム構成である。例えば、マルチホームデバイスにおいて、一方のインターフェイスで受信したパケットを特定の条件に応じて、他方のインターフェイスに転送するといった技術が考案されている(例えば、特許文献1参照)。
特開2004−32076号公報
しかしながら、上述したマルチホームと呼ばれるシステム構成を有するマルチホームデバイス上でマルチキャスト又はブロードキャストを送出するアプリケーションを動作させる場合、以下の課題がある。例えば、マルチキャスト又はブロードキャストの送出を実行するプログラムコードを記述する場合、一般的なプログラム言語であるC言語やJava(登録商標)を使用しての標準的なコードでは、通常単一のインターフェイスにしかパケットは送出されない。通常、マルチホームデバイスで動作するアプリケーションが、ネットワーク上の機器の探索を行うことを目的としてマルチキャストやブロードキャストを送出する場合、全てのネットワークI/Fで送出することが基本動作として考えられる。
また、マルチホームデバイス上で上述したC言語やJava(登録商標)で開発されたアプリケーションを動作させると、複数存在するネットワークI/Fのうちの1つにしかパケットが送出されず、そのネットワークI/Fに接続されるノードしか探索できない場合がある。このような場合、マルチホームを構成するネットワークI/F全てに対してマルチキャスト又はブロードキャストのパケットを送出させようとすると、専用のプログラムコードを書く必要がある。例えば、C言語において、複数のネットワークI/Fにマルチキャストパケットを送出させる場合には、setsockopt()の第4引数にIP_MULTICAST_IFを指定し、且つ送出するインターフェイスを指定する一連の処理を記述する必要がある。このように、マルチホームデバイス上で全てのネットワークI/Fに対してマルチキャスト又はブロードキャストパケットを送出するアプリケーションを開発するためには、専用のコードを組み込む必要がある。
一方、従来の単一のネットワークI/Fを備えるデバイスに対して開発されたアプリケーションには、マルチホーム環境でマルチキャストやブロードキャストを送出させる専用のコードが組み込まれていないので、コードの共通化ができない。特に、Java(登録商標)アプリケーションの場合、近年の複合機では、複合機のJava(登録商標)プラットフォームの仕様が公開され、当該複合機での利用を前提としたアプリケーション開発が行なわれている。このような場合には、最初に単一のネットワークI/Fを想定したアプリケーションをマルチホームデバイスでも使いまわして使用することも考えられるため、大きな課題となっている。
また、上述した特許文献1では、マルチホームデバイス上で一方のネットワークI/Fから受信したパケットを他方のネットワークI/Fに転送するといった複数のネットワークI/Fを制御する方法が提案されている。加えて、一般的なルータにおいても、一方のネットワークI/Fで受信したパケットを別の単一または複数のネットワークI/Fに転送する技術が従来から存在する。これらの技術では、特定の機器構成のデバイス専用にコーディングされたソフトウェアによって制御されており、前述したように、様々な異なる機器構成を持つ複数のハードウェア上で動作させるといった用途には向いていない。
更に、セキュリティやユーザ利便性の観点から、マルチキャストやブロードキャストパケットを送出するインターフェイスを制御したいというニーズも存在する。例えば、複合機にログインするユーザがゲストユーザであったり、高い権限を持つユーザであったりするため、ユーザの権限に応じてアクセス可能なネットワークを制限したい場合がある。マルチホームのネットワークI/Fの一方にはゲストユーザがアクセス可能な第1のLANに接続されており、他方には機密性の高い第2のLANに接続されているような場合を考える。この場合、ゲストユーザが複合機を操作してネットワークにアクセスする場合には、第1のLANにのみ接続が可能であり、権限の高いユーザが複合機を操作する場合には、第1のLAN及び第2のLANに接続できることが望ましい。即ち、マルチホームデバイス上の全てのネットワークI/Fでマルチキャストやブロードキャストを送信できないという課題が存在するが、加えて送出するネットワークI/Fを制御できなければセキュリティや利便性の観点で好ましくないという課題も存在する。
本発明は、マルチホームデバイスにおいて、専用のコードを組み込んだアプリケーションを開発することなく、ユーザが望むネットワークI/Fを利用してマルチキャストやブロードキャストを行うことができる通信装置を提供することを目的とする。
上記目的を達成するために、本発明は、複数のネットワークインターフェイスと、前記複数のネットワークインターフェイスの少なくとも1つを介してマルチキャストまたはブロードキャストを行う通信手段とを備える通信装置において、前記通信装置で動作するアプリケーションに前記ネットワークインターフェイスを介して通信を行うためのAPIを提供する制御手段と、前記複数のネットワークインターフェイスからアクティブなネットワークインターフェイスを検出する検出手段と、マルチキャストパケット及びブロードキャストパケットを特定のネットワークインターフェイスで送出させるための送出条件を設定する設定手段とを備え、前記通信手段は、前記検出手段によりアクティブなネットワークインターフェイスが複数検出された場合、前記制御手段が前記アプリケーションから受信したマルチキャスト又はブロードキャストの送出要求に応じて、前記設定手段で設定された送出条件を満たすネットワークインターフェイスでマルチキャスト又はブロードキャストを行うことを特徴とする。
本発明によれば、マルチホームデバイスにおいて、専用のコードを組み込んだアプリケーションを開発することなく、ユーザが望むネットワークインターフェイスを利用してマルチキャストやブロードキャストを行うことができる。
本発明の実施形態の一例である画像形成装置が接続されたネットワーク環境の一例を示す図である。 図1のMFPの主要部の概略構成を示すブロック図である。 MFPの通信機能に関するソフトウェア構成を示すブロック図である。 MFPで実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。 MFP内のNW−APPやJava(登録商標)−APPが送出したデータの一例を示す図である。 ネットワークI/F−AとネットワークI/F−Bから送出されたマルチキャストパケットの内容の一例を示す図である。 ネットワークI/F−AとネットワークI/F−Bから送出されたマルチキャストパケットの内容の他の一例を示す図である。 ネットワークI/Fの設定時に操作部に表示される画面の一例を示す図であり、(a)はユーザ名とネットワークI/Fとの対応付けを行なうための表示画面、(b)はユーザ名に対応するネットワークI/Fの設定を変更するための表示画面である。 ログインしたユーザに応じてMFPで実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。 本発明の第2の実施形態におけるMFPが送出するマルチキャストパケットの宛て先IPアドレスとパケットを送出するネットワークI/Fとを関連付けるための設定画面の一例を示す図である。 本発明の第2の実施形態のMFPで実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。 本発明の第3の実施形態におけるMFPが送出するマルチキャストパケットのポート番号とパケットを送出するネットワークI/Fとを関連付けるための設定画面の一例を示す図である。 本発明の第3の実施形態のMFPで実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
図1は、本発明の実施形態の一例である画像形成装置が接続されたネットワーク環境の一例を示す図である。
図1において、MFP101は、2つのネットワークI/F(インターフェイス)を備えたマルチファンクションデバイス(MFP)である。2つのネットワークI/Fのうち、一方はLAN−A110に接続されており、他方はLAN−B120に接続されている。LAN−A110及びLAN−B120はEthernet(登録商標)であるものとする。
LAN−A110にはMFP111及びMFP112が接続されており、MFP101と互いにIPプロトコルによる通信が可能な状態になっている。なお、MFP101及びMFP111、MFP112の間にはルータは存在していない。即ち、ブロードキャストやマルチキャストパケットが到達可能な構成になっている。
LAN−B120にはMFP121及びMFP122が接続されており、MFP101と互いにIPプロトコルによる通信が可能な状態になっている。なお、MFP101及びMFP121、MFP122の間にはルータは存在していない。即ち、ブロードキャストやマルチキャストパケットが到達可能な構成になっている。
図2は、図1のMFP101の主要部の概略構成を示すブロック図である。
コントローラユニット2000は、MFP101の装置全体を制御する制御部である。コントローラユニット2000は、画像を読み取りを行うスキャナ部2070や画像を印刷するプリンタ部2095に接続し、スキャナ部2070で読み取られた画像データをプリンタ部2095により印刷出力するコピー機能を実現するための制御を行う。
また、コントローラユニット2000は、以下に説明する構成要素を備える。CPU2001は、ROM2003に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。そして、OS上でHDD(ハードディスクドライブ)2004に格納されているアプリケーションプログラム(以下、「アプリケーション」と略す)を実行することによって各種処理を実行する。CPU2001の作業領域としてはRAM2002が用いられる。また、RAM2002は、画像データを一時記憶するための画像メモリとして利用される。
HDD2004は、上記アプリケーションと共に、画像データを格納する。CPU2001には、システムバス2007を介して、操作部I/F2006、ネットワークI/F−A2010、ネットワークI/F−B2011、モデム2050及びイメージバスI/F2005が接続されている。
操作部I/F2006は、タッチパネルを有する操作部2012とのインターフェイスであり、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部I/F2006は、操作部2012においてユーザにより入力された情報をCPU2001に送出する。
ネットワークI/F−A2010(第1のネットワークインターフェイス)は、ネットワークインターフェイスカード(NIC)をASIC化したものであり、LAN−A110に接続する。ネットワークI/F−B2011(第2のネットワークインターフェイス)も同様にNICをASIC化したものであり、LAN−B120に接続する。なお、ネットワークI/F−A2010はEthernet(登録商標)であり、ネットワークI/F−B2011は無線LANであるものとする。
モデム2050は、公衆回線(WAN)1007に接続され、情報の入出力を行う。
イメージバスI/F2005は、システムバス2007と画像データを高速で転送する画像バス2008に接続され、データ構造を変換するためのバスブリッジである。画像バス2008は、PCIバスまたはIEEE1394から構成される。画像バス2008には、ラスタイメージプロセッサ(RIP)2060、デバイスI/F2020、スキャナ画像処理部2080、プリンタ画像処理部2090、画像回転部2030、及び画像圧縮部2040が接続されている。
RIP2060は、PDLコードをビットマップイメージに展開するプロセッサである。デバイスI/F2020は、スキャナ部2070とプリンタ部2095に接続され、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対して補正、加工、編集を行う。プリンタ画像処理部2090は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部2030は、画像データの回転を行う。画像圧縮部2040は、多値画像データをJPEGデータに、2値画像データをJBIG、MMR、MHなどのデータに圧縮すると共に、その伸張処理を行う。
図3は、MFP101の通信機能に関するソフトウェア構成を示すブロック図である。なお、同図では、本発明に関わる主要部分のみを例示しており、一部にハードウェアを含むものとする。
ログインアプリ301は、MFP101の操作者(ユーザ)の認証を行い、ログイン処理を行なうアプリケーションである。UI部302は、MFP101のUI(User Interface)の表示を行なうためのアプリケーションである。UI部302によって生成されたビットマップ画像は、操作部I/F2006を介して操作部2012に表示される。
設定DB303は、MFP101の各種設定情報を保持するDB(Database)である。各種設定情報とは、例えばユーザによって操作部2012を介して設定されたMFP101のIPアドレスであったり、またはログインアプリ301によって参照されるユーザの権限情報であったりする。
NW−APP304は、MFP101上で動作するネットワークを使用するアプリケーション群である。ここには、例えばLPD(Line Printer Daemon)やIPP(Internet Printing Protocol)といったネットワークを介して印刷ジョブを受信するアプリケーションが含まれる。また、例えばSNMP(Simple Network Management Protocol)やSLP(Service Location Protocol)といった、機器管理やサービス検索といった機能を提供するソフトウェアが含まれる。また、ネットワーク上のデバイスを探索する機能を提供するソフトウェアも含まれる。これは、例えば、前述したSNMPやSLPといったプロトコルを使用してネットワーク上の機器やサービスを探索して、発見されたデバイスとの間で機能連携するといった用途で使用される。
Java(登録商標)−APP305は、Java(登録商標)で書かれたアプリケーション群である。Java(登録商標)−APP305もNW−APP304と同様にMFP101のネットワーク機能を使用するよう開発されており、ブロードキャストやマルチキャストを使用して機器の探索を行なう。Java(登録商標)VM306は、Java(登録商標)−APP305が動作するためのJava(登録商標)VM(Java(登録商標) Virtual Machine)である。ソケットAPIラッパ307は、後述するソケットAPI308のラッパ関数群である。NW−APP304、Java(登録商標)VM306は、OSによって用意されたソケットAPI(Application Programming Interface)をコールするのではなく、ソケットAPIラッパ307をコールする。
ソケットAPIラッパ307は、NW−APP304及びJava(登録商標)VM306からAPIのコールを受けると、その内容に応じて、対応するソケットAPI308のAPIをコールする。ソケットAPI308は一般的なソケット関数を提供するAPI群であり、OSに標準的に備わっているものである。プロトコルスタック309は、IPプロトコルの通信機能を司るプロトコルスタックであり、OSに標準的に備わっているものである。
ネットワークドライバA310は、ネットワークI/F−A2010を制御するデバイスドライバである。ネットワークドライバB311は、ネットワークI/F−B2011を制御するためのデバイスドライバである。
上述したログインアプリ301〜ネットワークドライバB311のソフトウェア群は、通常はHDD2004に格納されており、RAM2002に適宜ロードされ、CPU2001によって実行処理される。また、ログインアプリ301〜ソケットAPIラッパ307は、OS上のアプリケーションスペースで動作し、ソケットAPI308〜ネットワークドライバB311は、カーネルスペースで動作している。なお、これらのソフトウェアが動作するためのOSや、その他の複合機の機能を実現するソフトウェア群も、HDD2004に格納されており、必要に応じてロード及び実行される構成となっている。
次に、ネットワークI/F−A2010及びネットワークI/F−B2011の両方でマルチキャストパケットを送出する際のMFP101の動作処理について説明する。
図4は、MFP101で実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。
MFP101では、ログインしているユーザやその他の条件によらず、NW−APP304やJava(登録商標)−APP305がマルチキャスト送出要求を行なった場合には、常にMFP101が備える全てのネットワークI/Fからマルチキャスト送出を行う。これは、ログインアプリ301によってユーザが登録されていない場合や、マルチキャストの送出するネットワークI/Fが設定されていないときに、このように振る舞う。
図4において、ステップS401では、ソケットAPIラッパ307は、自身のラッパAPIがコールされた際の処理命令がマルチキャストの処理命令であるか否かを判定する。ソケットAPIラッパ307は、C言語の標準関数のラッパであり、その中にはソケットAPIのラッパも含まれている。ソケットAPIラッパ307は、コールされたAPIがsendto()のように、マルチキャスト送出に使用されるAPIだった場合には、宛て先IPアドレスがマルチキャストアドレスであるか否かを確認する。sendto()においては、第5引数の構造体の中に宛て先IPアドレスが含まれる。このアドレスがマルチキャストアドレス、即ち224.0.0.0〜239.255.255.255の間に含まれる値であったならば、上位アプリから受信した命令はマルチキャスト送出命令であるものと判定する(ステップS401でYES)。一方、マルチキャスト送出命令でなければ(ステップS401でNO)、ソケットAPIラッパ307は、命令された内容に手を加えることなく、そのままの形でソケットAPI308に処理命令を転送する。
図5は、NW−APP304やJava(登録商標)−APP305が送出したデータの一例を示す図である。
本実施の形態では、NW−APP304やJava(登録商標)−APP305は、ネットワーク上のサービスを探索するためにSLP(Service Location Protocol)を用いている。NW−APP304やJava(登録商標)−APP305は、図5に示すデータを送出する。それはNW−APP304やJava(登録商標)−APP305を構成するプログラムコード(C言語)のsendto()の第2引数に図5に示されるデータがセットされていることを意味している。図示例はSLPのデータを示している。なお、図示例のデータは、内容を可視化する目的でフィールド単位に分けられているが、実際のプログラムコードにおいては16進数データでセットされている。
図4に戻り、ステップS401にて上位アプリから受信した命令がマルチキャスト送出命令であると判定された場合(ステップS401でYES)、ステップS402に移行する。ステップS402では、ソケットAPIラッパ307は、自機(ここではMFP101)がマルチホームデバイスであるか否かの判定を行なう。マルチホームデバイスとは、上述したように、複数のネットワークI/Fを同時に使用可能に構成されたデバイスである。
ステップS402では、ソケットAPIラッパ307は、MFP101の現時点でのアクティブなネットワークI/FをOSに問い合わせる。その結果、アクティブなネットワークI/Fが複数検出された場合、ソケットAPIラッパ307は、自装置(ここではMFP101)がマルチホームであると判定する。一方、マルチホームと判定されなければ(ステップS402NO)、ソケットAPIラッパ307は、命令された内容に手を加えることなく、そのままの形でソケットAPI308に処理命令を転送する。本実施形態では、アクティブなネットワークI/Fとして、ネットワークI/F−A2010及びネットワークI/F−B2011の2つが存在しているので、MFP101がマルチホームデバイスであると判定される。
次に、ステップS403では、ソケットAPIラッパ307は、現在アクティブな全てのネットワークI/Fにマルチキャストパケットを送出するように、ソケットオプションを設定する。これは、setsockopt()の第3引数にIP_MULTICAST_IFを指定する処理である。その際の第4引数には、マルチキャストを送信したいインターフェイスのIPアドレスが入る。そのため、ソケットAPIラッパ307は、ネットワークI/F−A2010に対応されたIPアドレスを取得し、setsockopt()の第4引数にその値を含めて実行する。次に、ネットワークI/F−B2011に対応されたIPアドレスを取得し、setsockopt()の第4引数にその値を含めて実行する。このようにすることで、ステップS401で上位アプリが送出したマルチキャストパケットの送出命令は、ネットワークI/F−A2010及びネットワークI/F−B2011の両方に送出されるよう、プロトコルスタックに登録される。
次に、ステップS404では、ソケットAPIラッパ307は、sendto()を使用してマルチキャストパケットの送出を行なう。このとき、sendto()にセットされる引数は、ステップS401にて上位アプリからコールされた内容と同じである。このタイミングで、マルチキャストパケットがソケットAPIラッパ307からソケットAPI308に転送され、プロトコルスタック309を介してネットワークドライバAとネットワークドライバBにデータが渡される。その後、ネットワークI/F−A2010とネットワークI/F−B2011からマルチキャストパケットが送出される。結果として、マルチキャストパケットはLAN−A110上に存在するMFP111とMFP112、そしてLAN−B120上に存在するMFP121とMFP122に到達することが可能となる。
図6及び図7は、ネットワークI/F−A2010とネットワークI/F−B2011から送出されたマルチキャストパケットの内容の一例を示す図である。
図示例は、共にステップS401において送出されたSLPプロトコルのパケットである。ネットワークI/F−A2010とネットワークI/F−B2011に割り当てられているMACアドレスとIPアドレスは異なる。そのため、図6と図7のそれぞれで示された送信元MACアドレス及び送信元IPアドレスは異なる値であるが、その他は同値である。両方とも、送信先MACアドレスと送信先IPアドレスはマルチキャストアドレスである。また、SLPデータは図5で示したものと同じである。
次に、MFP101にログインしたユーザに応じて、ネットワークI/F−A2010及びネットワークI/F−B2011のいずれか一方または両方でマルチキャストパケットを送出する際のMFP101の動作処理について説明する。
まず、MFP101のユーザとして登録されているユーザ名と、マルチキャストパケットを送出するネットワークI/Fの対応付けを行なうための画面を図8(a)及び図8(b)に示す。
図8(a)は、MFP101のユーザとして登録されているユーザ名と、マルチキャストパケットを送出するネットワークI/Fの対応付けを行なうための表示画面の一例を示す図である。図示の画面(ダイアログ)は、操作部2012に表示され、MFP101の利用者が使用するためのものである。
図8(a)において、リスト601には、MFP101に登録されているユーザ名がリスト状に表示される。リスト602には、各ユーザに対応付けて登録されたマルチキャストパケットの送出元であるネットワークI/Fの設定情報が表示される。例えば、ユーザ名「Maki」に対応付けられているネットワークI/Fは「Ethernet(登録商標)」である。これは「Maki」がMFP101にログインしている場合には、MFP101はマルチキャストパケットを送出する際にEthernet(登録商標)であるネットワークI/F−A2010からのみパケットを送出する設定であることを意味している。
また、ユーザ名「Yukokura」に対応付けられているネットワークI/Fは「All」である。これは「Yokokura」がMFP101にログインしている場合には、MFP101はマルチキャストパケットを送出する際に全てのネットワークI/Fに対してパケットを送出する設定であることを意味している。つまり、ネットワークI/F−A2010とネットワークI/F−B2011の両方に対して送出する設定ということである。
また、ユーザ名「Inoue」に対応付けられているネットワークI/Fは「Wireless」である。これは「Inoue」がMFP101にログインしている場合には、MFP101はマルチキャストパケットを送出する際に無線LANであるネットワークI/F−B2011からのみパケットを送出する設定であることを意味している。
ボタン603は、各ユーザに対応するマルチキャストパケットの送出元のネットワークI/Fの設定を変更する画面に移行するためのボタンである。MFP101は、操作者によってリスト601の任意のユーザが指定され、且つボタン603の入力を検知した場合、図8(b)に示す画面に移行する。
図8(b)は、各ユーザに対応するマルチキャストパケットの送出元のネットワークI/Fの設定を変更する表示画面の一例を示す図である。
図示例は、ユーザ「Shouno」に対応するネットワークI/Fが指定された際に表示される画面(ダイアログ)である。ボタン701は、MFP101の全てのインターフェイス、つまりネットワークI/F−A2010及びネットワークI/F−B2011を指定するためのボタンである。ボタン702は、MFP101のEthernet(登録商標)インターフェイス、つまりネットワークI/F−A2010を指定するためのボタンである。ボタン703は、MFP101の無線LANのインターフェイス、つまりネットワークI/F−B2011を指定するためのボタンである。
操作者によってボタン701〜703のいずれか一つが選択された後、決定ボタン704の入力をMFP101が検知した場合に、ユーザ「Shouno」に対応するネットワークI/Fが登録される。そして、登録された情報(ネットワークI/F設定情報)は、マルチキャストパケット及びブロードキャストパケットを特定のネットワークインターフェイスで送出させるための送出条件として、設定DB303に保持される。
図9は、ログインしたユーザに応じてMFP101で実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。なお。MFP101には、上記方法により、MFP101にログインしているユーザに対応するネットワークI/Fが予め登録されているものとする。
図9において、ステップS501では、ソケットAPIラッパ307は、自身のラッパAPIがコールされた際の処理命令がマルチキャストの処理命令であるか否かを判定する。ソケットAPIラッパ307は、コールされたAPIがsendto()のように、マルチキャスト送出に使用されるAPIだった場合には、宛て先IPアドレスがマルチキャストアドレスであるか否かを確認する。sendto()においては、第5引数の構造体の中に宛て先IPアドレスが含まれる。このアドレスがマルチキャストアドレス、即ち224.0.0.0〜239.255.255.255の間に含まれる値であったならば、上位アプリから受信した命令はマルチキャスト送出命令であると判定する(ステップS501でYES)。一方、マルチキャスト送出命令でなければ(ステップS501でNO)、ソケットAPIラッパ307は、命令された内容を手を加えることなく、そのままの形でソケットAPI308に処理命令を転送する。
ステップS501にて上位アプリから受信した命令がマルチキャスト送出命令であると判定された場合(ステップS501でYES)、ステップS502に移行する。ステップS502では、ソケットAPIラッパ307は、自機(ここではMFP101)がマルチホームデバイスであるか否かを判定する。
ステップS502では、ソケットAPIラッパ307は、MFP101の現時点でのアクティブなネットワークI/FをOSに問い合わせる。その結果、アクティブなネットワークI/Fが複数検出された場合、ソケットAPIラッパ307は、自装置(ここではMFP101)がマルチホームであると判定する。一方、マルチホームと判定されなければ(ステップS502でNO)、ソケットAPIラッパ307は、命令された内容を手を加えることなく、そのままの形でソケットAPI308に処理命令を転送する。本実施の形態では、アクティブなネットワークI/Fとして、ネットワークI/F−A2010及びネットワークI/F−B2011の2つが存在しているので、MFP101がマルチホームデバイスであると判定される。
次に、ステップS503では、ソケットAPIラッパ307は、図8(a)及び図8(b)を参照して説明した方法でユーザ毎に登録されたネットワークI/F設定情報を参照し、現在ログインしているユーザに対応するネットワークI/F設定を確認する。具体的には、ソケットAPIラッパ307は、ログインアプリ301に対してMFP101に現在ログインしているユーザの識別情報を問い合わせる。次に、ソケットAPIラッパ307は、設定DB303に保存されたネットワークI/F設定情報を参照し、MFP101に現在ログインしているユーザに対応する、マルチキャスト送出元のネットワークI/Fの設定情報を取得する。これにより、MFP101に現在ログインしているユーザの操作がトリガになり、マルチキャストパケットを送出する場合に、パケットを送出すべきネットワークI/F情報を得ることができる。
次に、ステップS504では、ソケットAPIラッパ307は、ステップS503で取得したネットワークI/F設定情報に指定されているネットワークI/Fにマルチキャストパケットを送出するように、ソケットオプションを設定する。これは、setsockopt()の第3引数にIP_MULTICAST_IFを指定する処理である。その際の第4引数には、マルチキャストを送信したいインターフェイスのIPアドレスが入る。ソケットAPIラッパ307は、ステップS503で取得したマルチキャストパケットを送出すべきネットワークI/Fに対応するIPアドレスを取得して、setsockopt()の第4引数にその値を含めて実行する。
次に、ステップS505では、ソケットAPIラッパ307は、sendto()を使用してマルチキャストパケットの送出を行なう。このとき、sendto()にセットされる引数は、ステップS501にて上位アプリからコールされた内容と同じである。このタイミングで、マルチキャストパケットがソケットAPIラッパ307からソケットAPI308に転送され、プロトコルスタック309を介してマルチキャストパケットを送出すべきネットワークI/Fに渡される。その後、マルチキャストパケットを送出すべきネットワークI/Fからマルチキャストパケットが送出される。結果として、MFP101に現在ログインしているユーザの場合に送出すべきネットワークI/Fが接続するLAN上のデバイスにマルチキャストパケットが到達することが可能となる。なお、上記処理では、マルチキャストを行う場合について説明したが、ブロードキャストを行う場合についても同様に処理が行われる。
上記実施形態では、図4に示す処理と図9に示す処理を別個に説明したが、本発明は上記説明に限定されるものではない。例えば、図9のステップS502の後に、ソケットAPIラッパ307がMFP101の操作者がログインしているか否かを判別し、ログインしていない場合には、図4のステップS403以降の処理を行うようにしてもよい。そして、ログインしている場合には、図5のステップS503以降の処理を行うようにしてもよい。
さらに、図9のステップS502の後に、ソケットAPIラッパ307が、MFP101の操作者が未登録のユーザか否かを判別し、未登録のユーザについては登録を促すように画像表示を行う構成でもよい。また、ユーザ操作に応じて、パケットを送出するネットワークI/Fを選択させるように構成してもよい。また、ステップS403以降の処理を行わせるように構成してもよい。
上記第1の実施形態によれば、マルチホームデバイスにおいて、専用のコードを組み込んだアプリケーションを開発することなく、ユーザが望むネットワークインターフェイスを利用してマルチキャストやブロードキャストを行うことができる。また、単一のネットワークI/Fで動作することを意図して開発されたアプリケーションをマルチホームデバイス上で動作させる場合でも、意図せぬネットワークI/Fにマルチキャスト又はブロードキャストパケットが送出されることを防止することが可能になる。
また、マルチホームデバイスの操作者の権限に応じてマルチキャストやブロードキャストパケットの送出するネットワークI/Fを変更するができる。そして、アクセス権限やセキュリティの観点から望ましくないネットワークにパケットが送出されてしまうことを防止することが可能になる。
[第2の実施形態]
本発明の第2の実施の形態におけるMFP101は、その構成が上記第1の実施の形態におけるMFP101、図1〜図3と同じであり、第1の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。
本発明の第2の実施形態では、マルチキャストパケットを送出するネットワークI/Fを決定する基準を、上記第1の実施形態で説明したユーザ名ではなく、マルチキャストの宛て先アドレスとした点が上記第1の実施形態と異なる。
図10は、本発明の第2の実施形態におけるMFP101が送出するマルチキャストパケットの宛て先IPアドレスと送出元のネットワークI/Fとを関連付けるための設定画面の一例を示す図である。
図10に示す画面は、MFP101の操作部2012に表示されるものであり、MFP101の操作者によって操作されるためのものである。フォーム801は、マルチキャストパケットを送信する宛て先のマルチキャストアドレスの入力用フォームである。ボタン802は、フォーム801で指定されたマルチキャストアドレスへ送出するマルチキャストパケットの送出元であるネットワークI/FをEthernet(登録商標)として指定するためのボタンである。ボタン803は、フォーム801で指定されたマルチキャストアドレスへ送出するマルチキャストパケットの送出元であるネットワークI/FをWirelessとして指定するためのボタンである。
フォーム801、ボタン802,803は、MFP101の操作者によって操作され、マルチキャストアドレスに対応する送出元ネットワークI/Fを操作者が指定するために使用される。なお、操作者によって設定された情報(ネットワークI/F設定情報)は、マルチキャストパケット及びブロードキャストパケットを特定のネットワークインターフェイスで送出させるための送出条件として、設定DB303に保存される。
次に、図10を参照して説明した方法で設定された設定情報に基づいてMFP101で実行されるマルチキャスト送出時のネットワークI/F設定処理について図11を参照して説明する。
図11は、本発明の第2の実施形態のMFP101で実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。なお、図示のステップS601,S602は、図9のステップS501,S502と同一の処理であるため、それらの説明については割愛する。
図11において、ステップS603では、ソケットAPIラッパ307は、設定DB303に保存されたネットワークI/F設定情報を参照し、マルチキャストアドレスに対応する送出元ネットワークI/F設定を確認する。具体的には、ソケットAPIラッパ307は、設定DB303に対して、NW−APP304又はJava(登録商標)−APP305によって指定されたマルチキャストアドレスに対応する送出元ネットワークI/F情報を問い合わせする。この情報は、MFP101の操作者によって、図10で示した画面にて設定されるものである。即ち、(1)Ethernet(登録商標)(ネットワークI/F−A2010)、(2)無線LAN(ネットワークI/F−B2011)、(3)Ethernet(登録商標)と無線LANの両方、の3通りのうちの1つが各マルチキャストアドレスに対応付けられている。
次に、ステップS604では、ソケットAPIラッパ307は、ステップS603で取得したマルチキャストパケットを送出すべきネットワークI/Fにマルチキャストパケットを送出するように、ソケットオプションを設定する。これは、setsockopt()の第3引数にIP_MULTICAST_IFを指定する処理である。その際の第4引数には、マルチキャストを送信したいインターフェイスのIPアドレスが入る。ソケットAPIラッパ307は、ステップS603で取得したマルチキャストパケットを送出すべきネットワークI/Fに対応するIPアドレスを取得して、setsockopt()の第4引数にその値を含めて実行する。
次に、ステップS605では、ソケットAPIラッパ307は、sendto()を使用してマルチキャストパケットの送出を行なう。このとき、sendto()にセットする引数は、図9のステップS501にて上位アプリからコールされた内容と同じである。このタイミングで、マルチキャストパケットがソケットAPIラッパ307からソケットAPI308に転送され、プロトコルスタック309を介してマルチキャストパケットを送出すべきネットワークI/Fに渡される。その後、マルチキャストパケットを送出すべきネットワークI/Fからマルチキャストパケットが送出される。
上記第2の実施形態によれば、上記第1の実施形態と同様の効果を奏することが可能となる。また、ユーザにより設定されたマルチキャストの宛て先アドレスに応じて、マルチキャストパケットを送出すべきネットワークI/Fでマルチキャストパケットを送出することができ、ユーザの利便性を向上されることができる。
[第3の実施形態]
本発明の第3の実施の形態におけるMFP101は、その構成が上記第1の実施の形態におけるMFP101、図1〜図3と同じであり、第1の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。
本発明の第3の実施形態では、マルチキャストパケットを送出するネットワークI/Fを決定する基準を、上記第1の実施形態で説明したユーザ名ではなく、UDPパケットのポート番号とした点が上記第1の実施形態と異なる。
図12は、本発明の第3の実施形態におけるMFP101が送出するマルチキャストパケットのポート番号とパケットを送出するネットワークI/Fとを関連付けるための設定画面の一例を示す図である。
図12に示す画面は、MFP101の操作部2012に表示されるものであり、MFP101の操作者によって操作されるためのものである。フォーム1001は、マルチキャストパケットの宛て先ポート番号の入力用フォームである。ボタン1002は、フォーム1001で指定されたポート番号に対応するネットワークI/FをEthernet(登録商標)として指定するためのボタンである。ボタン1003は、フォーム1001で指定されたポート番号に対応するネットワークI/FをWirelessとして指定するためのボタンである。フォーム1001,ボタン1002,1003は、MFP101の操作者によって操作され、マルチキャストアドレスに対応する送出元ネットワークI/Fを操作者が指定するために使用される。なお、操作者によって設定された情報(ネットワークI/F設定情報)は、マルチキャストパケット及びブロードキャストパケットを特定のネットワークインターフェイスで送出させるための送出条件として、設定DB303に保存される。
次に、図12を参照して説明した方法で設定された設定情報に基づいてMFP101で実行されるマルチキャストパケット送出時のネットワークI/F設定処理について図13を参照して説明する。
図13は、本発明の第3の実施形態のMFP101で実行されるマルチキャスト送出時のネットワークI/F設定処理の一例を示すフローチャートである。なお、ステップS701,S702は、図9のステップS501,S502と同一の処理であるため、それらの説明については割愛する。
図13において、ステップS703では、ソケットAPIラッパ307は、設定DB303に保存されたネットワークI/F設定情報を参照し、ポート番号に対応する送出元ネットワークI/F設定を確認する。具体的には、ソケットAPIラッパ307は、設定DB303に対して、NW−APP304又はJava(登録商標)−APP305によって指定されたポート番号に対応する送出元ネットワークI/F情報を問い合わせする。この情報は、MFP101の操作者によって、図12で示した画面にて設定されるものである。即ち、(1)Ethernet(登録商標)(ネットワークI/F−A2010)、(2)無線LAN(ネットワークI/F−B2011)、(3)Ethernet(登録商標)と無線LANの両方、の3通りのうちの1つが各ポート番号に対応付けられている。
次に、ステップS704では、ソケットAPIラッパ307は、ステップS1103で取得したマルチキャストパケットを送出すべきネットワークI/Fにマルチキャストパケットを送出するように、ソケットオプションを設定する。これは、setsockopt()の第3引数にIP_MULTICAST_IFを指定する処理である。その際の第4引数には、マルチキャストを送信したいインターフェイスのIPアドレスが入る。ソケットAPIラッパ307は、ステップS703で取得したマルチキャストパケットを送出すべきネットワークI/Fに対応するIPアドレスを取得して、setsockopt()の第4引数にその値を含めて実行する。
次に、ステップS705では、ソケットAPIラッパ307は、sendto()を使用してマルチキャストパケットの送出を行なう。このとき、sendto()にセットする引数は、図9のステップS501にて上位アプリからコールされた内容と同じである。このタイミングで、マルチキャストパケットがソケットAPIラッパ307からソケットAPI308に転送され、プロトコルスタック309を介してマルチキャストパケットを送出すべきネットワークI/Fに渡される。その後、マルチキャストパケットを送出すべきネットワークI/Fからマルチキャストパケットが送出される。
上記第3の実施の形態によれば、上記第1の実施形態と同様の効果を奏することが可能となる。また、UDPパケットのポート番号に応じて、マルチキャストパケットを送出すべきネットワークI/Fでマルチキャストパケットを送出することができ、ユーザの利便性を向上されることができる。
上記第1〜第3の実施形態では、本発明を画像形成装置であるMFP101に適用した形態について説明したが、これに限定されるものではなく、通信装置や通信機能を有する情報処理装置、端末等であってもよいことは云うまでもない。
本発明の実施の形態は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ(CPU,プロセッサ)にて実行することでも実現できる。
101 MFP
110 LAN−A
120 LAN−B
301 ログインアプリ
303 設定DB
304 NW−APP
307 ソケットAPIラッパ
308 ソケットAPI
2010 ネットワークI/F−A
2011 ネットワークI/F−B

Claims (9)

  1. 複数のネットワークインターフェイスと、前記複数のネットワークインターフェイスの少なくとも1つを介してマルチキャストまたはブロードキャストを行う通信手段とを備える通信装置において、
    前記通信装置で動作するアプリケーションに前記ネットワークインターフェイスを介して通信を行うためのAPIを提供する制御手段と、
    前記複数のネットワークインターフェイスからアクティブなネットワークインターフェイスを検出する検出手段と、
    マルチキャストパケット及びブロードキャストパケットを特定のネットワークインターフェイスで送出させるための送出条件を設定する設定手段とを備え、
    前記通信手段は、前記検出手段によりアクティブなネットワークインターフェイスが複数検出された場合、前記制御手段が前記アプリケーションから受信したマルチキャスト又はブロードキャストの送出要求に応じて、前記設定手段で設定された送出条件を満たすネットワークインターフェイスでマルチキャスト又はブロードキャストを行うことを特徴とする通信装置。
  2. 前記設定手段は、前記送出条件として、前記通信装置にログインするユーザのユーザ名と前記複数のネットワークインターフェイスの少なくとも1つとを対応付けて保存し、
    前記通信手段は、前記保存された送出条件を参照し、現在ログインしているユーザのユーザ名に対応するネットワークインターフェイスでマルチキャスト又はブロードキャストを行うことを特徴とする請求項1記載の通信装置。
  3. 前記設定手段は、前記送出条件として、マルチキャストパケットを送信する宛て先のマルチキャストアドレスと前記複数のネットワークインターフェイスの少なくとも1つとを対応付けて保存し、
    前記通信手段は、前記保存された送出条件を参照し、前記送出要求で指定されたマルチキャストアドレスに対応するネットワークインターフェイスでマルチキャストを行うことを特徴とする請求項1記載の通信装置。
  4. 前記設定手段は、前記送出条件として、前記マルチキャストパケットを送信する宛て先のポート番号と前記複数のネットワークインターフェイスの少なくとも1つとを対応付けて保存し、
    前記通信手段は、前記保存された送出条件を参照し、前記送出要求で指定されたポート番号に対応するネットワークインターフェイスでマルチキャストを行うことを特徴とする請求項1記載の通信装置。
  5. 前記検出手段は、前記複数のネットワークインターフェイスからアクティブなネットワークインターフェイスが複数検出した場合、前記通信装置をマルチホームデバイスであると判定することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
  6. 複数のネットワークインターフェイスと、前記複数のネットワークインターフェイスの少なくとも1つを介してマルチキャストまたはブロードキャストを行う通信手段とを備える通信装置において、
    前記通信装置で動作するアプリケーションに前記ネットワークインターフェイスを介して通信を行うためのAPIを提供する制御手段と、
    前記複数のネットワークインターフェイスからアクティブなネットワークインターフェイスを検出する検出手段と、
    前記制御手段が前記アプリケーションからマルチキャスト又はブロードキャストの送出要求を受信したか否かを判定する判定手段とを備え、
    前記通信手段は、前記制御手段が前記アプリケーションから受信したマルチキャスト又はブロードキャストの送出要求に応じて、前記検出手段により検出された複数のアクティブなネットワークインターフェイスでマルチキャスト又はブロードキャストを行うことを特徴とする通信装置。
  7. 複数のネットワークインターフェイスを備え、前記複数のネットワークインターフェイスの少なくとも1つを介してマルチキャストまたはブロードキャストを行う通信装置の通信方法において、
    前記通信装置で動作するアプリケーションに前記ネットワークインターフェイスを介して通信を行うためのAPIを提供する制御工程と、
    前記複数のネットワークインターフェイスからアクティブなネットワークインターフェイスを検出する検出工程と、
    マルチキャストパケット及びブロードキャストパケットを特定のネットワークインターフェイスで送出させるための送出条件を設定する設定工程と、
    前記検出工程でアクティブなネットワークインターフェイスが複数検出された場合、前記アプリケーションから受信したマルチキャスト又はブロードキャストの送出要求に応じて、前記設定工程で設定された送出条件を満たすネットワークインターフェイスでマルチキャスト又はブロードキャストを行う通信工程とを備えることを特徴とする通信方法。
  8. 複数のネットワークインターフェイスを備え、前記複数のネットワークインターフェイスの少なくとも1つを介してマルチキャストまたはブロードキャストを行う通信装置の通信方法において、
    前記通信装置で動作するアプリケーションに前記ネットワークインターフェイスを介して通信を行うためのAPIを提供する制御工程と、
    前記複数のネットワークインターフェイスからアクティブなネットワークインターフェイスを検出する検出工程と、
    前記アプリケーションからマルチキャスト又はブロードキャストの送出要求を受信したか否かを判定する判定工程と、
    前記アプリケーションから受信したマルチキャスト又はブロードキャストの送出要求に応じて、前記検出工程で検出された複数のアクティブなネットワークインターフェイスでマルチキャスト又はブロードキャストを行う通信工程とを備えることを特徴とする通信装置。
  9. 請求項7または8記載の通信方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
JP2009230594A 2009-10-02 2009-10-02 通信装置及び通信装置の通信方法並びにプログラム Active JP5550297B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009230594A JP5550297B2 (ja) 2009-10-02 2009-10-02 通信装置及び通信装置の通信方法並びにプログラム
CN201010503836.5A CN102035657B (zh) 2009-10-02 2010-09-30 具有多个网络接口的通信设备及该通信设备的通信方法
US12/896,022 US8411682B2 (en) 2009-10-02 2010-10-01 Communication apparatus having a plurality of network interfaces, method of communication by the communication apparatus, and storage medium
US13/778,485 US8817785B2 (en) 2009-10-02 2013-02-27 Communication apparatus having a plurality of network interfaces, method of communication by the communication apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009230594A JP5550297B2 (ja) 2009-10-02 2009-10-02 通信装置及び通信装置の通信方法並びにプログラム

Publications (3)

Publication Number Publication Date
JP2011082599A true JP2011082599A (ja) 2011-04-21
JP2011082599A5 JP2011082599A5 (ja) 2012-11-15
JP5550297B2 JP5550297B2 (ja) 2014-07-16

Family

ID=43823131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009230594A Active JP5550297B2 (ja) 2009-10-02 2009-10-02 通信装置及び通信装置の通信方法並びにプログラム

Country Status (3)

Country Link
US (2) US8411682B2 (ja)
JP (1) JP5550297B2 (ja)
CN (1) CN102035657B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012165167A (ja) * 2011-02-07 2012-08-30 Seiko Epson Corp ネットワーク通信装置、方法、及びプログラム
JP2014220607A (ja) * 2013-05-07 2014-11-20 富士ゼロックス株式会社 画像形成装置及びプログラム
JP2015125716A (ja) * 2013-12-27 2015-07-06 ブラザー工業株式会社 接続管理プログラム、情報処理装置および情報処理装置の制御方法
JP2018176569A (ja) * 2017-04-14 2018-11-15 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
JP2019036059A (ja) * 2017-08-10 2019-03-07 株式会社リコー 情報処理装置、通信システム、通信方法およびプログラム
JP2019126983A (ja) * 2018-01-25 2019-08-01 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US11025516B2 (en) 2018-01-05 2021-06-01 Canon Kabushiki Kaisha Communication apparatus provided with LAN interfaces and preventing connection to wrong network, control method, and storage medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8887222B2 (en) 2011-09-14 2014-11-11 Qualcomm Incorporated Multicasting in a wireless display system
KR101860486B1 (ko) * 2011-10-28 2018-07-02 에이치피프린팅코리아 주식회사 복수의 네트워크 인터페이스들을 지원하는 화상형성장치를 포함하는 화상형성시스템 및 그 시스템에서의 라우팅 테이블을 편집하는 방법
KR101854652B1 (ko) * 2011-10-28 2018-06-14 에이치피프린팅코리아 주식회사 복수의 네트워크 인터페이스들을 지원하는 화상형성장치 및 그 장치에서의 라우팅 테이블을 편집하는 방법
TWI522808B (zh) * 2012-08-15 2016-02-21 宏碁股份有限公司 擴充模組及其控制方法
US20140156812A1 (en) * 2012-12-05 2014-06-05 Fortinet, Inc. Customized configuration settings for a network appliance
JP6238528B2 (ja) * 2013-02-22 2017-11-29 キヤノン株式会社 印刷装置
JP2014230005A (ja) * 2013-05-20 2014-12-08 富士ゼロックス株式会社 画像形成装置及びプログラム
JP2016066853A (ja) * 2014-09-24 2016-04-28 富士ゼロックス株式会社 画像形成装置、及びプログラム
JP6600957B2 (ja) * 2015-03-26 2019-11-06 富士ゼロックス株式会社 情報処理装置、およびプログラム
JP6891580B2 (ja) 2017-03-24 2021-06-18 富士フイルムビジネスイノベーション株式会社 通信装置およびプログラム
JP6963408B2 (ja) 2017-05-01 2021-11-10 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及びシステム
CN115714720A (zh) * 2021-08-20 2023-02-24 中移物联网有限公司 一种嵌入式网络框架及其支持多通信制式的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218921A (ja) * 2002-01-21 2003-07-31 Zion Ltd データ転送制御処理システム及びデータ転送制御処理方法
JP2005080024A (ja) * 2003-09-01 2005-03-24 Ricoh Co Ltd 無線ネットワークシステムおよび動作方法
JP2006121192A (ja) * 2004-10-19 2006-05-11 Nec Corp データ送信装置、データ送信方法、データ送信プログラムおよび記録媒体
JP2009031954A (ja) * 2007-07-26 2009-02-12 Nec Access Technica Ltd データ処理装置およびデータ転送方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535489B1 (en) * 1999-05-21 2003-03-18 Advanced Micro Devices, Inc. Method and apparatus in a network switch for handling link failure and link recovery in a trunked data path
US7577143B1 (en) * 2001-09-25 2009-08-18 Juniper Networks, Inc. Decoupling functionality related to providing a transparent local area network segment service
JP2004032076A (ja) 2002-06-21 2004-01-29 Canon Inc プリントシステムの撮像装置
US7339929B2 (en) * 2002-08-23 2008-03-04 Corrigent Systems Ltd. Virtual private LAN service using a multicast protocol
US7069312B2 (en) * 2002-12-06 2006-06-27 Microsoft Corporation Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments
ATE359636T1 (de) * 2004-06-21 2007-05-15 Matsushita Electric Ind Co Ltd Skalierbare und adaptive qos-architektur für mehrkanal multicast/broadcast dienste
JP4415773B2 (ja) * 2004-06-30 2010-02-17 株式会社日立製作所 仮想ルータ対応マルチキャストパケット中継装置
ATE427601T1 (de) * 2004-07-01 2009-04-15 Alcatel Lucent Verfahren zur auswahl zwischen netzwerkschnittstellen, gerat mit mehreren netzwerkschnittstellen und verarbeitungsschicht
US8032658B2 (en) * 2004-07-06 2011-10-04 Oracle America, Inc. Computer architecture and process for implementing a virtual vertical perimeter framework for an overloaded CPU having multiple network interfaces
US20060104292A1 (en) * 2004-11-15 2006-05-18 Gupta Vivek G System and methods for supporting multiple communications interfaces with single client interface
WO2008070217A2 (en) * 2006-08-09 2008-06-12 Qualcomm Incorporated Apparatus and method for supporting broadcast/multicast ip packets through a simplified sockets interface
US8208463B2 (en) * 2006-10-24 2012-06-26 Cisco Technology, Inc. Subnet scoped multicast / broadcast packet distribution mechanism over a routed network
US8996649B2 (en) * 2010-02-05 2015-03-31 Qualcomm Incorporated Utilizing policies for offload and flow mobility in wireless communications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218921A (ja) * 2002-01-21 2003-07-31 Zion Ltd データ転送制御処理システム及びデータ転送制御処理方法
JP2005080024A (ja) * 2003-09-01 2005-03-24 Ricoh Co Ltd 無線ネットワークシステムおよび動作方法
JP2006121192A (ja) * 2004-10-19 2006-05-11 Nec Corp データ送信装置、データ送信方法、データ送信プログラムおよび記録媒体
JP2009031954A (ja) * 2007-07-26 2009-02-12 Nec Access Technica Ltd データ処理装置およびデータ転送方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200600583013; 東根 俊 他: '複数ネットワークインターフェースを有するエンドホストでのサービス指向型ルーティングの実装' 電子情報通信学会技術研究報告 第106巻,第41号, 20060511, p.53〜56 *
JPN6013041233; 東根 俊 他: '複数ネットワークインターフェースを有するエンドホストでのサービス指向型ルーティングの実装' 電子情報通信学会技術研究報告 第106巻,第41号, 20060511, p.53〜56 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012165167A (ja) * 2011-02-07 2012-08-30 Seiko Epson Corp ネットワーク通信装置、方法、及びプログラム
JP2014220607A (ja) * 2013-05-07 2014-11-20 富士ゼロックス株式会社 画像形成装置及びプログラム
US9665810B2 (en) 2013-05-07 2017-05-30 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, and non-transitory computer readable medium
JP2015125716A (ja) * 2013-12-27 2015-07-06 ブラザー工業株式会社 接続管理プログラム、情報処理装置および情報処理装置の制御方法
JP2018176569A (ja) * 2017-04-14 2018-11-15 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
JP7005163B2 (ja) 2017-04-14 2022-01-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
JP2019036059A (ja) * 2017-08-10 2019-03-07 株式会社リコー 情報処理装置、通信システム、通信方法およびプログラム
JP7024247B2 (ja) 2017-08-10 2022-02-24 株式会社リコー 情報処理装置、通信システム、通信方法およびプログラム
US11025516B2 (en) 2018-01-05 2021-06-01 Canon Kabushiki Kaisha Communication apparatus provided with LAN interfaces and preventing connection to wrong network, control method, and storage medium
JP2019126983A (ja) * 2018-01-25 2019-08-01 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US11522757B2 (en) 2018-01-25 2022-12-06 Canon Kabushiki Kaisha Information processing apparatus, control method of information processing apparatus, and storage medium

Also Published As

Publication number Publication date
US8817785B2 (en) 2014-08-26
US8411682B2 (en) 2013-04-02
CN102035657B (zh) 2014-06-25
US20110080910A1 (en) 2011-04-07
CN102035657A (zh) 2011-04-27
JP5550297B2 (ja) 2014-07-16
US20130170491A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
JP5550297B2 (ja) 通信装置及び通信装置の通信方法並びにプログラム
JP4372145B2 (ja) 情報処理装置及び情報処理方法及び印刷制御システム
US9779369B2 (en) Process flow definition creating system, process flow definition creating device, and a method of creating process flow definition
JP4424711B2 (ja) ネットワークデバイス、ディレクトリサーバおよびネットワークシステム
JP5929107B2 (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
US9128645B2 (en) System including image forming apparatus and information processing apparatus, method performed under the system, image forming apparatus and information processing apparatus directed to the system, and non-transitory storage medium encoded with program directed to the apparatuses
US8738728B2 (en) Information processing apparatus that identifies transmission source, and control method and storage medium therefor
JP6156217B2 (ja) 画像形成システム、中継装置およびプログラム
EP3818435B1 (en) Print server, image forming apparatus, method of controlling printing operation and recording medium
JP2009289041A (ja) 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5606084B2 (ja) ジョブ処理装置、方法及びプログラム
JP5571911B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP2010226182A (ja) 画像読取装置および画像読取システムおよび画像読取プログラム
JP2023016993A (ja) 情報処理装置、情報処理方法
JP2003196056A (ja) プリントシステム及び方法
JP2008098789A (ja) 画像処理装置及びプログラム
JP5858092B2 (ja) プリンタ
JP5618745B2 (ja) 通信装置、通信方法、及びプログラム
JP6548460B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20100312867A1 (en) Device management apparatus, control method, and storage medium
JP2005184594A (ja) ネットワークシステムおよびネットワークシステム管理方法およびプログラムおよび記録媒体
JP2013098968A (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
JP7406705B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2011114451A (ja) 無線接続システム及びその初期接続方法、プログラム、並びにそのシステムを構成する情報処理装置
JP2009188487A (ja) ファクシミリデータ送信プログラムおよびファクシミリデータ送信方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R151 Written notification of patent or utility model registration

Ref document number: 5550297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151