【事件の表示】
　特願２０１２−　　７１２２「複数のサードパーティ・プラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを用いての複数のサードパーティ・コードのプラグインをサポートするデジタル画像キャプチャおよび処理のシステム」拒絶査定不服審判事件〔平成２４年　８月　９日出願公開、特開２０１２−１５０８０８〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１　手続の経緯
　本願は、平成２４年１月１７日（パリ条約による優先権主張２０１１年１月１８日、米国）の出願であって、平成２７年１０月２０日付けで拒絶理由が通知され、平成２８年３月１６日付けで手続補正がされ、同年５月３１日付けで拒絶査定がされ、これに対し、同年９月２６日に拒絶査定不服審判の請求がされたものである。
第２　本願発明
　本願の請求項１−１０に係る発明は、平成２８年３月１６日付け手続補正書により補正された特許請求の範囲の請求項１−１０に記載された事項により特定されるものと認められるところ、その請求項１に係る発明（以下、「本願発明」という。）は、以下のとおりのものである。
「【請求項１】
　デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を変更および／または拡張する方法であって、
　（ａ）１組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップであって、前記演算プラットホームは、（ｉ）前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、（ｉｉ）前記元の製品コードを特定のシーケンスで呼び出して実行することにより１または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける前記１組の標準的な特徴および機能をサポートするものであり、前記１または複数の元の製品コードは１組のプレース・ホルダを有し、前記１組のプレース・ホルダ内へは、付加価値再販業者（ＶＡＲ）、相手先商標製造業者（ＯＥＭ）、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップと、
　（ｂ）前記１組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および／または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであり、前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを含むものである、ステップと
　を備える方法。」
第３　引用文献及び引用発明
１．引用文献１について
　原査定の拒絶の理由に引用された米国特許出願公開第２００７／０２１５７０６号明細書（以下、「引用文献１」という。）には、図面とともに次の事項が記載されている。
（１）「[0307] Overview of the Digital Image Capture and Processing System of the Present Invention Employing Multi-Layer Software-Based System Architecture Permitting Modification and/or Extension of System Features and Functions by Way of Third Party Code Plug-Ins 
[0308] The present invention addresses the shortcomings and drawbacks of prior art digital image capture and processing systems and devices, including laser and digital imaging-based bar code symbol readers, by providing a novel system architecture, platform and development environment which enables VARs, OEMs and others (i.e. other than the original system designers) to modify and/or extend the standard system features and functions of a very broad class of digital image capture and processing systems and devices, without requiring such third-parties to possess detailed knowledge about the hard-ware platform of the system, its communications with outside environment, and/or its user-related interfaces. This novel approach has numerous benefits and advantages to third parties wishing to employ, in their third party products, the digital image capture and processing technology of an expert digital imager designer and manufacturer, such as Applicants and their Assignee, Metrologic Instruments, Inc., but not having to sacrifice or risk the disclosure of its valuable intellectual property and know now, during such system feature and functionality modification and/or extension processes, in order to meet the requirements of its end-user applications at hand. 
[0309] As shown in  FIGS. 1A through 1B , the digital image capture and processing system of the present invention  1000  employs a multi-tier software system architecture capable of supporting various subsystems providing numerous standard system features and functions that can be modified and/or extended using the innovative plug-in programming methods of the present invention. In the illustrative embodiments of the present invention disclosed herein, such subsystems include: an object presence detection subsystem; an object range detection subsystem; an object velocity detection subsystem; an object dimensioning subsystem; a field of view (FOV) illumination subsystem; an imaging formation and detection (IFD) subsystem; a digital image processing subsystem; a sound indicator output subsystem; a visual indictor（当審注：「indicator」の誤記と認める。） output subsystem; a power management subsystem; an image time/space stamping subsystem; a network (IP) address storage subsystem; a remote monitoring/servicing subsystem; an input/output subsystem; and a system control and/or coordination subsystem, generally integrated as shown. 
[0310] For the illustrative embodiments of the present invention disclosed herein, exemplary standard system features and functions are described in the table of FIGS. 1C1 and C2. Such system features and functions are described below, in conjunction with the subsystem that generally supports the feature and function in the digital image capture and processing of the present invention: 
・・・（中略）・・・
[0312] As shown in  FIG. 1F, the digital image capture and processing system of the present invention can be integrated or embodied within third-party products, such as, for example, but not limited to, image-processing based bar code symbol reading systems, OCR systems, object recognition systems, portable data terminals (PDTs), mobile phones, computer mice-type devices, personal computers, keyboards, consumer appliances, automobiles, ATMs, vending machines, reverse-vending machines, retail POS-based transaction systems, 2D or 2D digitizers, and CAT scanning systems, automobile identification systems, package inspection systems, and personal identification systems, and the like.」（段落［０３０７］−［０３１２］）
（当審訳：
［０３０７］［サードパーティ・コードのプラグインを用いてのシステムの特徴および機能の変更および／または拡張を可能にする多層ソフトウェア・ベースのシステム・アーキテクチャを用いる本開示のデジタル画像キャプチャおよび処理のシステムの概要］
［０３０８］本開示は、ＶＡＲ、ＯＥＭなど（即ち、元のシステム設計者以外）が、システムのハードウェア・プラットホーム、外部環境との通信、および／またはユーザ関連インターフェースに関する詳細な知識を所有することを必要とせずに、非常に広いクラスの
デジタル画像キャプチャおよび処理のシステム
の標準システムの特徴および機能を変更および／または拡張できるようにする
この新規な手法
［０３０９］図１Ａ〜図１Ｂに示すように、本開示のデジタル画像キャプチャおよび処理のシステム１０００は、本開示の革新的なプラグイン・プログラミング方法を使用して変更および／または拡張できる多数の標準システムの特徴および機能を提供する様々なサブシステムをサポートすることが可能な多層ソフトウェア・システム・アーキテクチャを用いる。本明細書に開示する本開示の例示的な実施形態では、そのようなサブシステムは、物体存在検出サブシステム、物体範囲検出サブシステム、物体速度検出サブシステム、物体寸法判定サブシステム、視野（ＦＯＶ）照射サブシステム、撮像形成および検出（ＩＦＤ）サブシステム、デジタル画像処理サブシステム、音声インジケータ出力サブシステム、視覚インジケータ出力サブシステム、電力管理サブシステム、画像時間／空間スタンピング・サブシステム、ネットワーク（ＩＰ）アドレス記憶サブシステム、遠隔監視／サービス提供サブシステム、入出力サブシステム、ならびにシステム制御および／または調整サブシステムを含み、示されたように全体として組み込まれている。
［０３１０］本明細書に開示する本開示の例示的な実施形態に関して、例示的な標準システムの特徴および関数が図１Ｃ１およびＣ２の表に説明されている。そのようなシステムの特徴および機能について、本開示のデジタル画像キャプチャおよび処理における特徴および機能を全体としてサポートするサブシステムと関連して以下に説明する。
・・・（中略）・・・
［０３１２］図１Ｆに示すように、本開示のデジタル画像キャプチャおよび処理のシステムは、例えば、画像処理ベースのバー・コード・シンボル読取システム、ＯＣＲシステム、物体認識システム、携帯型データ端末（ＰＤＴ）、モバイル電話、コンピュータ・マウス型デバイス、パーソナル・コンピュータ、キーボード、民生用機器、自動車、ＡＴＭ、販売機、回収機、小売用ＰＯＳベースの取引システム、２Ｄまたは２Ｄデジタイザ、およびＣＡＴ走査システム、自動車識別システム、包装検査システム、ならびに個人識別システムなどのサードパーティ製品内に組み込むこと、およびサードパーティ製品内で実施することができるが、その製品はこれらに限定されるものではない。）（下線は当審で付した。以下同様。）
（２）「[0313] In general, the digital image capture and processing system of the present invention has a set of standard features and functions as described above, and a set of custom features and functionalities that satisfy customized end-user application requirements, which typically aim to modify and/or extend such standard system features and functions for particular applications at hand.
[0314] In the illustrative embodiments described in detail below with reference to  FIGS. 2A through 57, the digital image capture and processing system of the present invention (regardless of the third-product into which the system is integrated or embodied), generally comprises:
[0315] a digital camera subsystem for projecting a field of view (FOV) upon an object to be imaged in said FOV, and detecting imaged light reflected off the object during illumination operations in an image capture mode in which one or more digital images of the object are formed and detected by said digital camera subsystem;
[0316] a digital image processing subsystem for processing digital images and producing raw or processed output data or recognizing or acquiring information graphically represented therein, and producing output data representative of the recognized information; 
[0317] an input/output subsystem for transmitting said output data to an external host system or other information receiving or responding device; 
[0318] a system control system for controlling and/or coordinating the operation of the subsystems above; and
[0319] a computing platform for supporting the implementation of one or more of the subsystems above, and the features and functions of the digital image capture and processing system.
[0320] The computing platform includes (i) memory for storing pieces of original product code written by the original designers of the digital image capture and processing system, and (ii) a microprocessor for running one or more Applications by calling and executing pieces of said original product code in a particular sequence, so as support a set of standard features and functions which characterize a standard behavior of the digital image capture and processing system.
[0321] As will be described in greater detail with reference to  FIGS. 58 through 59C2 , these pieces of original product code have a set of place holders into which third-party product code can be inserted or plugged by third parties, including value-added resellers (VARs), original equipment manufacturers (OEMs), and also end-users of the digital image capture and processing system.
[0322] In accordance with the novel principles of the present invention, one or more pieces of third-party code (“plug-ins”) are inserted or plugged into the set of place holders, and operate to extend the standard features and functions of the digital image capture and processing system, and modify the standard behavior thereof into a custom behavior for the digital image capture and processing system.
[0323] In most embodiments of the present invention, the digital image capture and processing system will further comprise a housing having a light transmission window, wherein the FOV is projected through the light transmission window and upon an object to be imaged in the FOV. Also, typically, these pieces of original product code as well as third-party product code are maintained in one or more libraries supported in the memory structure of the computing platform. In general, such memory comprises a memory architecture having different kinds of memory, each having a different access speed and performance characteristics.
[0324] In accordance with the principles of the present invention, the end-user, such a value-added reseller (VAR) or original equipment manufacturer (OEM), can write such pieces of third-party code (i.e. plug-ins) according to specifications set by the original system designers, and these pieces of custom code can be plugged into the place holders, so as to modify and extend the features and functions of the digital image capture and processing system (or third-party product into which the system is integrated or embodied), and modify the standard behavior of the digital image capture and processing system into a custom behavior for the digital image capture and processing system, without permanently modifying the standard features and functions of the digital image capture and processing system.」（段落［０３１３］−［０３２４］）
（当審訳：
［０３１３］通常、本開示のデジタル画像キャプチャおよび処理のシステムは、上述のような１組の標準的な特徴および機能と、カスタマイズされたエンドユーザ・アプリケーション要件を満たす１組のカスタム特徴および機能とを有するものであり、カスタム特徴および機能は、典型的には、手元の特定のアプリケーション向けのそのような標準のシステムの特徴および機能を変更および／または拡張することを目的とする。
［０３１４］図２Ａ〜図５７を参照して詳細に後述する例示的な実施形態では、本開示の
デジタル画像キャプチャおよび処理のシステムは
下記のものを備える。
［０３１５］即ち、視野（ＦＯＶ）を、前記ＦＯＶおいて撮像すべき物体上に投影し、画像キャプチャ・モードにおける照射動作中に物体から反射されて撮像された光を検出するデジタル・カメラ・サブシステムであって、物体の１または複数のデジタル画像が前記デジタル・カメラ・サブシステムにより形成および検出されるデジタル・カメラ・サブシステムと、
［０３１６］デジタル画像を処理し、生もしくは処理済みの出力データを生成するか、または画像内にグラフィックで表される情報を認識もしくは取得し、認識した情報を表す出力データを生成するデジタル画像処理サブシステムと、
［０３１７］前記出力データを、外部のホスト・システムまたは他の情報受取または応答デバイスへ伝送する入出力サブシステムと、
［０３１８］上記のサブシステムの動作を制御および／または調整するシステム制御システムと、
［０３１９］上記のサブシステムの１または複数のもの、ならびに
デジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームとを備える。
［０３２０］
演算プラットホームは、（ｉ）デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、（ｉｉ）元の製品コードを特定のシーケンスで呼び出して実行することにより１または複数のアプリケーションを動作させるマイクロプロセッサとを含み、デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける１組の標準的な特徴および機能をサポートする。
［０３２１］図５８〜５９Ｃ２を参照してより詳細に説明するように、これらの
元の製品コードは、１組のプレース・ホルダを有し、このプレース・ホルダ内へ、付加価値再販業者（ＶＡＲ）や、相手先商標製造業者（ＯＥＭ）や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができる。
［０３２２］本開示の新規な原理によれば、
１または複数のサードパーティ・コード（「プラグイン」）が１組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作する。
［０３２３］本開示の殆どの実施形態では、デジタル画像キャプチャおよび処理のシステムは、光透過窓を有する筐体を更に備え、ＦＯＶは、光透過窓を通って、ＦＯＶで撮像すべき物体上へ投影される。また典型的に、これらの元の製品コードならびにサードパーティ製品コードは、演算プラットホームのメモリ構造でサポートされる１または複数のライブラリに維持される。通常、そのようなメモリは、それぞれ異なるアクセス速度および性能特性を有する様々な種類のメモリを有するメモリ・アーキテクチャを備える。
［０３２４］本開示の原理によれば、付加価値再販業者（ＶＡＲ）や相手先商標製造業者（ＯＥＭ）などのようなエンドユーザは、元のシステム設計者により設定された仕様に従ってそのようなサードパーティ・コード（即ち、プラグイン）を書くことができ、これらのカスタム・コードをプレース・ホルダにプラグインすることができ、それにより、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能の永久的な変更を行うことなく、デジタル画像キャプチャおよび処理のシステム（またはシステムが組み込まれるサードパーティ製品又はシステムが実施されるサードパーティ製品）の特徴および機能を変更および拡張することができ、また、デジタル画像キャプチャおよび処理のシステムの標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更することができる。）
（３）「[0754] Referring now to FIGS. 58 through 59C2 , the method of and apparatus for extending the standard system features and functions within a digital image capture and processing system of the present invention, will now be described below. While it is understand that any of the digital image capture and processing systems described and disclosed herein could be referred to for purposes of illustrating the novel plug-in programming methodology of the present invention, described in  FIGS. 58 through 59C2, reference will be made to the digital imaging based bar code reading system shown in FIGS. 2A through 18 for purposes of illustration, and not limitation. 
[0755] As indicated in Block A of FIG. 58, the first step involves the “system designer” of the Imaging-based Bar Code Symbol Reading System (having a multi-tier software architecture), determining which “features” of the system (implemented by Tasks called in the Application Layer) and which functions within any given feature, will be modifiable and/or extendable by end-users and/or third-party persons other (than the original designer and the manufacturer, e.g. VARs, end-users, customers et al.) without having detailed knowledge of the system's hardware platform, its communication interfaces with the outside environment, or its user interfaces. This step by the system designer establishes constraints on system modification by others, yet provides degrees of freedom on how the system can be modified to meet custom requirements of end-user applications.
[0756] As indicated in Block B of FIG. 58, based on such determinations, the system designer designs and makes the image-processing based bar code reading system of the present invention, wherein persons other than the system designer (e.g. end-users and third-parties) are permitted to modify and/or extend the system features and functionalities of the original product/system specified by the system designer (i.e. designer of the original product/system) in Block A. 
[0757] As indicated in Block C of FIG. 58, persons other than the system designer, then determine which modifiable and/or extendable system features and functions they wish to modify and/or extend to meet a particular set of end-user application requirements. 
[0758] As indicated in Block D of FIG. 58, for each modifiable feature/function to be modified in the system, persons other than the system designer develop a “plug-in module” (third-party code or “software object”) to implement the designed custom system feature, and thereafter they install the plug-in module (i.e. third-party code) within the suitable Library(ies) in the Application Layer of the multi-tier system. 
[0759] As indicated in Block E of FIG. 58, persons other than the system designer reconfigure the functions associated with each modifiable and/or extendible feature within the system by either sending communications from a host system, or by reading function-reconfiguring bar code symbols. 
[0760] Having provided a brief overview on the system feature/functionality modification methodology of the present invention, it is now in order to describe these method steps in greater detail referring to FIG. 10, and FIGS. 58 through 59C2, in particular.
[0761] In the illustrative embodiment, each plug-in module, stored within the Plug-In and Configuration File Library, shown in FIG. 10, consists of the set of software libraries (object modules) and configuration files. They can be downloaded to the Image-Processing Based Bar Code Symbol Reading System from an external host system, such as Plug-in Development Platform implemented on a host PC, and using various standard or proprietary communication protocols to communicate with the OS layer of the system. In the Image-Processing Based Bar Code Symbol Reading System, this operation is performed by the Metroset task or User Command Manager (see Software Block Diagram) upon reception of the appropriate command from the host system. Once the download is complete, the plug-in files are stored in the file system of the Image-Processing Based Bar Code Symbol Reading System. 
[0762] The management of all plug-in modules (i.e. third-party code) is performed by the Plug-in Controller shown in FIG. 10. The Plug-in Controller can perform operations such as: load (install) plug-in module from the file system to the executable memory of the Image-Processing Based Bar Code Symbol Reading System and perform dynamic linking of the plug-in libraries with the Application; unload (uninstall) the plug-in module; provide executable address of (i.e. Place Holder for) the plug-in module (i.e. third-party code) to the Application: provide additional information about the plug-in module to the Application, such as the rules of the plug-in engagement as described in the plug-in configuration file. 
[0763] Any task of the Image-Processing Based Bar Code Symbol Reading System can request information from the Plug-in Controller about a plug-in module and/or request an operation on it. For a set of predetermined features, the Application tasks can request the Plug-in Controller to check the availability of a third-party plug-in module, and if such module is available, install it and provide its executable address as well as the rules of the plug-in engagement. The tasks then can execute it either instead or along with the “standard” module that implements the particular feature. The rules of engagement of the plug-in module, i.e. determination whether the plug-in module should be executed as a replacement or a complimentary module to the “standard” module, can be unique to the particular feature. The rules can also specify whether the complimentary plug-in module should be executed first, prior to the “standard” module, or after. Moreover, the plug-in module, if executed first, can indicate back to the device whether the “standard” module should also be called or not, thus, allowing the alteration of the device's behavior. The programming interfaces are predefined for the features that allow the plug-in functionality, thus, enabling the third-parties to develop their own software for the device.」（段落［０７５４］−［０７６３］）
（当審訳：
［０７５４］図５８〜５９Ｃ２を次に参照して、本開示のデジタル画像キャプチャおよび処理のシステム内の標準システムの特徴および機能を拡張する方法および装置について説明する。本開示の新規なプラグイン・プログラミング方法論に関して、図５８〜５９Ｃ２に記載の本明細書に説明および開示するデジタル画像キャプチャおよび処理のシステムの何れのものをも参照できることが理解されるが、限定ではなく例示の目的で、図２Ａ〜１８に示すデジタル撮像ベースのバー・コード読取システムも参照されたい。
［０７５５］図５８のブロックＡに示すように、第１のステップは、撮像ベースのバー・コード・シンボル読取システム（多層ソフトウェア・アーキテクチャを有する）の「システム設計者」が、システムの何れの「特徴」（アプリケーション層で呼び出されるタスクによりインプリメントされる）および任意の所与の特徴の何れの機能が、システムのハードウェア・プラットホームや外部環境との通信インターフェースやユーザ・インターフェースに関する詳細な知識をもたないエンドユーザおよび／またはサードパーティ（元の設計者および製造業者以外、例えば、ＶＡＲ、エンドユーザ、顧客など）により変更可能および／または拡張可能であるかを決定することを含む。システム設計者によるこのステップは、他者によるシステム変更に関する制約を確立するが、エンドユーザ・アプリケーションのカスタム要求を満たすためにシステムをどのように変更できるかに関する自由度を提供する。
［０７５６］そのような判断に基づいて、図５８のブロックＢに示すように、システム設計者は、本開示の画像処理ベースのバー・コード読取システムを設計および作成するものであり、システム設計者以外の者（例えば、エンドユーザおよびサードパーティ）は、ブロックＡでシステム設計者（即ち、元の製品／システムの設計者）により指定される元の製品／システムの特徴および機能を変更および／または拡張することを許される。
［０７５７］図５８のブロックＣに示すように、次いでシステム設計者以外の者が、１組の特定のエンドユーザ・アプリケーション要求を満たすために、何れの変更可能および／または拡張可能なシステムの特徴および機能を変更および／または拡張したいと望むかを決定する。
［０７５８］図５８のブロックＤに示すように、それぞれの変更可能な特徴／機能をシステム内で変更するために、システム設計者以外の者が、
「プラグイン・モジュール」
サードパーティ・コード
［０７５９］図５８のブロックＥに示すように、システム設計者以外の者が、ホスト・システムから通信を送ることにより、または機能を再構成するバー・コード・シンボルを読み取ることにより、システム内のそれぞれの変更可能および／または拡張可能な特徴に関連する機能を再コンフィギュレーションする。
［０７６０］本開示のシステムの特徴／機能の変更方法論に関する簡単な概要を提供したが、これらの方法ステップについて、特に図１０および図５８〜５９Ｃ２を参照してより詳細に説明する。
［０７６１］例示的な実施形態では、図１０に示すプラグインおよびコンフィギュレーション・ファイル・ライブラリに記憶された
各プラグイン・モジュールは、１組のソフトウェア・ライブラリ（オブジェクト・モジュール）およびコンフィギュレーション・ファイルからなる。
［０７６２］すべてのプラグイン・モジュール（即ち、サードパーティ・コード）の管理は、図１０に示すプラグイン・コントローラにより実行される。プラグイン・コントローラは、プラグイン・モジュールをファイル・システムから画像処理ベースのバー・コード・シンボル読取システムの実行可能なメモリーへロード（インストール）し、プラグイン・ライブラリとアプリケーションとの動的リンクを実行する動作、プラグイン・モジュールをアンロード（アンインストール）する動作、プラグイン・モジュール（即ち、サードパーティ・コード）の実行可能なアドレス（即ち、プレース・ホルダ）をアプリケーションに提供する動作、
プラグイン・コンフィギュレーション・ファイルに記述されたプラグイン・エンゲージメント規則
［０７６３］画像処理ベースのバー・コード・シンボル読取システムの任意のタスクは、プラグイン・モジュールに関するプラグイン・コントローラからの情報を要求することができ、かつ／またはそれに関する動作を要求することができる。１組の所定の特徴に対して、アプリケーション・タスクは、サードパーティ・プラグイン・モジュールを使用できるかを検査することをプラグイン・コントローラに要求することができ、そのようなモジュールが使用可能である場合、そのモジュールをインストールして、その実行可能アドレスならびにプラグイン・エンゲージメント規則を提供することができる。次いで、これらのタスクは、このモジュールを、特定の特徴を実施する「標準」モジュールの代わりに又はそれと共に実行することができる。プラグイン・モジュールのエンゲージメント規則、即ち、プラグイン・モジュールを「標準」モジュールに対する交換モジュールとして実行するか又はコンプリメンタリ（ｃｏｍｐｌｉｍｅｎｔａｒｙ）・モジュールとして実行すべきかの判断は、特定の特徴に対して固有のものであり得る。これらの規則はまた、コンプリメンタリ・プラグイン・モジュールを、最初に、または「標準」モジュールの前に最初に実行するべきか、それとも後で実行するべきかを指定することができる。更に、プラグイン・モジュールは、最初に実行される場合、「標準」モジュールも呼び出すべきか否かをデバイスに示し、それにより、デバイスの挙動の変更を可能にすることができる。プログラミング・インターフェースは、プラグインの機能を可能にする特徴に対して事前定義され、サードパーティがデバイスに対して独自のソフトウェアを開発できるようにする。）
（４）「[0770] Consider, as a third example, the Image Processing and Barcode Decoding Plug-in described in  FIG. 59C1. The original equipment manufacturer of the Image-Processing Based Bar Code Symbol Reading System supplies the system's “standard” Image Processing and Barcode Decoding Module, which is normally executed by the Main Task after the system acquires an image as indicated in FIG. 59. In accordance with the principles of the present invention, the customer can provide its own image processing and barcode decoding software as a plug-in module to the multi-tier software-based system. The plug-in can be described in a “Image Processing and Barcode Decoding Plug-in Configuration File”, having a format, for example, as expressed below:  
// Data Formatting Plug-in Configuration File
//type   param   library            function
PREFORMAT:       libformat_plugin.so.1-PluginPreformat
FORMAT_PROGMD:   libformat_plugin.so.1-PluginFormatProgmd
FORMAT_PROGBC:   libformat_plugin.so.1-PluginFormatProgbc
[0771] The block-diagram set forth in  FIG. 59C1 illustrates the logic of the Data Formatting Procedure plug-in.」（段落［０７７０］−［０７７１］）
（当審訳：
［０７７０］第３の例として、図５９Ｃ１に示す画像処理およびバーコード復号化プラグインを考慮する。画像処理ベースのバー・コード・シンボル読取システムの相手先商標製造業者は、図５９に示すように、システムが画像を取得した後にメイン・タスクにより通常は実行されるシステムの「標準」画像処理およびバーコード復号化モジュールを供給する。本開示の原理によれば、顧客は、顧客独自の画像処理およびバーコード復号化ソフトウェアをプラグイン・モジュールとして、多層のソフトウェア・ベースのシステムに提供することができる。プラグインは、例えば、以下で表される形式を有する「画像処理およびバーコード復号化プラグイン・コンフィギュレーション・ファイル」に記述することができる。
//
データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイル
//タイプ   パラメータ  ライブラリ            関数
PREFORMAT:            libformat_plugin.so.1 -PluginPreformat
FORMAT_PROGMD:        libformat_plugin.so.1 -PluginFormatProgmd
FORMAT_PROGBC:        libformat_plugin.so.1 -PluginFormatProgbc
［０７７１］図５９Ｃ１に示すブロック図は、データ・フォーマッティング・手順プラグインの論理を示す。）
（５）「[0777] To develop plug-in software, a corresponding shared library can be developed on the plug-in developer platform (i.e. the Linux PC) or in Windows Cygwin, and then the proper plug-in configuration file. The plug-in configuration file is then be loaded to the “/usr” directory in the case of developing a plug-in for example, an image capture and receiving device, such as Metrologic's FocusTM image-processing bar code reader. In this illustrative embodiment, each line of the plug-in configuration file contains information about a plug-in function in the following format: 
 plug-in type: parameter: filename-function_name 
 wherein plug-in type is one of the supported plug-in type keywords, followed by the field separator“:”; 
[0778] wherein parameter is a number (could be decimal or hex, if preceded with 0x), having a specific and unique meaning for some plug-in functions. The parameter is also called a “call-mode”, for it can provide some specific information on how the plug-in should be called. The parameter is not required and can be omitted. If specified, the parameter must be followed by the field separator “:”; 
[0779] wherein filename is the name of the shared library, followed by the filename separator “-”. The filename can contain a full-path to the library. If the path is omitted, the library is assumed to be located in either “/usr/local/lib” or “/usr/lib/” directory in the Focus scanner. It is therefore important to make sure that the shared library is loaded to the correct directory in the Focus scanner, as specified by the plug-in configuration file; and 
wherein function_name is the name of the corresponding plug-in C function. 」（段落［０７７７］−［０７７９］）
（当審訳：
［０７７７］プラグイン・ソフトウェアを開発するために、プラグイン開発者プラットホーム（即ち、Ｌｉｎｕｘ（登録商標）ＰＣ）上、またはＷｉｎｄｏｗｓ（登録商標）Ｃｙｇｗｉｎ内に、対応する共有ライブラリを開発することができ、次いで、適正なプラグイン・コンフィギュレーション・ファイルを開発することができる。次いで、プラグイン・コンフィギュレーション・ファイルは、プラグイン、例えば、ＭｅｔｒｏｌｏｇｉｃのＦｏｃｕｓ（商標）の画像処理バー・コード・リーダなどのような画像キャプチャおよび処理デバイスを開発する場合、「／ｕｓｒ」ディレクトリへロードされる。この例示的な実施形態では、プラグイン・コンフィギュレーション・ファイルの各行は、プラグイン関数に関する情報を以下の形式で含む。
plug-in type:  parameter:  filename  -function_name
　上記で、ｐｌｕｇ−ｉｎ　ｔｙｐｅは、サポートされるプラグイン・タイプのキーワードの１つであり、フィールド区切り文字「：」が続く。
［０７７８］上記で、ｐａｒａｍｅｔｅｒは、幾つかのプラグイン関数に対して特有の一意の意味を有する数（１０進数、または０ｘが先行する場合１６進数とすることができる）である。パラメータはまた、「呼出しモード」と呼ばれ、プラグインをどのように呼び出すべきかに関する何らかの特有の情報を提供することができる。パラメータは、必要とされるものではなく、省略することができる。指定される場合、パラメータには、フィールド区切り文字「：」が続かなければならない。
［０７７９］上記で、ｆｉｌｅｎａｍｅは、共有ライブラリの名称であり、ファイル名区切り文字「−＞」が続く。ファイル名は、ライブラリへのフルパス（full-path）を含むことができる。パスが省略される場合、ライブラリは、Ｆｏｃｕｓスキャナ内の「／ｕｓｒ／ｌｏｃａｌ／ｌｉｂ」または「／ｕｓｒ／ｌｉｂ／」ディレクトリに位置するものとする。従って、共有ライブラリは、プラグイン・コンフィギュレーション・ファイルにより指定されるスキャナ内の正しいディレクトリにロードされることが重要である。
  上記で、ｆｕｎｃｔｉｏｎ＿ｎａｍｅは、対応するプラグインＣ関数の名称である。）
