JP2007156736A - Information processor and coordinated processing method - Google Patents

Information processor and coordinated processing method Download PDF

Info

Publication number
JP2007156736A
JP2007156736A JP2005349697A JP2005349697A JP2007156736A JP 2007156736 A JP2007156736 A JP 2007156736A JP 2005349697 A JP2005349697 A JP 2005349697A JP 2005349697 A JP2005349697 A JP 2005349697A JP 2007156736 A JP2007156736 A JP 2007156736A
Authority
JP
Japan
Prior art keywords
service
virtual distance
information
list
copying machine
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.)
Pending
Application number
JP2005349697A
Other languages
Japanese (ja)
Inventor
Takashi Mizuno
貴史 水野
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 JP2005349697A priority Critical patent/JP2007156736A/en
Publication of JP2007156736A publication Critical patent/JP2007156736A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform a series of coordinated processing by optimum service, even at normal times, when a plurality of pieces of service providing identical functions are present. <P>SOLUTION: This information processor has a service characteristic information acquisition means; a flow information acquisition means; a virtual distance calculation means for calculating a virtual distance, when the service cooperates according to flow information and service characteristics information related to the usable service; and a processing request means for requesting processing to the service, according to the virtual distance calculated by the virtual distance calculation means. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、情報処理装置及び連携処理方法に関する。   The present invention relates to an information processing apparatus and a cooperation processing method.

近年、複写機の高性能化に伴い、印刷機能、スキャナ機能、FAX機能、メール送信機能、文字認識機能等、複数の機能を有する複写機が存在する。また、これらの各機能を、機能単位でサービス化(Webサービス化)し、ネットワークを介して接続された複写機同士で、サービス(つまり、機能)を、利用することができるようなシステムも存在する。   2. Description of the Related Art In recent years, copying machines having a plurality of functions such as a printing function, a scanner function, a FAX function, a mail transmission function, a character recognition function, and the like have been provided with an increase in performance of the copying machine. In addition, there are systems in which these functions are converted into services (Web services) in units of functions, and services (that is, functions) can be used between copiers connected via a network. To do.

このようなシステムでは、例えば複写機Aのスキャン機能を用いて紙原稿を読み取り、ネットワークを介して複写機Aと接続された複写機Bの印刷機能を用いてスキャン原稿を印刷する等、複写機同士を連携させて一連の処理(連携処理)を行わせることができる。   In such a system, for example, the copying machine A reads a paper document using the scanning function of the copying machine A, and prints the scanned document using the printing function of the copying machine B connected to the copying machine A via the network. A series of processing (cooperation processing) can be performed by linking each other.

また、このような複写機同士を連携させて、一連の処理を行わせるため、従来では、例えばシステムの利用者等が、予め、スキャン、印刷等の機能について、連携させる順番を指定する指示書を作成し、一連の処理を行わせていた。しかしながら、このような方法の場合、あるサービスにエラーが発生すると、一連の連携処理が中断してしまう問題があった。   In addition, in order to cause a series of processing to be performed by linking such copiers, conventionally, for example, a system user or the like has previously specified an instruction for designating the order in which functions such as scanning and printing are linked in advance. Was made and a series of processing was performed. However, in the case of such a method, there is a problem that a series of linkage processing is interrupted when an error occurs in a certain service.

この問題を解決するため、例えばシステムの利用者等が、エラーが発生したサービスの代替サービスを検索し、処理を続けるような指示書を発行し、一連の連携処理を継続する方法がある(例えば、特許文献1参照。)。   In order to solve this problem, for example, there is a method in which a system user searches for an alternative service of a service in which an error has occurred, issues an instruction to continue the process, and continues a series of linkage processes (for example, , See Patent Document 1).

特開2004−288067号公報JP 2004-288067 A

しかしながら、上述した従来の技術は、同一の機能を提供するサービスが複数存在した場合でも、サービスにエラーが発生したとき、つまり異常時しか代替サービスに処理を依頼してなかった。よって、常に最適なサービスによって一連の連携処理が行われていない問題があった。   However, in the conventional technology described above, even when there are a plurality of services providing the same function, an alternative service is requested to perform processing only when an error occurs in the service, that is, when there is an abnormality. Therefore, there is a problem that a series of linkage processing is not always performed by an optimal service.

本発明は上記の点に鑑みなされたもので、複数の同一の機能を提供するサービスが存在する場合、正常時においても、最適なサービスによって一連の連携処理を行うことを目的とする。   The present invention has been made in view of the above points, and an object of the present invention is to perform a series of linkage processes using an optimal service even when there is a plurality of services that provide the same function.

そこで、上記問題を解決するため、本発明は、機能をサービスとして提供する複数の機器と通信する情報処理装置であって、サービスの特性を示すサービス特性情報を取得するサービス特性情報取得手段と、サービスの実行順序を示すフロー情報を取得するフロー情報取得手段と、利用可能なサービスに係る前記サービス特性情報と、前記フロー情報とに応じて、サービスが連携する際の仮想距離を算出する仮想距離算出手段と、前記仮想距離算出手段で算出した仮想距離に応じて、サービスに処理を依頼する処理依頼手段と、を有することを特徴とする。   Therefore, in order to solve the above problem, the present invention is an information processing apparatus that communicates with a plurality of devices that provide a function as a service, and service characteristic information acquisition means that acquires service characteristic information indicating a characteristic of the service; A virtual distance for calculating a virtual distance when the services are linked according to the flow information acquisition means for acquiring the flow information indicating the execution order of the service, the service characteristic information regarding the available service, and the flow information. It has a calculation means, and a process request means for requesting a process to a service according to the virtual distance calculated by the virtual distance calculation means.

係る構成とすることによって、例えば、仮想距離が短い順にサービスに処理を依頼して行くので、複数の同一の機能を提供するサービスが存在する場合、正常時においても、最適なサービスによって一連の連携処理を行うことができる。   By adopting such a configuration, for example, the service is requested to be processed in ascending order of the virtual distance. Therefore, when there are a plurality of services that provide the same function, a series of linkages are performed by an optimal service even in a normal state. Processing can be performed.

また、上記問題を解決するため、本発明は、連携処理方法、連携処理プログラム、及び記録媒体としてもよい。   In order to solve the above problem, the present invention may be a cooperative processing method, a cooperative processing program, and a recording medium.

なお、情報処理装置とは、例えば、後述する複写機又は機器等に対応する。また、特許請求の範囲に記載の依頼数とは、例えば、後述する先読み数等に対応する。また、特許請求の範囲に記載の記録媒体とは、例えば、後述するRAM103、又はROM104、又はハードディスク109等に対応する。   Note that the information processing apparatus corresponds to, for example, a copier or a device described later. Moreover, the number of requests described in the claims corresponds to, for example, the number of prefetches described later. Further, the recording medium described in the claims corresponds to, for example, a RAM 103, a ROM 104, a hard disk 109, or the like which will be described later.

本発明によれば、複数の同一の機能を提供するサービスが存在する場合、正常時においても、最適なサービスによって一連の連携処理を行うことができる。   According to the present invention, when there are a plurality of services that provide the same function, a series of linkage processes can be performed with an optimal service even in a normal state.

以下、本発明の実施例について図面に基づいて説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、複写機の構成の一例を示す図である。バス101上に、以下に説明する各種デバイスが接続されている。CPU102は、プリント時の印刷処理や、スキャン時の画像処理等、自身の持つ機能に応じて各種制御や、演算等を行う。RAM103は、揮発性メモリであり、CPU102による演算結果や、プリントやスキャンに係る画像データ、フォントデータ等が格納される。ROM104は、不揮発性メモリであり、フォントデータ等が格納されている。なお、ROM104は、書き換え可能であってもよい。   FIG. 1 is a diagram showing an example of the configuration of a copying machine. Various devices described below are connected on the bus 101. The CPU 102 performs various controls, calculations, and the like according to its own functions such as print processing at the time of printing and image processing at the time of scanning. A RAM 103 is a volatile memory, and stores calculation results by the CPU 102, image data related to printing and scanning, font data, and the like. The ROM 104 is a nonvolatile memory and stores font data and the like. Note that the ROM 104 may be rewritable.

入力部105は、ユーザからの指示(指示情報)、又は入力(入力情報)を受け取る。例えば入力部105は、図1には図示していないが、複写機に搭載されたタッチスクリーン等を用いたユーザからの指示、又は入力を受け取る。   The input unit 105 receives an instruction (instruction information) or an input (input information) from the user. For example, although not shown in FIG. 1, the input unit 105 receives an instruction or input from a user using a touch screen or the like mounted on a copying machine.

出力部106は、複写機の状態(状態情報)や、機能(機能情報)、ユーザからの指示を受けるための情報等、各種情報の表示を行う。例えば出力部106は、図1には図示されていないが、複写機に搭載されたタッチスクリーン等に上述した情報を表示する。   The output unit 106 displays various information such as the status of the copying machine (status information), the function (function information), and information for receiving an instruction from the user. For example, although not shown in FIG. 1, the output unit 106 displays the above-described information on a touch screen or the like mounted on the copying machine.

ネットワークインターフェイス107は、複写機(又はCPU102)と、LAN(Local Area Network)等の外部ネットワークとの接続を行う。複写機は、ネットワークインターフェイス107を介して、例えば画像等のデータのやり取りを、外部機器と行う。   The network interface 107 connects the copying machine (or the CPU 102) to an external network such as a LAN (Local Area Network). The copying machine exchanges data such as images with external devices via the network interface 107.

ディスクインターフェイス108は、CPU102と、ハードディスク109との接続を行う。ハードディスク109には、画像データ等が格納される。ハードディスク109に格納されているデータは、必要に応じて、CPU102からの指示により、RAM103に読み出されて、利用される。なお、ハードディスク109は、複数存在していてもよい。   The disk interface 108 connects the CPU 102 and the hard disk 109. The hard disk 109 stores image data and the like. Data stored in the hard disk 109 is read into the RAM 103 and used in accordance with an instruction from the CPU 102 as necessary. A plurality of hard disks 109 may exist.

複写機に搭載されるプリント、スキャン、FAX等の各種機能を実行するハードウェアである装置は、図1には図示されていないが、ユニット接続部110に接続される。なお、ユニット接続部110は、機能毎に個別に存在していてもよい。   Although not shown in FIG. 1, an apparatus that is hardware that executes various functions such as printing, scanning, and fax mounted in the copying machine is connected to the unit connection unit 110. Unit connection part 110 may exist individually for every function.

なお、入力部、出力部、ネットワークインターフェイスを備えており、外部機器(例えば、他の複写機等)へ自身の有する機能をサービスとして提供し、サービスが、外部機器が提供するサービスと通信可能な複写機であれば、図1に示した構成に限らない。   It has an input unit, an output unit, and a network interface, provides its own functions as a service to an external device (for example, another copier), and the service can communicate with a service provided by the external device. The copying machine is not limited to the configuration shown in FIG.

つまり、本実施例の複写機は、外部機器へ自身の有する機能をサービスとして提供し、各サービスは、外部機器が提供するサービスと通信可能である。図1においては、サービスに係る処理を実行するプログラムが、ハードディスク109又はROM14に格納されている。CPU102は、前記プログラムをハードディスク109又はROM14より読み出し、RAM103に格納し、実行する。これにより、複写機は、ネットワークインターフェイス107を介して外部機器のサービス一覧(サービス一覧リスト)を受け取ったり、自身の持つ機能をサービスとして提供したり、外部機器にサービスの提供を依頼したりする。また、CPU102が前記プログラムを実行することにより、複写機は、外部機器から受け取ったサービス一覧を出力部106に出力(表示)したり、入力部105を介した、ユーザからサービスの選択を受け取ったりする。   That is, the copier of the present embodiment provides the functions possessed by itself to the external device as a service, and each service can communicate with the service provided by the external device. In FIG. 1, a program for executing processing related to a service is stored in the hard disk 109 or the ROM 14. The CPU 102 reads the program from the hard disk 109 or the ROM 14, stores it in the RAM 103, and executes it. As a result, the copier receives a service list (service list list) of the external device via the network interface 107, provides its own functions as a service, or requests the external device to provide a service. When the CPU 102 executes the program, the copier outputs (displays) the service list received from the external device to the output unit 106 or receives a service selection from the user via the input unit 105. To do.

