• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない。 G06K
管理番号 1335516
審判番号 不服2016-14299  
総通号数 218 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2018-02-23 
種別 拒絶査定不服の審決 
審判請求日 2016-09-26 
確定日 2017-12-04 
事件の表示 特願2012- 7122「複数のサードパーティ・プラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを用いての複数のサードパーティ・コードのプラグインをサポートするデジタル画像キャプチャおよび処理のシステム」拒絶査定不服審判事件〔平成24年 8月 9日出願公開、特開2012-150808〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 第1 手続の経緯
本願は、平成24年1月17日(パリ条約による優先権主張2011年1月18日、米国)の出願であって、平成27年10月20日付けで拒絶理由が通知され、平成28年3月16日付けで手続補正がされ、同年5月31日付けで拒絶査定がされ、これに対し、同年9月26日に拒絶査定不服審判の請求がされたものである。


第2 本願発明
本願の請求項1-10に係る発明は、平成28年3月16日付け手続補正書により補正された特許請求の範囲の請求項1-10に記載された事項により特定されるものと認められるところ、その請求項1に係る発明(以下、「本願発明」という。)は、以下のとおりのものである。

「【請求項1】
デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を変更および/または拡張する方法であって、
(a)1組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップであって、前記演算プラットホームは、(i)前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)前記元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける前記1組の標準的な特徴および機能をサポートするものであり、前記1または複数の元の製品コードは1組のプレース・ホルダを有し、前記1組のプレース・ホルダ内へは、付加価値再販業者(VAR)、相手先商標製造業者(OEM)、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップと、
(b)前記1組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および/または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであり、前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを含むものである、ステップと
を備える方法。」


第3 引用文献及び引用発明
1.引用文献1について
原査定の拒絶の理由に引用された米国特許出願公開第2007/0215706号明細書(以下、「引用文献1」という。)には、図面とともに次の事項が記載されている。

(1)「[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.」(段落[0307]-[0312])

(当審訳:
[0307][サードパーティ・コードのプラグインを用いてのシステムの特徴および機能の変更および/または拡張を可能にする多層ソフトウェア・ベースのシステム・アーキテクチャを用いる本開示のデジタル画像キャプチャおよび処理のシステムの概要]
[0308]本開示は、VAR、OEMなど(即ち、元のシステム設計者以外)が、システムのハードウェア・プラットホーム、外部環境との通信、および/またはユーザ関連インターフェースに関する詳細な知識を所有することを必要とせずに、非常に広いクラスのデジタル画像キャプチャおよび処理のシステムおよびデバイスの標準システムの特徴および機能を変更および/または拡張できるようにする新規なシステム・アーキテクチャ、プラットホーム、および開発環境を提供することにより、レーザおよびデジタル撮像ベースのバー・コード・シンボル・リーダを含めての従来技術のデジタル画像キャプチャおよび処理のシステムおよびデバイスの短所および欠点に対処する。この新規な手法は、サードパーティ製品内で、出願人および譲受人であるMetrologic Instruments,Inc.(メトロロジック・インストルメンツ社)などのような熟達したデジタル・イメージャの設計者および製造業者のデジタル画像キャプチャおよび処理技術を用いたいと望むサードパーティにとって、多数の利益および利点を有するが、手元のエンドユーザ・アプリケーションの要件を満たすために、そのようなシステムの特徴および機能の変更および/または拡張プロセス中に貴重な知的財産およびノウ・ハウを犠牲にする、またはそれらを開示する危険を冒す必要がない。
[0309]図1A?図1Bに示すように、本開示のデジタル画像キャプチャおよび処理のシステム1000は、本開示の革新的なプラグイン・プログラミング方法を使用して変更および/または拡張できる多数の標準システムの特徴および機能を提供する様々なサブシステムをサポートすることが可能な多層ソフトウェア・システム・アーキテクチャを用いる。本明細書に開示する本開示の例示的な実施形態では、そのようなサブシステムは、物体存在検出サブシステム、物体範囲検出サブシステム、物体速度検出サブシステム、物体寸法判定サブシステム、視野(FOV)照射サブシステム、撮像形成および検出(IFD)サブシステム、デジタル画像処理サブシステム、音声インジケータ出力サブシステム、視覚インジケータ出力サブシステム、電力管理サブシステム、画像時間/空間スタンピング・サブシステム、ネットワーク(IP)アドレス記憶サブシステム、遠隔監視/サービス提供サブシステム、入出力サブシステム、ならびにシステム制御および/または調整サブシステムを含み、示されたように全体として組み込まれている。
[0310]本明細書に開示する本開示の例示的な実施形態に関して、例示的な標準システムの特徴および関数が図1C1およびC2の表に説明されている。そのようなシステムの特徴および機能について、本開示のデジタル画像キャプチャおよび処理における特徴および機能を全体としてサポートするサブシステムと関連して以下に説明する。

・・・(中略)・・・

[0312]図1Fに示すように、本開示のデジタル画像キャプチャおよび処理のシステムは、例えば、画像処理ベースのバー・コード・シンボル読取システム、OCRシステム、物体認識システム、携帯型データ端末(PDT)、モバイル電話、コンピュータ・マウス型デバイス、パーソナル・コンピュータ、キーボード、民生用機器、自動車、ATM、販売機、回収機、小売用POSベースの取引システム、2Dまたは2Dデジタイザ、およびCAT走査システム、自動車識別システム、包装検査システム、ならびに個人識別システムなどのサードパーティ製品内に組み込むこと、およびサードパーティ製品内で実施することができるが、その製品はこれらに限定されるものではない。)(下線は当審で付した。以下同様。)

(2)「[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.」(段落[0313]-[0324])

(当審訳:
[0313]通常、本開示のデジタル画像キャプチャおよび処理のシステムは、上述のような1組の標準的な特徴および機能と、カスタマイズされたエンドユーザ・アプリケーション要件を満たす1組のカスタム特徴および機能とを有するものであり、カスタム特徴および機能は、典型的には、手元の特定のアプリケーション向けのそのような標準のシステムの特徴および機能を変更および/または拡張することを目的とする。
[0314]図2A?図57を参照して詳細に後述する例示的な実施形態では、本開示のデジタル画像キャプチャおよび処理のシステムは(第3の製品内にシステムが組み込まれたりそのシステム内で実施されるか否かにかかわらず)、通常、下記のものを備える。
[0315]即ち、視野(FOV)を、前記FOVおいて撮像すべき物体上に投影し、画像キャプチャ・モードにおける照射動作中に物体から反射されて撮像された光を検出するデジタル・カメラ・サブシステムであって、物体の1または複数のデジタル画像が前記デジタル・カメラ・サブシステムにより形成および検出されるデジタル・カメラ・サブシステムと、
[0316]デジタル画像を処理し、生もしくは処理済みの出力データを生成するか、または画像内にグラフィックで表される情報を認識もしくは取得し、認識した情報を表す出力データを生成するデジタル画像処理サブシステムと、
[0317]前記出力データを、外部のホスト・システムまたは他の情報受取または応答デバイスへ伝送する入出力サブシステムと、
[0318]上記のサブシステムの動作を制御および/または調整するシステム制御システムと、
[0319]上記のサブシステムの1または複数のもの、ならびにデジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームとを備える。
[0320]演算プラットホームは、(i)デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける1組の標準的な特徴および機能をサポートする。
[0321]図58?59C2を参照してより詳細に説明するように、これらの元の製品コードは、1組のプレース・ホルダを有し、このプレース・ホルダ内へ、付加価値再販業者(VAR)や、相手先商標製造業者(OEM)や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができる。
[0322]本開示の新規な原理によれば、1または複数のサードパーティ・コード(「プラグイン」)が1組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作する。
[0323]本開示の殆どの実施形態では、デジタル画像キャプチャおよび処理のシステムは、光透過窓を有する筐体を更に備え、FOVは、光透過窓を通って、FOVで撮像すべき物体上へ投影される。また典型的に、これらの元の製品コードならびにサードパーティ製品コードは、演算プラットホームのメモリ構造でサポートされる1または複数のライブラリに維持される。通常、そのようなメモリは、それぞれ異なるアクセス速度および性能特性を有する様々な種類のメモリを有するメモリ・アーキテクチャを備える。
[0324]本開示の原理によれば、付加価値再販業者(VAR)や相手先商標製造業者(OEM)などのようなエンドユーザは、元のシステム設計者により設定された仕様に従ってそのようなサードパーティ・コード(即ち、プラグイン)を書くことができ、これらのカスタム・コードをプレース・ホルダにプラグインすることができ、それにより、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能の永久的な変更を行うことなく、デジタル画像キャプチャおよび処理のシステム(またはシステムが組み込まれるサードパーティ製品又はシステムが実施されるサードパーティ製品)の特徴および機能を変更および拡張することができ、また、デジタル画像キャプチャおよび処理のシステムの標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更することができる。)

(3)「[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.」(段落[0754]-[0763])

(当審訳:
[0754]図58?59C2を次に参照して、本開示のデジタル画像キャプチャおよび処理のシステム内の標準システムの特徴および機能を拡張する方法および装置について説明する。本開示の新規なプラグイン・プログラミング方法論に関して、図58?59C2に記載の本明細書に説明および開示するデジタル画像キャプチャおよび処理のシステムの何れのものをも参照できることが理解されるが、限定ではなく例示の目的で、図2A?18に示すデジタル撮像ベースのバー・コード読取システムも参照されたい。
[0755]図58のブロックAに示すように、第1のステップは、撮像ベースのバー・コード・シンボル読取システム(多層ソフトウェア・アーキテクチャを有する)の「システム設計者」が、システムの何れの「特徴」(アプリケーション層で呼び出されるタスクによりインプリメントされる)および任意の所与の特徴の何れの機能が、システムのハードウェア・プラットホームや外部環境との通信インターフェースやユーザ・インターフェースに関する詳細な知識をもたないエンドユーザおよび/またはサードパーティ(元の設計者および製造業者以外、例えば、VAR、エンドユーザ、顧客など)により変更可能および/または拡張可能であるかを決定することを含む。システム設計者によるこのステップは、他者によるシステム変更に関する制約を確立するが、エンドユーザ・アプリケーションのカスタム要求を満たすためにシステムをどのように変更できるかに関する自由度を提供する。
[0756]そのような判断に基づいて、図58のブロックBに示すように、システム設計者は、本開示の画像処理ベースのバー・コード読取システムを設計および作成するものであり、システム設計者以外の者(例えば、エンドユーザおよびサードパーティ)は、ブロックAでシステム設計者(即ち、元の製品/システムの設計者)により指定される元の製品/システムの特徴および機能を変更および/または拡張することを許される。
[0757]図58のブロックCに示すように、次いでシステム設計者以外の者が、1組の特定のエンドユーザ・アプリケーション要求を満たすために、何れの変更可能および/または拡張可能なシステムの特徴および機能を変更および/または拡張したいと望むかを決定する。
[0758]図58のブロックDに示すように、それぞれの変更可能な特徴/機能をシステム内で変更するために、システム設計者以外の者が、「プラグイン・モジュール」(サードパーティ・コードまたは「ソフトウェア・オブジェクト」)を開発し、設計されたカスタム・システム特徴をインプリメントし、その後に、多層システムのアプリケーション層の適したライブラリ(1または複数)内にプラグイン・モジュール(即ち、サードパーティ・コード)をインストールする。
[0759]図58のブロックEに示すように、システム設計者以外の者が、ホスト・システムから通信を送ることにより、または機能を再構成するバー・コード・シンボルを読み取ることにより、システム内のそれぞれの変更可能および/または拡張可能な特徴に関連する機能を再コンフィギュレーションする。
[0760]本開示のシステムの特徴/機能の変更方法論に関する簡単な概要を提供したが、これらの方法ステップについて、特に図10および図58?59C2を参照してより詳細に説明する。
[0761]例示的な実施形態では、図10に示すプラグインおよびコンフィギュレーション・ファイル・ライブラリに記憶された各プラグイン・モジュールは、1組のソフトウェア・ライブラリ(オブジェクト・モジュール)およびコンフィギュレーション・ファイルからなる。これらは、ホストPCで実施されるプラグイン開発プラットホームなどの外部のホスト・システムから、画像処理ベースのバー・コード・シンボル読取システムへダウンロードされることができ、システムのOS層と通信するために様々な標準または専有の通信プロトコルを使用することができる。画像処理ベースのバー・コード・シンボル読取システムでは、この動作は、ホスト・システムから適当なコマンドが受け取られると、Metrosetタスクまたはユーザ・コマンド・マネージャにより実行される(ソフトウェア・ブロック図を参照)。ダウンロードが完了すると、プラグイン・ファイルは、画像処理ベースのバー・コード・シンボル読取システムのファイル・システムに記憶される。
[0762]すべてのプラグイン・モジュール(即ち、サードパーティ・コード)の管理は、図10に示すプラグイン・コントローラにより実行される。プラグイン・コントローラは、プラグイン・モジュールをファイル・システムから画像処理ベースのバー・コード・シンボル読取システムの実行可能なメモリーへロード(インストール)し、プラグイン・ライブラリとアプリケーションとの動的リンクを実行する動作、プラグイン・モジュールをアンロード(アンインストール)する動作、プラグイン・モジュール(即ち、サードパーティ・コード)の実行可能なアドレス(即ち、プレース・ホルダ)をアプリケーションに提供する動作、プラグイン・コンフィギュレーション・ファイルに記述されたプラグイン・エンゲージメント規則などのような、プラグイン・モジュールに関する追加の情報をアプリケーションに提供する動作などの動作を実行することができる。
[0763]画像処理ベースのバー・コード・シンボル読取システムの任意のタスクは、プラグイン・モジュールに関するプラグイン・コントローラからの情報を要求することができ、かつ/またはそれに関する動作を要求することができる。1組の所定の特徴に対して、アプリケーション・タスクは、サードパーティ・プラグイン・モジュールを使用できるかを検査することをプラグイン・コントローラに要求することができ、そのようなモジュールが使用可能である場合、そのモジュールをインストールして、その実行可能アドレスならびにプラグイン・エンゲージメント規則を提供することができる。次いで、これらのタスクは、このモジュールを、特定の特徴を実施する「標準」モジュールの代わりに又はそれと共に実行することができる。プラグイン・モジュールのエンゲージメント規則、即ち、プラグイン・モジュールを「標準」モジュールに対する交換モジュールとして実行するか又はコンプリメンタリ(complimentary)・モジュールとして実行すべきかの判断は、特定の特徴に対して固有のものであり得る。これらの規則はまた、コンプリメンタリ・プラグイン・モジュールを、最初に、または「標準」モジュールの前に最初に実行するべきか、それとも後で実行するべきかを指定することができる。更に、プラグイン・モジュールは、最初に実行される場合、「標準」モジュールも呼び出すべきか否かをデバイスに示し、それにより、デバイスの挙動の変更を可能にすることができる。プログラミング・インターフェースは、プラグインの機能を可能にする特徴に対して事前定義され、サードパーティがデバイスに対して独自のソフトウェアを開発できるようにする。)

(4)「[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.」(段落[0770]-[0771])

(当審訳:
[0770]第3の例として、図59C1に示す画像処理およびバーコード復号化プラグインを考慮する。画像処理ベースのバー・コード・シンボル読取システムの相手先商標製造業者は、図59に示すように、システムが画像を取得した後にメイン・タスクにより通常は実行されるシステムの「標準」画像処理およびバーコード復号化モジュールを供給する。本開示の原理によれば、顧客は、顧客独自の画像処理およびバーコード復号化ソフトウェアをプラグイン・モジュールとして、多層のソフトウェア・ベースのシステムに提供することができる。プラグインは、例えば、以下で表される形式を有する「画像処理およびバーコード復号化プラグイン・コンフィギュレーション・ファイル」に記述することができる。

//データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイル
//タイプ パラメータ ライブラリ 関数
PREFORMAT: libformat_plugin.so.1 ->PluginPreformat
FORMAT_PROGMD: libformat_plugin.so.1 ->PluginFormatProgmd
FORMAT_PROGBC: libformat_plugin.so.1 ->PluginFormatProgbc

[0771]図59C1に示すブロック図は、データ・フォーマッティング・手順プラグインの論理を示す。)

(5)「[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 Focus^(TM) 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. 」(段落[0777]-[0779])

(当審訳:
[0777]プラグイン・ソフトウェアを開発するために、プラグイン開発者プラットホーム(即ち、Linux(登録商標)PC)上、またはWindows(登録商標)Cygwin内に、対応する共有ライブラリを開発することができ、次いで、適正なプラグイン・コンフィギュレーション・ファイルを開発することができる。次いで、プラグイン・コンフィギュレーション・ファイルは、プラグイン、例えば、MetrologicのFocus(商標)の画像処理バー・コード・リーダなどのような画像キャプチャおよび処理デバイスを開発する場合、「/usr」ディレクトリへロードされる。この例示的な実施形態では、プラグイン・コンフィギュレーション・ファイルの各行は、プラグイン関数に関する情報を以下の形式で含む。

plug-in type: parameter: filename ->function_name

上記で、plug-in typeは、サポートされるプラグイン・タイプのキーワードの1つであり、フィールド区切り文字「:」が続く。
[0778]上記で、parameterは、幾つかのプラグイン関数に対して特有の一意の意味を有する数(10進数、または0xが先行する場合16進数とすることができる)である。パラメータはまた、「呼出しモード」と呼ばれ、プラグインをどのように呼び出すべきかに関する何らかの特有の情報を提供することができる。パラメータは、必要とされるものではなく、省略することができる。指定される場合、パラメータには、フィールド区切り文字「:」が続かなければならない。
[0779]上記で、filenameは、共有ライブラリの名称であり、ファイル名区切り文字「->」が続く。ファイル名は、ライブラリへのフルパス(full-path)を含むことができる。パスが省略される場合、ライブラリは、Focusスキャナ内の「/usr/local/lib」または「/usr/lib/」ディレクトリに位置するものとする。従って、共有ライブラリは、プラグイン・コンフィギュレーション・ファイルにより指定されるスキャナ内の正しいディレクトリにロードされることが重要である。
上記で、function_nameは、対応するプラグインC関数の名称である。)

また、引用文献1の図59C1を参照すると、例えば[0770]に記載された、データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイルに対応して、「Data Preformatting Plugin」(データ・プリフォーマッティング・プラグイン)と、「Data Formatting Plugin」(データ・フォーマッティング・プラグイン)の2つのプラグインがロードされ、実行されることが記載されている。

以上を総合すると、上記引用文献1には次の発明(以下、「引用発明」という。)が記載されていると認められる。

「デジタル画像キャプチャおよび処理のシステムの標準システムの特徴および機能を変更および/または拡張できるようにする手法であって、
デジタル画像キャプチャおよび処理のシステムは、デジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームを備え、
演算プラットホームは、(i)デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける1組の標準的な特徴および機能をサポートし、
元の製品コードは、1組のプレース・ホルダを有し、このプレース・ホルダ内へ、付加価値再販業者(VAR)や、相手先商標製造業者(OEM)や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができ、
1または複数のサードパーティ・コード(「プラグイン」)が1組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作し、
各サードパーティ・コードは、1組のソフトウェア・ライブラリ(オブジェクト・モジュール)およびプラグイン・エンゲージメント規則などが記述されたコンフィギュレーション・ファイルからなり、
例えば、データ・フォーマッティング・プラグイン・コンフィギュレーション・ファイルに対応して、「Data Preformatting Plugin」(データ・プリフォーマッティング・プラグイン)と、「Data Formatting Plugin」(データ・フォーマッティング・プラグイン)の2つのプラグインがロードされ、実行される
手法。」

2.引用文献2について
原査定の拒絶の理由に引用された特表2010-541080号公報(以下、「引用文献2」という。)の段落【0013】-【0018】、【0032】-【0033】及び図1、3の記載からみて、当該引用文献2には、サービス指向型システムの拡張された機能又は代替機能を提供するために、サードパーティの複数のプラグインを用いること、それらの実行順序はユーザが定義できることが記載されていると認められる。

3.引用文献3について
原査定の拒絶の理由に引用された特開2009-048485号公報(以下、「引用文献3」という。)には、図面とともに次の事項が記載されている。

(1)「【技術分野】
【0001】
本発明は、デスクトップアプリケーションに係り、特に複数の小機能(最小単位の機能)を所定の実行順序に従って実行することで、アプリケーションが有する1つの機能を実現する情報処理装置に関するものである。
【背景技術】
【0002】
同じアプリケーションであっても、そのアプリケーションを使用するユーザによって使用目的や用途は様々である。
【0003】
そのため、アプリケーションを開発し、ユーザに提供する企業にとっては、提供したアプリケーションがユーザの使用目的や用途に十分に対応できているか否か、すなわち、自社のアプリケーションがユーザから高い顧客満足度を得られるか否かと言う点が、アプリケーションを販売する上で重要となる。
【0004】
そこで、アプリケーションの多くは、ユーザサイドにおいて、必要な機能が拡張できるように、予め、全てのユーザに共通して提供する基本的な機能(以下、「基本機能」と言う。)と、ユーザが必要なときに拡張可能な機能(以下、「拡張機能」と言う。)とに分けて開発され、ユーザに提供されている。
【0005】
その結果、ユーザは、必要に応じて、「基本機能」を搭載したアプリケーションが動作する情報処理装置に、アプリケーション本体のプログラムとは別の形で提供された「拡張機能」用のプログラムをインストールすることにより、使用目的や用途に応じた機能拡張を行うことができる。
【0006】
このような、機能拡張を実現するために開発された「拡張機能」用のプログラムを、「プラグイン」と言う。」(段落【0001】-【0006】)

(2)「【0011】
しかしながら、従来の「複数の小機能を所定の実行順序に従って実行することで1つの機能を実現するアプリケーション」では、一連の処理の中で実行する小機能及びその実行順序を予め決めておく必要がある。そのため、既に実行した小機能の実行結果に応じて、これから実行する小機能を動的に決定することができない。すなわち、実行結果に応じた分岐処理を行うことができなかった。
【0012】
例えば、ユーザが所定の画像処理を行った画像データの印刷を行うときに、画像データの色特性(カラー画像かモノクロ画像か)に応じてカラー印刷又はモノクロ印刷を切り替えて動作させたい場合には、カラー印刷を行う機能とモノクロ印刷を行う機能と、それぞれの印刷機能に対して実行する小機能及びその実行順序を予め決めておく必要があり、1つの印刷機能の中でカラー印刷又はモノクロ印刷を分岐処理することができない。
【0013】
そこで、本発明では、上記従来技術の問題点に鑑み、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を実現することができる情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することを目的とする。」(段落【0011】-【0013】)

(3)「【0039】
図2は、本発明の第1の実施形態に係る情報処理装置100のソフトウェア構成の一例を示す図である。
【0040】
図2に示すように、本実施形態に係る情報処理装置100に実装するデスクトップアプリケーション20に関するソフトウェアは、デスクトップアプリケーション20、機能プラグイン30、及びコアプログラム(コアモジュール群)31とから構成されている。
【0041】
デスクトップアプリケーション20は、定義データ21、UIプラグイン(UIパーツ)22、及びアプリケーションプロセス23とから構成されている。
【0042】
定義データ21は、デスクトップアプリケーション20によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、複数個のデータ(データ群)によって構成されている。」(段落【0039】-【0042】)

(4)「【0055】
アプリケーションプロセス23は、OSから主記憶部12のRAM上に使用可能なメモリ領域の割り当てを受けて、処理を実行するプログラムである。アプリケーションプロセス23によって実行される処理は、例えば、UIプラグイン(UIパーツ)22を用いてCRTやLCDなどの出力装置にUIを表示するための描画処理、定義データ21に定義された動作条件や動作順序などの動作に関する情報に従って機能プラグイン(小機能)30の動作を指示するプラグイン実行処理、UIから受け付けた動作に関する情報を基に定義データ21を生成する定義データ生成処理などである。
【0056】
機能プラグイン30は、デスクトップアプリケーション20の機能を実現するために所定の情報処理を行うプログラムであり、複数個のプログラム(モジュール群)によって構成されている。ここで言う「所定の情報処理」とは、例えば、「ファイル選択」、「リサイズ(変倍)」、「カラー印刷」、「モノクロ印刷」、及び「メッセージ表示」などのような、デスクトップアプリケーション20の機能を構成する最小単位の機能(小機能)を実現する処理を意味する。

・・・(中略)・・・

【0059】
コアプログラム31は、アプリケーションプロセス23からの動作指示に従って機能プラグイン(小機能)30を実行するプログラムや、アプリケーションプログラムとプラグインモジュールとの間のデータインタフェース(以下、「データI/F」と言う。)プログラムと言った、アプリケーションプログラムとプラグインモジュールとの間で共通化されたプログラムであり、複数個のプログラム(モジュール群)によって構成されている。」(段落【0055】-【0059】)

(5)「【0060】
上記の構成により、本実施形態に係るデスクトップアプリケーション20に関するソフトウェアは、以下のように動作する。この動作は、ユーザが、「デスクトップアプリケーション20のメニュー項目を選択した」ときの一例である。
(1) UIを介してユーザからの機能動作指示を受け取る。
(2) アプリケーションプロセス23は、UIから受け取った動作指示を、データI/Fを介してコアプログラム31に渡す。
(3) コアプログラム31は、アプリケーションプロセス23から受け取った動作指示に従って、指示された機能の動作に関する情報が定義された定義データ21を特定する(複数個ある定義データ21の中から、UI上のメニュー項目に対応付けられた定義データ21を、例えば、定義データ21のファイル名や定義データ21に定義された「機能に関する情報」などを基に特定する)。コアプログラム31は、特定した定義データ21を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン(小機能)30を実行する。」(段落【0060】)

(6)「【0068】
次に、定義データ生成手段42は、デスクトップアプリケーション20によって行う処理を実現するために必要な機能プラグイン(小機能)30の実行条件や実行順序などの動作に関する情報を、図3に示すような所定の形式に従って定義して定義データ21を生成する。
【0069】
定義データ生成手段42では、独自のタグを用いた所定の形式に従って、動作に関する情報の意味を記述した定義データ21を生成することによって、複数個の機能プラグイン(小機能)30(例えば図4に示す情報処理手段41a?41e)により行われる処理を、デスクトップアプリケーション20の1つの機能(複数個の小機能から構成される機能)として定義する。
【0070】
そのため、本実施形態に係る情報処理装置100では、ユーザがデスクトップアプリケーション20によって行いたい処理の実行条件や実行順序などの動作に関する情報を、定義データ21に定義することで、デスクトップアプリケーション20の1つの機能として実行させることができる。
【0071】
図3に示す定義データ21には、機能プラグイン(小機能)30が行う処理Aの次に、無条件で他の機能プラグイン(小機能)30が行う処理Bが実行され、デスクトップアプリケーション20の1つの機能を実現すると言う一連の処理を実現する実行順序が定義されたデータ例が示されている。
【0072】
例えば、ユーザが、処理A及び処理Bを行った後に、処理A又は処理Bの実行結果に応じて、後に行う処理を動的に切り替えて機能させたい場合がある。
【0073】
このような場合、従来のデスクトップアプリケーション20では、処理Bの実行後に行う処理の実行順序を、本来動的に切り替えて機能させたい処理パターンの数だけ、処理A及び処理Bを行う実行順序を定義した定義データ21とは別の定義データ21に定義しておき、処理Bを実行した後に、処理Bの実行後に行う処理の実行順序を定義した複数の定義データ21から、ユーザ自身が処理A又は処理Bの実行結果に応じて適切な定義データ21を選択し、機能を実現しなければならなかった。
【0074】
そこで、定義データ生成手段42では、デスクトップアプリケーション20で行いたい「機能に関する情報」や機能を実現するための機能プラグイン(小機能)30の「実行条件、実行順序、及び処理対象に関する情報」などを定義し、更に、機能プラグイン(小機能)30の実行結果に応じて分岐処理を行う「分岐処理に関する情報」を定義した定義データ21を生成する。このとき、定義データ生成手段42は、「機能に関する情報」や「実行条件、実行順序、及び処理対象に関する情報」を定義したときと同様の方法、すなわち独自のタグを用いた所定の形式に従って「分岐処理に関する情報」を定義する。
【0075】
定義データ生成手段42は、以下に示す分岐処理の定義するときの方針に基づいて、「分岐処理に関する情報」を定義した定義データ21を生成している。
(方針1)1つ以上の機能プラグイン(小機能)30が所定の実行順序に従って行う処理のまとまりを1つの「処理状態」(以下、「状態」と言う。)とみなす。
(方針2)分岐処理は、(方針1)に示した状態の遷移によって定義する。
【0076】
例えば、ユーザが、処理A及び処理Bを行った後に、処理A又は処理Bの実行結果に応じて、処理C及び処理Dを組み合わせた処理と、処理E及び処理Fを組み合わせた処理とを動的に切り替えて機能させたい場合、図5のフローに示すような処理の流れになる。
【0077】
図5は、本発明の第1の実施形態に係る分岐処理を定義するデータ構造の一例(その1)を示す図である。
【0078】
図5には、状態1において既に実行した処理A又は処理Bの実行結果に応じて所定の分岐処理を行い、実行結果が分岐条件1に該当した場合には、状態1から処理C及び処理Dを行う状態2へ遷移し、また実行結果が分岐条件2に該当した場合には、状態1から処理E及び処理Fを行う状態3へ遷移することで、分岐後の処理を動的に切り替える処理の流れが示されている。」(段落【0068】-【0078】)

ここで、上記段落【0071】によれば、機能プラグイン(小機能)30が処理Aを行い、他の機能プラグイン(小機能)30が処理Bを行う、すなわち、1つのプラグインは1つの処理を実行するものであるといえる。
そして、上記段落【0078】及び引用文献3の図5によれば、引用文献3に記載の定義データ21は、ある処理を実行し、その実行結果が分岐条件に該当した場合、それに応じた処理を実行することを記述したもの、すなわち、あるプラグインを実行し、その実行結果が分岐条件に該当した場合、それに応じたプラグインを実行することを記述したもの、といえる。

以上を総合すると、上記引用文献3には、
「デスクトップアプリケーション20、機能プラグイン30、及びコアプログラム(コアモジュール群)31が実装される情報処理装置100において、
前記コアプログラム31は、定義データ21を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン(小機能)30を実行するものであり、
前記定義データ21は、デスクトップアプリケーション20によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、あるプラグインを実行し、その実行結果が分岐条件に該当した場合、それに応じたプラグインを実行することを記述したものである、
情報処理装置100。」(以下、「引用文献3記載の技術」という。)が記載されている。


第4 対比
本願発明と引用発明とを対比する。

ア.引用発明の「デジタル画像キャプチャおよび処理のシステムの標準システムの特徴および機能を変更および/または拡張できるようにする手法」は、本願発明の「デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を変更および/または拡張する方法」に相当する。

イ.引用発明の「デジタル画像キャプチャおよび処理のシステム」は、「デジタル画像キャプチャおよび処理のシステムの特徴および機能の実装をサポートする演算プラットホームを備え」るものであって、当該演算プラットホームは、「デジタル画像キャプチャおよび処理のシステムの標準的挙動を特徴付ける1組の標準的な特徴および機能をサポート」するものであるから、本願発明と引用発明とは、「1組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップ」を有する点で一致する。

ウ.本願発明及び引用発明の「演算プラットホーム」は、「(i)前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)前記元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける前記1組の標準的な特徴および機能をサポートするものであ」る点で一致する。

エ.引用発明の「元の製品コードは、1組のプレース・ホルダを有し、このプレース・ホルダ内へ、付加価値再販業者(VAR)や、相手先商標製造業者(OEM)や、デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができ」るとの構成において、元の製品コードが1または複数であることは自明であるから、本願発明と引用発明とは、「1または複数の元の製品コードは1組のプレース・ホルダを有し、前記1組のプレース・ホルダ内へは、付加価値再販業者(VAR)、相手先商標製造業者(OEM)、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップ」を有する点で一致する。

オ.引用発明の「1または複数のサードパーティ・コード(「プラグイン」)が1組のプレース・ホルダへ挿入またはプラグインされ、デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を拡張させるように、およびその標準的な挙動をデジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更するように、動作する」構成は、本願発明の「前記1組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および/または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであ」る構成に相当する。

カ.引用発明の「各サードパーティ・コードは、1組のソフトウェア・ライブラリ(オブジェクト・モジュール)およびプラグイン・エンゲージメント規則などが記述されたコンフィギュレーション・ファイルからな」る構成は、前記コンフィギュレーション・ファイルに対応して、例えば2つ、すなわち複数のプラグインが実行されるものであるから、本願発明の「前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを含むものである、ステップ」と、「前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインを制御するコンフィギュレーション・ファイルを含むものである、ステップ」を有する点で共通する。

以上を総合すると、本願発明と引用発明とは、次の一致点、相違点を有する。

(一致点)
「デジタル画像キャプチャおよび処理のシステムの標準的な特徴および機能を変更および/または拡張する方法であって、
(a)1組の標準的な特徴および機能と、演算プラットホームとを有する前記デジタル画像キャプチャおよび処理のシステムを提供するステップであって、前記演算プラットホームは、(i)前記デジタル画像キャプチャおよび処理のシステムの元の設計者により書かれた元の製品コードを記憶するメモリと、(ii)前記元の製品コードを特定のシーケンスで呼び出して実行することにより1または複数のアプリケーションを動作させるマイクロプロセッサとを含み、それにより、前記デジタル画像キャプチャおよび処理のシステムの標準的な挙動を特徴付ける前記1組の標準的な特徴および機能をサポートするものであり、前記1または複数の元の製品コードは1組のプレース・ホルダを有し、前記1組のプレース・ホルダ内へは、付加価値再販業者(VAR)、相手先商標製造業者(OEM)、および前記デジタル画像キャプチャおよび処理のシステムのエンドユーザを含むサードパーティが、サードパーティ製品コードを挿入またはプラグインすることができるものである、ステップと、
(b)前記1組のプレース・ホルダへ複数のサードパーティ・コードをプラグインするステップであって、前記デジタル画像キャプチャおよび処理のシステムの前記特徴および機能を変更および/または拡張させるように動作させ、それにより前記デジタル画像キャプチャおよび処理のシステムの前記標準的な挙動を、前記デジタル画像キャプチャおよび処理のシステム向けのカスタム挙動に変更または拡張させるものであり、前記複数のサードパーティ・コードは、前記デジタル画像キャプチャおよび処理のシステムの前記複数のプラグインを制御するコンフィギュレーション・ファイルを含むものである、ステップと
を備える方法。」

(相違点)
本願発明のコンフィギュレーション・ファイルは、「複数のプラグインのチェーン化を制御する条件付きプログラミング論理を有する」のに対し、引用発明のコンフィギュレーション・ファイルは、複数のプラグインを制御するものであるものの、複数のプラグインの「チェーン化を制御する条件付きプログラミング論理を有する」ものではない点。


第5 当審の判断
上記相違点について検討する。

上記引用文献3には、「第3 引用文献及び引用発明」の「3.引用文献3について」の節で述べたとおり、以下の技術が記載されている。
「デスクトップアプリケーション20、機能プラグイン30、及びコアプログラム(コアモジュール群)31が実装される情報処理装置100において、
前記コアプログラム31は、定義データ21を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン(小機能)30を実行するものであり、
前記定義データ21は、デスクトップアプリケーション20によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、あるプラグインを実行し、その実行結果が分岐条件に該当した場合、それに応じたプラグインを実行することを記述したものである、
情報処理装置100。」

当該技術は、同節(1)及び(2)に示した引用文献3の記載から明らかなとおり、「従来の『複数の小機能を所定の実行順序に従って実行することで1つの機能を実現するアプリケーション』では、一連の処理の中で実行する小機能及びその実行順序を予め決めておく必要がある。そのため、既に実行した小機能の実行結果に応じて、これから実行する小機能を動的に決定することができない。すなわち、実行結果に応じた分岐処理を行うことができなかった。」(段落【0011】)(ここで、「小機能」は「プラグイン」の実行によって得られるものである。)という課題を解決するためのものであって、複数のプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータである「定義データ21」(本願発明及び引用発明の「コンフィギュレーション・ファイル」に対応する。)に条件分岐を導入、すなわち「条件付きプログラミング論理」を導入し、複数のプラグインを「チェーン化」(本願明細書の段落【0021】によれば、「チェーン化」とは、「順序付けする」ことを意味している。)するものといえる。

他方、引用発明のコンフィギュレーション・ファイルも、複数のプラグインを制御するものであるから、上記の課題を共有するものといえる。

したがって、引用発明のコンフィギュレーション・ファイルに、定義データ21に関する引用文献3記載の技術を適用して、本願発明の相違点に係る構成とすることは、当業者であれば容易に相当し得たものである。

そして、本願発明の作用効果も、引用発明及び引用文献3記載の技術から当業者が予測できる範囲のものである。


第6 むすび
以上のとおり、本願発明は、引用発明及び引用文献3記載の技術に基づいて当業者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
したがって、他の請求項に係る発明について検討するまでもなく、本願は拒絶すべきものである。
よって、結論のとおり審決する。
 
審理終結日 2017-07-11 
結審通知日 2017-07-12 
審決日 2017-07-25 
出願番号 特願2012-7122(P2012-7122)
審決分類 P 1 8・ 121- Z (G06K)
最終処分 不成立  
前審関与審査官 福田 正悟  
特許庁審判長 高瀬 勤
特許庁審判官 千葉 輝久
土谷 慎吾
発明の名称 複数のサードパーティ・プラグインのチェーン化を制御する条件付きプログラミング論理を有するコンフィギュレーション・ファイルを用いての複数のサードパーティ・コードのプラグインをサポートするデジタル画像キャプチャおよび処理のシステム  
代理人 小林 泰  
代理人 山本 修  
代理人 小野 新次郎  
代理人 竹内 茂雄  
代理人 鳥居 健一  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