　また、引用文献１の図５９Ｃ１を参照すると、例えば［０７７０］に記載された、データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイルに対応して、「Data Preformatting Plugin」（データ・
プリ
　以上を総合すると、上記引用文献１には次の発明（以下、「引用発明」という。）が記載されていると認められる。
　「デジタル画像キャプチャおよび処理のシステムの標準システムの特徴および機能を変更および／または拡張できるようにする手法であって、
　デジタル画像キャプチャおよび処理のシステムは、デジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームを備え、
　演算プラットホームは、（ｉ）デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、（ｉｉ）元の製品コードを特定のシーケンスで呼び出して実行することにより１または複数のアプリケーションを動作させるマイクロプロセッサとを含み、デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける１組の標準的な特徴および機能をサポートし、
　元の製品コードは、１組のプレース・ホルダを有し、このプレース・ホルダ内へ、付加価値再販業者（ＶＡＲ）や、相手先商標製造業者（ＯＥＭ）や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができ、
　１または複数のサードパーティ・コード（「プラグイン」）が１組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作し、
　各サードパーティ・コードは、１組のソフトウェア・ライブラリ（オブジェクト・モジュール）およびプラグイン・エンゲージメント規則などが記述されたコンフィギュレーション・ファイルからなり、
　例えば、データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイルに対応して、「Data Preformatting Plugin」（データ・プリフォーマッティング・プラグイン）と、「Data Formatting Plugin」（データ・フォーマッティング・プラグイン）の２つのプラグインがロードされ、実行される
　手法。」
２．引用文献２について
　原査定の拒絶の理由に引用された特表２０１０−５４１０８０号公報（以下、「引用文献２」という。）の段落【００１３】−【００１８】、【００３２】−【００３３】及び図１、３の記載からみて、当該引用文献２には、サービス指向型システムの拡張された機能又は代替機能を提供するために、サードパーティの複数のプラグインを用いること、それらの実行順序はユーザが定義できることが記載されていると認められる。
３．引用文献３について
　原査定の拒絶の理由に引用された特開２００９−０４８４８５号公報（以下、「引用文献３」という。）には、図面とともに次の事項が記載されている。
（１）「【技術分野】
【０００１】
　本発明は、デスクトップアプリケーションに係り、特に複数の小機能（最小単位の機能）を所定の実行順序に従って実行することで、アプリケーションが有する１つの機能を実現する情報処理装置に関するものである。
【背景技術】
【０００２】
　同じアプリケーションであっても、そのアプリケーションを使用するユーザによって使用目的や用途は様々である。
【０００３】
　そのため、アプリケーションを開発し、ユーザに提供する企業にとっては、提供したアプリケーションがユーザの使用目的や用途に十分に対応できているか否か、すなわち、自社のアプリケーションがユーザから高い顧客満足度を得られるか否かと言う点が、アプリケーションを販売する上で重要となる。
【０００４】
　そこで、アプリケーションの多くは、ユーザサイドにおいて、必要な機能が拡張できるように、予め、全てのユーザに共通して提供する基本的な機能（以下、「基本機能」と言う。）と、ユーザが必要なときに拡張可能な機能（以下、「拡張機能」と言う。）とに分けて開発され、ユーザに提供されている。
【０００５】
　その結果、ユーザは、必要に応じて、「基本機能」を搭載したアプリケーションが動作する情報処理装置に、アプリケーション本体のプログラムとは別の形で提供された「拡張機能」用のプログラムをインストールすることにより、使用目的や用途に応じた機能拡張を行うことができる。
【０００６】
　このような、機能拡張を実現するために開発された「拡張機能」用のプログラムを、「プラグイン」と言う。」（段落【０００１】−【０００６】）
（２）「【００１１】
　しかしながら、従来の「複数の小機能を所定の実行順序に従って実行することで１つの機能を実現するアプリケーション」では、一連の処理の中で実行する小機能及びその実行順序を予め決めておく必要がある。そのため、既に実行した小機能の実行結果に応じて、これから実行する小機能を動的に決定することができない。すなわち、実行結果に応じた分岐処理を行うことができなかった。
【００１２】
　例えば、ユーザが所定の画像処理を行った画像データの印刷を行うときに、画像データの色特性（カラー画像かモノクロ画像か）に応じてカラー印刷又はモノクロ印刷を切り替えて動作させたい場合には、カラー印刷を行う機能とモノクロ印刷を行う機能と、それぞれの印刷機能に対して実行する小機能及びその実行順序を予め決めておく必要があり、１つの印刷機能の中でカラー印刷又はモノクロ印刷を分岐処理することができない。
【００１３】
　そこで、本発明では、上記従来技術の問題点に鑑み、アプリケーションの１つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を実現することができる情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することを目的とする。」（段落【００１１】−【００１３】）
（３）「【００３９】
　図２は、本発明の第１の実施形態に係る情報処理装置１００のソフトウェア構成の一例を示す図である。
【００４０】
　図２に示すように、本実施形態に係る
情報処理装置１００に実装するデスクトップアプリケーション２０に関するソフトウェアは、デスクトップアプリケーション２０、機能プラグイン３０、及びコアプログラム（コアモジュール群）３１とから構成されている。
【００４１】
　デスクトップアプリケーション２０は、定義データ２１、UIプラグイン（UIパーツ）２２、及びアプリケーションプロセス２３とから構成されている。
【００４２】
　
定義データ２１は、デスクトップアプリケーション２０によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、
（４）「【００５５】
　アプリケーションプロセス２３は、OSから主記憶部１２のRAM上に使用可能なメモリ領域の割り当てを受けて、処理を実行するプログラムである。アプリケーションプロセス２３によって実行される処理は、例えば、UIプラグイン（UIパーツ）２２を用いてCRTやLCDなどの出力装置にUIを表示するための描画処理、定義データ２１に定義された動作条件や動作順序などの動作に関する情報に従って機能プラグイン（小機能）３０の動作を指示するプラグイン実行処理、UIから受け付けた動作に関する情報を基に定義データ２１を生成する定義データ生成処理などである。
【００５６】
　機能プラグイン３０は、デスクトップアプリケーション２０の機能を実現するために所定の情報処理を行うプログラムであり、複数個のプログラム（モジュール群）によって構成されている。ここで言う「所定の情報処理」とは、例えば、「ファイル選択」、「リサイズ（変倍）」、「カラー印刷」、「モノクロ印刷」、及び「メッセージ表示」などのような、デスクトップアプリケーション２０の機能を構成する最小単位の機能（小機能）を実現する処理を意味する。
・・・（中略）・・・
【００５９】
　コアプログラム３１は、アプリケーションプロセス２３からの動作指示に従って機能プラグイン（小機能）３０を実行するプログラムや、アプリケーションプログラムとプラグインモジュールとの間のデータインタフェース（以下、「データI/F」と言う。）プログラムと言った、アプリケーションプログラムとプラグインモジュールとの間で共通化されたプログラムであり、複数個のプログラム（モジュール群）によって構成されている。」（段落【００５５】−【００５９】）
（５）「【００６０】
　上記の構成により、本実施形態に係るデスクトップアプリケーション２０に関するソフトウェアは、以下のように動作する。この動作は、ユーザが、「デスクトップアプリケーション２０のメニュー項目を選択した」ときの一例である。
（１） UIを介してユーザからの機能動作指示を受け取る。
（２） アプリケーションプロセス２３は、UIから受け取った動作指示を、データI/Fを介してコアプログラム３１に渡す。
（３） コアプログラム３１は、アプリケーションプロセス２３から受け取った動作指示に従って、指示された機能の動作に関する情報が定義された定義データ２１を特定する（複数個ある定義データ２１の中から、UI上のメニュー項目に対応付けられた定義データ２１を、例えば、定義データ２１のファイル名や定義データ２１に定義された「機能に関する情報」などを基に特定する）。
コアプログラム３１は、特定した定義データ２１を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン（小機能）３０を実行する。
（６）「【００６８】
　次に、定義データ生成手段４２は、デスクトップアプリケーション２０によって行う処理を実現するために必要な機能プラグイン（小機能）３０の実行条件や実行順序などの動作に関する情報を、図３に示すような所定の形式に従って定義して定義データ２１を生成する。
【００６９】
　定義データ生成手段４２では、独自のタグを用いた所定の形式に従って、動作に関する情報の意味を記述した定義データ２１を生成することによって、複数個の機能プラグイン（小機能）３０（例えば図４に示す情報処理手段４１a〜４１e）により行われる処理を、デスクトップアプリケーション２０の１つの機能（複数個の小機能から構成される機能）として定義する。
【００７０】
　そのため、本実施形態に係る情報処理装置１００では、ユーザがデスクトップアプリケーション２０によって行いたい処理の実行条件や実行順序などの動作に関する情報を、定義データ２１に定義することで、デスクトップアプリケーション２０の１つの機能として実行させることができる。
【００７１】
　
図３に示す定義データ２１には、機能プラグイン（小機能）３０が行う処理Ａの次に、無条件で他の機能プラグイン（小機能）３０が行う処理Ｂが実行され、デスクトップアプリケーション２０の１つの機能を実現すると言う一連の処理を実現する実行順序が定義されたデータ例が示されている。
【００７２】
　例えば、ユーザが、処理Ａ及び処理Ｂを行った後に、処理Ａ又は処理Ｂの実行結果に応じて、後に行う処理を動的に切り替えて機能させたい場合がある。
【００７３】
　このような場合、従来のデスクトップアプリケーション２０では、処理Ｂの実行後に行う処理の実行順序を、本来動的に切り替えて機能させたい処理パターンの数だけ、処理Ａ及び処理Ｂを行う実行順序を定義した定義データ２１とは別の定義データ２１に定義しておき、処理Ｂを実行した後に、処理Ｂの実行後に行う処理の実行順序を定義した複数の定義データ２１から、ユーザ自身が処理Ａ又は処理Ｂの実行結果に応じて適切な定義データ２１を選択し、機能を実現しなければならなかった。
【００７４】
　そこで、定義データ生成手段４２では、デスクトップアプリケーション２０で行いたい「機能に関する情報」や機能を実現するための機能プラグイン（小機能）３０の「実行条件、実行順序、及び処理対象に関する情報」などを定義し、更に、機能プラグイン（小機能）３０の実行結果に応じて分岐処理を行う「分岐処理に関する情報」を定義した定義データ２１を生成する。このとき、定義データ生成手段４２は、「機能に関する情報」や「実行条件、実行順序、及び処理対象に関する情報」を定義したときと同様の方法、すなわち独自のタグを用いた所定の形式に従って「分岐処理に関する情報」を定義する。
【００７５】
　定義データ生成手段４２は、以下に示す分岐処理の定義するときの方針に基づいて、「分岐処理に関する情報」を定義した定義データ２１を生成している。
（方針１）１つ以上の機能プラグイン（小機能）３０が所定の実行順序に従って行う処理のまとまりを１つの「処理状態」（以下、「状態」と言う。）とみなす。
　（方針２）分岐処理は、（方針１）に示した状態の遷移によって定義する。
【００７６】
　例えば、ユーザが、処理Ａ及び処理Ｂを行った後に、処理Ａ又は処理Ｂの実行結果に応じて、処理Ｃ及び処理Ｄを組み合わせた処理と、処理Ｅ及び処理Ｆを組み合わせた処理とを動的に切り替えて機能させたい場合、図５のフローに示すような処理の流れになる。
【００７７】
　図５は、本発明の第１の実施形態に係る分岐処理を定義するデータ構造の一例（その１）を示す図である。
【００７８】
　
図５には、状態１において既に実行した処理Ａ又は処理Ｂの実行結果に応じて所定の分岐処理を行い、実行結果が分岐条件１に該当した場合には、状態１から処理Ｃ及び処理Ｄを行う状態２へ遷移し、また実行結果が分岐条件２に該当した場合には、状態１から処理Ｅ及び処理Ｆを行う状態３へ遷移することで、分岐後の処理を動的に切り替える処理の流れが示されている。
　ここで、上記段落【００７１】によれば、機能プラグイン（小機能）３０が処理Ａを行い、他の機能プラグイン（小機能）３０が処理Ｂを行う、すなわち、１つのプラグインは１つの処理を実行するものであるといえる。
　そして、上記段落【００７８】及び引用文献３の図５によれば、引用文献３に記載の定義データ２１は、ある処理を実行し、その実行結果が分岐条件に該当した場合、それに応じた処理を実行することを記述したもの、すなわち、あるプラグインを実行し、その実行結果が分岐条件に該当した場合、それに応じたプラグインを実行することを記述したもの、といえる。
　以上を総合すると、上記引用文献３には、
「デスクトップアプリケーション２０、機能プラグイン３０、及びコアプログラム（コアモジュール群）３１が実装される情報処理装置１００において、
　前記コアプログラム３１は、定義データ２１を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン（小機能）３０を実行するものであり、
　前記定義データ２１は、デスクトップアプリケーション２０によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、あるプラグインを実行し、その実行結果が分岐条件に該当した場合、それに応じたプラグインを実行することを記述したものである、
　情報処理装置１００。」（以下、「引用文献３記載の技術」という。）が記載されている。
第４　対比
　本願発明と引用発明とを対比する。
ア．引用発明の「デジタル画像キャプチャおよび処理のシステムの標準システムの特徴および機能を変更および／または拡張できるようにする手法」は、本願発明の「デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を変更および／または拡張する方法」に相当する。
イ．引用発明の「デジタル画像キャプチャおよび処理のシステム」は、「デジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームを備え」るものであって、当該演算プラットホームは、「デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける１組の標準的な特徴および機能をサポート」するものであるから、本願発明と引用発明とは、「１組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップ」を有する点で一致する。
ウ．本願発明及び引用発明の「演算プラットホーム」は、「（ｉ）前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、（ｉｉ）前記元の製品コードを特定のシーケンスで呼び出して実行することにより１または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける前記１組の標準的な特徴および機能をサポートするものであ」る点で一致する。
エ．引用発明の「元の製品コードは、１組のプレース・ホルダを有し、このプレース・ホルダ内へ、付加価値再販業者（ＶＡＲ）や、相手先商標製造業者（ＯＥＭ）や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができ」るとの構成において、元の製品コードが１または複数であることは自明であるから、本願発明と引用発明とは、「１または複数の元の製品コードは１組のプレース・ホルダを有し、前記１組のプレース・ホルダ内へは、付加価値再販業者（ＶＡＲ）、相手先商標製造業者（ＯＥＭ）、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップ」を有する点で一致する。
オ．引用発明の「１または複数のサードパーティ・コード（「プラグイン」）が１組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作する」構成は、本願発明の「前記１組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および／または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであ」る構成に相当する。
カ．引用発明の「各サードパーティ・コードは、１組のソフトウェア・ライブラリ（オブジェクト・モジュール）およびプラグイン・エンゲージメント規則などが記述されたコンフィギュレーション・ファイルからな」る構成は、前記コンフィギュレーション・ファイルに対応して、例えば２つ、すなわち複数のプラグインが実行されるものであるから、本願発明の「前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを含むものである、ステップ」と、「前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインを制御するコンフィギュレーション・ファイルを含むものである、ステップ」を有する点で共通する。
　以上を総合すると、本願発明と引用発明とは、次の一致点、相違点を有する。
（一致点）
「デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を変更および／または拡張する方法であって、
　（ａ）１組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップであって、前記演算プラットホームは、（ｉ）前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、（ｉｉ）前記元の製品コードを特定のシーケンスで呼び出して実行することにより１または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける前記１組の標準的な特徴および機能をサポートするものであり、前記１または複数の元の製品コードは１組のプレース・ホルダを有し、前記１組のプレース・ホルダ内へは、付加価値再販業者（ＶＡＲ）、相手先商標製造業者（ＯＥＭ）、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップと、
　（ｂ）前記１組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および／または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであり、前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインを制御するコンフィギュレーション・ファイルを含むものである、ステップと
　を備える方法。」　
　
（相違点）
　本願発明のコンフィギュレーション・ファイルは、「複数のプラグインのチェーン化を制御する条件付きプログラミング論理を有する」のに対し、引用発明のコンフィギュレーション・ファイルは、複数のプラグインを制御するものであるものの、複数のプラグインの「チェーン化を制御する条件付きプログラミング論理を有する」ものではない点。
第５　当審の判断
　上記相違点について検討する。
　上記引用文献３には、「第３　引用文献及び引用発明」の「３．引用文献３について」の節で述べたとおり、以下の技術が記載されている。
「デスクトップアプリケーション２０、機能プラグイン３０、及びコアプログラム（コアモジュール群）３１が実装される情報処理装置１００において、
　前記コアプログラム３１は、定義データ２１を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン（小機能）３０を実行するものであり、
　前記定義データ２１は、デスクトップアプリケーション２０によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、あるプラグインを実行し、その実行結果が分岐条件に該当した場合、それに応じたプラグインを実行することを記述したものである、
　情報処理装置１００。」
　当該技術は、同節（１）及び（２）に示した引用文献３の記載から明らかなとおり、「従来の『複数の小機能を所定の実行順序に従って実行することで１つの機能を実現するアプリケーション』では、一連の処理の中で実行する小機能及びその実行順序を予め決めておく必要がある。そのため、既に実行した小機能の実行結果に応じて、これから実行する小機能を動的に決定することができない。すなわち、実行結果に応じた分岐処理を行うことができなかった。」（段落【００１１】）（ここで、「小機能」は「プラグイン」の実行によって得られるものである。）という課題を解決するためのものであって、複数のプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータである「定義データ２１」（本願発明及び引用発明の「コンフィギュレーション・ファイル」に対応する。）に条件分岐を導入、すなわち「条件付きプログラミング論理」を導入し、複数のプラグインを「チェーン化」（本願明細書の段落【００２１】によれば、「チェーン化」とは、「順序付けする」ことを意味している。）するものといえる。
　他方、引用発明のコンフィギュレーション・ファイルも、複数のプラグインを制御するものであるから、上記の課題を共有するものといえる。
　したがって、引用発明のコンフィギュレーション・ファイルに、定義データ２１に関する引用文献３記載の技術を適用して、本願発明の相違点に係る構成とすることは、当業者であれば容易に相当し得たものである。
　そして、本願発明の作用効果も、引用発明及び引用文献３記載の技術から当業者が予測できる範囲のものである。
第６　むすび
　以上のとおり、本願発明は、引用発明及び引用文献３記載の技術に基づいて当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　したがって、他の請求項に係る発明について検討するまでもなく、本願は拒絶すべきものである。
　よって、結論のとおり審決する。