図2は、ネットワークを介して互いに接続された複写機のサービス構成の一例を示す図である。図2に示されるように、ネットワーク301を介して、複写機A(302)と、複写機B(303)と、複写機C(304)と、が互いに接続されている。複写機A(302)、及び複写機B(303)は、自らが持つ機能をサービスとしてネットワーク301を介して接続された他の機器(外部機器)に提供する。つまり、複写機A(302)は、サービスA1(305)と、サービスA2(306)とを提供し、複写機B(303)は、サービスB1(307)を提供する。また、各複写機302、303、304は、どの機器でどのようなサービスが実行できるのか(又はサービスを提供しているのか)の情報、つまりサービス一覧リスト、を取得する機能を有する。   FIG. 2 is a diagram showing an example of a service configuration of copiers connected to each other via a network. As shown in FIG. 2, a copying machine A (302), a copying machine B (303), and a copying machine C (304) are connected to each other via a network 301. The copier A (302) and the copier B (303) provide their own functions as services to other devices (external devices) connected via the network 301. That is, the copying machine A (302) provides the service A1 (305) and the service A2 (306), and the copying machine B (303) provides the service B1 (307). Each of the copiers 302, 303, and 304 has a function of acquiring information on what service can be executed by which device (or providing a service), that is, a service list.

ここで、複写機C(304)が、ネットワークを介して接続されている他の機器(他の複写機)が提供しているサービスの情報、つまりサービス一覧リスト、を取得する場合を例に、サービス一覧リストの取得処理を説明する。   Here, taking as an example a case where the copier C (304) acquires information on services provided by other devices (other copiers) connected via a network, that is, a service list. Service list acquisition processing will be described.

複写機C(304)は、ネットワークを介して接続された他の機器に対して、自身のIPアドレスと共にサービス一覧リストを求めるブロードキャストメッセージを送信する。このブロードキャストメッセージを受信した機器は、自身が提供できる機能(サービス)が存在する場合は、ブロードキャストメッセージを送ってきたターゲット機器(複写機C(304))のIPアドレス宛に、サービス一覧リストを返却する。つまり、複写機A(302)であれば、サービスA1(305)と、サービスA2(306)とについてのリストを、サービス一覧リストとして、複写機C(304)宛に送信する。また、複写機B(303)であれば、サービスB1(307)についてのリストを、サービス一覧リストとして、複写機C(304)宛に送信する。   The copier C (304) transmits a broadcast message for requesting a service list together with its own IP address to other devices connected via the network. If there is a function (service) that can be provided by the device that has received the broadcast message, the device returns the service list to the IP address of the target device (copier C (304)) that sent the broadcast message. To do. That is, in the case of the copier A (302), a list of the service A1 (305) and the service A2 (306) is transmitted to the copier C (304) as a service list. In the case of the copying machine B (303), a list for the service B1 (307) is transmitted to the copying machine C (304) as a service list.

なお、複写機は、ブロードキャストメッセージでなく、特定のIPアドレスの機器にのみサービス一覧リストを求めるメッセージを送信するようにしてもよい。このようにすることによって、ネットワークのトラフィックを減少させることができる。   Note that the copying machine may transmit a message for requesting a service list only to a device having a specific IP address instead of a broadcast message. By doing so, network traffic can be reduced.

また、複写機は、特定のIPアドレスの機器にのみ、この機器が提供するサービスの更新情報を求めるメッセージを送信するようにしてもよい。このようにすることによって、ネットワークのトラフィックを減少させることができる。   Further, the copying machine may transmit a message for requesting update information of a service provided by this device only to a device having a specific IP address. By doing so, network traffic can be reduced.

ここで、サービス一覧リストの一例を、図3に示す。図3は、サービス一覧リストの一例を示す図である。各機器からは、図3に示されるようなサービス一覧リストが送信される。なお、図3はサービス一覧リストの概念図であり、実際のサービス一覧リストのフォーマットは、例えばXML形式のフォーマット、又はバイナリ形式のフォーマット等、各機器間で認識できるフォーマットであれば何でもよい。ここで、XMLとは、eXtensible Markup Languageの略である。   An example of the service list is shown in FIG. FIG. 3 is a diagram illustrating an example of a service list. A service list as shown in FIG. 3 is transmitted from each device. FIG. 3 is a conceptual diagram of the service list, and the actual format of the service list may be any format that can be recognized between devices, such as an XML format or a binary format. Here, XML is an abbreviation for eExtensible Markup Language.

401は、機器固有の値を示す機器ID(デバイスID)である。例えば機器が複写機であれば、複写機毎に設定されているIDである。図3の例では、このIDは、「ABC112345」となっている。402は、機器のIPアドレスである。図3の例では、このIPアドレスは、「168.54.69.221」となっている。もし、機器が複数のネットワークインターフェイスを有しており、サービス毎にIPアドレスが異なるのであれば、本実施例の場合は、IPアドレス単位にサービス一覧リストが発行される。但し、これに限定されず、一つのサービス一覧リスト中に複数のIPアドレスを記述できる仕組みとしてもよい。   401 is a device ID (device ID) indicating a device-specific value. For example, if the device is a copying machine, the ID is set for each copying machine. In the example of FIG. 3, this ID is “ABC112345”. Reference numeral 402 denotes an IP address of the device. In the example of FIG. 3, this IP address is “168.54.69.221”. If the device has a plurality of network interfaces and the IP address is different for each service, in this embodiment, a service list is issued for each IP address. However, the present invention is not limited to this, and a mechanism in which a plurality of IP addresses can be described in one service list.

以上、401及び402が機器に関する情報であるが、機器(例えば、複写機)は、図3に示していないモデル名、型式情報等、機器に関連する情報を、サービス一覧リストに記述するようにしてもよい。   As described above, 401 and 402 are information related to the device, but the device (for example, a copier) describes information related to the device such as model name and model information not shown in FIG. 3 in the service list. May be.

次に、403から406が、個々のサービスに関する記述である。403は、サービスに一意に設定されたIDである。図3の例では、このIDは、「9642」となっている。また、404は、サービスの名称である。図3の例では、この名称は、「サービスA1」となっている。405は、サービスを利用する場合の料金である。図3の例では、この料金は、「15円」となっている。つまり、図3のサービス一覧リストには、サービスID「9642」を実行するためには、料金「15円」が必要であることが記述されている。406は、サービスの処理速度である。なお、処理速度とは、複写機に搭載されているサービスであれば、ページ当たりの処理能力のことである。図3の例では、この処理速度は、「3 Sec/Page」、つまり1ページ当たり3秒の処理時間が掛かるとなっている。   Next, descriptions 403 to 406 are descriptions regarding individual services. Reference numeral 403 denotes an ID uniquely set for the service. In the example of FIG. 3, this ID is “9642”. Reference numeral 404 denotes a service name. In the example of FIG. 3, this name is “service A1”. Reference numeral 405 denotes a charge for using the service. In the example of FIG. 3, this fee is “15 yen”. That is, it is described in the service list in FIG. 3 that a fee “15 yen” is necessary to execute the service ID “9642”. Reference numeral 406 denotes a service processing speed. Note that the processing speed is the processing capacity per page if the service is installed in the copying machine. In the example of FIG. 3, this processing speed is “3 Sec / Page”, that is, it takes 3 seconds per page.

405の料金や、406の処理速度に加えて、又は変えて、複写機等が、サービスの比較を行える情報を、サービス一覧リストに記述するようにしてもよい。407には、この機器が有する他のサービスについて、上述したサービスと同様な記述がされる。サービス一覧リストには、少なくとも一つ以上のサービスの情報が記述される。   In addition to or in addition to the charge of 405 and the processing speed of 406, information that allows the copier or the like to compare services may be described in the service list. In 407, the same service as that described above is described for other services of this device. Information of at least one service is described in the service list.

なお、サービス一覧リストを作成するに当り、機能を提供する機器(複写機)が、ネットワークを介して接続された他の機器のサービスの情報を取得して、他の機器のサービスの情報をも含むサービス一覧リストを作成し、要求元に送信することは行わない。このような処理は、サービス一覧リストの取得を要求した複写機が、各々の機器(複写機)より取得したサービス一覧リストを用いて行う。   When creating a service list, a device that provides a function (copier) acquires information on the services of other devices connected via the network and stores the information on the services of other devices. It does not create the service list that contains it and send it to the requester. Such processing is performed by the copier that has requested acquisition of the service list using the service list obtained from each device (copier).

なお、サービス一覧リストは、各々の機器やサービスで保持し、更新するようにしてもよい。また、サービス一覧リストは、各機器やサービスが保持するのでなく、整合性を保つため、複写機等とネットワークを介して接続されたサーバ等で集中して管理するようにしてもよい。   The service list may be held and updated by each device or service. The service list may not be held by each device or service, but may be centrally managed by a server connected to a copier or the like via a network in order to maintain consistency.

また、サービス一覧リストには、利用可能なサービスのみが記述されるため、その時点でサービスが利用できない、即ちエラーが起こっているサービスの情報が、ブロードキャストメッセージの送信元の複写機に通知されることはない。   In addition, since only the services that can be used are described in the service list, information on services that cannot be used at that time, that is, services in which an error has occurred, is notified to the copier that transmitted the broadcast message. There is nothing.

複写機は、各複写機から受け取ったサービス一覧リストをまとめて、出力部106に表示する。なお、出力部106は、例えばタッチスクリーン等に、サービス一覧リストに係る出力画面を表示する。   The copying machine collectively displays the service list received from each copying machine on the output unit 106. The output unit 106 displays an output screen related to the service list on, for example, a touch screen.

図4は、タッチスクリーンに表示された、サービス一覧リストに係る出力画面の一例を示す図である。ユーザは、図4上のボタンに相当する位置を押すことによって、複写機に指示を与える。501は、利用可能なサービス(機能)の一覧を示すエリアである。501には、スクロールバーが付いており、ユーザは、スクロールバーをクリックすることで隠れた領域にある機能を表示させる。また、501には、ボタン506、507、508が表示されており、それぞれ機能B、機能M、機能Cに対応付けられている。   FIG. 4 is a diagram illustrating an example of an output screen related to the service list displayed on the touch screen. The user gives an instruction to the copying machine by pressing a position corresponding to the button on FIG. Reference numeral 501 denotes an area showing a list of available services (functions). Reference numeral 501 has a scroll bar, and the user displays the function in the hidden area by clicking the scroll bar. In addition, buttons 506, 507, and 508 are displayed at 501 and are associated with function B, function M, and function C, respectively.

ユーザは所望の機能を選択して、503の追加ボタンを押すことにより、選択した機能を、実行する機能エリア502へ移す。なお、機能選択については図示していないが、ユーザが、機能を選択したことが判別できるようなものであればどのようなものでもよい。つまり、複写機は、選択された機能の表示を反転させるようにしてもよいし、選択されたことが分かるマークを付けるようにしてもよいし、選択されたことが分かるよう色を変えるようにしてもよい。また、複写機は、ユーザによって機能を再度選択されると、選択を解除するようにしてもよい。   The user selects a desired function and presses an add button 503 to move the selected function to the function area 502 to be executed. Although function selection is not shown, any function selection may be used as long as the user can determine that the function has been selected. In other words, the copying machine may invert the display of the selected function, put a mark indicating that the function has been selected, or change the color so that it can be determined that the function has been selected. May be. The copying machine may cancel the selection when the function is selected again by the user.

複写機は、図4を用いて説明したような方法で、選択され、順序付けられた機能(サービス)を、図5に示すようなフローリストとして、例えばハードディスク109等に格納する。図5は、フローリストの一例を示す図である。   The copying machine stores the selected (ordered) functions (services) by the method described with reference to FIG. 4 as a flow list as shown in FIG. FIG. 5 is a diagram illustrating an example of a flow list.

1101は、Flowタグであり、フローリストを表している。Flowタグには、devideID属性と、job属性とがある。deviceID属性には機器(フローリストを作成した複写機)を特定するIDが記述されている。また、job属性には、前記機器において、処理(ジョブ)を特定するための一意に定まる値が記述されている。なお、機器を特定するIDの代わりに、IPアドレスを記述するようにしてもよい。   Reference numeral 1101 denotes a Flow tag, which represents a flow list. The Flow tag has a deviceID attribute and a job attribute. In the device ID attribute, an ID for specifying a device (a copying machine that has created a flow list) is described. In the job attribute, a uniquely determined value for specifying a process (job) in the device is described. Note that an IP address may be described instead of the ID for specifying the device.

機能の順序は、1102や、1103のServiceタグで示される。例えば1102は、No属性が1であるので、最初に実行されるサービスであり、そのサービスIDは、6901となっている。また、1103は、No属性が2であるので、サービスID6901の実行後に行われるサービスであり、サービスIDは、831となっている。   The order of functions is indicated by 1102 and 1103 Service tags. For example, 1102 is a service that is executed first because the No attribute is 1, and its service ID is 6901. 1103 is a service performed after execution of the service ID 6901 because the No attribute is 2, and the service ID is 831.

図5に示されるように、本実施例における複写機は、特定の機器に依存した指示書を作成するのではなく、機能に割り振られているサービスIDを用いてフローリストを作成する。なお、連携処理の最初の処理を実行する複写機では、フローリストを作成するが、連携処理の二番目以降の処理を実行する複写機(又はサービス)では、前記作成されたフローリストを取得して処理を行う。後述する制約条件リスト等も同様である。   As shown in FIG. 5, the copier in this embodiment creates a flow list using a service ID assigned to a function, rather than creating an instruction sheet depending on a specific device. A copier that executes the first process of the linkage process creates a flow list, but a copier (or service) that executes the second and subsequent processes of the linkage process acquires the created flow list. Process. The same applies to a constraint condition list described later.

複写機は、連携処理を指定するフローリストを作成した後に、ユーザからの指示等に基づいて、制約条件リストを作成する。制約条件リストとは、各サービスの特性(条件)のうち、どの特性を優先するかを記述したリストのことである。図6は、制約条件リストの一例を示す図である。   The copier creates a restriction condition list based on an instruction from the user after creating a flow list for designating cooperation processing. The restriction condition list is a list describing which of the characteristics (conditions) of each service has priority. FIG. 6 is a diagram illustrating an example of the constraint condition list.

601は、Constraintタグであり、制約条件を表している。また、602、603は、Priorityタグであり、優先度に応じて制約条件が記述されている。602は、610に記述されているように、「料金」についての制約条件を表し、603は、611に記述されているように、「処理速度」についての制約条件を表している。優先度は、Priorityタグのorder属性に記述されており、604に"1"、605に"2"と記述されていることから、602が最優先("1")、603がその次に優先("2")となる。また、Priorityタグには、weight属性も記述されており、重み付けの値が記述されている。本実施例においては、重み付けの値が正で小さいほど、優先されるものとする。図6においては、「料金」の制約条件に関しては、606にあるように重み付け値は、"0"であり、「処理速度」の制約条件に関しては、607にあるように重み付け値は、"20"である。   Reference numeral 601 denotes a Constraint tag, which represents a constraint condition. Reference numerals 602 and 603 denote Priority tags, in which constraint conditions are described according to priority. As described in 610, 602 represents a constraint condition regarding “charge”, and 603 represents a constraint condition regarding “processing speed” as described in 611. The priority is described in the order attribute of the Priority tag. Since “1” is described in 604 and “2” is described in 605, 602 is the highest priority (“1”), and 603 is the next priority. ("2"). The Priority tag also describes a weight attribute and describes a weighting value. In this embodiment, it is assumed that priority is given to the weighting value that is positive and small. In FIG. 6, regarding the “charge” constraint, the weighting value is “0” as in 606, and for the “processing speed” constraint, the weighting value is “20” as in 607. "It is.

更に、Priorityタグには、compare属性が記述されている。compare属性608には、降順を意味するdescendingが記述されている。また、compare属性609には、昇順を意味するascendingが記述されている。   Furthermore, a compare attribute is described in the Priority tag. The compare attribute 608 describes descending meaning descending order. The compare attribute 609 describes ascending meaning ascending order.

図6の例では、制約条件「料金」を最優先とし、次に、制約条件「処理速度」を優先して連携処理を行わせるための制約条件リストとなっている。また、図6の例では、「料金」は、安いものを優先し(即ち、値の低いものから優先し)、「処理速度」は速いものを優先する(即ち、値の高いものから優先する)ことを示す制約条件リストとなっている。複写機は、作成した又は取得した制約条件リストを、例えば、RAM103又はハードディスク109等に格納し、必要なときに適宜参照(又は取得)する。   In the example of FIG. 6, the constraint condition list is such that the constraint condition “fee” is given the highest priority, and then the constraint condition “processing speed” is given priority and the cooperative processing is performed. Further, in the example of FIG. 6, “charge” gives priority to a cheap one (that is, priority from a low value), and “processing speed” gives priority to a fast one (that is, priority from a high value). ) Is a restriction condition list indicating that. The copying machine stores the created or acquired restriction condition list in, for example, the RAM 103 or the hard disk 109, and refers to (or acquires) the information when necessary.

図7は、一連の連携処理において、次に実行すべき最適なサービスを決定し、サービスの提供を依頼する処理の一例を示すフローチャートである。ステップS701において、複写機は、ネットワークを介して接続された他の複写機から送信されたサービス一覧リストからサービス特性リストを取得(又は生成)する。より具体的に説明するため、まず、図3に示したようなサービス一覧リストが、図8に示すようなXML形式で記述されていたとする。図8は、XML形式で記述されたサービス一覧リストの一例を示す図である。   FIG. 7 is a flowchart illustrating an example of processing for determining an optimum service to be executed next and requesting provision of a service in a series of linkage processing. In step S701, the copier acquires (or generates) a service characteristic list from a service list transmitted from another copier connected via the network. For more specific explanation, first, it is assumed that the service list as shown in FIG. 3 is described in the XML format as shown in FIG. FIG. 8 is a diagram showing an example of a service list written in the XML format.

複写機は、各サービスについて、機器IDやIPアドレス等の機器固有の情報(図8の801)と、個々のサービスの情報(図8の802)と、から後述する図9に示されるようなサービス特性リストを生成する。複写機は、作成したサービス特性リストを、例えば、RAM103又はハードディスク109等に格納する。   For each service, the copying machine uses device-specific information such as device ID and IP address (801 in FIG. 8) and individual service information (802 in FIG. 8) as shown in FIG. Generate a service property list. The copying machine stores the created service characteristic list in, for example, the RAM 103 or the hard disk 109.

このように、サービス一覧リストが、XML形式であれば、複写機は、例えば、XSLT(XML Stylesheet Language Transformations)等を利用して個々のサービスについてサービス特性リストを生成する。ここで、それぞれのサービスに番号を与え、番号nに相当するサービスをSnとする。更にサービスSnに相当するサービス特性リストをLnとする。複写機は、ステップS701において、このLnを求める処理を実行する。 Thus, if the service list is in the XML format, the copying machine generates a service characteristic list for each service using, for example, XSLT (XML Stylesheet Language Transformations). Here, you are given a number to each service, a service corresponding to the number n and S n. Further, let L n be a service characteristic list corresponding to the service Sn. In step S701, the copying machine executes processing for obtaining L n .

ここで、図8の機器固有の情報801と、個々のサービスの情報802と、から生成されるサービス特性リストの一例を、図9に示す。図9は、サービス特性リストの一例を示す図である。図9に示されるように、複写機によってサービス一覧リストからサービス特性リストに変換された時点で、1つのサービスについての情報(特性情報)が、サービス特性リストに記述される。また、Serviceを示すタグには、サービスに振られた一意な番号が記述される(no属性であり、図9においては、1である。)。   Here, FIG. 9 shows an example of a service characteristic list generated from the device-specific information 801 and the individual service information 802 in FIG. FIG. 9 is a diagram illustrating an example of the service characteristic list. As shown in FIG. 9, information (characteristic information) about one service is described in the service characteristic list at the time when the service is converted from the service list to the service characteristic list by the copying machine. In the tag indicating Service, a unique number assigned to the service is described (no attribute, which is 1 in FIG. 9).

なお、複写機は、サービス特性リストLnに、サービスの特性情報だけなく、例えば、予め実行していなければならないサービスIDを記述するようにしてもよい。また、複写機は、サービス特性リストLnに、サービスの特性情報だけなく、例えば、サービスの前後に実行しておいた方がよいサービスIDを記述するようにしてもよい。また、複写機は、サービス特性リストLnに、サービスの特性情報だけなく、例えば、サービスを利用する上で、いくつかのサービスを組み合わせた推奨サービスのIDを記述するようにしてもよい。 Note that the copying machine may describe not only the service characteristic information but also, for example, a service ID that must be executed in advance, in the service characteristic list L n . Further, the copying machine may describe not only the service characteristic information but also, for example, a service ID that should be executed before and after the service, in the service characteristic list L n . The copier may describe not only the service characteristic information but also the ID of a recommended service that combines several services when using the service, for example, in the service characteristic list L n .

ここで、図2のシステム構成を例に、ステップS701における処理の一例を図10に示す。図10は、図7のステップS701における処理の一例を示す図である。図2の場合、例えば、複写機C(304)は、複写機A(302)が提供しているサービスA1(305)、A2(306)についての情報が記述されているサービス一覧リスト1001を、複写機A(302)等より取得して保持している。また、複写機C(304)は、複写機B(303)が提供しているサービスB1(307)についての情報が記述されているサービス一覧リスト1002を、複写機B(303)等より取得して保持している。このような場合、複写機C(304)は、S701の処理によって、サービス毎にサービス特性リストを作成する。つまり、複写機C(304)は、サービスA1に対して、サービス特性リストL1(1003)を作成する。また、複写機C(304)は、サービスA2に対して、サービス特性リストL2(1004)を作成する。また、複写機C(304)は、サービスA1に対して、サービス特性リストL3(1005)を作成する。なお、図2のサービスA1、サービスA2、サービスB1は、それぞれ図7のステップS701のサービスS1、サービスS2、サービスS3に対応する。 Here, FIG. 10 shows an example of processing in step S701, taking the system configuration of FIG. 2 as an example. FIG. 10 is a diagram illustrating an example of processing in step S701 in FIG. In the case of FIG. 2, for example, the copier C (304) displays a service list 1001 in which information about the services A1 (305) and A2 (306) provided by the copier A (302) is described. Obtained from the copier A (302) or the like and held. Further, the copier C (304) acquires from the copier B (303) and the like a service list 1002 in which information about the service B1 (307) provided by the copier B (303) is described. Hold. In such a case, the copier C (304) creates a service characteristic list for each service by the processing of S701. That is, the copier C (304) creates a service characteristic list L 1 (1003) for the service A1. The copier C (304) creates a service characteristic list L 2 (1004) for the service A2. Further, the copier C (304) creates a service characteristic list L 3 (1005) for the service A1. Note that service A1, service A2, and service B1 in FIG. 2 correspond to service S1, service S2, and service S3 in step S701 of FIG. 7, respectively.

ステップS702では、複写機は、連携処理の順序が記述されたフローリストから、次に実行するサービス、即ち、未実行のサービスのうち、最初に行わなければならないサービスのサービスIDを求め、SID(Next)とする。   In step S702, the copying machine obtains a service ID of a service to be executed next, that is, a service that must be performed first among unexecuted services, from the flow list in which the order of cooperation processing is described, and the SID ( Next).

ステップS703では、複写機は、ステップS701において作成した全てのサービス特性リストLnにおけるサービスIDと、ステップS702において求めたSID(Next)とが一致するサービス特性リストを取得する。そして、複写機は、取得したサービス特性リストを含む利用可能サービス群(利用可能サービス群情報)を、例えば、RAM103又はハードディスク109等に格納し、保持する。 At step S703, the copying machine acquires the service ID in all service characteristics list L n created in step S701, the service characteristic list SID (Next) and match determined in step S702. Then, the copier stores and holds the available service group (available service group information) including the acquired service characteristic list in, for example, the RAM 103 or the hard disk 109.

ステップS703では、複写機は、利用可能サービス群にサービス特性リストが存在しているか否かを判定する。複写機は、利用可能サービス群にサービス特性リストが存在していないと判定すると、実行可能なサービスが無いので、S708へ進み、エラー処理を行い、処理を終了する。一方、複写機は、利用可能サービス群にサービス特性リストが存在していると判定すると、S705へ進み、利用可能サービス群に存在するサービス特性リストが1つか否かを判定する。   In step S703, the copying machine determines whether a service characteristic list exists in the available service group. If the copier determines that the service characteristic list does not exist in the available service group, there is no service that can be executed, so the process proceeds to S708, performs error processing, and ends the processing. On the other hand, if the copier determines that there is a service characteristic list in the available service group, the process advances to step S705 to determine whether there is one service characteristic list in the available service group.

複写機は、利用可能サービス群に存在するサービス特性リストが1つであると判定すると、このサービス特性リストに記述されているサービス(機器)にしか処理を依頼できないため、ステップS707へ進み、前記サービス(機器)に処理を依頼する。一方、複写機は、利用可能サービス群に存在するサービス特性リストが2つ以上存在すると判定すると、ステップS706に進む。   If the copier determines that there is only one service characteristic list in the available service group, the process can be requested only to the service (device) described in the service characteristic list, so the process proceeds to step S707. Request service (device) for processing. On the other hand, if the copier determines that there are two or more service characteristic lists in the available service group, the process advances to step S706.

ステップS706では、複写機は、利用可能サービス群に存在する全てのサービス特性リストLnと、制約条件リストとから、全てのサービス特性リストLnについての仮想距離dnを求める。なお、仮想距離dnを求める処理の詳細は、後述する図11に示す。 At step S706, the copying machine, and all the service characteristics list L n that exists in the available service group, and a constraint list, obtains the virtual distance d n for all service characteristic list L n. Details of the processing for obtaining the virtual distance d n are shown in FIG. 11 described later.

ステップS706に続いてステップS707に進み、複写機は、S706において計算されたサービス特性リストLnについての仮想距離dnのうち、最短の仮想距離に対応するサービス特性リストLminを選択する。そして、複写機は、Lminに記載されているIPアドレス等の情報を元にして、Lminに係るサービス(機器)に処理を依頼する。 Proceeding to step S707 following step S706, the copying machine selects the service characteristic list L min corresponding to the shortest virtual distance from the virtual distances d n for the service characteristic list L n calculated in S706. Then, a copying machine, based on the information of the IP address, etc. listed in L min, requests processing to the service (device) according to L min.

図11は、仮想距離を求める処理の一例を示すフローチャートである。ステップS1201において、複写機は、pを1とする(つまり、変数pに1を設定する。)。S1202では、複写機は、制約条件リストの中に優先度がp(pの値)の制約条件が存在するか否かを判定する。より具体的に説明すると、複写機は、制約条件リストが図6に示したようなXML形式のフォーマットをしていたとき、Priorityタグ中のorder属性がpの制約条件が存在するか否かを判定する。   FIG. 11 is a flowchart illustrating an example of processing for obtaining a virtual distance. In step S1201, the copying machine sets p to 1 (that is, sets variable p to 1). In step S1202, the copying machine determines whether a constraint condition with a priority level p (value of p) exists in the constraint condition list. More specifically, the copier determines whether or not there is a constraint condition where the order attribute in the Priority tag is p when the constraint condition list is in the XML format as shown in FIG. judge.

複写機は、Priorityタグ中のorder属性がpの制約条件が存在すると判定すると、ステップS1203に進む。一方、複写機は、Priorityタグ中のorder属性がpの制約条件が存在しないと判定すると、全ての優先度についての処理が終了したとして、ステップS1210に進む。   If the copying machine determines that there is a constraint condition in which the order attribute in the Priority tag is p, the process advances to step S1203. On the other hand, if the copier determines that there is no constraint condition with the order attribute in the Priority tag of p, the process proceeds to step S1210, assuming that processing for all priorities has been completed.

ステップS1203では、複写機は、優先度pの特性(制約条件)が、値が大きいものを優先するのか(つまり、降順か)、又は値が小さいものを優先するのか(つまり、昇順か)を判定する。例えば、制約条件が、サービスの1処理当たりの「値段」の場合で、制約条件リスト等に値段の安い方を優先すると設定されていると、この制約条件は昇順である。また、制約条件が、1ページ当たりの「処理速度」の場合で、制約条件リスト等に処理速度が早い方を優先すると設定されていると、この制約条件は降順である。   In step S1203, the copying machine determines whether the priority p characteristic (constraint condition) has a higher value (ie, descending order) or a lower value (ie, ascending order). judge. For example, when the constraint condition is “price” per process of the service, and the priority is set in the constraint condition list to give priority to the lower price, this constraint condition is in ascending order. Further, when the constraint condition is “processing speed” per page and the constraint condition list or the like is set to give priority to the faster processing speed, the constraint condition is in descending order.

図6の例を用いて説明すると、複写機は、ステップS1203において、Priorityタグのorder属性がpの制約条件のcompare属性が"descending"か否かを判定する。複写機は、Priorityタグのorder属性がpの制約条件のcompare属性が"descending"であると判定すると、ステップS1206に進む。一方、複写機は、Priorityタグのorder属性がpの制約条件のcompare属性が"descending"でない(つまり、"ascending"である)と判定すると、ステップS1204に進む。   Referring to the example of FIG. 6, in step S1203, the copier determines whether the compare attribute of the constraint condition where the order attribute of the Priority tag is p is “descending”. If the copier determines that the compare attribute of the constraint condition with the order attribute of the Priority tag being p is “descending”, the process advances to step S1206. On the other hand, if the copier determines that the compare attribute of the constraint tag with the order attribute of the Priority tag is not “descending” (that is, “ascending”), the process advances to step S1204.

S1204では、複写機は、利用可能サービス群に存在する全てのサービス特性リストの中から、優先度pに相当する特性(制約条件)で、値(つまり、制約条件が料金の場合、料金の値)が最大のものをVmaxとする。例えば、優先度p=1、即ち図6のorder属性が"1"の場合を例にとると、複写機は、「料金」の特性(制約条件)について、利用可能サービス群中の全サービス特性リストの中で、値が最大の料金をVmaxとする。 In S1204, the copying machine has a value (that is, a charge value if the restriction condition is a charge) with a characteristic (constraint condition) corresponding to the priority p among all the service characteristic lists existing in the available service group. ) is the V max the maximum of things. For example, taking the case where the priority p = 1, that is, the order attribute in FIG. 6 is “1”, the copier uses all the service characteristics in the available service group for the “charge” characteristics (constraints). The charge having the maximum value in the list is V max .

なお、複写機は、例えば、全てのサービス特性リストの優先度pに相当する特性(制約条件)の値を比較して、値が最大のものを決定し、Vmaxとする。 The copier, for example, compares the values of the characteristics (constraint conditions) corresponding to the priority p of all the service characteristic lists, determines the one with the maximum value, and sets it to V max .

S1205では、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値をVmaxで割って商を求める。即ち、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値を、区間[0,1]で正規化する。つまり、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値の中で一番値が大きいもの(つまり、優先度pの中では一番優先順序が低いもの)を1とし、値が小さいものほど、優先順序が高くなるようにする。 In S1205, the copying machine obtains a quotient value of properties (constraints) corresponding to the priority p of all service characteristics in the list L n divided by V max. That is, the copying machine normalizes the value of the characteristic (constraint condition) corresponding to the priority p in the all service characteristic list L n in the interval [0, 1]. That is, the copying machine has the largest value among the characteristics (constraint conditions) corresponding to the priority p in the all service characteristic list L n (that is, the highest priority order in the priority p). The lower order is set to 1, and the smaller the value, the higher the priority order.

ここで、ステップS1204及びステップS1205の処理を、より具体的な値を用いて説明する。例えば、優先度pの制約条件が、料金で、1回のサービス当たり、10円、20円、100円の3種類の同一IDのサービスがあるとする。このような場合、複写機は、ステップS1204において、Vmax=100とする。続いてステップS1205において、複写機は、10、20、100をそれぞれVmaxで割った商を求める。即ち、複写機は、10/100=0.1、20/100=0.2、100/100=1を求める。つまり、複写機は、料金の値を区間[0,1]で正規化する。このことにより、優先順位が低いサービスに係る料金の値が1となり、優先順位が高いサービスに係る料金の値ほど、小さくなる。 Here, the processing of step S1204 and step S1205 will be described using more specific values. For example, it is assumed that there are three types of services with the same ID of 10 yen, 20 yen, and 100 yen per service, where the priority p is a restriction condition. In such a case, the copying machine sets V max = 100 in step S1204. Subsequently, in step S1205, copier, finds the quotient obtained by dividing the 10,20,100 each V max. That is, the copying machine obtains 10/100 = 0.1, 20/100 = 0.2, and 100/100 = 1. That is, the copying machine normalizes the charge value in the interval [0, 1]. As a result, the value of the charge related to the service with the lower priority becomes 1, and the value of the charge related to the service with the higher priority becomes smaller.

一方、S1206では、複写機は、利用可能サービス群に存在する全てのサービス特性リストの中から、優先度pに相当する特性(制約条件)で、値(つまり、制約条件が処理速度の場合、処理速度の値)が最小のものをVminとする。複写機は、例えば、全てのサービス特性リストの優先度pに相当する特性(制約条件)の値を比較して、値が最小のものを決定し、Vminとする。例えば、優先度p=2、即ち図6のorder属性が"2"の場合を例にとると、複写機は、「処理速度」の特性(制約条件)について、利用可能サービス群中の全サービス特性リストの中で、値が最小の処理速度をVminとする。 On the other hand, in S1206, the copying machine has a characteristic (constraint condition) corresponding to the priority p from all the service characteristic lists existing in the available service group, that is, if the constraint condition is a processing speed, The one with the smallest processing speed value is defined as V min . For example, the copying machine compares the values of the characteristics (constraint conditions) corresponding to the priority p of all the service characteristic lists, determines the one with the smallest value, and sets it to V min . For example, in the case where the priority p = 2, that is, the order attribute in FIG. 6 is “2”, the copier uses all the services in the available service group for the “processing speed” characteristic (constraint condition). Let V min be the processing speed with the smallest value in the characteristic list.

なお、複写機は、例えば、全てのサービス特性リストの優先度pに相当する特性(制約条件)の値を比較して、値が最小のものを決定し、Vminとする。 The copier, for example, compares the values of the characteristics (constraint conditions) corresponding to the priority p of all the service characteristic lists, determines the one with the smallest value, and sets it to Vmin .

S1207では、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値をVminで割って商を求める。即ち、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値を、区間[1,∞]で正規化する。つまり、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値の中で一番値が小さいもの(つまり、優先度pの中では一番優先順序が低いもの)を1とし、値が大きいものほど、優先順序が高くなるようにする。 In S1207, the copying machine obtains a quotient value of properties (constraints) corresponding to the priority p of all service characteristics in the list L n divided by V min. That is, the copying machine normalizes the value of the characteristic (constraint condition) corresponding to the priority p in the all service characteristic list L n in the interval [1, ∞]. That is, the copying machine has the smallest value among the characteristics (constraint conditions) corresponding to the priority p in the all service characteristic list L n (that is, the highest priority order in the priority p). 1) is set to 1, and the higher the value, the higher the priority order.

ステップS1208では、複写機は、ステップS1207で求めた商の逆数を求める。即ち、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値を、区間[0,1]で正規化する。つまり、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値の中で一番値が小さいもの(つまり、優先度pの中では一番優先順序が低いもの)を1とし、値が小さいものほど、優先順序が高くなるようにする。 In step S1208, the copying machine obtains the reciprocal of the quotient obtained in step S1207. That is, the copying machine normalizes the value of the characteristic (constraint condition) corresponding to the priority p in the all service characteristic list L n in the interval [0, 1]. That is, the copying machine has the smallest value among the characteristics (constraint conditions) corresponding to the priority p in the entire service characteristic list L n (that is, the priority order is the highest in the priority p). The lower order is set to 1, and the smaller the value, the higher the priority order.

ここで、ステップS1206からステップS1208までの処理を、より具体的な値を用いて例示する。例えば、優先度pの制約条件が、処理速度で、1秒当たり、1ページ、2ページ、3ページの3種類の同一IDのサービスがあったとする。このような場合、複写機は、ステップS1206において、Vmin=1とする。続いてステップS1207において、複写機は、2、4、5をそれぞれVminで割った商を求める。即ち、複写機は、2/2=1、4/2=2、5/2=2.5を求める。つまり、複写機は、処理速度の値を区間[1,∞]で正規化する。続いてステップS1208において、複写機は、ステップS1207で求めた商の逆数を求める。即ち、複写機は、1/1=1、1/2=0.5、1/2.5=0.4を求める。つまり、複写機は、処理速度を区間[0,1]で正規化する。このことにより、優先順位が低いサービスに係る料金の値が1となり、優先順位が高いサービスに係る料金の値ほど、小さくなる。 Here, the processing from step S1206 to step S1208 is illustrated using more specific values. For example, it is assumed that there are three types of services with the same ID of 1 page, 2 pages, and 3 pages per second as the constraint condition of the priority level p is the processing speed. In such a case, the copying machine sets V min = 1 in step S1206. Subsequently, in step S1207, copier, finds the quotient obtained by dividing the 2,4,5 respectively V min. That is, the copying machine calculates 2/2 = 1, 4/2 = 2, and 5/2 = 2.5. That is, the copying machine normalizes the processing speed value in the interval [1, ∞]. In step S1208, the copying machine obtains the reciprocal of the quotient obtained in step S1207. That is, the copying machine obtains 1/1 = 1, 1/2 = 0.5, and 1 / 2.5 = 0.4. That is, the copying machine normalizes the processing speed in the interval [0, 1]. As a result, the value of the charge related to the service with the lower priority becomes 1, and the value of the charge related to the service with the higher priority becomes smaller.

ステップS1209では、複写機は、pの値を1だけインクリメントして、ステップS1202へ戻る。つまり、複写機は、ステップS1202からステップS1209までのループ処理において、制約条件リストに書かれている全ての優先度の特性(制約条件)について、区間[0,1]で正規化された値(距離)を求める。   In step S1209, the copying machine increments the value of p by 1 and returns to step S1202. That is, in the loop processing from step S1202 to step S1209, the copier normalizes the values (normalized in the section [0, 1]) for all priority characteristics (constraint conditions) written in the constraint condition list ( Find the distance.

ステップS1210では、複写機は、制約条件リストの各特性(制約条件)の重みに応じて、全サービス特性リストLnについて、上述したように区間[0,1]で正規化された値に対して重み付けを行う。なお、重み付け処理の詳細は、後述する図12に示す。ステップS1210の処理によって、全ての優先度の特性(制約条件)について、仮想的な距離(仮想距離)が求められる。 In step S1210, the copying machine determines the values normalized in the interval [0, 1] as described above for the entire service characteristic list L n according to the weight of each characteristic (constraint condition) in the constraint condition list. Weight. Details of the weighting process are shown in FIG. Through the processing in step S1210, virtual distances (virtual distances) are obtained for all priority characteristics (constraint conditions).

ステップS1211からステップS1217の処理は、全サービス特性リストLnからそれぞれのサービスにおけるサービス実行のための仮想距離を求めるためのループ処理である。 Processing from step S1211 Step S1217 is a loop process for obtaining the virtual distance for service execution in each of the service from all service characteristics list L n.

ステップS1211では、複写機は、全サービス特性リストLnからまだ選択していないサービス特性リストLiを選択する。ステップS1212では、複写機は、サービス特性リストLiに対するサービスSiの仮想距離diを0とする。ステップS1213では、複写機は、pを1とする(つまり、変数pに1をセットする。)。 In step S1211, the copying machine selects a service characteristic list L i that has not been selected from all the service characteristic lists L n . In step S1212, copier, a virtual distance d i service S i to the service characteristics list L i to 0. In step S1213, the copying machine sets p to 1 (that is, sets 1 to the variable p).

ステップS1214では、複写機は、制約条件リストの中に優先度がpの特性(制約条件)が存在するか否かを判定する。複写機は、制約条件リストの中に優先度がpの特性(制約条件)が存在すると判定すると、ステップS1215に進み、存在しないと判定すると、ステップS1218に進む。   In step S1214, the copying machine determines whether or not there is a characteristic (constraint condition) having a priority level p in the constraint condition list. The copying machine proceeds to step S1215 when it is determined that a characteristic (constraint condition) having a priority level p exists in the constraint condition list, and proceeds to step S1218 when it is determined that the characteristic does not exist.

ステップS1215では、複写機は、優先度pに相当する特性の値(つまり、上述したように区間[0,1]で正規化され、ステップS1210において重み付けされた値)をサービス特性リストLiから取り出し、dpとする。ステップS1216では、複写機は、diにdpを加えたものをdiとする。ステップS1217では、複写機は、pの値を1だけインクリメントして、ステップS1214へ戻る。 In step S1215, the copying machine determines the characteristic value corresponding to the priority p (that is, the value normalized in the interval [0, 1] and weighted in step S1210 as described above) from the service characteristic list L i. Take it out and let it be dp. In step S1216, copier, a plus dp to d i and d i. In step S1217, the copying machine increments the value of p by 1 and returns to step S1214.

S1214からS1216までの処理で、サービス特性リストLiに対するサービスSiの仮想距離diが求められる。 In the processing from S1214 to S1216, the virtual distance d i service S i to the service characteristics list L i is calculated.

ステップS1218では、複写機は、全サービス特性リストLnの中で、ステップS1211においてまだ選択されていないサービス特性リストLiが存在するか否かを判定する。複写機は、全サービス特性リストLnの中で、ステップS1211においてまだ選択されていないサービス特性リストLiが存在すると判定すると、ステップS1211に戻り、存在しないと判定すると、処理を終了する。 In step S1218, the copier determines whether there is a service characteristic list L i that has not been selected in step S1211 among all the service characteristic lists L n . Copier, among all service characteristics list L n, yet if it is determined that the service characteristics list L i is not selected is present in step S1211, the flow returns to step S1211, if it is determined non-existent and, to end the process.

図12は、重み付け処理の一例を示すフローチャートである。ここで、図12に示される重み付け処理では、優先度が低い制約条件(特性)に対して、より大きな重みを与えるようにしている。より具体的に説明すると、制約条件リストに記述された重み(weight属性の値)を、制約条件(特性)に加算している。制約条件リストのweight属性の値は、正であり、優先度が低いほど(order属性の値が大きいほど)大きくなる単調増加な値となっている。   FIG. 12 is a flowchart illustrating an example of the weighting process. Here, in the weighting process shown in FIG. 12, a larger weight is given to a constraint condition (characteristic) having a low priority. More specifically, the weight (value of the weight attribute) described in the constraint condition list is added to the constraint condition (characteristic). The value of the weight attribute in the constraint condition list is positive, and is a monotonically increasing value that increases as the priority is lower (as the order attribute value is larger).

ステップS1301では、複写機は、pを2とする(つまり、変数pに2を設定する。)。ステップS1302では、複写機は、制約条件リストの中に優先度がp(pの値)の制約条件が存在するか否かを判定する。複写機は、制約条件リストの中に優先度がpの特性(制約条件)が存在すると判定すると、ステップS1303に進み、存在しないと判定すると、処理を終了する。ここで、最優先(つまり、pが1)の制約条件については、重み付けの処理は行わないようにしている。これは、仮想距離は、複写機等が次のサービスを選択する際に用いるからである。   In step S1301, the copying machine sets p to 2 (that is, sets 2 to the variable p). In step S1302, the copying machine determines whether there is a constraint condition with a priority p (value of p) in the constraint condition list. If the copying machine determines that a characteristic (constraint condition) having a priority level p exists in the constraint condition list, the process advances to step S1303. If the copier determines that the characteristic does not exist, the process ends. Here, weighting processing is not performed for the constraint condition with the highest priority (that is, p is 1). This is because the virtual distance is used when the copier or the like selects the next service.

ステップS1303では、複写機は、制約条件リストの優先度pの制約条件の重みをwpとする。つまり、複写機は、制約条件リストの優先度pの制約条件のweight属性の値を取得し、変数pに設定する。   In step S1303, the copying machine sets wp as the weight of the constraint condition of the priority p in the constraint condition list. That is, the copying machine acquires the value of the weight attribute of the constraint condition with the priority p in the constraint condition list and sets it in the variable p.

ステップS1304では、複写機は、全サービス特性リストLn中の優先度pに相当する特性(制約条件)の値(上述したように区間[0,1]で正規化された値)にwpの値を加算する。ステップS1305では、複写機は、pの値を1だけインクリメントして、ステップS1302へ戻る。 In step S1304, copier, the value (normalized value in the interval [0,1] as described above) of the characteristic (constraints) corresponding to the priority p of all service characteristics in the list L n of wp Add the values. In step S1305, the copier increments the value of p by 1 and returns to step S1302.

なお、図12に示した例では、複写機は、ステップS1304において、上述したように区間[0,1]で正規化された値に対して重み(wpの値)を加算したが、区間[0,1]で正規化された値に対して重みを乗じるようにしてもよい。また、複写機は、ステップS1304において、重みについて正規化を行い、重みをある一定の割合にしてから、上述したように区間[0,1]で正規化された値に対して加算したり、又は乗じたりするようにしてもよい。   In the example shown in FIG. 12, the copying machine adds the weight (value of wp) to the value normalized in the interval [0, 1] as described above in step S1304. The value normalized by [0, 1] may be multiplied by a weight. In step S1304, the copying machine normalizes the weights, sets the weights to a certain ratio, and adds the values normalized in the interval [0, 1] as described above. Or you may make it multiply.

また、図12に示した例では、複写機は、最優先の制約条件(特性)の値に対しては、重み付けの処理を行わなかったが、最優先の制約条件(特性)の値に対しても重み付けの処理を行うようにしてもよい。   In the example shown in FIG. 12, the copying machine does not perform the weighting process for the value of the highest priority constraint condition (characteristic), but for the value of the highest priority constraint condition (characteristic). Alternatively, weighting processing may be performed.

なお、同一機器(同一複写機)内に、同じ機能(例えば、印刷機能)を提供するサービスが複数存在する場合も、サービス毎にサービス特性リストが異なるため、複写機は、本実施例の方法等によって仮想距離dnを求めることができる。そして、最適なサービス(つまり、仮想距離dnが短いサービス)に対して処理を依頼し、一連の連携処理を速やかに行うことができる。 Even when there are a plurality of services providing the same function (for example, printing function) in the same device (same copying machine), the service characteristics list is different for each service. The virtual distance d n can be obtained by, for example. Then, it is possible to request processing for an optimal service (that is, a service with a short virtual distance d n ) and to quickly perform a series of linkage processing.

なお、各サービスは、SOAP(Simple Object Access Protocol)に従って、通信を行い、データ等をやり取りするようにしてもよい。例えば、SOAPのBody部にサービス一覧リストや、フローリスト、制約条件リストを格納し、機器又はサービス間で、データ等のやり取りを行ったり、サービスの制御等もSOAPに従って行ったりするようにしてもよい。   Each service may communicate and exchange data and the like according to SOAP (Simple Object Access Protocol). For example, a service list, a flow list, and a constraint list are stored in the Body part of the SOAP so that data or the like is exchanged between devices or services, and control of services is performed according to SOAP. Good.

SOAPに従って処理を行うことによって、LANに繋がれた機器又はサービスだけなく、機器間又はサービス間にプロキシサーバがあるような、インターネットを介して接続された機器間又はサービス間においてもデータのやり取りを行うことが可能となる。   By performing processing according to SOAP, not only devices or services connected to a LAN, but also data exchanges between devices or services connected via the Internet, such as a proxy server between devices or services. Can be done.

但し、インターネットを介して機器間又はサービス間が接続されている場合は、複写機は、例えば、予め設定等されたターゲット機器又はサービスに対して、サービス一覧リストの取得を要求する。また、複写機は、例えば、ある一定のネットワークの範囲内(IPアドレスの範囲内)に対して、サービス一覧リストの取得を要求するようにしてもよい。   However, when devices or services are connected via the Internet, the copier requests, for example, acquisition of a service list from a preset target device or service. Further, for example, the copying machine may request acquisition of a service list for a certain network range (within an IP address range).

また、複写機は、バイナリデータでデータ(例えば、サービス一覧リスト等)のやり取りを行えない場合、Base64等でデータをエンコーディングして、データのやり取りを行うようにしてもよい。また、複写機は、SOAPに従った通信において、データの暗号化や、電子署名等を用いて、セキュリティを高めるようにしてもよい。   In addition, when the copying machine cannot exchange data (for example, a service list) using binary data, the data may be exchanged by encoding the data using Base 64 or the like. Further, the copying machine may improve security by using data encryption, electronic signature, or the like in communication according to SOAP.

即ち、本実施例は、ローカルなネットワークに限定されず、グローバルなネットワーク(インターネット)においても適用可能である。なお、本実施例では、複写機を用いて説明を行ったが、このことは本発明の実施を制限するものではない。   That is, the present embodiment is not limited to a local network, but can be applied to a global network (Internet). Although the present embodiment has been described using a copying machine, this does not limit the implementation of the present invention.

上述したように、実施例1によれば、複写機は、連携処理において、次の処理を行うサービスの仮想距離を求めることができる。よって、複写機は、この仮想距離が一番短いサービスに対して、次の処理を依頼することができる。   As described above, according to the first embodiment, the copier can obtain the virtual distance of the service for performing the next process in the cooperation process. Therefore, the copying machine can request the next process for the service with the shortest virtual distance.

実施例1では、複写機が、次の処理を行うサービスの仮想距離を求める例を示した。以下、実施例2では、複写機又はネットワークを介して接続された複数の複写機が、次の処理以降の処理を行うサービスの仮想距離を求める一例を示す。なお、本実施例において、実施例1と同様の内容については説明を省略する。   In the first embodiment, an example is shown in which the copying machine obtains the virtual distance of the service for performing the following processing. In the following, the second embodiment shows an example in which a plurality of copying machines connected via a copying machine or a network obtains a virtual distance of a service for performing the subsequent processing. In the present embodiment, description of the same contents as in the first embodiment will be omitted.

まず、複写機(又はサービス)は、同一の機能を提供するサービスについて、仮想距離の短い順に並べられた一覧の情報(仮想距離リスト)を求める。ここで、フローリストのx番目のサービスの仮想距離リストをVDL(x)とする。   First, the copier (or service) obtains information (virtual distance list) of a list arranged in ascending order of virtual distances for services providing the same function. Here, the virtual distance list of the x-th service in the flow list is VDL (x).

複写機は、求めた仮想距離リストVDL(x)において、仮想距離の短いサービスから順に、次のサービスの実行における仮想距離リストVDL(x+1)を求めるよう、依頼を行う。例えば、仮想距離リストVDL(x)のi番目に仮想距離が短いサービス(サービスに係る複写機)が作成した次のサービスの実行における仮想距離リストは、VDLi(x+1)となる。このように各複写機(各サービス)が、仮想距離リストを計算していくことにより、最終的に一連の処理全体に係る仮想距離が最短の処理経路が、最適な処理経路となる。 In the obtained virtual distance list VDL (x), the copying machine requests the virtual distance list VDL (x + 1) in the execution of the next service in order from the service with the shortest virtual distance. For example, the virtual distance list in the execution of the next service created by the service having the i-th shortest virtual distance (copier associated with the service) in the virtual distance list VDL (x) is VDL i (x + 1). As described above, each copying machine (each service) calculates the virtual distance list, so that the processing path with the shortest virtual distance for the entire series of processes finally becomes the optimum processing path.

ここで、本実施例においては、際限なく仮想距離の見積もりや、先読みを行わないよう、見積数m、先読み数nが、例えば複写機のハードディスク109等に格納されているものとする。なお、見積数m及び/又は先読み数nの値は、例えば、複写機が、タッチスクリーン等を用いたユーザからの指示に応じてハードディスク109等に格納する。また、複写機は、仮想距離リストを求める依頼と共に見積数や、先読み数の値を、依頼先の複写機等に渡す。仮想距離リストを求める依頼と共に見積数や、先読み数の値を受け取った複写機は、見積数や、先読み数の値をハードディスク109等に格納する。また、タッチスクリーン等を用いたユーザからの指示に応じて、複写機が、ハードディスク109等に格納されている見積数m及び/又は先読み数nの値を変更するようにしてもよい。   In this embodiment, it is assumed that the estimated number m and the prefetch number n are stored in, for example, the hard disk 109 of the copying machine so that the virtual distance estimation and prefetching are not performed without limit. Note that the value of the estimated number m and / or the prefetch number n is stored in the hard disk 109 or the like according to an instruction from the user using a touch screen or the like, for example. In addition, the copier passes the request for the virtual distance list and the estimated number and the value of the number of prefetches to the requested copier. The copier that has received the estimated number and the value of the prefetch number together with the request for obtaining the virtual distance list stores the estimated number and the value of the prefetch number in the hard disk 109 or the like. Further, the copying machine may change the value of the estimated number m and / or the prefetch number n stored in the hard disk 109 or the like in accordance with an instruction from the user using a touch screen or the like.

なお、見積数とは、次に実行するサービスの中で仮想距離リストを求める数のことである。より具体的に説明すると、仮想距離リスト中に10の候補(つまり、サービス)があり、見積数が3であったときは、複写機は、仮想距離リストの中で仮想距離が短いサービスから3つのサービスを選択する。そして、複写機は、この3つのサービス(又はサービスに対応する複写機)に対して、次のサービスの仮想距離の見積り(つまり、仮想距離リストの作成)の依頼を行う。なお、仮想距離リスト中のサービスが、見積数mに満たない場合、複写機は、仮想距離リスト中のサービス全てに対して、仮想距離リストの作成を依頼する。   The estimated number is a number for which a virtual distance list is obtained in the next service to be executed. More specifically, if there are 10 candidates (that is, services) in the virtual distance list and the estimated number is 3, the copier will start from the service with the short virtual distance in the virtual distance list. Select one service. Then, the copier requests the three services (or copiers corresponding to the service) to estimate the virtual distance of the next service (that is, create a virtual distance list). If the service in the virtual distance list is less than the estimated number m, the copier requests all the services in the virtual distance list to create a virtual distance list.

また、先読み数とは、フローリストにおいて、現在の処理(サービス)から数えて幾つ先の処理(サービス)まで仮想距離リストを求めるかを示す数のことである。なお、フローリスト中の処理(サービス)が、先読み数までの処理(サービス)まで無い場合、複写機(又はシステム)は、フローリスト中の最後の処理(サービス)まで、仮想距離リストを求める。   Further, the number of prefetches is a number indicating how many steps (services) in the flow list the virtual distance list is calculated from the current process (service). If the process (service) in the flow list does not include the process (service) up to the number of prefetches, the copier (or system) obtains the virtual distance list until the last process (service) in the flow list.

図13は、仮想距離リストの一例を示す図である。図13に示される仮想距離リストは、見積数2、先読み数3の場合の、フローリストのx番目のサービスの仮想距離リストの一例である。   FIG. 13 is a diagram illustrating an example of the virtual distance list. The virtual distance list shown in FIG. 13 is an example of the virtual distance list of the x-th service in the flow list when the estimated number is 2 and the prefetch number is 3.

複写機は、仮想距離リストVDL(x)のうち、仮想距離が短いサービスから2つ(見積数)のサービスに対して、次のサービスの仮想距離の見積り(つまり、仮想距離リストの作成)の依頼を行う。この依頼を受けた各サービス(又は複写機)は、仮想距離リストVDL1(x+1)又は仮想距離リストVDL2(x+1)を作成する。例えば、サービス(又は複写機)は、依頼に応じて、仮想距離リストを作成すると、作成した仮想距離リストを依頼元に送信する。 In the virtual distance list VDL (x), the copier performs the estimation of the virtual distance of the next service (that is, the creation of the virtual distance list) for two services (estimated number) from the services with the short virtual distance. Make a request. Each service (or copier) that receives this request creates a virtual distance list VDL 1 (x + 1) or a virtual distance list VDL 2 (x + 1). For example, when a service (or copying machine) creates a virtual distance list in response to a request, the service (or copying machine) transmits the created virtual distance list to the request source.

また、複写機は、仮想距離リストVDL1(x+1)のうち、仮想距離が短いサービスから2つ(見積数)のサービスに対して、次のサービスの仮想距離の見積り(つまり、仮想距離リストの作成)の依頼を行う。この依頼を受けた各サービス(又は複写機)は、仮想距離リストVDL1(x+2)又は仮想距離リストVDL2(x+2)を作成する。なお、先読み数が3であるので、サービス(又は複写機)は、これ以上先読み処理を継続しない。同様に、サービス(又は複写機)は、見積数についても限界を超えて処理を行わない。 In addition, the copying machine estimates the virtual distance of the next service (that is, the virtual distance list in the virtual distance list) with respect to two services (estimated number) of the virtual distance list VDL 1 (x + 1) having the short virtual distance. Request). Each service (or copying machine) that has received this request creates a virtual distance list VDL 1 (x + 2) or a virtual distance list VDL 2 (x + 2). Since the prefetch number is 3, the service (or copier) does not continue the prefetch process any more. Similarly, the service (or copier) does not process the estimated number exceeding the limit.

なお、図13に示されるように、仮想距離リストVDL1(x+1)1601には、仮想距離の短い順に並べられたサービスに係る情報(又は次に実行するサービスの候補に係る情報)1602及び1603が含まれる。また、サービスに係る情報1602には、サービスを一意に識別するサービス情報1604と、サービスまでの仮想距離1605と、が含まれる。 As shown in FIG. 13, in the virtual distance list VDL 1 (x + 1) 1601, information related to services (or information related to service candidates to be executed next) 1602 and 1603 arranged in ascending order of the virtual distance. Is included. In addition, the service information 1602 includes service information 1604 for uniquely identifying the service and a virtual distance 1605 to the service.

また、図13では、例えばVDL1(x+2)が複数存在しているが、最初の仮想距離リストからの順序付き集合で特定されるため、同じ名称が存在していても構わない。例えば、VDL1(x+2)1606は、[VDL(x)、VDL1(x+1)、VDL1(x+2)]で識別され、VDL1(x+2)1607は、[VDL(x)、VDL2(x+1)、VDL1(x+2)]で識別される。なお、このような仮想距離リストの順序付き集合を、連結仮想距離リストという。 In FIG. 13, for example, there are a plurality of VDL 1 (x + 2). However, since they are specified by an ordered set from the first virtual distance list, the same name may exist. For example, VDL 1 (x + 2) 1606 is identified by [VDL (x), VDL 1 (x + 1), VDL 1 (x + 2)], and VDL 1 (x + 2) 1607 is [VDL (x), VDL 2 (x + 1). ), VDL 1 (x + 2)]. Such an ordered set of virtual distance lists is called a linked virtual distance list.

