JP4500535B2 - 情報処理装置及びその制御方法、情報処理システム、プログラム - Google Patents

情報処理装置及びその制御方法、情報処理システム、プログラム Download PDF

Info

Publication number
JP4500535B2
JP4500535B2 JP2003413836A JP2003413836A JP4500535B2 JP 4500535 B2 JP4500535 B2 JP 4500535B2 JP 2003413836 A JP2003413836 A JP 2003413836A JP 2003413836 A JP2003413836 A JP 2003413836A JP 4500535 B2 JP4500535 B2 JP 4500535B2
Authority
JP
Japan
Prior art keywords
information
user interface
function
type
search
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.)
Expired - Fee Related
Application number
JP2003413836A
Other languages
English (en)
Other versions
JP2005174027A (ja
Inventor
誠 廣田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003413836A priority Critical patent/JP4500535B2/ja
Priority to US11/005,268 priority patent/US20050144161A1/en
Publication of JP2005174027A publication Critical patent/JP2005174027A/ja
Application granted granted Critical
Publication of JP4500535B2 publication Critical patent/JP4500535B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

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)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ユーザインタフェース機器と周辺機器とがネットワークを介して相互に接続されて構成される情報処理システムにおいて、自身の機能を記述した機能情報とその機能に対応するユーザインタフェース情報を関連付けて保持する周辺機器とネットワークを介して接続され、該周辺機器を操作するためのユーザインタフェースを生成する情報処理装置と、ネットワークを介して接続されるユーザインタフェース機器からの操作を受け付ける情報処理装置及びそれらの制御方法、プログラムに関するものである。
携帯電話、デジタルカメラ、カーナビゲーションシステム、デジタルテレビをはじめとする情報家電、複写機やプリンタを含むオフィス機器など、情報機器形態の多様化が進んでいる。これに加え、インターネットの普及、あるいは、USB、Bluetoothなどの有線、無線の接続インタフェース技術の普及により、多様化した情報機器同士が通信ネットワークを介して連携することで、新しい機能やサービスが生み出されつつある。
例えば、デジタルカメラで撮影した画像は、PC(パーソナルコンピュータ)等の端末を仲介することなく、USB等のケーブルを介して、直接プリンタで印刷するダイレクトプリントが可能となっている。また、携帯電話と自動販売機が直接連動し、携帯電話上の操作で自動販売機の物品を購入することも技術的には可能である。
こうした機器間のさまざまな連携サービスにおいて、そのサービスを起動したり、そのサービスに対する各種設定等の各種操作を行うためには、その操作を行うためのユーザインタフェースが少なくとも必要である。
例えば、ダイレクトプリントの場合、デジタルカメラの液晶画面上に表示されるグラフィックユーザインタフェースは、「印刷」という動作を指定するためのボタン等の各種ユーザインタフェース要素が含まれる。さらに、出力用紙サイズ等、印刷のための各種設定を行うためのユーザインタフェース要素も必要である。
従来の技術では、こうした他の機器との連携動作のためのユーザインタフェースは、操作機器側、例えば、ダイレクトプリントのケースでは、デジタルカメラ上にあらかじめ実装されている。つまり、デジタルカメラの開発段階において、プリンタと連携してダイレクトプリントを行うことがあらかじめ想定されており、その想定に合わせたユーザインタフェースの実装がなされる。
例えば、特許文献1では、デジタル撮像装置から外部印刷装置へのダイレクトプリントを操作するユーザインタフェースに関する情報は、デジタル撮像装置側がすべて管理している構成が開示されている。
特開平10−065867号公報
従来の技術では、上述したように、機器間の連携を実行するための操作機器側のユーザインタフェースは、対象とする連携の内容を想定した上で設計・実装される。従って、想定外の動的な連携にユーザインタフェースは対応することができない。
例えば、ダイレクトプリントの場合、プリンタがどのような用紙サイズを持ちうるかはあらかじめ想定されている。従って、デジタルカメラ上の用紙サイズを選択するユーザインタフェース要素は、その想定された用紙サイズの中から一つを選択できるように実装される。しかしながら、想定外の用紙サイズに対応したプリンタが新規に開発されて、このプリンタに対してダイレクトプリントを行う場合、新規の用紙サイズを選択するためのユーザインタフェース要素をデジタルカメラ上に表現することはできない。
別の例として、デジタルカメラから画像を受信して、その画像を表示可能なデジタルテレビが開発されたとする。しかしながら、既存のデジタルカメラは、テレビと連携してテレビに画像を表示するという機能は想定されていないので、テレビと連携するためのユーザインタフェースは組み込まれていない。
そのため、デジタルカメラには、例えば、「テレビに表示」という選択肢がユーザインタフェース要素には含まれていない。従って、通信インタフェース等の機能としては、デジタルカメラと連携可能なデジタルテレビが開発されたとしても、デジタルカメラ上にそのためのユーザインタフェースがないため、その連携機能をユーザは利用できない。
本発明は上記の課題に鑑みてなされたものであり、より柔軟に機器間の連携を実現することができる情報処理装置及びその制御方法、情報処理システム、プログラムを提供することを目的とする。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
ネットワークを介して接続され周辺機器を操作するためのユーザインタフェース部品を生成する情報処理装置であって、
データのタイプを示す第1の情報と、当該データのタイプに対して実行可能な処理の種類をユーザインタフェース部品として表現するための第2の情報と、当該処理を実行する際に設定する設定値をユーザインタフェース部品として表現するための第3の情報とを関連付けて保持する前記周辺機器と接続する接続手段と、
処理の対象となるデータのタイプを特定する特定手段と、
前記ネットワーク上の周辺機器が保持する前記第1の情報のうち、前記特定手段で特定された前記データのタイプに相当する情報を検索手段に検索させる検索制御手段と、
前記検索制御手段によって検索された前記データのタイプに相当する情報を保持する周辺機器において関連付けられた前記第2の情報および前記第3の情報に基づく、前記周辺機器用のユーザインタフェース部品を生成する生成手段と、
当該情報処理装置の既存のユーザインタフェースを構成する既存のユーザインタフェース部品に、前記生成手段で生成したユーザインタフェース部品を追加して、前記既存のユーザインタフェースを更新する更新手段と
を備える。
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
ネットワークを介して接続され周辺機器を操作するためのユーザインタフェース部品を生成する情報処理装置の制御方法であって、
データのタイプを示す第1の情報と、当該データのタイプに対して実行可能な処理の種類をユーザインタフェース部品として表現するための第2の情報と、当該処理を実行する際に設定する設定値をユーザインタフェース部品として表現するための第3の情報とを関連付けて保持する前記周辺機器と接続する接続工程と、
処理の対象となるデータのタイプを特定する特定工程と、
前記ネットワーク上の周辺機器が保持する前記第1の情報のうち、前記特定工程で特定された前記データのタイプに相当する情報を検索手段に検索させる検索制御工程と、
前記検索制御工程によって検索された前記データのタイプに相当する情報を保持する周辺機器において関連付けられた前記第2の情報および前記第3の情報に基づく、前記周辺機器用のユーザインタフェース部品を生成する生成工程と、
当該情報処理装置の既存のユーザインタフェースを構成する既存のユーザインタフェース部品に、前記生成工程で生成したユーザインタフェース部品を追加して、前記既存のユーザインタフェースを更新する更新工程と
を備える。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ネットワークを介して接続され周辺機器を操作するためのユーザインタフェース部品を生成する情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
データのタイプを示す第1の情報と、当該データのタイプに対して実行可能な処理の種類をユーザインタフェース部品として表現するための第2の情報と、当該処理を実行する際に設定する設定値をユーザインタフェース部品として表現するための第3の情報とを関連付けて保持する前記周辺機器と接続する接続工程と、
処理の対象となるデータのタイプを特定する特定工程と、
前記ネットワーク上の周辺機器が保持する前記第1の情報のうち、前記特定工程で特定された前記データのタイプに相当する情報を検索手段に検索させる検索制御工程と、
前記検索制御工程によって検索された前記データのタイプに相当する情報を保持する周辺機器において関連付けられた前記第2の情報および前記第3の情報に基づく、前記周辺機器用のユーザインタフェース部品を生成する生成工程と、
当該情報処理装置の既存のユーザインタフェースを構成する既存のユーザインタフェース部品に、前記生成工程で生成したユーザインタフェース部品を追加して、前記既存のユーザインタフェースを更新する更新工程と
として実行させる
本発明によれば、より柔軟に機器間の連携を実現することができる情報処理装置及びその制御方法、情報処理システム、プログラムを提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<実施形態1>
実施形態1では、図1に示すように、無線LANインタフェースを持つデジタルカメラ101を使用して、無線LANの無線LAN基地局104を介して有線LAN105にアクセスでき、その有線LAN105上の複写機102やプリンタ103を操作する例について説明する。
図1は本発明の実施形態1に係る情報処理システムの構成図である。
101は、デジタルカメラである。102は、複写機である。103は、プリンタである。104は、無線LAN基地局である。105は、有線LANである。
ここで、デジタルカメラ101は、本発明の機能によって、有線LAN105上の周辺機器(複写機102やプリンタ103)を操作可能なユーザインタフェースを動的に生成することができるユーザインタフェース機器として機能する。
尚、図1では、105は有線LANとしているが、これに限定されず、例えば、インターネットやWANや電話回線、専用デジタル回線、ATMやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、またはこれらの組み合わせにより実現されるいわゆる通信ネットワークであり、データの送受信が可能であれば良い。
次に、デジタルカメラ101の機能構成について、図2を用いて説明する。
図2は本発明の実施形態1に係るデジタルカメラの機能構成図である。
同図において、201は、表示によるユーザへの出力やユーザからの入力を受け付けるUI(ユーザインタフェース)を実行するUI実行部である。202は、周辺機器との連携に応じてUIを更新するUI更新部である。
203は、周辺機器との連携に応じてその連携機能に対応したUI部品を生成するUI部品生成部である。
204は、自身と通信可能なネットワーク上の周辺機器を探索する周辺機器探索部である。
205は、自身と連携可能な周辺機器の機能を検索するための検索情報を生成する検索情報生成部である。
ここで、検索情報とは、ユーザインタフェース機器であるデジタルカメラ101が、周辺機器の中で、その周辺機器を操作するために動的なインタフェースを生成することができる周辺機器を検索するための情報であり、例えば、周辺機器の動作種類情報、動作対象情報、各種設定情報、動作結果出力情報の少なくとも1つを含む。
206は、検索情報生成部205で生成した検索情報を通信可能な周辺機器に送信し、その検索結果である連携可能な周辺機器の機能情報を取得する周辺機器機能情報取得部である。
207は、通信部であり、実施形態1では、無線LANによる通信を実現する通信部として構成される。
208は、周辺機器との連携機能に対するユーザの操作によって得られる制御情報を周辺機器に送信する制御情報送信部である。
次に、複写機102の機能構成について、図3を用いて説明する。
図3は本発明の実施形態1に係る複写機の機能構成図である。
尚、プリンタ103の機能構成についても、図3と同様の機能構成を有する。
同図において、301は、他の機器(実施形態1の場合は、デジタルカメラ101)から、検索情報生成部205で生成した検索情報を通信部307を経由して受信する検索情報受信部である。
302は、複写機102の機能情報を保持する自機能情報保持部である。
この機能情報は、例えば、周辺機器である複写機102の動作種類情報、動作対象情報、各種設定情報、動作結果出力情報の少なくとも1つを含む。また、自機能情報保持部302では、機能情報に加えて、その機能に対応するユーザインタフェース情報を関連付けて保持している。このユーザインタフェース情報は、ユーザインタフェース機器上で、自身の操作を可能にするためのユーザインフェースを作成するための情報である。
303は、検索情報受信部301で受信した他の機器(実施形態1の場合は、デジタルカメラ101)からの検索情報と、自機能情報保持部302が保持する自機能情報とを照合して、連携可能な機能を検索する連携機能検索部である。
304は、連携機能検索部303の検索結果を、検索情報の送信元(実施形態1の場合、デジタルカメラ101)へ送信する連携機能情報送信部である。
305は、制御情報送信部208から印刷を制御する制御情報を受信する印刷情報受信部である。
306は、印刷情報受信部305が受信した印刷情報に基づいて印刷を実行する印刷実行部である。
307は通信部であり、実施形態1の場合、有線LAN105による通信を実現する通信部として構成される。
次に、デジタルカメラ101のハードウェア構成について、図4を用いて説明する。
図4は本発明の実施形態1に係るデジタルカメラのハードウェア構成を示す図である。
同図において、401はCPUであり、後述するデジタルカメラ101の動作手順を実現するプログラムに従って動作する。
402はRAMであり、上記プログラムの動作に必要な記憶領域を提供する。403はROMであり、上記プログラムの動作手順を実現するプログラムを保持する。
404はLCDであり、グラフィックユーザインタフェースや撮影画像を表示する。
405は物理ボタンであり、ユーザは、この物理ボタン405を操作することでデジタルカメラ101への各種入力を行う。物理ボタン405は、単純な押下ボタンの他、後述の十字キー等を含む。
406は通信デバイスであり、実施形態1では、無線LANカードを想定している。407は撮像部であり、光学系やCCD等から構成され、被写体を撮像する。
408はバスであり、デジタルカメラ101の上記各構成要素を相互に接続する。
次に、複写機102のハードウェア構成について、図5を用いて説明する。
図5は本発明の実施形態1に係る複写機のハードウェア構成を示す図である。
同図において、501はCPUであり、後述する複写機102の動作手順を実現するプログラムに従って動作する。
502はRAMであり、上記プログラムの動作に必要な記憶領域を提供する。503はROMであり、上記プログラムの動作手順を実現するプログラムを保持する。
504はHDD(ハードディスクドライブ)であり、自機能情報保持部302は、このHDD504によって実現され、自機能情報を保持する。
505はタッチパネルであり、複写機102に対する各種操作を実行するための入力を行う。506は印刷部であり、受信した印刷データに基づく印刷媒体への印刷を実行し、その印刷媒体を出力する。
507は通信デバイスであり、実施形態1では、有線LANカードを想定している。508はバスであり、複写機102の上記各構成要素を相互に接続する。
次に、プリンタ103のハードウェア構成について、図6を用いて説明する。
図6は本発明の実施形態1に係るプリンタのハードウェア構成を示す図である。
同図において、601はCPUであり、後述するプリンタ103の動作手順を実現するプログラムに従って動作する。
602はRAMであり、上記プログラムの動作に必要な記憶領域を提供する。603はROMであり、上記プログラムの動作手順を実現するプログラムを保持する。
604はタッチパネルであり、プリンタ103に対する各種操作を実行するための入力を行う。605は印刷部であり、受信した印刷データに基づく印刷媒体への印刷を実行し、その印刷媒体を出力する。
606は通信デバイスであり、実施形態1では、有線LANカードを想定している。607はバスであり、上記各構成要素を相互に接続する。
ここで、複写機102やプリンタ103の自機能情報保持部302が保持する自身の機能情報について説明する。
複写機102の機能情報の記述例を図23A〜図23Dに、プリンタ103の機能情報の記述例を図24に示す。機能情報は、XML文書として記述される。このXML文書中の各要素について説明する。
<deviceName>要素
その機器の名前を記述する。図23Aでは、複写機102の名前が「複写機A」であることを表している。
<function>要素
その機器の一つの機能を記述する。その機能を示す情報である機能情報は、動作種類情報、動作対象情報、各種設定情報、動作結果出力情報の少なくとも1つ有している。
<action>要素
動作種類情報を記述する。例えば、
<action>print</action>
という記述は、その機能の動作種類が、印刷機能:画像データを印刷することを意味する。
<object>要素
動作対象情報を記述する。子要素の<type>要素の中に、動作対象情報のタイプを記述する。例えば、
<object>
<type>image</type>
</object>
という記述は、その機能が対象とするデータが、画像データであることを意味する。
<setting>要素
各種設定情報を記述する。例えば、「印刷」という機能の場合は、印刷枚数や出力用紙サイズ等の設定項目がある。各項目に対応する要素の「type」属性は、その項目の値の型を指定する。例えば、<number type=”integer”/>は、<number>要素も値が整数であることを意味する。「type」属性は、その他に、「string」(文字列)などを値に取りうる。
<output>要素
動作結果出力情報を記述する。子要素の<type>要素の中に、動作結果出力情報のタイプを記述する。例えば、「印刷」という機能の場合は、紙が出力されるので、
<output>
<type>paper</type>
</output>
のように記述する。
以上は、機能の中身を記述するものである。これに加えて、自機能情報保持部302は、その機能をユーザインタフェース上に表現するためのユーザインタフェース情報も保持している。これらを以下に示す。
<description>要素
上記の<action>、<object>、<setting>、<output>に対する付加情報を記述する。特に、こうした機能をUI上で表現するための情報を記述する。例えば、
<action>scan</action>
・・・
<description ref=”action”>
<name>スキャン</name>
</description>
の<description>要素は、<action>要素について記述しており、<name>は、その動作の名前を記述している。上記例は、その動作を「スキャン」と表現することを意味している。「ref」属性は、どの要素に対する記述かを示す属性で、W3C(http://www.w3c.org)の仕様であるXpath(http://www.w3.org/TR/xpath)で指定する。
<input>要素
主に、<setting>要素内の各データをユーザインタフェースでセットするためのユーザインタフェース部品で、フリーフォームでデータを入力する部品であることを示す。「ref」属性は、どの要素に対するユーザインタフェース部品かを示す属性で、これもXpathで指定する。
子要素の<label>要素は、そのユーザインタフェース部品のラベルの記述であり、これもユーザインタフェース用での表現に使用することができる。この要素は、W3C(http://www.w3c.org)の仕様であるXFormsの<input>要素の仕様に従ったものである(http://www.w3.org/TR/2003/PR−xforms−20030801/slice8.html#ui−input)。
例えば、
<setting>
<copies/>
</setting>
・・・
<input ref=”setting/copies”>
<label>部数</label>
</input>
は、<copies/>要素(コピー枚数を表すデータ)は、「部数」というラベルのついたフリーフォームのユーザインタフェース部品(グラフィックユーザインタフェースの場合、テキストボックスなど)で入力できることを意味する。
<select1>要素
主に、<setting>要素内の各データをユーザインタフェースでセットするためのユーザインタフェース部品で、複数の候補から一つの候補を選択する部品であることを示す。「ref」属性、<label>要素等は<input>要素と同じであり、これもやはり、W3C(http://www.w3c.org)の仕様であるXFormsの<select1>要素の仕様に従ったものである(http://www.w3.org/TR/2003/PR−xforms−20030801/slice8.html#ui−selectOne)。
例えば、
<setting>
<papersize/>
</setting>
・・・
<select1 ref=”setting/papersize”>
<label>用紙サイズ</label>
<choices>
<item>
<label>A4</label>
<value>a4</value>
</item>
<item>
<label>B5</label>
<value>b5</value>
</item>
<item>
<label>L版</label>
<value>photo</value>
</item>
<item>
<label>はがき</label>
<value>letter</value>
</item>
</choices>
</select1>
は、<papersize/>要素(用紙サイズを表すデータ)は、「用紙サイズ」というラベルで、「A4」、「B5」、「L版」、「はがき」の中から一つを選択する選択型のユーザインタフェース部品(グラフィックユーザインタフェースの場合、プルダウンメニューやラジオボタンなど)で入力できることを意味する。<value>要素は、それぞれの選択肢に対応する内部データ表現である。
次に、実施形態1における、デジタルカメラ101、複写機102、プリンタ103の動作について、図7を用いて説明する。
図7は本発明の実施形態1に係る情報処理システムの動作を示すフローチャートである。
尚、図7では、例えば、デジタルカメラ101が、撮影画像の内の1枚をLCD404に表示している状態であるとする。
デジタルカメラ101は、ユーザからの入力として、連携機能指示の有無を判定する(ステップS701)。ユーザが「Menu」ボタンを押下すると、図8(a)のように画面上にメニューが表示される。この中の「他の機器で処理」をユーザが選択したとする。これは、ステップS701の「連携機能指示」に相当する。
連携機能指示がない場合(ステップS701でNO)、連携機能指示があるまで待機する。一方、連携機能指示がある場合(ステップS701でYES)、ステップS702に進む。
これを受けて、周辺機器探索部204は、有線LAN105上の通信可能な周辺機器を探索する(ステップS702)。この周辺機器の探索方法は、本発明には含まれないので詳しく述べないが、例えば、所定のサブネットに属する機器を探索する方法により実現する。これにより、例えば、有線LAN105上の複写機102、プリンタ103、その他のPCなどが探索される。
続いて、検索情報生成部205は、連携機能を検索するための検索条件である検索情報を生成する(ステップS703)。デジタルカメラ101は、撮影画像の内の1枚を表示している状態であるので、「他の機器で処理」は、その画像を対象とした何らかの処理となる。
そこで、検索情報生成部205は、検索条件である検索情報として、図9のようなXML文書を生成する。尚、図9中の<any/>要素は、その親要素の値が何でもよいことを意味する。従って、この検索条件である検索情報は、動作対象が「画像データ」である機能を検索することを表現している。
この検索情報を、図10のようにHTTPリクエストによって、周辺機器探索部204によって探索された周辺機器それぞれに送信する(ステップS704)。そして、その検索情報に対する検索結果の受信の有無を判定する(ステップS705)。
検索結果を受信していない場合(ステップS705でNO)、受信するまで待機する。一方、検索結果を受信した場合(ステップS705でYES)、ステップS706に進む。
一方、複写機102は、デジタルカメラ101からの検索情報の受信の有無を判定する(ステップS709)。検索情報を受信していない場合(ステップS709でNO)、受信するまで待機する。一方、検索情報を受信した場合(ステップS709でYES)、ステップS710に進む。ここでは、例えば、図10のような、HTTPリクエストを受信する。このHTTPリクエストから、図9の検索情報を抽出する。
連携機能検索部303は、この抽出した検索情報をキーに、自機能情報保持部302が保持する自身の機能の中からマッチする機能情報を検索する(ステップS710)。
複写機102の機能情報(図23A〜図23D)には、3つの<function>要素、即ち、3つの機能が記述されている。この中で、図9の検索情報、即ち、「<action>要素が何でもよく、<object>要素のタイプが”image”のもの」に一致する記述は、idが”Copier−Print”の機能だけである。
つまり、これは、デジタルカメラ101の画像を、複写機102が「印刷」できることを意味する。そこで、複写機102の連携機能情報送信部304は、<function id=” Copier−Print”>要素の中身だけを検索結果とし、<deviceName>要素も加えて、図25のように、HTTPレスポンスの形で、検索情報に対する検索結果としてデジタルカメラ101に送信する(ステップS711)。
プリンタ103も、複写機102と全く同様の動作を行う。この場合、図24に記述される機能の中で、図9の検索情報にマッチする<function id=”Printer−Print”>要素の中身と<deviceName>要素を、図26のように、HTTPレスポンスの形で、検索情報に対する検索結果としてデジタルカメラ101に送信する。
デジタルカメラ101の通信部207が、複写機102から図25のHTTPレスポンスを受信すると、周辺機器機能情報取得部206が、連携機能検索結果である<function id=” Copier−Print”>要素の中身を抽出する。そして、UI部品生成部203は、この中のユーザインタフェース関連情報からこの連携機能をユーザが利用するためのユーザインタフェース部品を生成する(ステップS706)。
具体的には、まず、<deviceName>要素から、複写機102のデバイス名が「複写機A」であることがわかる。さらに、<action>要素を指している<description>要素の<name>要素から、この機能の動作が「印刷」あるいは「プリント」という名前で表現できることがわかる。
そこで、図8(a)のメニューのリストに、「印刷(複写機A)」を加える。もちろん、「プリント(複写機A)」でもかまわない。何らかの条件で一つを選べばよい。こうして、「画像を複写機102で印刷する」というデジタルカメラ101と複写機102の連携機能を起動するためのユーザインタフェース部品がデジタルカメラ101のユーザインタフェースに追加される。
プリンタ103からの連携機能検索結果に対しても同様の処理を行い、「印刷(プリンタB)」がメニューに追加される。以上の結果、メニューリストを含むユーザインタフェースは、UI更新部202によって、図8(b)のように更新される(ステップS707)。
ステップS706のユーザインタフェース部品生成、ステップS707のユーザインタフェース更新で行われることは、もう一つある。それは、複写機102やプリンタ103で印刷をするための、各種設定値を設定するユーザインタフェースの生成である。そのために必要な情報は、検索結果に含まれる複写機102やプリンタ103の機能情報に記述されている。
ここでは、複写機102の各種設定のためのユーザインタフェースが、図25の<function id=” Copier−Print”>要素から生成される仕組みを説明する。<setting>要素内の各要素を指示するユーザインタフェース部品の記述として、<input>要素や<select1>要素がある。
例えば、
<input ref=”setting/number”>
<label>部数,印刷枚数</label>
</input>
は、<setting>内の<number/>要素は、「部数」もしくは「印刷枚数」というラベルで表現でき、フリーフォームのユーザインタフェース部品で設定することを意味している。さらに、<number/>要素は、「type」属性を持ち、その値が「integer」であるので、設定値は整数であることがわかる。また、
<select1 ref=”setting/papersize”>
<label>用紙サイズ</label>
<choices>
<item>
<label>A4</label>
<value>a4</value>
</item>
<item>
<label>B5</label>
<value>b5</value>
</item>
<item>
<label>最大</label>
<value>a3</value>
</item>
<item>
<label>最小</label>
<value>a5</value>
</item>
</choices>
</select1>
は、<setting>内の<papersize/>要素は、「用紙サイズ」というラベルで表現でき、選択型のユーザインタフェース部品で設定することを意味している。選択リストの値は、「A4」、「B5」、「最大」、「最小」のいずれかである。
このような情報から、UI部品生成部203及びUI更新部202は、図11(a)のようなユーザインタフェースを生成する。ここでは、「印刷枚数」及び「用紙サイズ」の2つの設定項目がある。十字キーで「印刷枚数」を選択状態にし、さらに十字キーで右または左を押すと、値である整数値が、それぞれカウントアップ/カウントダウンする。「用紙サイズ」を選択状態にし、十字キーで右または左を押すと、「A4」、「B5」、「最大」、「最小」の間で値が変わる。
一番下の「印刷実行」という文字列は、<description>要素の<name>要素から得られるものである。この「印刷実行」を選択状態にし、十字キーの中央を押すと、制御情報送信部208が、設定された情報と現在対象となっている画像データを複写機102に送信し、その設定で「印刷」が実行される。
図11(a)のユーザインタフェースは、図8(b)において、ユーザが「印刷(複写機A)」を選択状態にして、十字キーの中央を押したときに起動される。同様にして、プリンタ103の各種設定のためのユーザインタフェースは、図26の<function id=” Printer−Print”>要素から生成され、図11(b)のようになる。
以上説明したように、実施形態1によれば、デジタルカメラ101と、周辺機器である複写機102、プリンタ103との連携機能が動的に発見され、その連携機能を利用するためのユーザインタフェースを動的に生成することができる。
そのため、自身が保持する画像データを、複写機やプリンタで印刷するという機能そのものやそのためのユーザインタフェースは、デジタルカメラ101には事前には組み込まれていない場合でも、必要に応じて、適切なユーザインタフェースをデジタルカメラ101上で生成することができる。
同様にして、この他の想定外の連携機能、例えば、周辺機器として画像を受信して表示できるデジタルテレビがある場合、デジタルカメラ101の画像をそのデジタルテレビに表示するという連携機能とそのためのユーザインタフェースも、同様にして動的に生成することができる。
<実施形態2>
実施形態2では、図12に示すように、PC1201、複写機102、プリンタ1203が有線LAN1205上に接続され、その有線LAN1205に新規にスキャナ1204を接続し、PC1201が有線LAN1205を介してスキャナ1204を操作する例について説明する。
図12は本発明の実施形態2に係る情報処理システムの構成図である。
1201は、PCである。1202は、複写機である。1203は、プリンタである。1204は、スキャナである。1205は、有線LANである。
ここで、PC1201は、本発明の機能によって、有線LAN1205上の周辺機器(複写機1202、プリンタ1203、スキャナ1204)を操作可能なユーザインタフェースを動的に生成することができるユーザインタフェース機器として機能する。
尚、図12では、1205は有線LANとしているが、これに限定されず、例えば、インターネットやWANや電話回線、専用デジタル回線、ATMやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、またはこれらの組み合わせにより実現されるいわゆる通信ネットワークであり、データの送受信が可能であれば良い。
次に、PC1201の機能構成について、図13を用いて説明する。
図13は本発明の実施形態2に係るPCの機能構成図である。
同図において、1301は、表示によるユーザへの出力やユーザからの入力を受け付けるUI実行部である。
1302は、周辺機器との連携に応じてUIを更新するUI更新部である。
1303は、周辺機器との連携に応じてその連携機能に対応したUI部品を生成するUI部品生成部である。
1304は、ネットワーク上の周辺機器間で連携可能な連携機能を検索する連携機能検索部である。
1305は、連携機能検索部1304で検索された連携機能を登録する連携機能登録部である。
1306は、自身と通信可能なネットワーク上の周辺機器を探索する周辺機器探索部である。
1307は、自身と連携可能な周辺機器の機能を検索するための検索情報を生成する検索情報生成部である。
ここで、検索情報とは、ユーザインタフェース機器であるPC1201が、周辺機器の中で、その周辺機器を操作するために動的なインタフェースを生成することができる周辺機器を検索するための情報であり、例えば、周辺機器の動作種類情報、動作対象情報、各種設定情報、動作結果出力情報の少なくとも1つを含む。
1308は、検索情報生成部1307で生成した検索情報を通信可能な周辺機器に送信し、その検索結果である連携可能な周辺機器の機能情報を取得する周辺機器機能情報取得部である。
1309は、通信部であり、実施形態2では、有線LAN1205による通信を実現する通信部として構成される。
1310は、周辺機器との連携機能に対するユーザの操作によって得られる制御情報を周辺機器に送信する制御情報送信部である。
次に、スキャナ1204の機能構成について、図14を用いて説明する。
図14は本発明の実施形態2に係るスキャナの機能構成図である。
同図において、1401は、他の機器(実施形態2の場合は、PC1201)から、検索情報生成部1306で生成した検索情報を通信部を経由して受信する検索情報受信部である。
1402は、スキャナ1204の機能情報を保持する自機能情報保持部である。
この機能情報は、例えば、周辺機器である複写機102の動作種類情報、動作対象情報、各種設定情報、動作結果出力情報の少なくとも1つを含む。また、自機能情報保持部1402では、機能情報に加えて、その機能に対応するユーザインタフェース情報を関連付けて保持している。このユーザインタフェース情報は、ユーザインタフェース機器上で、自身の操作を可能にするためのユーザインフェースを作成するための情報である。
1403は、検索情報受信部1401で受信した他の機器(実施形態2の場合は、PC1201)からの検索情報と、自機能情報保持部1402が保持する自機能情報とを照合して、連携可能な機能を検索する連携機能検索部である。
1404は、連携機能検索部1403の検索結果を、検索情報の送信元(実施形態2の場合、PC1201)へ送信する連携機能情報送信部である。
1405は、制御情報送信部1310からスキャナ1204を制御するためのスキャン情報を受信するスキャン情報受信部である。
1406は、スキャン情報受信部1405が受信したスキャン情報に基づいて、スキャンを実行するスキャン実行部である。
1407は通信部であり、実施形態2の場合、有線LAN1205による通信を実現する通信部として構成される。
次に、PC1201のハードウェア構成について、図15を用いて説明する。
図15は本発明の実施形態2に係るPCのハードウェア構成を示す図である。
同図において、1501はCPUであり、後述するPC1201の動作手順を実現するプログラムに従って動作する。
1502はRAMであり、上記プログラムの動作に必要な記憶領域を提供する。1503はROMであり、上記プログラムの動作手順を実現するプログラムを保持する。
1504はHDD(ハードディスクドライブ)であり、連携機能登録部1305は、このHDD1504によって、実現され、連携機能情報を保持する。
1505はキーボードである。1506はマウスである。
1507はCRTディスプレイであり、グラフィックユーザインタフェースを表示する。尚、CRTディスプレイの代りに、LCDディスプレイ等の他のディスプレイであっても良い。
1508は通信デバイスであり、実施形態2では、LANカードを想定している。1509はバスであり、PC1201の上記各構成要素を相互に接続する。
次に、スキャナ1204のハードウェア構成について、図16を用いて説明する。
図16は本発明の実施形態2に係るスキャナのハードウェア構成を示す図である。
同図において、1601CPUであり、後述するスキャナ1204の動作手順を実現するプログラムに従って動作する。
1602はRAMであり、上記プログラムの動作に必要な記憶領域を提供する。1603はROMであり、上記プログラムの動作手順を実現するプログラムを保持する。
1604はスキャン部であり、スキャン対象の原稿をスキャンする。1605は物理ボタンであり、ユーザからの操作を可能とする。
1606通信デバイスであり、実施形態2では、LANカードを想定している。1607はバスであり、スキャナ1204の上記各構成要素を相互に接続する。
尚、複写機1202、プリンタ1203の機能構成は、実施形態1の図3と同様である。また、複写機1202及びプリンタ1203のハードウェア構成図はそれぞれ、実施形態1の図5及び図6と同様である。
ここで、スキャナ1204の自機能情報保持部1402が保持する自身の機能情報は、図27に示す。また、複写機1202及びプリンタ1203の機能情報は、それぞれ図23A〜図23D及び図24である。
次に、実施形態2における、PC1201、複写機1202、プリンタ1203、スキャナ1204の動作について、図17を用いて説明する。
図17は本発明の実施形態2に係る情報処理システムの動作を示すフローチャートである。
PC1201上で、図18(a)のようなアプリケーションをユーザが立ち上げ、「連携機能の検索」ボタンによる、連携機能検索指示の有無を待機する(ステップS1701)。連携機能検索指示がない場合(ステップS1701でNO)、連携機能検索指示があるまで待機する。一方、連携機能検索指示がある場合(ステップS1701でYES)、ステップS1702に進む。
周辺機器探索部1306は、有線LAN1205上の通信可能な周辺機器を探索する。(ステップS1702)。この周辺機器の探索方法は、本発明には含まれないので詳しく述べないが、例えば、所定のサブネットに属する機器を探索する方法により実現する。これにより、例えば、有線LAN1205上の複写機1202、プリンタ1203、スキャナ1204、その他のPCなどが探索される。
続いて、検索情報生成部1307は、連携機能を検索するための検索条件である検索情報を生成する(ステップS1703)。検索情報生成部1307は、検索条件である検索情報として、図19のようなXML文書を生成する。ここでの検索は、検索したい機能の動作種類や動作対象に特に指定はないので、<action>要素、<object>要素ともに、<any/>要素を子要素としている。
この検索情報を、図20のようにHTTPリクエストによって、周辺機器探索部1306によって探索された周辺機器それぞれに送信する(ステップS1704)。そして、その検索情報に対する検索結果の受信の有無を判定する(ステップS1705)。
検索結果を受信していない場合(ステップS1705でNO)、受信するまで待機する。一方、検索結果を受信した場合(ステップS1705でYES)、ステップS1706に進む。
一方、スキャナ1204は、検索情報の受信の有無を判定する(ステップS1710)。検索情報を受信していない場合(ステップS1710でNO)、受信するまで待機する。一方、検索情報を受信した場合(ステップS1710でYES)、ステップS1711に進む。ここでは、例えば、図20のようなHTTPリクエストを受信する。このHTTPリクエストから、図19の検索情報を抽出する。
連携機能検索部1403は、この抽出した検索情報をキーに、自機能情報保持部1402が保持する自身の機能の中からマッチする機能情報を検索する(ステップS1711)。
スキャナ1204の機能情報(図27)には、<function id=” Scanner−Scan”>が1つだけ記述されている。これは、図19の検索情報に一致する。そこで、スキャナ1204の連携機能情報送信部1404は、<function id=” Scanner−Scan”>要素の中身だけを検索結果とし、<deviceName>要素も加えて、図28のように、HTTPレスポンスの形で、検索情報に対する検索結果としてPC1201に送信する(ステップS1712)。
複写機1202、プリンタ1203も、同様の動作を行う。
図23に記述される機能の中で、3つの機能、<function id=”Copier−Print”>、<function id=”Copier−Scan”>、<function id=”Copier−Copy”>すべてが、図19の検索情報にマッチするので、それらの要素すべての中身と<deviceName>要素を、図29A〜図29Dのように、HTTPのレスポンスの形で、検索情報に対する検索結果としてPC1201に送信する。
一方、プリンタ1203の場合は、図24に記述される機能の中で、図19の検索情報にマッチする<function id=”Printer−Print”>要素の中身と<deviceName>要素を、図26のように、HTTPレスポンスの形で、検索情報に対する検索結果としてPC1201に送信する。
PC1201の通信部1309が、各周辺機器からのHTTPレスポンスを受信すると、周辺機器機能情報取得部1308が、これらから連携機能検索結果である<function>要素の中身を抽出する。そして、連携機能検索部1304が、抽出した<function>同士を照合し、周辺機器間で連携可能な機能の組み合わせを検索する(ステップS1706)。また、この連携機能検索部1304で検索された、周辺機器間で連携可能な機能の組み合わせに関する情報は、連携機能登録部1305に登録される。
連携可能な組み合わせは、ある周辺機器の<function>要素中の<output>要素と、別の周辺機器の<function>要素中の<object>要素の<type>の値が一致するかどうか調べることで検索することができる。
例えば、スキャナ1204の機能、
<function id=”Scanner−Scan”>
<action>scan</action>
<object>・・・ </object>
<setting>・・・</setting>
<output>
<type>image</type>
</output>
・・・略・・・
</function>
の<output>要素と、
プリンタ1203の機能、
<function id=”Printer−Print”>
<action>print</action>
<object>
<type>image</type>
</object>
<setting>・・・ </setting>
・・・略・・・
</function>
の<object>要素は、
ともに<type>の値が、「image」で一致する。
これは、スキャナ1204が紙をスキャンして出力する画像データを、プリンタ1203が受け取って印刷することができることを意味する。ユーザから見ればこれは「コピー」という複合機能になる。
こうして、連携機能検索部1304によって検索された周辺機器間の連携機能に対して、UI部品生成部1303は、この連携機能をユーザが利用するためのユーザインタフェース(UI)部品を生成する(ステップS1707)。
具体的には、図26、図28の<deviceName>要素から、スキャナ1204のデバイス名が「スキャナC」、プリンタ1203のデバイス名が「プリンタB」であることがわかる。
また、図28の<function id=”Scanner−Scan”>の<action>要素を指している<description>要素の<name>要素から、この機能の動作が「スキャン」という名前で表現できることがわかる。また、図26の<function id=”Printer−Print”>の<action>要素を指している<description>要素の<name>要素から、この機能の動作が「プリント」という名前で表現できることがわかる。
これらから、この連携機能に対し、「スキャン(スキャナC)→プリント(プリンタB)」という名前をつける(ステップS1707)。
同様な手順で、その他にも、<function id=”Scanner−Scan”>と<function id=”Copier−Print”>、<function id=”Copier−Scan”>と<function id=”Printer−Print”>といった連携機能を検索でき、それぞれに、「スキャン(スキャナC)→印刷(複写機A)」、「スキャン(複写機A)→プリント(プリンタB)」という名前をつける。これらを、UI更新部1302は、図18(b)のようにユーザインタフェース上に反映して更新する(ステップS1708)。
ステップ1707のユーザインタフェース部品生成、ステップS1708のユーザインタフェース更新で行われることは、もう一つある。それは、この連携機能に含まれるスキャナ1204の「スキャン」機能やプリンタ1203の「プリント」機能に対する各種設定値を設定するユーザインタフェースの生成である。そのために必要な情報は、各周辺機器の機能情報に記述されている。
具体的には、スキャナ1204の「スキャン」機能<function id=”Scanner−Scan”>の<setting>要素は中身をもたないので、特に設定の必要がない。一方、プリンタ1203の「プリント」機能<function id=”Printer−Print”>の<setting>要素は中身を持ち、この<setting>要素内の各要素を指示するユーザインタフェース部品の記述として、<input>要素や<select1>要素がある。
例えば、
<input ref=”setting/number”>
<label>部数,印刷枚数</label>
</input>
は、<setting>内の<number/>要素は、「部数」もしくは「印刷枚数」というラベルで表現でき、フリーフォームのユーザインタフェース部品で設定することを意味している。さらに、<number/>要素は、「type」属性を持ち、その値が「integer」であるので、設定値は整数であることがわかる。
また、
<select1 ref=”setting/size−of−paper”>
<label>用紙サイズ</label>
<choices>
<item>
<label>A4</label>
<value>a4</value>
</item>
<item>
<label>B5</label>
<value>b5</value>
</item>
<item>
<label>L版</label>
<value>photo</value>
</item>
<item>
<label>はがき</label>
<value>letter</value>
</item>
</choices>
</select1>
は、<setting>内の<size−of−paper/>要素は「用紙サイズ」というラベルで表現でき、選択型のユーザインタフェース部品で設定することを意味している。選択リストの値は、「A4」、「B5」、「L版」、「はがき」のいずれかである。
このような情報から、UI部品生成部1303、UI更新部1302は、図21のようなユーザインタフェースを生成する。「部数」にはテキストボックスを割り当て、選択型である「用紙サイズ」にはプルダウンメニューを割り当てる。プルダウンメニューのリスト項目は、「A4」、「B5」、「L版」、「はがき」である。
以上説明したように、実施形態2によれば、PC1201を使用するユーザは、周辺機器である複写機1202、プリンタ1203、スキャナ1204のいずれかの組み合わせが相互に連携した複合機能を動的に発見し、その連携機能を利用するためのユーザインタフェースをPC1201上に動的に生成することができる。
そのため、周辺機機器間の連携機能に対するユーザインタフェースがPC1204に事前には組み込まれていない場合でも、例えば、スキャナ1204を新規購入してLANに接続した場合でも、「スキャン(スキャナC)→プリント(プリンタB)」、「スキャン(スキャナC)→印刷(複写機A)」といった連携機能とそのためのユーザインタフェースをPC1201上に動的に生成することができる。
<実施形態3>
上記実施形態では、グラフィックユーザインタフェースを用いるケースを説明したが、音声認識や音声合成を用いた音声インタフェースでもよい。
その一例として、実施形態2のPC1201のユーザインタフェースに、音声入出力機能を加える場合を想定して説明する。
まず、PC1201のUI実行部1301は、音声入出力機能を備えており、あらかじめ次のような音声認識文法を保持している。
<grammar>
<rule id=”command”>
<one−of>
<item>レンケーキノーノケンサク</item>
</one−of>
</rule>
</grammar>
この文法は、W3Cの策定するSRGS(http://www.w3c.org/TR/speech−grammar/)という仕様に基づいて記述されており、「レンケーキノーノケンサク」(連携機能検索)という音声入力を受け付けることを意味する。ユーザが図18(a)の状態において、「レンケーキノーノケンサク」と音声入力すると、図17のステップS1702以降の処理に進む。
ここで、上記実施形態2では、周辺機器間の3つの連携機能が検索され、それぞれ「スキャン(スキャナC)→プリント(プリンタB)」、「スキャン(スキャナC)→印刷(複写機A)」、「スキャン(複写機A)→プリント(プリンタB)」という名前を付け、図18(b)のようにユーザインタフェース上に反映される構成について説明した。
これに対し、実施形態3では、UI部品生成部1303は、さらに、これらの文字列から、以下のような音声認識文法を生成する。
<grammar>
<rule id=”composite−function”>
<one−of>
<item>スキャナシーデスキャンシテプリンタビーデプリント</item>
<item>スキャナシーデスキャンシテフクシャキエーデインサツ</item>
<item>フクシャキエーデスキャンシテプリンタビーデプリント</item>
</one−of>
</rule>
</grammar>
ここで、各<item>要素の値は、それぞれ「スキャン(スキャナC)→プリント(プリンタB)」、「スキャン(スキャナC)→印刷(複写機A)」、「スキャン(複写機A)→プリント(プリンタB)」という文字列から生成される。これは、次のような処理によって可能となる。
1. 「A(B)→C(D)」という文字列に対し、「BデAシテDデC」と変換
2. A、B、C、Dそれぞれに読みをつけてカタカナ表記する。
読みを付ける処理は、テキスト音声合成などで用いられる公知の技術によって可能である。これにより、ユーザは、「スキャナシーデスキャンシテプリンタビーデプリント」などと発声することにより、検索された連携機能の一つを起動することが可能となる。
さらに、UI部品生成部1303は、この連携機能に含まれるスキャナ1204の「スキャン」機能やプリンタ1203の「プリント」機能に対する各種設定値を設定するユーザインタフェースの生成において、これを音声入力でも可能とするための音声認識文法を生成する。そのために必要な情報は、各周辺機器の機能情報に記述されている。
スキャナ1204の「スキャン」機能<function id=”Scanner−Scan”>の<setting>要素は中身を持たないので、特に設定の必要がない。
一方、プリンタ1203の「プリント」機能<function id=”Printer−Print”>の<setting>要素は中身を持ち、この<setting>要素内の各要素を指示するユーザインタフェース部品の記述として、<input>要素や<select1>要素がある。このうちの、
<input ref=”setting/number”>
<label>部数,印刷枚数</label>
</input>
は、<setting>内の<number/>要素は、「部数」もしくは「印刷枚数」というラベルで表現でき、フリーフォームのユーザインタフェース部品で設定することを意味している。さらに、<number/>要素は、「type」属性を持ち、その値が「integer」であるので、設定値は整数であることがわかる。
これに対し、UI部品生成部1303は、以下のような音声認識文法を生成する。
<grammar>
<rule id=”number”>
<one−of>
<item>イチ</item>
<item>ニ</item>
<item>サン</item>
<item>ヨン</item>
<item>ゴ</item>
<item>ロク</item>
<item>ナナ</item>
<item>ハチ</item>
<item>キュウー</item>
<item>ジュウー</item>
</one−of>
</rule>
</grammar>
これは、「イチ」から「ジュウ」までの数字の発声を受け付ける文法である。この例では1から10までとしたが、10より大きな数字を受理する文法を生成することは容易である。
一方、
<select1 ref=”setting/size−of−paper”>
<label>用紙サイズ</label>
<choices>
<item>
<label>A4</label>
<value>a4</value>
</item>
<item>
<label>B5</label>
<value>b5</value>
</item>
<item>
<label>L版</label>
<value>photo</value>
</item>
<item>
<label>はがき</label>
<value>letter</value>
</item>
</choices>
</select1>
は、<setting>内ノ<size−of−paper/>要素は「用紙サイズ」というラベルで表現でき、選択型のユーザインタフェース部品で設定することを意味している。選択リストの値は、「A4」、「B5」、「L版」、「はがき」のいずれかである。
これに対し、UI部品生成部1303は、以下のような音声認識文法を生成する。
<grammar>
<rule id=”size−of−paper”>
<one−of>
<item>エーヨン</item>
<item>ビーゴ</item>
<item>エルバン</item>
<item>ハガキ</item>
</one−of>
</rule>
</grammar>
これは次のような処理によって可能となる。
1. <select1>要素に対応して<rule>要素を生成する。
2. 子要素の<choices>要素に対応して<one−of>要素を生成する。
3. <choices>要素の子要素<item>要素の子要素<label>に対応して、<one−of>要素の子要素<item>要素を生成し、<label>要素の値を読み付けしてその<item>要素の値とする。
以上のようにして、生成された音声認識文法その他をUI更新部1302がPC1201のユーザインタフェースに反映し、UI実行部1301は、例えば、以下のような音声によるインタラクションを可能にする。
・ユーザ:「連携機能の検索」
・PC1201:「3つの連携機能が検索されました」
・ユーザ:「スキャナCでスキャンしてプリンタBでプリント」
・PC201:「部数を設定してください」
・ユーザ:「2」
・PC1201:「用紙サイズを設定してください」
・ユーザ:「L版」
・PC1201:「実行しますか」
・ユーザ:「はい」
<実施形態4>
上記実施形態では、日本語のユーザインタフェースを扱っていたが、他のいかなる言語でもかまわない。さらに、ユーザやユーザインタフェース機器に応じて使用言語を動的に対応することができる。
この場合、ユーザインタフェース機器(実施形態1では、デジタルカメラ101、実施形態2では、PC1201)は、周辺機器に対して検索情報を送信する際に、使用言語情報を付加して送り、これを受信した周辺機器は、連携機能検索結果に含まれるユーザインタフェース情報をその使用言語に対応したものに変更するようにすればよい。
例えば、使用言語を英語にした場合、複写機102の機能<function id=”Copier−Print”>は、図30のような記述すればよい。この場合、図8(b)のユーザインタフェースは、図22のようになる。
<実施形態5>
上記実施形態では、
<object>
<type>image</type>
</object>
のように、<object>要素や<output>要素のタイプとして、画像データであることを意味する「image」だけを例として用いていたが、もちろん、「text」(テキストデータ)、「audio」(音声データ)など、さまざまな種類のタイプ情報を記述してもよい。さらに、MIMEタイプを用いて、
・image/gif (GIF画像)
・image/jpeg (JPEG画像)
・image/png (PNG画像)
・audio/mp3 (MP3データ)
・mov/mp4 (MPEG4データ)
・text/plain (プレーンテキスト)
・text/html (HTMLテキスト)
・text/xml (XMLテキスト)
・・・・
のような値で記述してもよい。
<実施形態6>
上記実施形態では、周辺機器の機能情報をXMLで記述していたが、その他のいかなる形式でもよいことは言うまでもない。
<実施形態7>
上記実施形態2では、デジタルカメラ101は、無線LANでネットワークに接続するようにしていたが、Bluetoothなど他のいかなる無線接続インタフェースでもよいことは言うまでもない。
<実施形態8>
上記実施形態2では、音声認識文法の記述に、W3Cの策定するSRGS(http://www.w3c.org/TR/speech−grammar/)を用いていたが、その他のいかなる文法記述形式でもよいことは言うまでもない。
<実施形態8>
上記実施形態においては、プログラムをROMに保持する場合について説明したが、これに限定されるものではなく、任意の記憶媒体を用いて実現してもよい。また、同様の動作をする回路で実現してもよい。
以上説明したように、本発明によれば、ユーザインタフェース機器とネットワーク上の他の周辺機器との間で可能な連携機能を動的に発見し、その連携機能を操作するためのユーザインタフェースをユーザインタフェース機器上に動的に生成することができ、ユーザインタフェース機器にあらかじめ組み込まれていない想定外の連携機能であっても、ユーザはその連携機能を操作し使用することができるようになる。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態1に係る情報処理システムの構成図である。 本発明の実施形態1に係るデジタルカメラの機能構成図である。 本発明の実施形態1に係る複写機の機能構成図である。 本発明の実施形態1に係るデジタルカメラのハードウェア構成を示す図である。 本発明の実施形態1に係る複写機のハードウェア構成を示す図である。 本発明の実施形態1に係るプリンタのハードウェア構成を示す図である。 本発明の実施形態1に係る情報処理システムの動作を示すフローチャートである。 本発明の実施形態1に係るデジタルカメラ上に実現されるグラフィックユーザインタフェース例を示す図である。 本発明の実施形態1に係るデジタルカメラから他の周辺機器へ送信される検索情報の例を示す図である。 本発明の実施形態1に係るデジタルカメラから他の周辺機器へHTTPプロトコルで検索情報を送信する場合の記述例を示す図である。 本発明の実施形態1に係るデジタルカメラ上で周辺機器の設定情報を設定する際のグラフィックユーザインタフェース例を示す図である。 本発明の実施形態2に係る情報処理システムの構成図である。 本発明の実施形態2に係るPCの機能構成図である。 本発明の実施形態2に係るスキャナの機能構成図である。 本発明の実施形態2に係るPCのハードウェア構成を示す図である。 本発明の実施形態2に係るスキャナのハードウェア構成を示す図である。 本発明の実施形態2に係る情報処理システムの動作を示すフローチャートである。 本発明の実施形態2に係るPCに実現されるグラフィックユーザインタフェース例を示す図である。 本発明の実施形態2に係るPCから他の周辺機器へ送信される検索情報の例を示す図である。 本発明の実施形態2に係るPCから他の周辺機器へHTTPプロトコルで検索情報を送信する場合の記述例を示す図である。 本発明の実施形態2に係るPC上で周辺機器の設定情報を設定する際のグラフィックユーザインタフェース例を示す図である。 本発明の実施形態3に係るデジタルカメラ上に実現されるグラフィックユーザインタフェース例を示す図である。 本発明の実施形態1に係る複写機の機能情報の記述例を示す図である。 本発明の実施形態1に係る複写機の機能情報の記述例を示す図である。 本発明の実施形態1に係る複写機の機能情報の記述例を示す図である。 本発明の実施形態1に係る複写機の機能情報の記述例を示す図である。 本発明の実施形態1に係るプリンタの機能情報の記述例を示す図である。 本発明の実施形態1に係る複写機からのHTTPレスポンスの例を示す図である。 本発明の実施形態1に係るプリンタからのHTTPレスポンスの例を示す図である。 本発明の実施形態2に係るスキャナの機能情報の記述例を示す図である。 本発明の実施形態2に係るスキャナからのHTTPレスポンスの例を示す図である。 本発明の実施形態2に係る複写機からのHTTPレスポンスの例を示す図である。 本発明の実施形態2に係る複写機からのHTTPレスポンスの例を示す図である。 本発明の実施形態2に係る複写機からのHTTPレスポンスの例を示す図である。 本発明の実施形態2に係る複写機からのHTTPレスポンスの例を示す図である。 本発明の実施形態3に係る複写機からのHTTPレスポンスの例を示す図である。
符号の説明
101 デジタルカメラ
102 複写機
103 プリンタ
104 無線LAN基地局
105 有線LAN
201 UI実行部
202 UI更新部
203 UI部品生成部
204 周辺機器探索部
205 検索情報生成部
206 周辺機器機能情報取得部
207 通信部
208 制御情報送信部
301 検索情報受信部
302 自機能情報保持部
303 連携機能検索部
304 連携機能情報送信部
305 印刷情報受信部
306 印刷実行部である。
307 通信部

Claims (3)

  1. ネットワークを介して接続され周辺機器を操作するためのユーザインタフェース部品を生成する情報処理装置であって、
    データのタイプを示す第1の情報と、当該データのタイプに対して実行可能な処理の種類をユーザインタフェース部品として表現するための第2の情報と、当該処理を実行する際に設定する設定値をユーザインタフェース部品として表現するための第3の情報とを関連付けて保持する前記周辺機器と接続する接続手段と、
    処理の対象となるデータのタイプを特定する特定手段と、
    前記ネットワーク上の周辺機器が保持する前記第1の情報のうち、前記特定手段で特定された前記データのタイプに相当する情報を検索手段に検索させる検索制御手段と、
    前記検索制御手段によって検索された前記データのタイプに相当する情報を保持する周辺機器において関連付けられた前記第2の情報および前記第3の情報に基づく、前記周辺機器用のユーザインタフェース部品を生成する生成手段と、
    当該情報処理装置の既存のユーザインタフェースを構成する既存のユーザインタフェース部品に、前記生成手段で生成したユーザインタフェース部品を追加して、前記既存のユーザインタフェースを更新する更新手段と
    を備えることを特徴とする情報処理装置。
  2. ネットワークを介して接続され周辺機器を操作するためのユーザインタフェース部品を生成する情報処理装置の制御方法であって、
    データのタイプを示す第1の情報と、当該データのタイプに対して実行可能な処理の種類をユーザインタフェース部品として表現するための第2の情報と、当該処理を実行する際に設定する設定値をユーザインタフェース部品として表現するための第3の情報とを関連付けて保持する前記周辺機器と接続する接続工程と、
    処理の対象となるデータのタイプを特定する特定工程と、
    前記ネットワーク上の周辺機器が保持する前記第1の情報のうち、前記特定工程で特定された前記データのタイプに相当する情報を検索手段に検索させる検索制御工程と、
    前記検索制御工程によって検索された前記データのタイプに相当する情報を保持する周辺機器において関連付けられた前記第2の情報および前記第3の情報に基づく、前記周辺機器用のユーザインタフェース部品を生成する生成工程と、
    当該情報処理装置の既存のユーザインタフェースを構成する既存のユーザインタフェース部品に、前記生成工程で生成したユーザインタフェース部品を追加して、前記既存のユーザインタフェースを更新する更新工程と
    を備えることを特徴とする情報処理装置。
  3. ネットワークを介して接続され周辺機器を操作するためのユーザインタフェース部品を生成する情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
    データのタイプを示す第1の情報と、当該データのタイプに対して実行可能な処理の種類をユーザインタフェース部品として表現するための第2の情報と、当該処理を実行する際に設定する設定値をユーザインタフェース部品として表現するための第3の情報とを関連付けて保持する前記周辺機器と接続する接続工程と、
    処理の対象となるデータのタイプを特定する特定工程と、
    前記ネットワーク上の周辺機器が保持する前記第1の情報のうち、前記特定工程で特定された前記データのタイプに相当する情報を検索手段に検索させる検索制御工程と、
    前記検索制御工程によって検索された前記データのタイプに相当する情報を保持する周辺機器において関連付けられた前記第2の情報および前記第3の情報に基づく、前記周辺機器用のユーザインタフェース部品を生成する生成工程と、
    当該情報処理装置の既存のユーザインタフェースを構成する既存のユーザインタフェース部品に、前記生成工程で生成したユーザインタフェース部品を追加して、前記既存のユーザインタフェースを更新する更新工程と
    をコンピュータに実行させることを特徴とするプログラム。
JP2003413836A 2003-12-11 2003-12-11 情報処理装置及びその制御方法、情報処理システム、プログラム Expired - Fee Related JP4500535B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003413836A JP4500535B2 (ja) 2003-12-11 2003-12-11 情報処理装置及びその制御方法、情報処理システム、プログラム
US11/005,268 US20050144161A1 (en) 2003-12-11 2004-12-06 Information processing device and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003413836A JP4500535B2 (ja) 2003-12-11 2003-12-11 情報処理装置及びその制御方法、情報処理システム、プログラム

Publications (2)

Publication Number Publication Date
JP2005174027A JP2005174027A (ja) 2005-06-30
JP4500535B2 true JP4500535B2 (ja) 2010-07-14

Family

ID=34696929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003413836A Expired - Fee Related JP4500535B2 (ja) 2003-12-11 2003-12-11 情報処理装置及びその制御方法、情報処理システム、プログラム

Country Status (2)

Country Link
US (1) US20050144161A1 (ja)
JP (1) JP4500535B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4742766B2 (ja) * 2005-09-14 2011-08-10 富士ゼロックス株式会社 ネットワークデバイス、デバイスリンクシステムおよびデバイスリンク方法
JP4900931B2 (ja) * 2006-10-04 2012-03-21 キヤノン株式会社 情報処理装置及び画像処理システムとその制御方法
JP2009146146A (ja) * 2007-12-13 2009-07-02 Panasonic Corp 情報処理装置およびホームネットワークシステム
JP5424735B2 (ja) * 2009-06-17 2014-02-26 キヤノン株式会社 通信装置及びその制御方法、プログラム
JP2011096098A (ja) * 2009-10-30 2011-05-12 Kyocera Mita Corp 情報処理装置、動作制御システム、及び動作制御プログラム
JP5648374B2 (ja) * 2010-08-27 2015-01-07 株式会社リコー 情報処理装置、情報処理方法およびプログラム
JP2012213144A (ja) 2011-03-18 2012-11-01 Ricoh Co Ltd 情報処理装置、情報処理システム、機器連携方法およびプログラム
JP6265607B2 (ja) * 2013-02-22 2018-01-24 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
JP6127815B2 (ja) * 2013-07-31 2017-05-17 ブラザー工業株式会社 コンピュータプログラム、および、通信装置
JP6005029B2 (ja) * 2013-11-27 2016-10-12 キヤノン株式会社 通信装置及びその制御方法、プログラム
US9893910B2 (en) * 2016-02-22 2018-02-13 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable medium storing instructions
JP6024848B1 (ja) 2016-05-06 2016-11-16 富士ゼロックス株式会社 情報処理装置及びプログラム
JP6432612B2 (ja) * 2017-01-10 2018-12-05 富士ゼロックス株式会社 情報処理装置及びプログラム
CN107276838A (zh) * 2017-08-18 2017-10-20 无锡江南影视传播有限公司 一种用户界面显示控制方法、装置及系统
JP7099092B2 (ja) * 2018-07-03 2022-07-12 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832298A (en) * 1995-05-30 1998-11-03 Canon Kabushiki Kaisha Adaptive graphical user interface for a network peripheral
JP3747108B2 (ja) * 1996-02-02 2006-02-22 キヤノン株式会社 デジタル撮像装置及びその制御方法
GB2365189A (en) * 2000-07-26 2002-02-13 Canon Kk Voice-controlled machine
US7917862B2 (en) * 2001-10-26 2011-03-29 Hewlett-Packard Development Company, L.P. System and method for improving the performance of a plurality of peripheral devices

Also Published As

Publication number Publication date
JP2005174027A (ja) 2005-06-30
US20050144161A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
US10750044B2 (en) Information processing system, information processing apparatus, and method for processing information
US10356266B2 (en) Information processing system, information processing apparatus, and method for processing information
JP4115375B2 (ja) データ処理装置およびデータ処理方法
JP4500535B2 (ja) 情報処理装置及びその制御方法、情報処理システム、プログラム
US8773676B2 (en) Multifunction peripheral, multifunction peripheral control system, and multifunction peripheral control method for preparing information display screen including changing default conditions
US20090122333A1 (en) Cooperative job flow creating apparatus, cooperative job flow creating method, service processing apparatus, service processing method, management server, flow conversion method, job flow execution method, program, and storage medium
JP4576442B2 (ja) 画像処理装置およびユーザインターフェース提供方法
JP2009152847A (ja) 画像処理装置、及びその制御方法、プログラム、記憶媒体
JP4940982B2 (ja) 画像形成装置およびWebページ印刷制御方法
JP2019101956A (ja) プログラム、および情報処理端末。
EP3822768A1 (en) Information processing system, information processing method, and information processing apparatus
JP2021131880A (ja) プログラム及び携帯端末
JP2009152848A (ja) 画像処理装置、及びその制御方法、プログラム、記憶媒体
EP2348402A1 (en) Image forming apparatus and method for providing local user interface thereof
JP2000078328A (ja) ネットワ−クシステム
CN102236614B (zh) 信息处理装置及控制方法
JP2004064514A (ja) ファイル保存装置
WO2010128339A2 (en) Method and apparatus for printing from a mobile device
EP1274003A2 (en) Information processor for processing data, information processing method and information processing program
JP2008211747A (ja) 画像処理装置、サーバ装置、タスク処理方法、記憶媒体、プログラム
JP2018132798A (ja) プログラム及び携帯端末
JP2002202991A (ja) ネットワークによる印刷データ配信装置、方法、システム、媒体、並びにプログラム
US7644104B2 (en) Image data transmission system and program for image data transmission system
JP4840161B2 (ja) 外部メモリを接続可能な画像形成装置
US10735608B2 (en) Message conversion system, message conversion method, and message conversion program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061106

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070110

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100225

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100419

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees