JP2017076368A - 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

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

Info

Publication number
JP2017076368A
JP2017076368A JP2016147244A JP2016147244A JP2017076368A JP 2017076368 A JP2017076368 A JP 2017076368A JP 2016147244 A JP2016147244 A JP 2016147244A JP 2016147244 A JP2016147244 A JP 2016147244A JP 2017076368 A JP2017076368 A JP 2017076368A
Authority
JP
Japan
Prior art keywords
information
application
processing
flow
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016147244A
Other languages
English (en)
Other versions
JP6859620B2 (ja
Inventor
晃佑 波平
Kosuke Namihira
晃佑 波平
雄一郎 林
Yuichiro Hayashi
雄一郎 林
和徳 杉村
Kazunori Sugimura
和徳 杉村
光 小南
Hikaru Kominami
光 小南
志 閔
Zhi Min
志 閔
東哲 張
Totetsu Cho
東哲 張
龍太郎 坂梨
Ryutaro Sakanashi
龍太郎 坂梨
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to EP16192654.8A priority Critical patent/EP3156903A1/en
Priority to CN201610884242.0A priority patent/CN106598709A/zh
Priority to US15/292,238 priority patent/US10372485B2/en
Publication of JP2017076368A publication Critical patent/JP2017076368A/ja
Priority to US16/445,723 priority patent/US11150941B2/en
Application granted granted Critical
Publication of JP6859620B2 publication Critical patent/JP6859620B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】一連の処理を行うためのアプリケーションの開発を支援する。【解決手段】所定の処理を実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリ毎に、プログラム識別情報と、実行順とが定義されたフロー情報を、アプリ識別情報と関連付けて記憶する記憶手段と、選択されたアプリにより実行される前記一連の処理のフロー情報がユーザ操作により作成されると、該作成されたフロー情報をアプリ識別情報と関連付けて前記記憶手段に記憶させる登録手段と、前記一連の処理に用いる電子データに関する情報と、前記アプリ識別情報とを含む要求を受け付けると、前記アプリ識別情報と関連付けく前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記実行順に従って実行させることで、電子データを用いた前記一連の処理を実行する処理実行手段とを有する。【選択図】図4

Description

本発明は、情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば、ユーザにより指定された電子データを外部ストレージに保管する外部サービス等が知られている。
また、例えば、画像形成装置で原稿をスキャンして取得した画像データを外部ストレージに保管する技術が知られている(例えば特許文献1参照)。このように、画像形成装置と外部サービスとが連携して処理を行う技術が従来から知られている。
しかしながら、上記の従来技術においては、外部サービスと連携した一連の処理を行うためには画像形成装置に搭載されるアプリケーションの開発が必要となる。また、ある外部サービスが固有の機能(他の外部サービスが提供していない機能)を提供するようになった場合には、当該固有の機能を利用するためのモジュールやプラグイン等を開発する必要がある。
したがって、画像形成装置に搭載されるアプリケーションの追加や修正等の開発に要する工数が大きくなる場合があった。
本発明の一実施形態は、上記の点に鑑みてなされたもので、一連の処理を行うためのアプリケーションの開発を支援することを目的とする。
上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリケーション毎に、前記一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する記憶手段と、前記情報処理システムに接続される1以上の機器のうちの第1の機器に表示された第1の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報が、前記プログラム識別情報と、前記実行順とを定義するためのユーザ操作により作成されると、該作成されたフロー情報を、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶させる登録手段と、前記1以上の機器のうちの第2の機器から、前記一連の処理に用いる電子データに関する情報と、前記アプリ識別情報とを含む要求を受け付けると、前記アプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する処理実行手段と、を有する。
本発明の一実施形態によれば、一連の処理を行うためのアプリケーションの開発を支援することができる。
第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。 第一の実施形態に係るサービス提供システム及びPC端末の一例のハードウェア構成を示す図である。 第一の実施形態に係る機器の一例のハードウェア構成を示す図である。 第一の実施形態に係る情報処理システムの一例の機能構成を示す図である。 共通I/F及び固有I/Fの一例を説明するための図である。 第一の実施形態に係るロジック処理部の一例の機能構成を示す図である。 コンポーネント情報テーブルの一例を示す図である。 型変換情報テーブルの一例を示す図である。 処理フロー情報の一例を示す図である。 第一の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。 アプリ一覧画面から処理フロー作成画面への画面遷移の一例を示す図である。 処理フロー作成の一例を示す図である(その1)。 処理フロー作成の一例を示す図である(その2)。 処理フロー作成の他の例を示す図である。 第一の実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。 サービス一覧画面からサービス画面への画面遷移の一例を示す図である。 第一の実施形態に係る処理フローの実行処理の一例を示すシーケンス図である。 第二の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。 アプリ情報画面の一例を示す図である。 処理フロー更新画面の一例を示す図である。 第三の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。 処理フロー作成画面の他の例を示す図である。 第四の実施形態に係る情報処理システムの一例の機能構成を示す図である。 第四の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
[第一の実施形態]
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、本実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
図1に示す情報処理システム1は、サービス提供システム10と、機器20と、PC端末30と、外部ストレージシステム40とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスと連携した一連の処理により実現される各種のサービスを提供する。
本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。
なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、ASP(Application Service Provider)によって提供されるサービスやWebサービス等のネットワークを介して提供される各種の外部サービスに関して適用されても良い。
機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。
PC端末30は、例えば、ユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。ユーザは、PC端末30を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
なお、以降では、複数のPC端末30について、各々を区別するときは、「PC端末30」、「PC端末30」等と添え字を用いて記載する。
外部ストレージシステム40は、ネットワークN1を介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム40のストレージの記憶領域を貸し出すサービスである。
なお、以降では、複数の外部ストレージシステム40について、各々を区別するときは、「外部ストレージシステム40」、「外部ストレージシステム40」等と添え字を用いて記載する。また、外部ストレージシステム40により提供されるストレージサービスの名称を「ストレージA」、外部ストレージシステム40により提供されるストレージサービスの名称を「ストレージB」等とする。
なお、外部ストレージシステム40は、複数台の情報処理装置によって実現されるシステムであっても良い。
また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10及びPC端末30のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム10及びPC端末30の一例のハードウェア構成を示す図である。なお、サービス提供システム10及びPC端末30は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム10のハードウェア構成について説明する。
図2に示すサービス提供システム10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、サービス提供システム10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12の少なくとも一方は、必要なときにサービス提供システム10に接続して利用する形態であっても良い。
通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介して通信を行うことができる。
HDD18は、プログラムやデータを格納している不揮発性の記憶装置である。HDD18に格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取りや書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。
本実施形態に係るサービス提供システム10及びPC端末30は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
次に、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る機器20の一例のハードウェア構成を示す図である。
図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、HDD35とを有する。
ROM33は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。また、HDD35は、各種プログラムやデータを格納している不揮発性の記憶装置である。
CPU31は、ROM33やNVRAM34、HDD35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F24は、機器20をネットワークに接続するインタフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20が画像形成装置であるものとして説明する。
本実施形態に係るサービス提供システム10は、例えば、機器20において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Recognition)処理して、外部ストレージシステム40に保存するサービス(OCR配信)を提供する。また、本実施形態に係るサービス提供システム10は、例えば、外部ストレージシステム40に保存されている電子ファイルを、機器20で印刷するサービス(クラウドプリントサービス)を提供する。
以降では、本実施形態に係るサービス提供システム10は、上述したOCR配信を提供するものとして説明する。
ただし、サービス提供システム10により提供されるサービスは、これらに限られない。例えば、サービス提供システム10は、外部ストレージシステム40に保存されている電子ファイルを、プロジェクタで投影するサービスを提供しても良い。また、例えば、サービス提供システム10は、機器20において原稿をスキャンして生成された電子ファイルを、OCR処理した後、所定の言語に翻訳(例えば、英語を日本語に翻訳)して、外部ストレージシステム40に保存するサービスを提供しても良い。
<機能構成>
次に、本実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る情報処理システム1の一例の機能構成を示す図である。
機器20は、UI制御部210と、スキャン処理部220とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムが、CPU31に実行させる処理により実現される。
UI制御部210は、操作パネル22に各種画面を表示させる。また、UI制御部210は、操作パネル22に表示された各種画面におけるユーザの各種操作を受け付ける。
スキャン処理部220は、UI制御部210により受け付けられたユーザの操作に応じて、スキャナ26で原稿をスキャンして電子ファイル(画像ファイル)を生成する。
PC端末30は、UI制御部310を有する。当該機能部は、PC端末30にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
UI制御部310は、表示装置12に各種画面を表示させる。また、UI制御部210は、表示装置12に表示された各種画面において、入力装置11により入力されたユーザの各種操作を受け付ける。
サービス提供システム10は、サービス処理部110と、ドキュメントサービス部160と、外部ストレージ連携部170とを有する。これら各機能部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
また、サービス提供システム10は、アプリ情報記憶部180を有する。当該記憶部は、HDD18を用いて実現可能である。なお、アプリ情報記憶部180は、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されても良い。
サービス処理部110は、機器20のUI制御部210からの要求に応じて、後述するアプリ情報1000により提供される各種のサービスに関する処理を行う。また、サービス処理部110は、PC端末30のUI制御部310からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1200の作成に関する処理を行う。
なお、処理フロー情報1200とは、アプリ情報1000により提供されるサービスを実現するための一連の処理(処理フロー)に関する情報である。
ここで、サービス処理部110は、アプリ管理部120と、ロジック処理部130と、フロー作成処理部140と、データI/F部150とを有する。
アプリ管理部120は、アプリ情報記憶部180に記憶されているアプリ情報1000を管理する。アプリ管理部120は、機器20のUI制御部210やPC端末30のUI制御部310からの要求に応じて、アプリ情報1000に基づく各種の情報を返信する。
例えば、アプリ管理部120は、機器20のUI制御部210からの要求に応じて、アプリ情報1000に含まれる画面定義情報1100を返信する。なお、画面定義情報1100とは、アプリ情報1000により提供されるサービスを利用するための画面であるサービス画面を表示するための情報である。
また、アプリ管理部120は、ロジック処理部130からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1200を返信する。処理フロー情報1200は、上述したように、アプリ情報1000により提供されるサービス(例えば、OCR配信等)を実現する一連の処理に関する情報である。
さらに、アプリ管理部120は、フロー作成処理部140からの要求に応じて、PC端末30において作成された処理フロー情報1200をアプリ情報記憶部180に記憶させる。
ロジック処理部130は、機器20のUI制御部210からの要求に応じて、アプリ管理部120を介して、アプリ情報1000に含まれる処理フロー情報1200を取得する。そして、ロジック処理部130は、取得した処理フロー情報1200に基づいて、ドキュメントサービス部160や外部ストレージ連携部170のファイル処理部171等に処理の実行を要求することで、当該処理フロー情報1200に基づく一連の処理を実行する。
なお、ロジック処理部130は、後述するコンポーネントを組み合わせることにより、処理フロー情報1200に基づく一連の処理を実行する。
これにより、本実施形態に係るサービス提供システム10では、アプリ情報1000により提供される各種のサービスが実現される。ロジック処理部130の詳細については後述する。
フロー作成処理部140は、PC端末30のUI制御部310からの要求に応じて、処理フロー作成画面情報を返信する。なお、処理フロー作成画面情報とは、処理フロー情報1200を作成するための画面である処理フロー作成画面を表示するための情報である。
そして、フロー作成処理部140は、処理フロー作成画面において作成された処理フローを示す処理フロー情報1200の登録をアプリ管理部120に要求する。
このように、本実施形態では、PC端末30において作成された処理フローをサービス提供システム10に登録することができる。
データI/F部150は、機器20のUI制御部210からの要求に応じて、外部ストレージ連携部170のデータ処理部172に対して、各種の要求(例えば、フォルダ一覧の取得要求等)を行う。
ドキュメントサービス部160は、各種処理を実行するプログラム(モジュール)群である。これらのプログラムは、ロジック処理部130からの要求に応じて、後述するコンポーネントにより実行される。
ドキュメントサービス部160には、例えば、電子ファイルに対してOCR処理を実行するOCR処理161、電子ファイルを機器20が印刷可能な印刷データに変換する印刷変換処理162等が含まれる。
なお、ドキュメントサービス部160には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するためのプログラム、言語の翻訳を行うためのプログラム、画像ファイルのサイズ変換を行うためのプログラム等の各種プログラムが含まれても良い。
外部ストレージ連携部170は、ロジック処理部130やデータI/F部150からの要求に応じて、外部ストレージシステム40に対して、各種の要求(例えば、フォルダ一覧の取得要求等)を行う。
本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム40毎に、それぞれの外部ストレージシステム40に対応する外部ストレージ連携部170を有する。すなわち、本実施形態に係るサービス提供システム10は、外部ストレージシステム40に対して各種の要求を行うための外部ストレージA連携部170を有する。同様に、本実施形態に係るサービス提供システム10は、外部ストレージシステム40に対して各種の要求を行うための外部ストレージB連携部170等を有する。
なお、以降では、複数の外部ストレージ連携部170について、各々を区別するときは、上記のように、「外部ストレージA連携部170」、「外部ストレージB連携部170」等と添え字を用いて表す。
ここで、外部ストレージ連携部170は、ロジック処理部130からの要求を受け付けるファイル処理部171と、データI/F部150からの要求を受け付けるデータ処理部172とを有する。
ファイル処理部171は、外部ストレージシステム40に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F1711及び固有I/F1712を有する。
共通I/F1711は、複数の外部ストレージシステム40間で共通に利用できるAPIであり、例えば図5(a)に示すAPIが挙げられる。すなわち、ファイル処理部171の共通I/F1711は、全ての外部ストレージシステム40が利用できるファイル操作に関する機能(例えば、ファイルの取得、保存等)を利用するためのAPI群である。
一方、固有I/F1712は、特定の外部ストレージシステム40において利用できるAPIであり、例えば図5(b)に示すAPIが挙げられる。すなわち、ファイル処理部171の固有I/F1712は、ある特定の外部ストレージシステム40において利用できるファイル操作に関する機能(例えば、ドキュメントにファイルを付加等)を利用するためのAPI群である。
したがって、共通I/F1711は、全ての外部ストレージ連携部170に対して同様に定義される。一方で、固有I/F1712は、当該固有I/F1712で定義されるAPIが利用可能な特定の外部ストレージシステム40に対応する外部ストレージ連携部170に対して定義される。
データ処理部172は、外部ストレージシステム40に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧やフォルダ一覧等)を取得等するためのAPIが定義された共通I/F1721及び固有I/F1722を有する。
共通I/F1721は、複数の外部ストレージシステム40間で共通に利用できるAPIであり、例えば図5(c)に示すAPIが挙げられる。すなわち、データ処理部172の共通I/F1721は、全ての外部ストレージシステム40で利用できるメタデータ取得に関する機能(例えば、ファイル一覧の取得、フォルダ一覧の取得等)を利用するためのAPI群である。
一方、固有I/F1722は、ある特定の外部ストレージシステム40において利用できるAPIであり、例えば図5(d)に示すAPIが挙げられる。すなわち、データ処理部172の固有I/F1722は、ある特定の外部ストレージシステム40において利用できるメタデータ取得等に関する機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。
したがって、共通I/F1721は、全ての外部ストレージ連携部170に対して同様に定義される。一方で、固有I/F1722は、当該固有I/F1722で定義されるAPIが利用可能な特定の外部ストレージシステム40に対応する外部ストレージ連携部170に対して定義される。
以上のように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム40毎に、それぞれの外部ストレージシステム40に対応する外部ストレージ連携部170を有する。このため、連携先となる外部ストレージシステム40を追加や削除(以降、「追加等」と表す。)する場合、当該追加等される外部ストレージシステム40に対応する外部ストレージ連携部170をサービス提供システム10に追加等すれば良い。
これにより、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム40の追加等に伴う影響を局所化することができる。換言すれば、本実施形態に係るサービス提供システム10では、他の機能部(サービス処理部110やドキュメントサービス部160等)に影響を与えることなく、連携先となる外部ストレージシステム40の追加等を行うことができる。なお、外部ストレージ連携部170の追加等は、SDK(Software Development Kit)を用いて行うことができる。
また、外部ストレージ連携部170のファイル処理部171は、共通I/F1711と固有I/F1712とを異なるモジュール等で定義している。また、共通I/F1711及び固有I/F1712で定義されるAPIは、「外部ストレージ名」を指定することで利用できる(すなわち、「外部ストレージ名」が可変部分となっている。)。
これにより、外部ストレージ連携部170を追加する場合、他の外部ストレージ連携部170のファイル処理部171に定義されている共通I/F1711を再利用することができる。換言すれば、外部ストレージ連携部170を追加する場合、当該追加する外部ストレージ連携部170のファイル処理部171は、固有I/F1722のみを開発すれば良い。このことは、データ処理部172の共通I/F1721及び固有I/F1722についても同様である。
アプリ情報記憶部180は、機器20に各種のサービスを提供するためのアプリケーションであるアプリ情報1000を記憶する。アプリ情報1000には、機器20にサービス画面を表示させるための画面定義情報1100と、サービスを実現するための一連の処理(処理フロー)に関する情報である処理フロー情報1200とが含まれる。
アプリ情報1000には、当該アプリ情報1000を一意に識別するためのアプリIDと、当該アプリ情報1000のアプリ名とが関連付けられている。本実施形態では、機器20のスキャン機能を利用するアプリ情報1000を「アプリ情報1000A」と表し、アプリIDを「app001」、アプリ名を「スキャンアプリ」とする。また、アプリ情報1000Aには、画面定義情報1100Aと、処理フロー情報1200Aとが含まれるものとする。処理フロー情報1200Aの詳細については後述する。
なお、アプリ情報記憶部180には、これ以外にも、機器20のプリント機能を利用するアプリ情報1000B(アプリID「app002」、アプリ名「プリントアプリ」)が含まれる。また、アプリ情報1000には、複数の画面定義情報1100と、複数の処理フロー情報1200とが含まれていても良い。
ここで、ロジック処理部130の詳細な機能構成について、図6を参照しながら説明する。図6は、本実施形態に係るロジック処理部130の一例の機能構成を示す図である。
ロジック処理部130は、フロー実行部131と、コンポーネント管理部132と、コンポーネント群133と、型変換管理部134と、型変換群135とを有する。また、ロジック処理部130は、コンポーネント情報テーブル2000と、型変換情報テーブル3000とを利用する。
フロー実行部131は、機器20のUI制御部210からの要求に応じて、アプリ管理部120を介して、アプリ情報1000に含まれる処理フロー情報1200を取得する。そして、フロー実行部131は、取得した処理フロー情報1200に基づいてコンポーネントに対して処理の実行を要求する。
ここで、コンポーネントとは、処理フロー情報1200に基づく一連の処理(処理フロー)に含まれる一の処理を実行するためのモジュール等である。したがって、処理フロー情報1200に基づく一連の処理は、1以上のコンポーネントにより実行される処理が組み合わされることで実現される。なお、コンポーネントは、例えばクラスや関数等で定義される。
コンポーネント管理部132は、フロー実行部131からの要求に応じて、コンポーネントの生成を行う。コンポーネントの生成とは、例えばクラスや関数等で定義されているコンポーネントを、メモリ(例えばRAM14)上に展開することである。
また、コンポーネント管理部132は、UI制御部310からの要求に応じて、コンポーネント情報テーブル2000に格納されているコンポーネント情報を返信する。
ここで、コンポーネント情報テーブル2000の詳細について、図7を参照しながら説明する。図7は、コンポーネント情報テーブルの一例を示す図である。
図7に示すコンポーネント情報テーブル2000に格納されているコンポーネント情報は、データ項目として、コンポーネント名と、コンポーネントIDと、オペレーション名と、オペレーションIDと、パラメータとを有する。
コンポーネント名は、コンポーネントの名称である。コンポーネントIDは、コンポーネントを一意に識別するための識別情報である。オペレーション名は、コンポーネントにより実行される処理を示すオペレーションの名称である、オペレーションIDは、オペレーションを識別する情報である。パラメータは、コンポーネントにより実行される処理に設定される各種情報である。
例えば、コンポーネント名「外部ストレージAコンポーネント」(コンポーネントID「storageA」)は、オペレーション名「配信」(オペレーションID「uploadFile」)及び「取得」(オペレーションID「getFiles」)を有する。これは、外部ストレージAコンポーネントは、外部ストレージAに電子ファイルを配信(アップロード)するための配信オペレーションと、外部ストレージAから電子ファイルを取得(ダウンロード)するための取得オペレーションとを有していることを示している。
また、配信オペレーションには、外部ストレージAにおける配信先のフォルダIDを示す「folderID」をパラメータとして指定されることを示している。さらに、取得オペレーションには、外部ストレージAにおける取得対象のファイルIDを示す「fileID」をパラメータとして指定されることを示している。
同様に、例えば、コンポーネント名「OCRコンポーネント」(コンポーネントID「ocr」)は、オペレーション名「OCR」(オペレーションID「process」)を有する。これは、OCRコンポーネントは、電子ファイルにOCR処理を行うためのOCRオペレーションを有していることを示している。
また、OCRオペレーションには、OCR処理の対象となる言語を示す「language」と、OCR処理後の電子ファイルのデータ形式を示す「outputType」とをパラメータとして指定されることを示している。
このように、各コンポーネントには、1以上のオペレーションが含まれる。そして、コンポーネントは、オペレーションと、当該オペレーションに対するパラメータとが指定されることで、指定されたオペレーションにより示される処理を実行することができる。
コンポーネント群133は、コンポーネントの集合である。コンポーネント群133には、外部ストレージシステム40(外部ストレージA)と連携して処理を行うための外部ストレージAコンポーネント1331が含まれる。また、コンポーネント群133には、外部ストレージシステム40(外部ストレージB)と連携して処理を行うための外部ストレージBコンポーネント1332が含まれる。
さらに、コンポーネント群133は、電子ファイルにOCR処理を行うためのOCRコンポーネント1333や電子ファイルを印刷データに変換するための印刷変換コンポーネント1334が含まれる。
なお、コンポーネント群133には、これら以外にも、例えば、画像ファイルのサイズを変換するためのサイズ変換コンポーネントや言語の翻訳を行うための翻訳コンポーネント等が含まれても良い。
ここで、各コンポーネントは、コンポーネント共通I/F1330を有する。コンポーネント共通I/F1330は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントに対して処理の実行を要求するためのAPIとが含まれる。
各コンポーネントがコンポーネント共通I/F1330を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、本実施形態に係るサービス提供システム10では、例えば、フロー実行部131やコンポーネント管理部132等に影響を与えることなく、コンポーネントの追加等を行うことができる。
型変換管理部134は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部134は、コンポーネントからの要求に応じて、型変換情報テーブル3000を参照して、型変換群135に定義されている型変換を生成する。そして、型変換管理部134は、生成された型変換に対して型変換処理の実行を要求する。これにより、型変換管理部134は、要求元のコンポーネントが扱えるデータ型に型変換を行う。
ここで、型変換情報テーブル3000の詳細について、図8を参照しながら説明する。図8は、型変換情報テーブルの一例を示す図である。
図8に示す型変換情報テーブル3000に格納されている型変換情報は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を当該変換後のデータ型に型変換するための型変換が関連付けられた情報である。
これにより、例えば、ストリームデータを示すデータ型「InputStream」のデータを、記憶装置等に格納されている電子ファイルのパス(アドレス)を示すデータ型「LocalFilePath」に型変換する場合、第1の型変換を生成すれば良い。
なお、型変換の生成とは、例えばクラスで定義された型変換を、メモリ(例えばRAM14)上に展開することである。また、データ型には、上述した「InputStream」や「LocalFilePath」以外に、例えば、電子ファイルの実体を示すデータ型「File」等が挙げられる。
型変換群135は、型変換の集合である。型変換群135には、データ型「InputStream」のデータを、データ型「LocalFilePath」のデータに変換する第1の型変換1351が含まれる。また、型変換群135には、データ型「LocalFilePath」のデータを、データ型「File」のデータに変換する第2の型変換1352等が含まれる。
ここで、各型変換は、型変換共通I/F1350を有する。型変換共通I/F1350は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換に対して処理の実行を要求するためのAPIとが含まれる。
各型変換が型変換共通I/F1350を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、本実施形態に係るサービス提供システム10では、例えば、型変換管理部134等に影響を与えることなく、型変換の追加等を行うことができる。
ここで、アプリ情報1000に含まれる処理フロー情報1200の詳細について説明する。以降では、アプリ情報1000Aに含まれる処理フロー情報1200Aの一例について、図9を参照しながら説明する。図9は、処理フロー情報の一例を示す図である。
図9に示す処理フロー情報1200Aは、機器20でスキャンして生成された電子ファイルを、OCR処理して、外部ストレージAに保存するサービス(OCR配信)を実現するための一連の処理に関する情報である。
処理フロー情報1200Aには、当該処理フロー情報1200Aの識別情報を示すフローID1201Aと、当該処理フロー情報1200Aの名称を示すフロー名1202Aと、一連の処理の処理内容を示すフロー詳細1203Aとが含まれる。
また、フロー詳細1203Aには、OCR処理を示す処理内容1213Aと、外部ストレージAに配信(アップロード)することを示す処理内容1223Aとが含まれる。
ここで、処理内容1213Aには、OCR処理を実行するコンポーネントのコンポーネントID「ocr」、オペレーションID「process」、及びパラメータ「language」、「outputType」が指定されている。同様に、処理内容1223Aでは、外部ストレージAと連携した処理を実行するコンポーネントのコンポーネントID「storageA」、配信処理を示すオペレーションID「uploadFile」、及びパラメータ「folderID」が指定されている。
これにより、処理フロー情報1200に基づく一連の処理では、電子ファイルをOCR処理した後、当該OCR処理後の電子ファイルを外部ストレージAに保存することができる。このように、本実施形態に係るサービス提供システム10では、コンポーネントID、オペレーションID、及びパラメータを指定した処理内容を含む処理フロー情報1200により一連の処理が実現される。
なお、各処理内容に定義された処理の実行順は、フロー詳細1203Aにおいて、上から順に実行される。すなわち、図9に示す処理フロー情報1200Aに基づく一連の処理(処理フロー)では、処理内容1213Aに定義された処理、処理内容1223Aに定義された処理の順で実行される。ただし、これに限られず、処理フロー情報1200Aには、例えば、各処理内容に定義された処理の実行順を示す情報が定義されていても良い。
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
まず、ユーザUがPC端末30を用いて処理フローを作成し、当該作成した処理フローの処理フロー情報1200をサービス提供システム10に登録する場合の処理について、図10を参照しながら説明する。図10は、第一の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。
ユーザUは、PC端末30を用いて、処理フローの作成開始操作を行う(ステップS1001)。例えば、ユーザUは、PC端末30を用いて、サービス提供システム10にログインした後、当該ログイン後に表示されるポータル画面等において、「処理フロー作成」ボタン等を選択することにより、処理フローの作成開始操作を行うことができる。
PC端末30のUI制御部310は、処理フローの作成開始操作を受け付けると、サービス提供システム10のフロー作成処理部140に対して、アプリ一覧画面の取得要求を送信する(ステップS1002)。そして、フロー作成処理部140は、当該取得要求を受け取ると、アプリ一覧画面情報を返信する。
なお、アプリ一覧画面情報とは、サービスを提供するためのアプリケーション(アプリ情報1000)の一覧を表示するための情報であり、例えばHTML(HyperText Markup Language)等のデータ形式により表される。
PC端末30のUI制御部310は、アプリ一覧画面情報を受け取ると、サービス提供システム10のアプリ管理部120に対して、アプリ一覧情報の取得要求を送信する(ステップS1003)。そして、アプリ管理部120は、当該取得要求を受け取ると、アプリ情報記憶部180に記憶されているアプリ情報1000のアプリID及びアプリ名を取得して、アプリ一覧情報として返信する。
PC端末30のUI制御部310は、アプリ一覧情報を受け取ると、当該アプリ一覧情報をアプリ一覧画面情報に反映させて、例えば図11に示すアプリ一覧画面4000を表示装置12に表示させる(ステップS1004)。図11に示すアプリ一覧画面4000には、アプリ一覧情報に基づいてアプリ名の一覧が表示されるアプリ名一覧4001が含まれる。
次に、ユーザUは、アプリ一覧画面4000のアプリ名一覧4001から、処理フローを作成するアプリケーションを選択する操作を行う(ステップS1005)。ここで、以降では、アプリ一覧画面4000のアプリ名一覧4001から「スキャンアプリ」がユーザUにより選択されたものとして説明する。
PC端末30のUI制御部310は、アプリケーションの選択操作を受け付けると、サービス提供システム10のフロー作成処理部140に対して、処理フロー作成画面の取得要求を送信する(ステップS1006)。なお、当該取得要求には、ユーザUにより選択されたアプリケーションを識別するための情報(例えば、アプリ名一覧4001に含まれる各表示部品を識別する情報等)が含まれる。ただし、当該取得要求には、ユーザUにより選択されたアプリケーション(アプリ情報1000)のアプリIDが含まれても良い。
そして、フロー作成処理部140は、処理フロー作成画面の取得要求を受け取ると、処理フロー作成画面情報を返信する。なお、処理フロー作成画面情報とは、選択されたアプリケーションの処理フロー作成画面を表示するための情報であり、例えばHTML等のデータ形式により表される。
PC端末30のUI制御部310は、処理フロー作成画面情報を受け取ると、サービス提供システム10のコンポーネント管理部132に対して、コンポーネント情報の取得要求を送信する(ステップS1007)。そして、コンポーネント管理部132は、当該取得要求を受け取ると、コンポーネント情報テーブル2000に格納されているコンポーネント情報を返信する。
PC端末30のUI制御部310は、コンポーネント情報を受け取ると、当該コンポーネント情報を処理フロー作成画面情報に反映させて、例えば図11に示す処理フロー作成画面4100を表示装置12に表示させる(ステップS1008)。すなわち、アプリ一覧画面4000において、ユーザUにより「スキャンアプリ」が選択されると、UI制御部310は、処理フロー作成画面4100に画面遷移させる。
図11に示す処理フロー作成画面4100は、スキャンアプリの処理フローを作成するための画面であり、コンポーネント情報に基づいてコンポーネント名の一覧が表示されるコンポーネント一覧4101が含まれる。また、処理フロー作成画面4100には、処理フローをグラフィカルに作成するための作成領域4102と、処理フローのフロー名を指定するフロー名入力欄4103と、作成された処理フローを登録するための登録ボタン4104とが含まれる。
ユーザUは、図11に示す処理フロー作成画面4100において、スキャンアプリの処理フローを作成することができる。
次に、ユーザUは、処理フロー作成画面4100において、スキャンアプリの処理フローを作成する操作を行う(ステップS1009)。
ここで、一例として、スキャンアプリの処理フロー作成画面4100において、ユーザUにより処理フロー情報1200Aを示す処理フローが作成される場合について、図12及び図13を参照しながら説明する。図12及び図13は、処理フロー作成の一例を示す図である。
まず、図12(a)に示す処理フロー作成画面4200において、コンポーネント一覧4201から「外部ストレージAコンポーネント」をユーザUが選択すると、外部ストレージAコンポーネントのオペレーション一覧4203が表示される。このように、コンポーネント一覧4201からコンポーネントが選択されると、選択されたコンポーネントのオペレーション一覧が表示される。
次に、オペレーション一覧4203から「配信」をユーザUが選択し、作成領域4202内の所望の位置を選択すると、アイコンP11が表示される。ここで、アイコンP11は、コンポーネント名「外部ストレージAコンポーネント」のオペレーション名「配信」により示される処理を表している。
このように、ユーザUは、コンポーネントとオペレーションとを選択した上で、作成領域4202内の所望の位置を選択すると、選択されたコンポーネント及びオペレーションにより示される処理を表すアイコンが表示される。
次に、上記と同様に、図12(b)に示す処理フロー作成画面4300において、コンポーネント一覧4301から「OCRコンポーネント」をユーザUが選択すると、OCRコンポーネントのオペレーション一覧4303が表示される。
次に、オペレーション一覧4303から「OCR」をユーザUが選択し、作成領域4302内の所望の位置を選択すると、アイコンP12が表示される。ここで、アイコンP12は、コンポーネント名「OCRコンポーネント」のオペレーション名「OCR」により示される処理を表している。
続いて、図12(b)に示す処理フロー作成画面4300の作成領域4302において、ユーザUが、アイコンP12とアイコンP11との先後関係を指定する操作を行うことで、矢印P13が表示される。これにより、ユーザUにより、アイコンP12が示す処理の次にアイコンP11が示す処理を行うことが指定される。
次に、図13(a)に示す処理フロー作成画面4400において、例えば、ユーザUがアイコンP12を選択すると、ウインドウP14が表示される。ウインドウP14は、OCRコンポーネントのオペレーション「OCR」のパラメータP141及びパラメータP142を設定するための設定画面である。ここで、ユーザUは、例えば、パラメータP141及びパラメータP142を、それぞれ「English」及び「pdf」に設定したものとする。
なお、ユーザUは、例えば、アイコンP11を選択して、外部ストレージAコンポーネントのオペレーション「配信」のパラメータを設定するための設定画面を表示させ、当該パラメータを設定しても良い。
そして、図13(b)に示す処理フロー作成画面4500において、ユーザUは、フロー名入力欄4501に、作成された処理フローF11のフロー名を入力し、登録ボタン4502を押下する。これにより、ユーザUにより作成された処理フローF11を示す処理フロー情報1200Aが作成される。なお、処理フローF11のフローIDは、例えば、アプリ情報1000Aにおいて一意となるように生成されれば良い。
なお、上記では、コンポーネント一覧からコンポーネント名及びオペレーション名をユーザUが選択した上で、作成領域の所望の位置を選択することで、当該コンポーネント及びオペレーションを示すアイコンが表示されたが、これに限られない。例えば、コンポーネント一覧からコンポーネント名及びオペレーション名を、作成領域にドラックアンドドロップすることで、当該コンポーネント及びオペレーションを示すアイコンが表示されても良い。
図10に戻る。PC端末30のUI制御部310は、ユーザUにより処理フローが作成されると、サービス提供システム10のフロー作成処理部140に対して、処理フローの登録要求を送信する(ステップS1010)。なお、当該登録要求には、ユーザUにより作成された処理フローF11の作成情報(例えば、作成領域に作成されたコンポーネント及びオペレーションを示すアイコンの識別情報や当該アイコン同士の関連を示す関連情報等)が含まれる。また、当該登録要求には、スキャンアプリを識別するための情報(例えば、処理フロー作成画面4500を識別する情報等)が含まれる。
ただし、UI制御部310は、ユーザUにより作成された処理フローF11を示す処理フロー情報1200Aを作成し、当該登録要求に含めて、サービス提供システム10に送信しても良い。また、UI制御部310は、当該登録要求にスキャンアプリのアプリID「app001」を含めても良い。
サービス提供システム10のフロー作成処理部140は、処理フローの登録要求を受け取ると、当該登録要求に含まれる処理フローF11の作成情報に基づいて、当該処理フローF11を示す処理フロー情報1200Aを作成する。また、フロー作成処理部140は、当該登録要求に含まれるスキャンアプリを識別するための情報から当該スキャンアプリのアプリ情報1000AのアプリID「app001」を特定する。
そして、フロー作成処理部140は、処理フロー情報1200Aと、アプリID「app001」とを含む処理フローの登録要求をアプリ管理部120に送信する(ステップS1011)。なお、フロー作成処理部140は、処理フロー作成画面情報に基づいて、スキャンアプリを識別するための情報からアプリID「app001」を特定すれば良い。
アプリ管理部120は、処理フローの登録要求を受け取ると、当該登録要求に含まれる処理フロー情報1200Aを、アプリID「app001」と関連付けてアプリ情報記憶部180に記憶させる。これにより、処理フロー情報1200Aがサービス提供システム10に登録される。
そして、アプリ管理部120は、処理フロー情報1200Aが登録されたことを示す登録結果を、フロー作成処理部140を介してUI制御部310に返信する。
以上により、本実施形態に係る情報処理システム1では、ユーザにより作成された処理フローを示す処理フロー情報1200をサービス提供システム10に登録することができる。
しかも、本実施形態に係る情報処理システム1では、コンポーネント一覧から所望のコンポーネント及びオペレーションを選択した上で、先後関係を指定することで、処理フローを作成することができる。したがって、ユーザは、容易に処理フローを作成することができるようになる。
ここで、処理フロー情報1200は、例えば、JSON(JavaScript Object Notation)やXML(Extensible Markup Language)、DSL(Domain-Specific Language)等により記述される。したがって、本実施形態に係る情報処理システム1によれば、これらJSONやXML、DSL等の仕様や形式を理解していないユーザでも容易に処理フローを作成することができるようになる。
ここで、上記では、先後関係が1つである処理フローを作成する場合について説明したが、これに限られず、処理フローの先後関係は複数であっても良い。
例えば、図14(a)に示す処理フロー作成画面5100では、後続の処理が複数である処理フローF12が作成領域5101に作成された場合を示している。処理フローF12では、アイコンP23の後続の処理としてアイコンP21及びアイコンP22が作成されている。このような処理フローF12によれば、例えば、機器20でスキャンして生成された電子ファイルを、OCR処理した後、外部ストレージAと外部ストレージBに配信(アップロード)することができる。
また、例えば、図14(b)に示す処理フロー作成画面5200では、先行の処理が複数である処理フローF13が作成領域5201に作成された場合を示している。処理フローF13では、アイコンP31の先行の処理としてアイコンP32及びアイコンP33が作成されている。このような処理フローF13によれば、例えば、機器20でスキャンして生成された電子ファイルをOCR処理した電子ファイルと、当該スキャンして生成された電子ファイルを印刷データに変換した電子ファイルとを外部ストレージAに配信することができる。
次に、ユーザUが機器20を用いて、サービス提供システム10のアプリケーション(アプリ情報1000)により提供されるサービスを利用する場合の処理について、図15を参照しながら説明する。図15は、第一の実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。
ユーザUは、機器20を用いて、アプリ情報1000により提供されるサービスの一覧を表示させるための表示操作を行う(ステップS1501)。
機器20のUI制御部210は、サービスの一覧を表示させるための表示操作を受け付けると、サービス提供システム10のアプリ管理部120に対して、サービス一覧の取得要求を送信する(ステップS1502)。そして、アプリ管理部120は、当該取得要求を受け取ると、サービス一覧画面情報を返信する。
なお、サービス一覧画面情報とは、アプリ情報1000により提供されるサービスの一覧を表示するための情報であり、例えばHTML等のデータ形式により表される。また、サービス一覧画面情報には、アプリ情報1000のアプリIDと、当該アプリ情報1000に含まれる処理フロー情報1200のフローID及びフロー名とが含まれる。
機器20のUI制御部210は、サービス一覧画面情報を受け取ると、当該サービス一覧画面情報に基づいて、例えば図16に示すサービス一覧画面6100を操作パネル22に表示させる(ステップS1503)。図16に示すサービス一覧画面6100には、サービス一覧画面情報に含まれるフローID及びフロー名に基づいてサービス名の一覧が表示されるサービス名一覧6101が含まれる。
なお、図16に示すサービス一覧画面6100では、アプリ情報1000に含まれる処理フロー情報1200のフロー名をサービス名としたが、これに限られず、任意のサービス名が表示されても良い。
次に、ユーザUは、サービス一覧画面6100のサービス名一覧6101から、所望のサービスを選択する操作を行う(ステップS1504)。ここで、以降では、サービス一覧画面6100のサービス名一覧6101から「OCR配信1」がユーザUにより選択されたものとして説明する。
機器20のUI制御部210は、サービスの選択操作を受け付けると、サービス提供システム10のアプリ管理部120に対して、サービス画面の取得要求を送信する(ステップS1505)。なお、当該取得要求には、ユーザUにより選択されたサービスを提供するアプリ情報1000AのアプリID「app001」と、当該サービスを実現する処理フロー情報1200AのフローID「flow001」とが含まれる。
そして、アプリ管理部120は、サービス画面の取得要求を受け取ると、当該取得要求に含まれるアプリID「app001」とフローID「flow001」に対応する画面定義情報1100Aを取得し、当該取得した画面定義情報1100Aを返信する。
機器20のUI制御部210は、画面定義情報1100Aを受け取ると、サービス提供システム10のデータI/F部150に対して、サービス画面の表示用情報の取得要求を送信する(ステップS1506)。
なお、表示用情報とは、サービス画面における選択欄の各選択要素等のことであり、例えば、外部ストレージにおける保存先のフォルダの候補となるフォルダ一覧(フォルダ名及びフォルダIDの一覧)等である。以降では、表示用情報の取得要求は、外部ストレージAにおける保存先のフォルダの候補を示すフォルダ一覧の取得要求であるものとして説明する。
ここで、フォルダ一覧の取得要求は、図5(c)に示すAPI「/外部ストレージ名/data/folders」を用いて行うことができる。すなわち、UI制御部210は、データI/F部150に対して、例えば、「/storage-a/data/folders」としてHTTP(Hypertext Transfer Protocol)リクエストを送信することで、外部ストレージAのフォルダ一覧の取得を要求することができる。
サービス提供システム10のデータI/F部150は、表示用情報の取得要求を受け取ると、当該取得要求を対応する外部ストレージ連携部170のデータ処理部172に転送する(ステップS1507)。すなわち、データI/F部150は、受け取った表示用情報の取得要求を外部ストレージA連携部170のデータ処理部172に転送する。
外部ストレージA連携部170のデータ処理部172は、表示用情報の取得要求を受け取ると、外部ストレージAに対してフォルダ一覧の取得要求を送信して、フォルダ一覧を示すフォルダ一覧情報を取得する(ステップS1508)。すなわち、データ処理部172は、共通I/F1721に定義されているAPIを用いて、外部ストレージAからフォルダ一覧情報を取得する。
そして、データ処理部172は、データI/F部150を介して、フォルダ一覧情報をUI制御部210に返信する。
機器20のUI制御部210は、フォルダ一覧情報を受け取ると、当該フォルダ一覧情報を画面定義情報1100Aに反映させて、例えば図16に示すサービス画面6200を操作パネル22に表示させる(ステップS1509)。
図16に示すサービス画面6200は、ユーザUにより選択されたサービス名「OCR配信1」のサービスを利用するための画面であり、ファイル名入力欄6201と、保存先フォルダ選択欄6202と、スキャン実行ボタン6205とを有する。
また、サービス画面6200には、サービス名「OCR配信1」に対応する処理フロー情報1200Aに基づき、予め設定されたパラメータがOCR言語6203及びデータ形式6204に表示されている。
なお、サービス画面6200において、保存先フォルダ選択欄6202の各選択要素は、上記のステップS1507で外部ストレージAから取得されたフォルダ一覧情報に基づいて設定される。
次に、ユーザUは、サービス画面6200において、ファイル名入力欄6201を所望のファイル名を入力するとともに、保存先フォルダ選択欄6202から所望の保存先フォルダを選択する。そして、機器20のスキャナ26に原稿をセットした上で、スキャン実行ボタン6205を押下する(ステップS1510)。ここで、以降では、ユーザUにより、ファイル名入力欄6201にファイル名「test」が入力されるとともに、保存先フォルダ選択欄6202から「FolderB」が選択された上で、スキャン実行ボタン6205が押下されたものとして説明する。
機器20のUI制御部210は、スキャン実行ボタン6205の押下を受け付けると、スキャン処理部220に対して、スキャンの実行要求を送信する(ステップS1511)。
機器20のスキャン処理部220は、スキャンの実行要求を受け取ると、スキャナ26を制御して、セットされた原稿を読み取って、ファイル名「test」の電子ファイルを作成する(ステップS1512)。そして、スキャン処理部220は、スキャンが終了したことを示すスキャン結果を返信する。
機器20のUI制御部210は、スキャン結果を受け取ると、サービス提供システム10のロジック処理部130に対して、サービス名「OCR配信1」を実現する処理フローの実行要求を送信する(ステップS1513)。なお、当該実行要求には、アプリ情報1000AのアプリID「app001」と、処理フロー情報1200AのフローID「flow001」と、ファイル名「test」の電子ファイルと、ユーザUにより選択された保存先フォルダ「FolderB」を示すフォルダIDとが含まれる。
サービス提供システム10のロジック処理部130は、受け取った処理フローの実行要求に含まれるアプリID及びフローIDに対応する処理フロー情報1200Aを取得して、当該処理フロー情報1200Aに基づく一連の処理を実行する(ステップS1514)。そして、ロジック処理部130は、当該一連の処理の処理結果を返信する。
これにより、本実施形態に係るサービス提供システム10において、サービス名「OCR配信1」を実現する一連の処理が実行され、機器20に対して、「OCR配信1」が提供される。
ここで、上記のステップS1514の処理フローの実行処理の詳細な処理について、図17を参照しながら説明する。図17は、第一の実施形態に係る処理フローの実行処理の一例を示すシーケンス図である。
フロー実行部131は、処理フローの実行要求を受け取ると、アプリ管理部120に対して、処理フロー情報の取得要求を送信する(ステップS1701)。なお、当該取得要求には、受け取った処理フローの実行要求に含まれるアプリID「app001」と、フローID「flow001」とが含まれる。
そして、アプリ管理部120は、受け取った処理フロー情報の取得要求に含まれるアプリID「app001」及びフローID「flow001」に対応する処理フロー情報1200Aをアプリ情報記憶部180から取得して、当該処理フロー情報1200Aを返信する。これにより、フロー実行部131には、図9に示す処理フロー情報1200Aが返信される。
次に、フロー実行部131は、処理フロー情報1200Aを受け取ると、コンポーネント管理部132に対して、当該処理フロー情報1200Aに基づくコンポーネントの取得要求を送信する(ステップS1702)。
すなわち、フロー実行部131は、処理フロー情報1200Aのフロー詳細1203Aにおける処理内容1213Aに指定されたコンポーネントID「ocr」を含むコンポーネントの取得要求をコンポーネント管理部132に送信する。
コンポーネント管理部132は、コンポーネントの取得要求を受け取ると、当該取得要求に含まれるコンポーネントID「ocr」に対応するOCRコンポーネント1333を生成する(ステップS1703)。なお、OCRコンポーネント1333の生成は、コンポーネント共通I/F1330に定義されたAPIを用いて行うことができる。
そして、コンポーネント管理部132は、フロー実行部131に対して、生成したOCRコンポーネント1333を返信する。すなわち、コンポーネント管理部132は、例えば、OCRコンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部131に返信する。
次に、フロー実行部131は、生成されたOCRコンポーネント1333に対して、処理フロー情報1200Aに基づく処理の実行要求を送信する(ステップS1704)。
すなわち、フロー実行部131は、処理フロー情報1200Aのフロー詳細1203Aにおける処理内容1213Aに指定されたオペレーションID「process」と、データとを含む処理の実行要求をOCRコンポーネント1333に送信する。
なお、当該処理の実行要求に含まれるデータは、データ型「InputStream」としてUI制御部210から受け取った電子ファイルである。
すなわち、フロー実行部131は、UI制御部210からデータ型「InputStream」として受け取った電子ファイルを、単に「データ」として(データ型を指定することなく)、OCRコンポーネント1333に送信する。図17では、このようにデータ型を指定することなく送受信される電子ファイル等を、単に「データ」と表す。
OCRコンポーネント1333は、処理の実行要求を受け取ると、型変換管理部134に対して、型変換要求を送信する(ステップS1705)。なお、当該型変換要求には、データと、OCRコンポーネント1333が扱うことができるデータ型である「LocalFilePath」の指定とが含まれる。
型変換管理部134は、型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1706)。
ここで、受け取った型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」である。したがって、型変換管理部134は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
すると、型変換管理部134は、型変換情報テーブル3000を参照して、データ型「InputStream」をデータ型「LocalFilePath」に変換するための第1の型変換1351を特定する。そして、型変換管理部134は、特定した第1の型変換1351を生成する(ステップS1707)。なお、第1の型変換1351の生成は、型変換共通I/F1350に定義されたAPIを用いて行うことができる。
次に、型変換管理部134は、生成された第1の型変換1351に対して、型変換処理の実行要求を送信する(ステップS1708)。なお、当該実行要求には、データが含まれる。
第1の型変換1351は、型変換処理の実行要求を受け取ると、当該実行要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する(ステップS1709)。そして、第1の型変換1351は、型変換後のデータを返信する。
型変換管理部134は、型変換後のデータを受け取ると、当該型変換後のデータをOCRコンポーネント1333に送信する(ステップS1710)。
OCRコンポーネント1333は、型変換後のデータを受け取ると、処理を実行する(ステップS1711)。すなわち、OCRコンポーネント1333は、データ型「LocalFilePath」のデータ(パス又はアドレス)により示される電子ファイルに対して、OCR処理を実行する。
より具体的には、OCRコンポーネント1333は、ドキュメントサービス部160のOCR処理161に対して処理の実行を要求し、当該OCR処理161が当該電子ファイルに対して処理を実行する。
そして、OCRコンポーネント1333は、OCR処理後の電子ファイルを示すデータをフロー実行部131に返信する。なお、OCRコンポーネント1333により返信されるデータは、OCR処理後の電子ファイルのパス又はアドレスを示すデータ(すなわち、データ型「LocalFilePath」のデータ)である。
次に、フロー実行部131は、データを受け取ると、コンポーネント管理部132に対して、処理フロー情報1200Aに基づくコンポーネントの取得要求を送信する(ステップS1712)。
すなわち、フロー実行部131は、処理フロー情報1200Aのフロー詳細1203Aにおける処理内容1223Aに指定されたコンポーネントID「storageA」を含むコンポーネントの取得要求をコンポーネント管理部132に送信する。
コンポーネント管理部132は、コンポーネントの取得要求を受け取ると、当該取得要求に含まれるコンポーネントID「storageA」に対応する外部ストレージAコンポーネント1331を生成する(ステップS1713)。なお、外部ストレージAコンポーネント1331の生成は、コンポーネント共通I/F1330に定義されたAPIを用いて行うことができる。
そして、コンポーネント管理部132は、フロー実行部131に対して、生成した外部ストレージAコンポーネント1331を返信する。すなわち、コンポーネント管理部132は、例えば、外部ストレージAコンポーネント1331が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部131に返信する。
次に、フロー実行部131は、生成された外部ストレージAコンポーネント1331に対して、処理フロー情報1200Aに基づく処理の実行要求を送信する(ステップS1714)。
すなわち、フロー実行部131は、処理フロー情報1200Aのフロー詳細1203Aにおける処理内容1223Aに指定されたオペレーションID「uploadFile」と、データとを含む処理の実行要求を外部ストレージAコンポーネント1331に送信する。
なお、当該処理の実行要求に含まれるデータは、データ型「LocalFilePath」としてOCRコンポーネント1333から返信されたデータ(すなわち、OCR処理後の電子ファイルを示すパス又はアドレス)である。
外部ストレージAコンポーネント1331は、処理の実行要求を受け取ると、型変換管理部134に対して、型変換要求を送信する(ステップS1715)。なお、当該型変換要求には、データと、外部ストレージAコンポーネント1331が扱うことができるデータ型である「LocalFilePath」の指定とが含まれる。
型変換管理部134は、型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1716)。
ここで、受け取った型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部134は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
すると、型変換管理部134は、型変換要求に含まれるデータを外部ストレージAコンポーネント1331に送信する(ステップS1717)。このように、データ型のチェック(ステップS1716の処理)においてデータ型が一致すると判断された場合、型変換管理部134は、型変換の生成を行わない。
外部ストレージAコンポーネント1331は、型変換管理部134からデータを受け取ると、処理を実行する(ステップS1718)。すなわち、外部ストレージAコンポーネント1331は、外部ストレージAのフォルダ名「FolderB」のフォルダに対して、受け取ったデータにより示される電子ファイルを配信(アップロード)する。
より具体的には、外部ストレージAコンポーネント1331は、外部ストレージA連携部170のファイル処理部171に対して、図5(a)に示すAPI「/外部ストレージ名/process/folder」を用いて行うことができる。すなわち、外部ストレージAコンポーネント1331は、ファイル処理部171に対して、例えば、「/storage-a/process/folder」としてデータを送信する。
これにより、ファイル名「test」の電子ファイル(スキャンにより生成された電子ファイルをOCR処理した電子ファイル)が、外部ストレージAのフォルダ名「FolderB」のフォルダに保存される。
そして、外部ストレージAコンポーネント1331は、処理結果を示すデータをフロー実行部131に返信する。
以上により、本実施形態に係るサービス提供システム10は、機器20に対して、外部ストレージと連携した一連の処理により実現されるサービスを提供することができる。このとき、本実施形態に係るサービス提供システム10は、処理フロー情報1200に基づいて、1以上のコンポーネントを組み合わせることにより、一連の処理を実行することができる。
[第二の実施形態]
次に、第二の実施形態に係る情報処理システム1について説明する。第二の実施形態では、処理フローの登録処理において、処理フローの登録(追加)に加えて、処理フローの更新又は削除をすることができる点が第一の実施形態と異なる。なお、以降では、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第一の実施形態と同一の符号を用いて、その説明を省略する。
<処理の詳細>
以降では、第二の実施形態に係る処理フローの登録処理について、図18を参照しながら説明する。図18は、第二の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。
PC端末30のUI制御部310は、アプリ一覧画面4000のアプリ名一覧4001から、処理フローを登録、更新、又は削除するアプリケーションの選択操作を受け付けると、選択されたアプリケーションのアプリ情報画面を表示させる(ステップS1801)。
例えば、アプリ一覧画面4000のアプリ名一覧4001から「スキャンアプリ」がユーザUにより選択された場合、UI制御部310は、例えば図19に示すアプリ情報画面7100を表示装置12に表示させる。
図19に示すアプリ情報画面7100は、「スキャンアプリ」であるアプリ情報1000Aの処理フローの登録、更新、又は削除を行うための画面である。
アプリ情報画面7100には、アプリ情報1000Aに含まれる処理フロー情報1200Aの一覧であるフロー名一覧7101が含まれる。また、アプリ情報画面7100には、処理フローを登録するための登録ボタン7102と、登録されている処理フローを更新するための更新ボタン7103と、登録されている処理フローを削除するための削除ボタン7104とが含まれる。
以降では、ユーザUにより、登録ボタン7102が選択される場合、更新ボタン7103が選択された場合、削除ボタン7104が選択される場合について、それぞれ説明する。
ユーザUによりアプリ情報画面7100において登録ボタン7102が選択された場合、図10のステップS1007〜ステップS1008と同様の処理を行う。これらの処理の詳細については省略する。
ユーザUによりアプリ情報画面7100において、フロー名一覧7101から更新対象のフロー名が選択された上で、更新ボタン7103が選択された場合について、以降で説明する。なお、以降では、フロー名一覧7101から「OCR配信1」が選択された上で、更新ボタン7103が選択されたものとして説明する。
まず、PC端末30のUI制御部310は、更新ボタン7103の選択操作を受け付けると、フロー作成処理部140に対して、処理フローの更新画面の取得要求を送信する(ステップS1802)。なお、当該取得要求には、アプリ一覧画面4000のアプリ名一覧4001から選択されたアプリ情報1000AのアプリID「app001」と、フロー名一覧7101から選択された更新対象の処理フロー「OCR配信1」のフローID「flow001」が含まれる。
そして、フロー作成処理部140は、処理フローの更新画面の取得要求を受け取ると、当該取得要求に含まれるフローIDに対応する処理フロー更新画面情報を返信する。
PC端末30のUI制御部310は、処理フロー更新画面情報を受け取ると、コンポーネント管理部132に対して、コンポーネント情報の取得要求を送信する(ステップS1803)。そして、コンポーネント管理部132は、当該取得要求を受け取ると、コンポーネント情報テーブル2000に格納されているコンポーネント情報を返信する。
PC端末30のUI制御部310は、コンポーネント情報を受け取ると、当該コンポーネント情報を処理フロー更新画面に反映させて、例えば図20に示す処理フロー更新画面8100を表示装置12に表示させる(ステップS1805)。すなわち、アプリ情報画面7100において、フロー名一覧7101から更新対象の処理フローが選択された上で、更新ボタン7103が選択されると、UI制御部310は、処理フロー更新画面8100に画面遷移させる。
図20に示す処理フロー更新画面8100は、「OCR配信1」の処理フローを更新するための画面であり、コンポーネント情報に基づいてコンポーネント名の一覧が表示されるコンポーネント一覧8102が含まれる。また、処理フロー更新画面8100には、ユーザUにより選択された「OCR配信1」の処理フローF21を更新するための作成領域8101が含まれる。さらに、ユーザUにより選択された「OCR配信1」のフロー名を更新するためのフロー名入力欄8103と、更新内容を確定するための更新ボタン8104とが含まれる。
次に、ユーザUは、処理フロー更新画面8100において、処理フローF21を更新する操作を行う(ステップS1806)。なお、ユーザUは、図20に示す処理フロー更新画面8100において、処理フローを作成する場合と同様の方法で、選択した「OCR配信1」の処理フローを更新することができる。すなわち、ユーザUは、処理フローF21に対して、処理の追加又は削除を行うことにより、処理フローF21を更新することができる。
次に、PC端末30のUI制御部310は、ユーザUにより処理フローF21が更新されると、サービス提供システム10のフロー作成処理部140に対して、処理フローの更新要求を送信する(ステップS1807)。なお、当該更新要求には、ユーザUにより更新された処理フローF21の更新情報(例えば、作成領域に作成されたコンポーネント及びオペレーションを示すアイコンの識別情報や当該アイコン同士の関連を示す関連情報等)が含まれる。また、当該更新要求には、スキャンアプリを識別するための情報(例えば、処理フロー更新画面8100を識別する情報等)が含まれる。
ただし、UI制御部310は、ユーザUにより更新された処理フローF21を示す処理フロー情報1200Aを作成し、当該登録要求に含めて、サービス提供システム10に送信しても良い。また、UI制御部310は、当該登録要求にスキャンアプリのアプリID「app001」を含めても良い。
サービス提供システム10のフロー作成処理部140は、処理フローの更新要求を受け取ると、当該更新要求に含まれる処理フローF21の更新情報に基づいて、当該処理フローF21を示す処理フロー情報1200Aを作成する。また、フロー作成処理部140は、当該更新要求に含まれるスキャンアプリを識別するための情報から当該スキャンアプリのアプリ情報1000AのアプリID「app001」を特定する。
そして、フロー作成処理部140は、処理フロー情報1200Aと、アプリID「app001」とを含む処理フローの更新要求をアプリ管理部120に送信する(ステップS1807)。なお、フロー作成処理部140は、処理フロー作成更新情報に基づいて、スキャンアプリを識別するための情報からアプリID「app001」を特定すれば良い。
アプリ管理部120は、処理フローの更新要求を受け取ると、当該更新要求に含まれる処理フロー情報1200Aを、アプリID「app001」と関連付けてアプリ情報記憶部180に記憶させる(ステップS1808)。これにより、サービス提供システム10に登録されている処理フロー情報1200Aが更新される。
そして、アプリ管理部120は、処理フロー情報1200Aが更新されたことを示す更新結果を、フロー作成処理部140を介してUI制御部310に返信する。
ユーザUによりアプリ情報画面7100において、フロー名一覧7101から削除対象のフロー名が選択された上で、削除ボタン7104が選択された場合について、以降で説明する。なお、以降では、フロー名一覧7101から「OCR配信2」が選択された上で、削除ボタン7104が選択されたものとして説明する。
PC端末30のUI制御部310は、削除ボタン7104の選択操作を受け付けると、フロー作成処理部140に対して、処理フローの削除要求を送信する(ステップS1809)。なお、当該取得要求には、ユーザUにより選択されたアプリケーションを識別するための情報(例えば、アプリ名一覧4001に含まれる各表示部品を識別する情報等)が含まれる。また、当該取得要求には、ユーザUにより選択された削除対象の処理フローを識別するための情報(例えば、フロー名一覧7101に含まれる各表示部品を識別する情報等)が含まれる。
ただし、UI制御部310は、ユーザUにより選択されたアプリケーション(アプリ情報1000A)のアプリID「app001」や削除対象の処理フロー「OCR配信2」のフローID「flow002」を、処理フローの削除要求に含めても良い。
フロー作成処理部140は、処理フローの削除要求を受け取ると、当該削除要求に含まれるアプリケーションを識別するための情報及び削除対象の処理フローを識別するための情報から、それぞれアプリID「app001」及びフローID「flow002」を特定する。
そして、フロー作成処理部140は、アプリID「app001」及びフローID「flow002」を含む処理フローの削除要求をアプリ管理部120に送信する(ステップS1810)。
アプリ管理部120は、処理フローの削除要求を受け取ると、当該削除要求に含まれるアプリID「app001」及びフローID「flow002」により示される処理フロー情報1200をアプリ情報記憶部180から削除する。そして、アプリ管理部120は、フロー作成処理部140を介して、削除結果を返信する。
以上により、本実施形態に係る情報処理システム1では、サービス提供システム10に登録されている処理フローの更新及び削除を行うことができる。
[第三の実施形態]
次に、第三の実施形態に係る情報処理システム1について説明する。第三の実施形態では、自然言語により処理フローを作成及び登録することができる点が第一の実施形態と異なる。なお、以降では、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第一の実施形態と同一の符号を用いて、その説明を省略する。
<処理の詳細>
以降では、第三の実施形態に係る処理フローの登録処理について、図21を参照しながら説明する。図21は、第三の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。
PC端末30のUI制御部310は、処理フロー作成画面情報を受け取ると、例えば図22に示す処理フロー作成画面9100を表示装置12に表示させる(ステップS2101)。
図22に示す処理フロー作成画面9100は、スキャンアプリの処理フローを作成するための画面であり、自然言語の選択欄9101〜9103が含まれる。また、処理フロー作成画面9100には、処理フローのフロー名を指定するフロー名入力欄9104と、処理フローを登録するための登録ボタン9105とが含まれる。
ユーザUは、処理フロー作成画面9100において、スキャンアプリの処理フローを作成する操作を行う(ステップS2102)。
ここで、本実施形態に係る処理フロー作成画面9100では、自然言語の選択欄9101〜9103からユーザUが所望の自然言語を選択することで、処理フローを作成することができる。
例えば、ユーザUは、自然言語の選択欄9101において、当該選択欄9101の選択要素の一覧9111から所望の選択要素を選択する。同様に、ユーザUは、自然言語の選択欄9202及び9203において、それぞれの選択要素の一覧9112及び9113から所望の選択要素を選択する。
このように、本実施形態では、ユーザUが所望の自然言語を選択することにより処理フローを作成することができる。
例えば、自然言語の選択欄9101〜9103において、それぞれ「OCR処理」、「外部ストレージB」、及び「配信」が選択されたとする。この場合、UI制御部310は、機器20でスキャンして生成された電子ファイルを、OCR処理した後、外部ストレージBに配信するための処理フロー情報1200を作成する。
なお、図22に示す処理フロー作成画面9100では、自然言語の選択欄9101〜9103の3つの選択欄が含まれる場合について示したが、これに限られず、自然言語の選択欄は任意の個数含まれていても良い。
そして、ユーザUは、フロー名入力欄9104に所望のフロー名を入力した上で、登録ボタン9105を選択することで、処理フローを作成することができる。
PC端末30のUI制御部310は、ユーザUにより処理フローが作成されると、フロー作成処理部140に対して、処理フローの登録要求を送信する(ステップS2103)。なお、当該登録要求には、ユーザUにより作成された処理フローの作成情報と、スキャンアプリを識別するための情報とが含まれる。
以上により、本実施形態に係る情報処理システム1では、ユーザにより作成された処理フローの処理フロー情報1200をサービス提供システム10に登録することができる。
しかも、本実施形態に係る情報処理システム1では、ユーザが自然言語を選択して、組み合わせることにより、処理フローを作成することができる。したがって、ユーザは、容易に処理フローを作成することができるようになる。
[第四の実施形態]
次に、第四の実施形態に係る情報処理システム1について説明する。第四の実施形態では、処理フローの登録処理において、画面を表示させるための各種情報の取得方法が第一の実施形態と異なる。なお、以降では、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第一の実施形態と同一の符号を用いて、その説明を省略する。
<機能構成>
まず、本実施形態に係る情報処理システム1の機能構成について、図23を参照しながら説明する。図23は、第四の実施形態に係る情報処理システムの一例の機能構成を示す図である。
本実施形態に係るPC端末30は、UI制御部310Aを有する。UI制御部310Aは、操作パネル22に各種画面を表示させる。このとき、UI制御部310Aは、フロー作成処理部140Aから各種画面を表示させるための各種情報を取得する。すなわち、本実施形態に係るUI制御部310Aは、第一の実施形態と異なり、アプリ一覧情報やコンポーネント情報をアプリ管理部120やロジック処理部130から直接取得しない。
本実施形態に係るサービス提供システム10は、フロー作成処理部140Aを有する。フロー作成処理部140Aは、アプリ管理部120やロジック処理部130からアプリ一覧情報やコンポーネント情報を取得する。
<処理の詳細>
以降では、第四の実施形態に係る処理フローの登録処理について、図24を参照しながら説明する。図24は、第四の実施形態に係る処理フローの登録処理の一例を示すシーケンス図である。
サービス提供システム10のフロー作成処理部140Aは、アプリ一覧画面の取得要求を受け取ると、アプリ管理部120に対して、アプリ一覧情報の取得要求を送信する(ステップS2401)。そして、アプリ管理部120は、当該取得要求を受け取ると、アプリ一覧情報をフロー作成処理部140Aに返信する。その後、フロー作成処理部140Aは、アプリ管理部120から返信されたアプリ一覧情報とともに、アプリ一覧画面情報をUI制御部310Aに返信する。
サービス提供システム10のフロー作成処理部140Aは、フロー作成画面の取得要求を受け取ると、コンポーネント管理部132に対して、コンポーネント情報の取得要求を送信する(ステップS2402)。そして、コンポーネント管理部132は、当該取得要求を受け取ると、コンポーネント情報テーブル2000に格納されているコンポーネント情報をフロー作成処理部140Aに返信する。その後、フロー作成処理部140Aは、コンポーネント管理部132から返信されたコンポーネント情報とともに、処理フロー作成画面情報をUI制御部310Aに返信する。
以上により、本実施形態に係る情報処理システム1では、処理フローの登録処理において、アプリ一覧画面や処理フロー作成画面をPC端末30に表示する際に、PC端末30とサービス提供システム10との間の通信回数を削減することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 情報処理システム
10 サービス提供システム
20 機器
30 PC端末
40 外部ストレージシステム
110 サービス処理部
120 アプリ管理部
130 ロジック処理部
131 フロー実行部
132 コンポーネント管理部
133 コンポーネント群
134 型変換管理部
135 型変換群
140 フロー作成処理部
150 データI/F部
160 ドキュメントサービス部
170 外部ストレージ連携部
180 アプリ情報記憶部
210 UI制御部
220 スキャン処理部
310 UI制御部
1000 アプリ情報
1100 画面定義情報
1200 処理フロー情報
2000 コンポーネント情報テーブル
3000 型変換情報テーブル
特開2014−032659号公報

Claims (8)

  1. 1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
    電子データを用いた一連の処理を実行するアプリケーション毎に、前記一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する記憶手段と、
    前記情報処理システムに接続される1以上の機器のうちの第1の機器に表示された第1の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報が、前記プログラム識別情報と、前記実行順とを定義するためのユーザ操作により作成されると、該作成されたフロー情報を、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶させる登録手段と、
    前記1以上の機器のうちの第2の機器から、前記一連の処理に用いる電子データに関する情報と、前記アプリ識別情報とを含む要求を受け付けると、前記アプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する処理実行手段と、
    を有する情報処理システム。
  2. 前記登録手段は、
    前記第1の機器に表示された第2の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報に定義されている前記プログラム識別情報と、前記実行順とを変更するためのユーザ操作が行われた場合、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報と、前記実行順とを、変更後の前記プログラム識別情報と、前記実行順とに更新する、請求項1に記載の情報処理システム。
  3. 前記登録手段は、
    前記第1の機器に表示された第3の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報を削除するためのユーザ操作が行われた場合、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報を削除する、請求項1又は2に記載の情報処理システム。
  4. 前記処理実行手段は、
    さらに、電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
    前記電子データのデータ型を、前記型変換手段により前記プログラムが処理可能なデータ型に変換した後、前記プログラムを実行させることで、前記電子データを用いた前記一連の処理を実行する、請求項1乃至3の何れか一項に記載の情報処理システム。
  5. 前記プログラムには、外部サービスに関する処理を実行するプログラムを含み、
    前記外部サービスに関する処理を実行するプログラムには、
    外部サービスに対して電子データをアップロードする処理を実行するプログラムを少なくとも含む、請求項1乃至4の何れか一項に記載の情報処理システム。
  6. 所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
    電子データを用いた一連の処理を実行するアプリケーション毎に、前記一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する記憶手段と、
    前記情報処理装置に接続される1以上の機器のうちの第1の機器に表示された第1の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報が、前記プログラム識別情報と、前記実行順とを定義するためのユーザ操作により作成されると、該作成されたフロー情報を、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶させる登録手段と、
    前記1以上の機器のうちの第2の機器から、前記一連の処理に用いる電子データに関する情報と、前記アプリ識別情報とを含む要求を受け付けると、前記アプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた一連の処理を実行する処理実行手段と、
    を有する情報処理装置。
  7. 1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリケーション毎に、前記一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法において、
    前記情報処理システムに接続される1以上の機器のうちの第1の機器に表示された第1の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報が、前記プログラム識別情報と、前記実行順とを定義するためのユーザ操作により作成されると、該作成されたフロー情報を、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶させる登録手順と、
    前記1以上の機器のうちの第2の機器から、前記一連の処理に用いる電子データに関する情報と、前記アプリ識別情報とを含む要求を受け付けると、前記アプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する処理実行手順と、
    を有する情報処理方法。
  8. 所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、電子データを用いた一連の処理を実行するアプリケーション毎に、前記一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する記憶手段を有する情報処理装置に、
    前記情報処理装置に接続される1以上の機器のうちの第1の機器に表示された第1の画面において、ユーザにより選択されたアプリケーションにより実行される前記一連の処理のフロー情報が、前記プログラム識別情報と、前記実行順とを定義するためのユーザ操作により作成されると、該作成されたフロー情報を、前記選択されたアプリケーションを識別するアプリ識別情報と関連付けて前記記憶手段に記憶させる登録手順、
    前記1以上の機器のうちの第2の機器から、前記一連の処理に用いる電子データに関する情報と、前記アプリ識別情報とを含む要求を受け付けると、前記アプリ識別情報と関連付けて前記記憶手段に記憶されている前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する処理実行手順、
    を実行させるための情報処理プログラム。
JP2016147244A 2015-10-14 2016-07-27 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム Active JP6859620B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP16192654.8A EP3156903A1 (en) 2015-10-14 2016-10-06 Information processing system, information processing apparatus, method for processing information, and recording medium
CN201610884242.0A CN106598709A (zh) 2015-10-14 2016-10-10 信息处理系统、信息处理装置、信息处理方法和记录介质
US15/292,238 US10372485B2 (en) 2015-10-14 2016-10-13 Information processing system, information processing apparatus, method for processing information, and recording medium
US16/445,723 US11150941B2 (en) 2015-10-14 2019-06-19 Information processing system, information processing apparatus, method for processing information, and recording medium for handling process flow information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015202938 2015-10-14
JP2015202938 2015-10-14

Publications (2)

Publication Number Publication Date
JP2017076368A true JP2017076368A (ja) 2017-04-20
JP6859620B2 JP6859620B2 (ja) 2021-04-14

Family

ID=58550315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016147244A Active JP6859620B2 (ja) 2015-10-14 2016-07-27 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (3)

Country Link
US (1) US11150941B2 (ja)
JP (1) JP6859620B2 (ja)
CN (1) CN106598709A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136017B2 (en) 2016-07-07 2018-11-20 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
JP2018200667A (ja) * 2017-05-29 2018-12-20 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
JP2018205933A (ja) * 2017-05-31 2018-12-27 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
JP2019061384A (ja) * 2017-09-25 2019-04-18 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
EP3543851A1 (en) * 2018-03-19 2019-09-25 Ricoh Company, Ltd. Setup system, method, and computer-readable medium for multifunction peripheral devices for parameter-based integration of external services
JP2020052701A (ja) * 2018-09-26 2020-04-02 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
US10750044B2 (en) 2016-07-07 2020-08-18 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
US11310372B2 (en) 2019-12-27 2022-04-19 Ricoh Company, Ltd. Service providing system, information processing system, and information processing method for transmitting data to application with authority to store in external service system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7006709B2 (ja) 2020-01-07 2022-01-24 株式会社リコー 情報処理システム、情報処理装置、データ転送方法およびプログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278759A (ja) 2001-03-15 2002-09-27 Toshiba Corp 遠隔操作型ソフトウェア開発システム
JP2004151893A (ja) 2002-10-29 2004-05-27 Fuji Xerox Co Ltd 連携情報生成装置及びプログラム
JP4925969B2 (ja) 2006-09-15 2012-05-09 株式会社リコー 情報処理装置、処理制御方法およびプログラム
JP4811808B2 (ja) * 2007-12-13 2011-11-09 株式会社リコー 情報処理装置、情報処理方法、プログラムおよび記録媒体
EP2325762A1 (en) * 2009-10-27 2011-05-25 Exalead Method and system for processing information of a stream of information
JP5380377B2 (ja) 2010-06-25 2014-01-08 東芝テック株式会社 情報処理装置及びそのプログラム
JP5633317B2 (ja) * 2010-11-05 2014-12-03 株式会社リコー 情報処理装置、ワークフロー管理システム、ワークフローの実行方法およびプログラム
JP5754128B2 (ja) 2010-12-20 2015-07-29 株式会社リコー 画像形成装置、情報処理システム、情報処理方法、及びプログラム
JP5579086B2 (ja) 2011-01-07 2014-08-27 株式会社テクノツリー チェックシート登録システム
CN102201992B (zh) * 2011-05-25 2013-09-25 上海理工大学 面向流处理器并行环境的数据流通信系统及其通信方法
JP5662267B2 (ja) * 2011-07-04 2015-01-28 株式会社ソニー・コンピュータエンタテインメント 画像表示システム、情報処理装置、サーバ、および画像処理方法
US9395959B2 (en) * 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Integrated workflow visualization and editing
JP6155899B2 (ja) 2012-07-12 2017-07-05 株式会社リコー 情報処理システム、情報処理装置、機器、情報処理方法、及びプログラム
US11907496B2 (en) * 2013-02-08 2024-02-20 cloudRIA, Inc. Browser-based application management
JP2014182411A (ja) 2013-03-15 2014-09-29 Ricoh Co Ltd 情報処理装置、ネットワークシステム、処理実行方法及び処理実行プログラム
JP6379513B2 (ja) 2013-03-15 2018-08-29 株式会社リコー 情報処理システム、情報処理システムの制御方法、情報処理装置、情報処理装置の制御方法及びプログラム
US20150170088A1 (en) * 2013-12-17 2015-06-18 The Cleveland Clinic Foundation Logic flow generator system and method
US9946516B2 (en) * 2014-03-14 2018-04-17 Starbucks Corporation Application workflow framework
JP6690196B2 (ja) 2015-02-16 2020-04-28 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
US10122870B2 (en) 2015-02-16 2018-11-06 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136017B2 (en) 2016-07-07 2018-11-20 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
US10356266B2 (en) 2016-07-07 2019-07-16 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
US10750044B2 (en) 2016-07-07 2020-08-18 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
JP2018200667A (ja) * 2017-05-29 2018-12-20 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
JP2018205933A (ja) * 2017-05-31 2018-12-27 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
US11163508B2 (en) 2017-05-31 2021-11-02 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
JP2019061384A (ja) * 2017-09-25 2019-04-18 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
EP3543851A1 (en) * 2018-03-19 2019-09-25 Ricoh Company, Ltd. Setup system, method, and computer-readable medium for multifunction peripheral devices for parameter-based integration of external services
US10778862B2 (en) 2018-03-19 2020-09-15 Ricoh Company, Ltd. Information processing system, information processing method, and computer-readable recording medium
JP2020052701A (ja) * 2018-09-26 2020-04-02 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
JP7314491B2 (ja) 2018-09-26 2023-07-26 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
US11310372B2 (en) 2019-12-27 2022-04-19 Ricoh Company, Ltd. Service providing system, information processing system, and information processing method for transmitting data to application with authority to store in external service system

Also Published As

Publication number Publication date
CN106598709A (zh) 2017-04-26
JP6859620B2 (ja) 2021-04-14
US20190303194A1 (en) 2019-10-03
US11150941B2 (en) 2021-10-19

Similar Documents

Publication Publication Date Title
JP6859620B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
EP3156903A1 (en) Information processing system, information processing apparatus, method for processing information, and recording medium
US10353999B2 (en) Information processing system, server apparatus, control method, and storage medium
JP2018205933A (ja) 情報処理システム、情報処理装置及び情報処理方法
JP6701961B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP7314491B2 (ja) 情報処理システム、サービス提供システム、フロー設定方法
JP6756270B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2016165046A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
US20180060131A1 (en) Information processing system, information processing apparatus, and information processing method
JP6477092B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US10885408B2 (en) Document generation system, method of controlling the same, and non-transitory computer readable medium
EP3288234B1 (en) Information processing apparatus, information processing system, information processing method, and carrier means
JP6794686B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US10348926B2 (en) Information processing system, information processing apparatus, and information processing method
JP6673047B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6702015B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP7444208B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6753489B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6536308B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6544133B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP7027846B2 (ja) 入出力デバイス、プログラム及び情報処理システム
JP2017158063A (ja) 情報処理システム、プログラム及びリクエスト方法
JP2017130189A (ja) 情報処理システム、情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R151 Written notification of patent or utility model registration

Ref document number: 6859620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151