図14は、連携処理の経路を求める処理の一例を示すフローチャートである。ステップS1401では、複写機は、連結仮想距離リストを求める。なお、連結仮想距離リストを求める処理の詳細は、後述する図15に示す。   FIG. 14 is a flowchart illustrating an example of a process for obtaining a route for the cooperation process. In step S1401, the copying machine obtains a linked virtual distance list. Details of the process for obtaining the linked virtual distance list are shown in FIG.

ステップS1402では、複写機は、サービスの組合せにおいて仮想距離が最短となる経路を、連携処理の経路として決定する。   In step S1402, the copying machine determines the route with the shortest virtual distance in the combination of services as the route for cooperation processing.

図15は、連結仮想距離リストを求める処理の一例を示すフローチャートである。なお、図15のフローチャートでは、見積数m、先読み数nの場合の、フローリストのx番目のサービスの連結仮想距離リストを求める例を示している。また、以下において、複写機が最初に連結仮想距離リストを求める処理を実行した時点でのフローリストのサービスの順番をx0とする。 FIG. 15 is a flowchart illustrating an example of processing for obtaining a linked virtual distance list. Note that the flowchart of FIG. 15 shows an example of obtaining a linked virtual distance list of the xth service in the flow list when the estimated number is m and the prefetch number is n. In the following, the order of the flow list of services at the time the copying machine executes the first seek concatenated virtual distance list processing and x 0.

ステップS1501では、複写機は、xが、x>x0+n−1を満たすか否かを判定する。ステップS1501の処理は、複写機が、先読み数の範囲を超えて処理を行っていないか否かを判定する処理である。複写機は、xが、x>x0+n−1を満たすと判定すると、処理を終了し、満たさないと判定すると、ステップS1502に進む。 In step S1501, the copying machine determines whether x satisfies x> x 0 + n−1. The processing in step S1501 is processing for determining whether or not the copying machine has performed processing exceeding the range of the number of prefetches. If the copying machine determines that x satisfies x> x 0 + n−1, the copying machine ends the process. If the copying machine determines that x does not satisfy x> x 0 + n−1, the process proceeds to step S1502.

ステップS1502では、複写機は、フローリストにx番目の処理(サービス)が存在するか否かを判定する。複写機は、フローリストにx番目の処理が存在すると判定すると、ステップS1503に進み、存在しないと判定すると、処理を終了する。   In step S1502, the copying machine determines whether the x-th process (service) exists in the flow list. If the copying machine determines that the x-th process exists in the flow list, the process advances to step S1503. If the copying machine determines that there is no x-th process, the process ends.

ステップS1503では、複写機は、フローリストのx番目の処理(サービス)の仮想距離リストVDL(x)を求める。なお、ステップS1503の処理は、実施例1の図7、図11、図12に示したフローチャートの処理と同等である。   In step S1503, the copying machine obtains the virtual distance list VDL (x) of the x-th process (service) in the flow list. Note that the processing in step S1503 is equivalent to the processing in the flowcharts shown in FIGS. 7, 11, and 12 of the first embodiment.

ステップS1504では、複写機は、iを1とする(つまり、変数iに1を設定する。)。ステップS1505では、複写機は、iが、i>mを満たすか否かを判定する。つまり、複写機は、ステップS1505において、iが、見積数mを越えているか否かを判定し、見積数を超えて処理を行わないように制御している。   In step S1504, the copying machine sets i to 1 (that is, sets variable i to 1). In step S1505, the copying machine determines whether i satisfies i> m. That is, in step S1505, the copying machine determines whether i exceeds the estimated number m, and performs control so that processing does not exceed the estimated number.

複写機は、iが、i>mを満たすと判定すると、ステップS1510に進み、満たさないと判定すると、ステップS1506に進む。ステップS1506では、複写機は、仮想距離リストVDL(x)のi番目に仮想距離が短いサービスの実行先に、前記フローリストのx+1番目の処理(サービス)について、仮想距離を求める見積り(つまり、仮想距離リストの作成)を依頼する。この依頼を受けたサービス(又は複写機)は、前記フローリストのx+1番目の処理(サービス)について、仮想距離リストを作成し、作成した仮想距離リストを依頼元に送信する。   If it is determined that i satisfies i> m, the copying machine proceeds to step S1510. If the copying machine determines that i does not satisfy i> m, the copying machine proceeds to step S1506. In step S1506, the copier estimates the virtual distance for the x + 1th process (service) in the flow list to the execution destination of the service having the i-th virtual distance that is the shortest in the virtual distance list VDL (x) (that is, Request creation of a virtual distance list. Upon receiving this request, the service (or copier) creates a virtual distance list for the (x + 1) -th process (service) in the flow list, and transmits the created virtual distance list to the request source.

なお、例えば、先読み数nを越えているような場合、見積り先のサービス(又は複写機)からは、仮想距離リストVDLi(x+1)(又は依頼した仮想距離リスト)が返ってこない(送信されてこない)ものとする。 For example, when the prefetch number n is exceeded, the virtual distance list VDL i (x + 1) (or the requested virtual distance list) is not returned (transmitted) from the estimated service (or copier). Shall not be).

ステップS1507では、複写機は、依頼先のサービス(又は複写機)から、仮想距離リスト(又は連結仮想距離リスト)VDLi(x+1)が返されたか否かを判定する。複写機は、依頼先のサービス(又は複写機)から、仮想距離リストVDLi(x+1)が返ってきたと判定すると、ステップS1508に進み、返ってこなかったと判定すると、ステップS1510に進む。 In step S1507, the copier determines whether a virtual distance list (or linked virtual distance list) VDL i (x + 1) is returned from the requested service (or copier). If the copier determines that the virtual distance list VDL i (x + 1) is returned from the requested service (or copier), the process proceeds to step S1508. If the copier determines that it is not returned, the process proceeds to step S1510.

ステップS1508では、複写機は、ステップS1506において依頼先のサービス(又は複写機)より返された仮想距離リスト(又は連結仮想距離リスト)VDLi(x+1)と、ステップS1503において求めたVDL(x)と、の連結処理を行う。そして、複写機は、ステップS1508において、上述したような連結仮想距離リストを作成する。ステップS1509では、複写機は、iの値を1だけインクリメントして、ステップS1505へ戻る。つまり、複写機は、次に仮想距離が短いサービスに対して、処理を実行する。 In step S1508, the copier detects the virtual distance list (or linked virtual distance list) VDL i (x + 1) returned from the requested service (or copier) in step S1506 and the VDL (x) obtained in step S1503. The connection process is performed. In step S1508, the copying machine creates a linked virtual distance list as described above. In step S1509, the copying machine increments the value of i by 1 and returns to step S1505. That is, the copying machine executes processing for the service with the next shortest virtual distance.

ステップS1510では、複写機は、連結仮想距離リスト(又は仮想距離リスト)のi番目以降のサービスに係る情報について削除する。つまり、複写機は、ステップS1510において、見積数を超えている等、不要なサービスに係る情報(サービス情報や、仮想距離)を削除する。   In step S1510, the copying machine deletes information related to the i-th and subsequent services in the linked virtual distance list (or virtual distance list). That is, in step S1510, the copying machine deletes information (service information and virtual distance) related to unnecessary services such as exceeding the estimated number.

ステップS1511では、複写機は、連結仮想距離リスト(又は仮想距離リスト)が空か否かを判定する。複写機は、連結仮想距離リスト(又は仮想距離リスト)が空であると判定すると、処理を終了し、空でないと判定すると、ステップS1512に進む。即ち、複写機は、処理すべき連結仮想距離リスト(又は仮想距離リスト)がない場合は処理を終了する。ステップS1512では、複写機は、依頼された、連結仮想距離リスト(又は仮想距離リスト)を依頼元に返す。   In step S1511, the copying machine determines whether the linked virtual distance list (or virtual distance list) is empty. If the copier determines that the linked virtual distance list (or virtual distance list) is empty, the process ends. If the copier determines that it is not empty, the process advances to step S1512. That is, the copying machine ends the process when there is no linked virtual distance list (or virtual distance list) to be processed. In step S1512, the copying machine returns the requested linked virtual distance list (or virtual distance list) to the request source.

最終的に求められた経路(連結仮想距離リスト)を、制約条件リスト、フローリスト等と共にサービス(又は複写機)間で受け渡すことで、各サービス(又は各複写機)は、前記経路に従って次の処理を行うサービスを決定して、処理を依頼する。また、サービス(又は複写機)は、事前に求めた経路が無い場合等に、再度、その時点で最適な経路を求める。   By passing the finally obtained route (concatenated virtual distance list) between the services (or copiers) together with the constraint condition list, the flow list, etc., each service (or each copier) follows the route. The service that performs the process is determined and the process is requested. The service (or copier) obtains the optimum route again at that time when there is no route obtained in advance.

また、サービス(又は複写機)は、最適な経路を求めるための先読みの実行について、先読み数分の処理が終わった後に、再度次の先読み処理を実行してもよい。サービス(又は複写機)が、先読み数分の処理が終わった後に、再度次の先読み処理を実行することによって、つまり、処理を区切っているため、先読みの処理に時間をかけずに最適な経路を求めることができる。   The service (or the copying machine) may execute the next prefetching process again after the processing for the number of prefetching is completed for the prefetching for obtaining the optimum route. The service (or copier) performs the next prefetch process again after processing for the number of prefetches, that is, because the process is divided, the optimal route without taking time for the prefetch process. Can be requested.

また、サービス(又は複写機)は、先読みの実行について、先読み数分の処理が終わる前に、逐次先読みの処理を実行しながら、常に最適な経路を求めるようにしてもよい。このような処理は、毎回であってもよいし、先読み数以下の回数であってもよい。サービス(又は複写機)が、先読みの実行について、先読み数分の処理が終わる前に、逐次先読みの処理を実行することによって、つまり、逐次、最適な経路の探索を行っているため、より最適な経路を求めることができる。   Also, the service (or copier) may always obtain an optimum route while executing the prefetching process sequentially before the processing for the number of prefetching is completed. Such a process may be performed every time or may be a number of times less than or equal to the number of prefetches. The service (or copier) is more optimal for prefetching because it performs sequential prefetching processing before the processing for the number of prefetching is completed, that is, it searches for the optimum route sequentially. A simple route.

また、上述した各実施例は、実行不可能なサービスが存在していた場合の最適な代替経路の探索に利用してもよい。サービス(又は複写機)は、機能(サービス)の提供を依頼する機器(複写機)に対して、連結仮想距離リストを渡す。したがって、経路の途中で、実行不可能なサービスが存在していても、例えば実行不可能なサービスに依頼を行ったサービス(複写機)は、連結仮想距離リストを用いて、次に仮想距離が短いサービスを求める。つまり、例えば実行不可能なサービスに依頼を行ったサービス(複写機)は、連結仮想距離リストを用いて、代替経路を求め、同一の機能を提供するサービスに依頼を行うことができる。なお、例えば、サービス(複写機)は、一定期間経過しても、サービスの提供を行った旨の情報等が依頼先のサービス(複写機)より返ってこない場合等、実行不可能なサービスであると判定する。   In addition, each of the embodiments described above may be used for searching for an optimum alternative route when there is an infeasible service. The service (or copying machine) passes the linked virtual distance list to the device (copying machine) that requests the provision of the function (service). Therefore, even if there is an infeasible service in the middle of the route, for example, a service (copying machine) that has requested a non-executable service uses the linked virtual distance list to determine the next virtual distance. Seeking a short service. That is, for example, a service (copying machine) that has requested a service that cannot be executed can obtain an alternative route using the linked virtual distance list, and can request a service that provides the same function. Note that, for example, a service (copier) is an infeasible service, such as when information indicating that the service has been provided does not return from the requested service (copier) after a certain period of time. Judge that there is.

また、本実施例では、複写機が、先読み回数と、見積数と、の両方を有し、処理を行う例を説明したが、どちらか一方の情報のみを有し、処理を行ってもよい。   In the present embodiment, the copying machine has both the number of pre-reads and the estimated number and performs processing. However, only one of the information may be processed and processing may be performed. .

上述したように、各実施例によれば、複写機(又はサービス)は、複数の同一サービスがある場合に、ユーザの求める条件に応じて、最適な経路で連携処理を行うことができる。   As described above, according to each embodiment, when there are a plurality of identical services, the copier (or service) can perform the cooperation process on the optimum route according to the conditions required by the user.

以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.

複写機の構成の一例を示す図である。1 is a diagram illustrating an example of a configuration of a copying machine. ネットワークを介して互いに接続された複写機のサービス構成の一例を示す図である。1 is a diagram illustrating an example of a service configuration of copiers connected to each other via a network. FIG. サービス一覧リストの一例を示す図である。It is a figure which shows an example of a service list. タッチスクリーンに表示された、サービス一覧リストに係る出力画面の一例を示す図である。It is a figure which shows an example of the output screen which concerns on the service list displayed on the touch screen. フローリストの一例を示す図である。It is a figure which shows an example of a flow list. 制約条件リストの一例を示す図である。It is a figure which shows an example of a constraint condition list. 一連の連携処理において、次に実行すべき最適なサービスを決定し、サービスの提供を依頼する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which determines the optimal service which should be performed next in a series of cooperation processes, and requests provision of a service. XML形式で記述されたサービス一覧リストの一例を示す図である。It is a figure which shows an example of the service list list described in the XML format. サービス特性リストの一例を示す図である。It is a figure which shows an example of a service characteristic list. 図7のステップS701における処理の一例を示す図である。It is a figure which shows an example of the process in step S701 of FIG. 仮想距離を求める処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which calculates | requires virtual distance. 重み付け処理の一例を示すフローチャートである。It is a flowchart which shows an example of a weighting process. 仮想距離リストの一例を示す図である。It is a figure which shows an example of a virtual distance list | wrist. 連携処理の経路を求める処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which calculates | requires the path | route of a cooperation process. 連結仮想距離リストを求める処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which calculates | requires a connection virtual distance list | wrist.

符号の説明Explanation of symbols

102 CPU
103 RAM
104 ROM
105 入力部
106 出力部
107 ネットワークインターフェイス
108 ディスクインターフェイス
109 ハードディスク
110 ユニット制御部
102 CPU
103 RAM
104 ROM
105 Input Unit 106 Output Unit 107 Network Interface 108 Disk Interface 109 Hard Disk 110 Unit Control Unit

Claims (13)

機能をサービスとして提供する複数の機器と通信する情報処理装置であって、
サービスの特性を示すサービス特性情報を取得するサービス特性情報取得手段と、
サービスの実行順序を示すフロー情報を取得するフロー情報取得手段と、
利用可能なサービスに係る前記サービス特性情報と、前記フロー情報とに応じて、サービスが連携する際の仮想距離を算出する仮想距離算出手段と、
前記仮想距離算出手段で算出した仮想距離に応じて、サービスに処理を依頼する処理依頼手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus that communicates with a plurality of devices that provide functions as services,
Service characteristic information acquisition means for acquiring service characteristic information indicating service characteristics;
Flow information acquisition means for acquiring flow information indicating the execution order of services;
A virtual distance calculating means for calculating a virtual distance when the service cooperates according to the service characteristic information related to the available service and the flow information;
Processing request means for requesting processing to a service according to the virtual distance calculated by the virtual distance calculation means;
An information processing apparatus comprising:
前記仮想距離算出手段は、サービスに処理を依頼する際の優先度を示す値を、前記連携処理に係るサービスの仮想距離として算出することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the virtual distance calculation unit calculates a value indicating a priority when requesting a service to be processed as a virtual distance of a service related to the cooperation process. 前記仮想距離算出手段は、前記各サービスの特性に応じて、重み付けを行い、前記仮想距離を算出することを特徴とする請求項1又は2に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the virtual distance calculation unit calculates the virtual distance by performing weighting according to characteristics of each service. 同一の機能のサービスを前記仮想距離の短い順に並べた仮想距離情報を作成する仮想距離情報作成手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。   The information processing apparatus according to any one of claims 1 to 3, further comprising virtual distance information creating means for creating virtual distance information in which services having the same function are arranged in ascending order of the virtual distance. 前記仮想距離情報の順に、サービス又はサービスに係る機器に、前記連携処理の次の実行順序のサービスに係る仮想距離情報の作成を依頼する仮想距離情報作成依頼手段を更に有することを特徴とする請求項4に記載の情報処理装置。   The virtual distance information creation requesting unit that requests the service or a device related to the service to create virtual distance information related to the service in the next execution order of the cooperation processing in the order of the virtual distance information. Item 5. The information processing apparatus according to Item 4. 前記連携処理の実行順序付きの前記仮想距離情報の集合である連結仮想距離情報を作成する連結仮想距離情報作成手段を更に有することを特徴とする請求項4又は5に記載の情報処理装置。   The information processing apparatus according to claim 4, further comprising a linked virtual distance information creating unit that creates linked virtual distance information that is a set of the virtual distance information with the execution order of the linkage processing. 前記仮想距離情報の作成を依頼するサービス又はサービスに係る機器の数を指定する依頼数指定手段を更に有することを特徴とする請求項5又は6に記載の情報処理装置。   The information processing apparatus according to claim 5, further comprising: a request number specifying unit that specifies a service requesting creation of the virtual distance information or a number of devices related to the service. 前記連結仮想距離情報に含まれる前記仮想距離情報の数を指定する見積数指定手段を更に有することを特徴とする請求項6又は7に記載の情報処理装置。   The information processing apparatus according to claim 6, further comprising estimated number designation means for designating a number of the virtual distance information included in the connected virtual distance information. 前記処理依頼手段は、前記連携処理において実行不可能なサービスが存在する場合、前記仮想距離算出手段で算出した仮想距離に応じて、次に仮想距離が短いサービスに処理を依頼することを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。   The process requesting unit requests a service having the next shortest virtual distance according to the virtual distance calculated by the virtual distance calculating unit when there is a service that cannot be executed in the cooperation process. The information processing apparatus according to any one of claims 1 to 8. 前記特性に係る制約条件を示す制約条件情報を取得する制約条件情報取得手段を更に有し、
前記仮想距離算出手段は、利用可能なサービスに係る前記サービス特性情報と、前記フロー情報と、前記制約条件情報と、に応じて、サービスが連携する際の仮想距離を算出することを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
It further has a constraint condition information acquisition means for acquiring constraint condition information indicating a constraint condition related to the characteristic,
The virtual distance calculating means calculates a virtual distance when the service is linked according to the service characteristic information related to the available service, the flow information, and the constraint condition information. The information processing apparatus according to any one of claims 1 to 9.
機能をサービスとして提供する複数の機器と通信する情報処理装置における連携処理方法であって、
サービスの特性を示すサービス特性情報を取得するサービス特性情報取得ステップと、
サービスの実行順序を示すフロー情報を取得するフロー情報取得ステップと、
利用可能なサービスに係る前記サービス特性情報と、前記フロー情報とに応じて、サービスが連携する際の仮想距離を算出する仮想距離算出ステップと、
前記仮想距離算出手段で算出した仮想距離に応じて、サービスに処理を依頼する処理依頼ステップと、
を有することを特徴とする連携処理方法。
A cooperation processing method in an information processing apparatus that communicates with a plurality of devices that provide a function as a service,
Service characteristic information acquisition step for acquiring service characteristic information indicating the characteristics of the service;
A flow information acquisition step for acquiring flow information indicating a service execution order;
A virtual distance calculating step of calculating a virtual distance when the services cooperate in accordance with the service characteristic information relating to an available service and the flow information;
A process requesting step for requesting a service to process according to the virtual distance calculated by the virtual distance calculating means;
The cooperation processing method characterized by having.
請求項11に記載の連携処理方法をコンピュータに実行させるための連携処理プログラム。   A cooperation processing program for causing a computer to execute the cooperation processing method according to claim 11. 請求項12に記載の連携処理プログラムを記録したコンピュータ読み取り可能な記録媒体。   The computer-readable recording medium which recorded the cooperation processing program of Claim 12.
JP2005349697A 2005-12-02 2005-12-02 Information processor and coordinated processing method Pending JP2007156736A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005349697A JP2007156736A (en) 2005-12-02 2005-12-02 Information processor and coordinated processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005349697A JP2007156736A (en) 2005-12-02 2005-12-02 Information processor and coordinated processing method

Publications (1)

Publication Number Publication Date
JP2007156736A true JP2007156736A (en) 2007-06-21

Family

ID=38241035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005349697A Pending JP2007156736A (en) 2005-12-02 2005-12-02 Information processor and coordinated processing method

Country Status (1)

Country Link
JP (1) JP2007156736A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146117A (en) * 2008-12-16 2010-07-01 Fujitsu Ltd Information processor, information processing method and information processing program
JP2010218262A (en) * 2009-03-17 2010-09-30 Ricoh Co Ltd Job transfer system, job transfer method, job transfer program and storage medium
JPWO2012132100A1 (en) * 2011-03-29 2014-07-24 オムロン株式会社 Network system, processing terminal, processing program dynamic selection program, and processing program dynamic selection method
US9674388B2 (en) 2014-03-17 2017-06-06 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method that accept a configuration of a cooperative operation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146117A (en) * 2008-12-16 2010-07-01 Fujitsu Ltd Information processor, information processing method and information processing program
JP2010218262A (en) * 2009-03-17 2010-09-30 Ricoh Co Ltd Job transfer system, job transfer method, job transfer program and storage medium
JPWO2012132100A1 (en) * 2011-03-29 2014-07-24 オムロン株式会社 Network system, processing terminal, processing program dynamic selection program, and processing program dynamic selection method
US9674388B2 (en) 2014-03-17 2017-06-06 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method that accept a configuration of a cooperative operation

Similar Documents

Publication Publication Date Title
JP3747887B2 (en) Setting information transmission / reception system, transmission device, and program
CN100568227C (en) Be used for service being carried out the method and system of rank at the web services framework
JP4396721B2 (en) Communications system
US20020076245A1 (en) Image processing system, data processing apparatus, data processing method, computer program and storage medium
US20060203276A1 (en) Printing control device and printing control method, printing control system, and recording medium
JPH10301732A (en) Network printing system
JP5448542B2 (en) Information processing apparatus, control method, and program
JP2001125761A (en) Device, method and system for processing information and recording medium
JP2006229614A (en) Service processor and service processing method and computer-readable storage medium with program stored and program
US8749815B2 (en) Job processing method, image processing system and image processing apparatus
AU785236B2 (en) Distributed document handling system
JP2007156736A (en) Information processor and coordinated processing method
JP4239634B2 (en) Cooperation instruction information generation device, cooperation instruction information generation method, and cooperation instruction information generation control program
JP2012063813A (en) Image formation device, control method for image formation device and computer program
JP4035211B2 (en) Video control apparatus, control method, and storage medium
JP4207612B2 (en) Image processing apparatus, image processing method, and program
JP2007293916A (en) Image processor, and image processing method, program and system
US8078991B2 (en) Electric appliance, image display controlling method, and computer-controlled readable recording medium storing image display controlling program
JP4929142B2 (en) Data processing apparatus, control method therefor, and computer program
JP4343814B2 (en) Information processing apparatus, control method thereof, and program
JP2008269566A (en) Printer driver program, and printer system having the same
JP2002304276A (en) System for intermediation of printing through network
JP2002281481A (en) Method and system for saving text and image through network
JP2004213251A (en) Image forming apparatus capable of reusing objective data for image formation and their processing condition
JP4310765B2 (en) Substitute method for MFP devices