JP2006107440A - ワークフロースケジュールのオーサリングツール - Google Patents

ワークフロースケジュールのオーサリングツール Download PDF

Info

Publication number
JP2006107440A
JP2006107440A JP2005183575A JP2005183575A JP2006107440A JP 2006107440 A JP2006107440 A JP 2006107440A JP 2005183575 A JP2005183575 A JP 2005183575A JP 2005183575 A JP2005183575 A JP 2005183575A JP 2006107440 A JP2006107440 A JP 2006107440A
Authority
JP
Japan
Prior art keywords
markup language
language document
building block
workflow schedule
computer
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
JP2005183575A
Other languages
English (en)
Other versions
JP4950447B2 (ja
Inventor
Robert J Mauceri
ジェー.マウセリ ロバート
Alexander Malek
マレック アレクサンダー
Stuart B Kolodner
ビー.コロドナー スチュアート
Charles W Parker
ダブリュー.パーカー チャールズ
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006107440A publication Critical patent/JP2006107440A/ja
Application granted granted Critical
Publication of JP4950447B2 publication Critical patent/JP4950447B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ワークフロースケジュールのオーサリングツールにおいて、ユーザがビルディングブロックを特定の順序で配置することにより、ワークフローの作成を行なえるようにする。
【解決手段】イベント、条件、またはアクションに相当し得る、各ビルディングブロックは、処理された時のアクションを定義するソースコードに関連付けられる。その順序がワークフロースケジュールのプロセスを決定するビルディングブロックにより、ユーザは、ワークフロースケジュール中のタスクの実行の仕方に関して論理条件を設定できる。ビルディングブロックは、実行前に、ユーザにパラメータの入力を要求できる。ワークフロースケジュールは、イベントが生じるとワークフロースケジュールをトリガするようにイベントと関連付けられる。
【選択図】図2

Description

本発明は、ワークフロースケジュールのオーサリングツールに関する。
ワークフローは、最終的な成果を出すための組織内における一連のタスクを定義する。ワークフローにより、ビジネスのプロセスを正式化し、また管理可能にすることができる。ワークグループ計算アプリケーションにより、様々なワークフローを様々なタイプの仕事に対して定義することができる。例えば、出版の場合、文書は、執筆者から編集者、校正者、生産へと自動的に経路指定される。ワークフローの各段階では、個人または1つのグループが特有のタスクを担当する。タスクが完了すると、ワークフローのソフトウェアは、次のタスクを担当する人間に通知し、その人がプロセスの次の段階を実行するために必要なデータを受け取ることができるようにする。
ワークフローは、普通、ソフトウェア技術者によって作成される。アプリケーションには、しばしば、共通のシナリオ(scenario)を目標とする多くの事前定義のワークフローが含まれる。しかし、事前定義のワークフローは、おそらくすべてのユーザの要求を満たすことができない。ワークフローに関連するソースコードを書くことに熟知していない者、またはそのソースコードにアクセスする権利のない者は、その事前定義のワークフローを作成し、カスタマイズし、または編集することができない。
ワークフロースケジュールのオーサリングツールは、ビルディングブロックを特定の順序で配置することにより、ユーザがワークフローを作成できるようにするものである。ビルディングブロックは、イベント、条件、またはアクションに相当し得る。各ビルディングブロックは、ウェブアプリケーションサーバ中のワークフロー実行エンジンによってビルディングブロックが処理されたとき行われるアクションを定義するソースコードに関連付けられている。ビルディングブロックの順序は、ワークフロースケジュールのプロセスを決定する。共通に使用されるアクションのためのいくつかのビルディングブロックは、事前に定義することができる。他のビルディングブロックは、特有の機能を実行するために、または独特な問題への解決策を提供するためにカスタマイズすることができる。ビルディングブロックは、ユーザがコードを何も書く必要がないため、ワークフロースケジュールのオーサリングを簡単化する。
ワークフロースケジューリングのオーサリングツールは、条件が真の場合はビルディングブロックを実行する論理条件を作成するように、ビルディングブロックを構成することができる。ワークフロースケジューリングのオーサリングツールはまた、条件が真のままである限りそのビルディングブロックを実行するループロジックを作成するように、ビルディングブロックを構成することができる。ビルディングブロックは、ビルディングブロックが実行される前に、ユーザにパラメータの入力を要求することができる。ワークフロースケジュールが処理される前に、サーバは適正な動作を保証するためにそのワークフロースケジュールの妥当性を検査することができる。ワークフロースケジュールは、処理中にユーザ入力を要求することができる。ワークフロースケジュールは、イベントが生じたときワークフロースケジュールがトリガされるように、イベントと関連付けられる。
簡単に述べると、ワークフロースケジュールのオーサリングツールは、ビルディングブロックを特定の順序で配置することにより、ユーザがワークフローを作成できるようにする。ビルディングブロックは、イベント、条件、またはアクションに相当し得る。各ビルディングブロックは、それがウェブアプリケーションサーバ中のワークフロー実行エンジンによって処理されたときに行われるべきアクションを定義するソースコードに関連付けられている。ビルディングブロックの順序は、ワークフロースケジュールのプロセスを決定する。いくつかのビルディングブロックは、共通に使用されるアクションに対して事前に定義することができる。他のビルディングブロックは、特有の機能を実行するために、または特有の問題に対して解決策を提供するためにカスタマイズすることもできる。ビルディングブロックを用いると、ユーザはコードを書く必要がないため、ワークフロースケジュールのオーサリングが簡単化される。一実施形態では、既存のワークフロースケジュールをビルディングブロックと共に用いて新しいワークフロースケジュールを作成することができる。サーバ上で利用可能な任意の既存のワークフロースケジュールは、ユーザが既存のワークフロースケジュールを編集できるように、または既存のワークフロースケジュールを新しいワークフロースケジュールに組み込むことができるように、ユーザインターフェース上にロードすることができる。
ワークフロースケジューリングのオーサリングツールは、条件が真の場合はビルディングブロックを実行する論理条件を作成するように、ビルディングブロックを構成することができる。ワークフロースケジューリングのオーサリングツールはまた、条件が真のままである限りそのビルディングブロックを実行するループロジックを作成するように、ビルディングブロックを構成することができる。ロジックを実装することより、ワークフロースケジュールに対して柔軟性とカスタマイズを提供する。ワークフロースケジュールは、どの論理条件が満たされるかに応じてアクションを実行する。ビルディングブロックは、それが実行される前に、ユーザに対してパラメータの入力を要求することができる。
ワークフロースケジュールは、イベントが生じたときトリガされるように、イベントに関連付けられている。ワークフロースケジュールは、処理中にユーザ入力を要求することができる。ワークフロースケジュールの処理は、要求した入力をユーザから受け取るまで停止または延期することができる。ワークフロースケジュールは、その入力を受け取ると処理を継続する。
ワークフロースケジュールが処理される前に、サーバは、適正な動作を保証するためにワークフロースケジュールの妥当性を検査することができる。妥当性検査は、ビルディングブロックのために要求されたパラメータのすべてが適正に設定されていることを判定するために実施することができる。妥当性検査はまた、ビルディングブロックが適正に構成されたかどうかを判定するために実施することもできる。
例示的な動作環境
図1を参照すると、本発明を実施するための例示的な一システムは、コンピューティング装置100などのコンピューティング装置を含む。コンピューティング装置100は、クライアント、サーバ、移動体装置、またはネットワークベースの共同作業システム中のデータと相互作用する他の任意のコンピューティング装置として構成することができる。ごく基本的な構成では、コンピューティング装置100は、通常、少なくとも1つの処理装置102およびシステムメモリ104を含む。コンピューティング装置の正確な構成およびタイプに応じて、システムメモリ104は、(RAMなどの)揮発性のもの、(ROMやフラッシュメモリなどの)不揮発性のもの、またはその2つの何らかの組合せとすることができる。システムメモリ104は、通常、オペレーティングシステム105、1つまたは複数のアプリケーション106を含み、またプログラムデータ107を含むことができる。ワークフロースケジュールのオーサリングツール108は、以下で詳細に説明するが、アプリケーション106内に実装される。
コンピューティング装置100は、追加の特徴および機能を有することができる。例えば、コンピューティング装置100はまた、例えば、磁気ディスク、光ディスク、またはテープなどの(取外し可能および/または取外し不能の)追加のデータ記憶装置を含むことができる。このような追加のストレージは、図1で、取外し可能ストレージ109および取外し不能ストレージ110として示されている。コンピュータ記憶媒体は、コンピュータ可読命令や、データ構造、プログラムモジュール、他のデータなどの、情報を記憶するための任意の方法または技術で実施された、揮発性/不揮発性、取外し可能/取外し不能媒体を含むことができる。システムメモリ104、取外し可能ストレージ109、取外し不能ストレージ110はすべて、コンピュータ記憶媒体の実施例である。コンピュータ記憶媒体は、それだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD−ROM、DVD(digital versatile disks)、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気記憶装置、あるいは所望の情報を記憶するために使用可能であり、コンピューティング装置100によってアクセス可能な他の任意の媒体を含む。このようなコンピュータ記憶媒体はいずれも装置100の一部分であり得る。コンピューティング装置100はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置112を有することができる。さらに、表示装置、スピーカ、プリンタなどの出力装置114を含むこともできる。
コンピューティング装置100はまた、ネットワークを介するなど、装置が他のコンピューティング装置118と通信できるようにする通信接続116を含む。ネットワークは、ローカルエリアネットワークおよび広域ネットワーク、ならびに、それだけに限らないが、イントラネットおよびエキストラネットを含む他の大規模ネットワークを含む。通信接続116は通信媒体の一実施例である。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の移送機構などの変調されたデータ信号中の他のデータによって実施可能なものであり、またそれは、任意の情報配信媒体を含むことができる。用語「変調されたデータ信号」とは、信号中に情報をエンコードするような方式で、その1つまたは複数の特性が設定または変更された信号を意味する。通信媒体は、例として、これだけに限らないが、有線ネットワークや直接有線接続などの有線媒体と、音響、高周波、赤外線および他の無線媒体などの無線媒体とを含む。本明細書で使用するコンピュータ可読媒体という用語は、記憶媒体と通信媒体を共に含むものとする。
ワークフロースケジュールのオーサリングツール
図2は、サーバベースのプロセスをオーサリングするためのシステムのブロック図を示す。システムは、開発者アクセス用のクライアント200、ユーザアクセス用のクライアント210、フロントエンドサーバ220、およびバックエンドデータストア230を含む。クライアント200、クライアント210、およびバックエンドデータストア230は、それぞれフロントエンドサーバ220に結合されている。クライアント200は、エディタユーザインターフェース202を含む。クライアント210は、アプリケーション212を含む。フロントエンドサーバ220は、メッセージングキュー222、プロファイル224、およびワークフロー実行エンジン226を含む。バックエンドデータストア230は、事前に存在するダイナミックリンクライブラリ232、XMLモジュール234、およびアセンブリ236を含む。ビルディングブロック238は、XMLモジュール234に結合されている。
一実施形態では、サーバベースのプロセスは、一連のタスクを含むワークフロースケジュールである。そのワークフロースケジュールは、クライアント200でエディタユーザインターフェース202を用いて、開発者により作成される。ワークフロースケジュールは、そのワークフロースケジュールが処理されている間に、クライアント210でアプリケーション212と対話するユーザからの入力を受け取ることができる。要求した入力をクライアント210から受け取るまで、ワークフロースケジュールの処理を停止または延期することができる。ワークフロースケジュールはその入力を受け取ると処理を継続する。
メッセージングキュー222は、サーバシステムに対して着信および発信メッセージを調整するためにサーバのすべてのフロントエンド220に含まれている。プロファイル224は、特定のクライアントを突き止めることができるように、クライアント200、210に関する識別情報を含む。ワークフロー実行エンジン226は、ワークフロースケジュールの実行を管理する。例えば、ワークフロー実行エンジンは、一連の諸ステップを再編成することにより、あるいは並列もしくは順次に実行するよう変更することにより、ワークフロースケジュールを管理することができる。
事前に存在するダイナミックリンクライブラリ232は、XMLモジュール234によってコール可能な機能であり、したがって、すべての機能を構築する必要がなくなる。事前に存在するダイナミックリンクライブラリ232は、ビルディングブロック238によって抽出される(すなわち、ビルディングブロックを用いることによって、事前に存在するダイナミックリンクライブラリ232が参照される)。XMLモジュール234はコンパイルされて、アセンブリ236を形成する。アセンブリ236は、実行する用意のできたダイナミックリンクライブラリである。
ビルディングブロック238は、ワークフローのアクションを含むXMLのセクションである。ビルディングブロックに関連付けられたアクションは、ビルディングブロックがワークフロー実行エンジン226によって処理されると実行される。ワークフロースケジュールは、ビルディングブロック238を特定の順序に配置することによって作成される。その順序は、ワークフロースケジュールを決定する。いくつかのビルディングブロックは、共通に使用されるアクションに対して事前に定義することができる。他のビルディングブロックは、特有の機能を実行するために、または特有の問題に対して解決策を提供するためにカスタマイズすることもできる。ビルディングブロック238を用いると、ユーザはコードを書く必要がないため、ワークフロースケジュールのオーサリングが簡単化される。
ビルディングブロック238により、開発者は、どのようにワークフロースケジュール中のタスクを実行するかに関して論理条件を設定することができる。例えば、ビルディングブロック238は、論理結合子(例えばAND、OR、ELSEなど)を用いて配置されて、ワークフロースケジュール中で分岐および/またはループを提供することができる。ロジックの実装により、ワークフロースケジュールに対して柔軟性とカスタマイズを提供する。例えば、そのロジックを用いると、出費が特定の量に満たないとき、ワークフロースケジュールは、出費報告文書を承認のため特定の人間に送り、出費報告がその量を超えたときは、出費報告文書を別の人間に送るようにすることができる。
例示的なワークフロースケジュールを以下にリストする。
イベント 文書が「Shared Documents」にアップロードされたとき
条件1 If spec_status = ready for review
アクション1 Send e-mail to user's Product Team
条件2 Else
アクション2 Set spec_staus to Pri1
ワークフロースケジュールの処理は、そのワークフローのアセンブリに関連付けられたイベントが生じたとき開始する。一実施形態では、ワークフロースケジュールは、ウェブページ上のボタンと関連付けられており、そのボタンが活動化されたときイベントが生ずる。他の実施形態では、クライアントが、ワークフロースケジュールとの対話を要求する操作を行ったとき、イベントが生ずる。例えば、ワークフロースケジュールは、文書ライブラリ中の文書が更新されると電子メールを生成するように設計することができ、それによって、承認を求めて電子メールを介しその文書を他のユーザに送信することができる。したがって、そのワークフロースケジュール処理は文書が更新されたときにトリガされる。
ワークフロースケジュールは、どの論理条件が満たされたかに応じてアクションを実行する。各イベント、条件、およびアクションは、1つの別個のビルディングブロックとして表すことができる。したがって、上記のワークフロースケジュールは、何らかのソースコードを書くことを必要とせず、5つのビルディングブロックを並べることによって作成される。
ワークフロースケジュールは、図3に示すようにエディタユーザインターフェース300上で作成される。エディタユーザインターフェースは、ステップの詳細310およびステップリスト320を示す。ビルディングブロック(例えば、イベント、条件、アクション)は、メニュー312を用いて選択することができる。ワークフロースケジュール中の各ステップは、(例えば、ステップ名1、ステップ名2などと)名前がつけられる。ステップリスト320は、ワークフロースケジュールのステップ名を示す。各ステップは、ワークフロースケジュール中の次ステップが実行される前に実行されるビルディングブロックを含む。選択されたビルディングブロックは、ステップリスト320中にリストされる。
図2に戻って参照すると、ビルディングブロックは、開発者に対してビルディングブロックが実行される前にパラメータを入力するよう要求することができる。例えば、開発者は、「電子メールを送信する」ビルディングブロックを選択することができる。エディタユーザインターフェース202で、「ユーザコンテンツを電子メールで送る」という文章を生成することができる。「コンテンツ」および「ユーザ」には下線を付し、そのフィールドがさらに情報を要求していることを開発者に知らせる。次いで、開発者は、要求された情報を入力する。開発者は、「コンテンツ」の上をクリックし、次いで、電子メールすべきファイルを選択することができる。同様に、開発者は、「ユーザ」の上をクリックし、次いで、その電子メールメッセージの受信者を選択する。したがって、開発者が「私の提案」と呼ばれる文書を選択し、「ジョー」という名前の受信者を選択した場合、その文章は、「私の提案をジョーに電子メールで送る」に変更される。ワークフロースケジュールは、次いで、保存され、コンパイルすべくサーバに送られる。
図4は、サーバベースのプロセスをオーサリングするためのシステムのブロック図を示す。システムは、クライアント410に結合されたサーバ400を含む。サーバ400は、図2で示すフロントエンドサーバおよびバックエンドデータストアを含む。サーバ400はまた、複数のフロントエンドサーバおよびバックエンドデータストアを含むことができる。クライアント410は、ローカルストア412、エディタ414、XMLファイル416、および事前の妥当性検査モジュール418を含む。
ワークフロースケジュールのオーサリングは、ビルディングブロックがサーバ400からクライアント410にダウンロードされたときに開始する。ビルディングブロックは、ローカルストア412に記憶される。開発者は、エディタ414を用いてワークフロースケジュールの作成を行う。一実施形態では、エディタ414は、図3を参照して説明したものと同様のユーザインターフェースである。
開発者は、ビルディングブロックおよび条件ロジックを用いてワークフローを生成する。一実施形態では、既存のワークフロースケジュールをビルディングブロックと共に使用して、新しいワークフロースケジュールを作成することができる。ユーザが、既存のワークフロースケジュールを編集できるように、またはそれを新しいワークフロースケジュールに組み込むことができるように、サーバ400上で利用可能な既存の任意のワークフロースケジュールがクライアント410上にロードされる。ワークフロースケジュールの作成が行われた後、開発者はそのワークフロースケジュールを保存することができる。次いで、保存されたワークフロースケジュールはXMLファイル416に変換される。
XMLファイル416は、事前の妥当性検査モジュール418にロードされて、ビルディングブロックに構文および意味論上の誤りがないかどうかが検査される。事前の妥当性検査モジュール418は、XMLファイル416を検査して、ビルディングブロックに対して要求されたすべてのパラメータが適正に設定されているかどうか判定する。事前の妥当性検査モジュール418はまた、ビルディングブロックが適正に構成されているかどうかも判定する。エディタ414で、開発者は、どんな構文上のまたは意味論上の誤りも通知される。次いで、開発者は、そのワークフロースケジュールを訂正することができる。サーバ400は、XMLファイル416をコンパイルして、ワークフロースケジュールが適正に働くかどうか判定する。サーバ400は、エラーレポートまたは確認を生成し送信することによって、コンパイル結果をクライアント410に通知する。
図5は、サーバベースのプロセスをオーサリングするためのシステムのブロック図を示す。システムは、サーバ510に結合されたクライアント500を含む。サーバ510は、データストア515およびフロントエンド520、530、540を含む。メッセージキュー522、532、542は、サーバシステムに対して着信および発信メッセージを調整するためにフロントエンド520、530、540すべてに含まれている。
クライアント500は、ワークフロースケジュールの実行を要求し、それは特定のフロントエンド(例えば、520)に送られる。フロントエンド520は、要求されたワークフロースケジュールに関連付けられたアセンブリをデータストア515からロードする。次いで、ワークフロースケジュールの実行が開始される。ワークフロースケジュール中の1ステップで、クライアント500から入力パラメータを要求することができる。その入力パラメータを待つ間、ワークフロースケジュール処理を遅延させることができる。ユーザが入力パラメータを入力したとき、その遅延のために、異なるフロントエンド(例えば、530)が提示される可能性がある。したがって、ワークフロースケジュールは、1つのフロントエンドで開始され、異なるフロントエンドで継続されることもあり得る。フロントエンド530は、ワークフロースケジュール処理がフロントエンド530上で継続できるように現在のワークフロースケジュールに関連付けられたアセンブリをロードする。
ワークフロースケジュールは、サーバ510上で変更することができる。一実施形態では、ワークフロースケジュール(例えば、workflow.dll)を、ワークフロースケジュールの処理中に変更することができる。その処理中のワークフロースケジュールは、処理が完了したとき、再度処理することができないようにロックされる。次いで、ワークフロースケジュールは、新しい名前(例えば、workflow.dll.mod)の下でデータストア515に記憶される。変更されたワークフロースケジュールは、その事前の変更版に対するどんなコールも、この変更版へと経路指定されるように元のワークフロースケジュールにリンクされる。
本発明のワークフロースケジュールのオーサリングツールは、他の手段によってオーサリングされたワークフロースケジュールと互換性がある。ワークフロースケジュールは、インポートされ、可能な限り多く保存される。ワークフロー実行エンジンによって理解される部分のワークフロースケジュールは処理される。ワークフロー実行エンジンが理解できないワークフロースケジュールの部分は、ワークフロースケジュールのオーサリングツールによりそのワークフロースケジュールが全く理解されないというインディケータ(indicator)と共に提示される。
図6は、ワークフロースケジュールをオーサリングするためのプロセスを示すオペレーションの流れ図である。プロセスは、ワークフロースケジュールをオーサリングするためのビルディングブロック、および既存のワークフロースケジュールがサーバ上で利用可能である開始ブロックから開始される。ブロック600に進み、開発者が、クライアント上のユーザインターフェースからワークフロースケジュールを作成するように要求する。
ブロック610に進み、ワークフロースケジュールのオーサリングツールがインスタンス化される。サーバは、利用可能なワークフロースケジュールおよびビルディングブロックをクライアントにロードする。各ビルディングブロックの機能は、そのビルディングブロックに関連付けられたソースコード中で定義される。ビルディングブロックが処理されると機能が実行される。共通の機能を実行するためのビルディングブロックは事前に定義することができる。あるいは、ビルディングブロックは、特有のユーザ要求に対処するためにカスタマイズすることもできる。
ブロック620で、ビルディングブロックは、特定のシーケンスで配置される。そのビルディングブロックのシーケンスは、ワークフロースケジュールを実行するためのプロセスを決定する。一実施形態では、ビルディングブロックが順次実行されないことを目的とした、ワークフロースケジュールを実行するための論理条件を含むようにビルディングブロックを配置することができる。他の実施形態では、既存のワークフロースケジュールを、他のワークフロースケジュールおよび/またはビルディングブロックと共に編集または配置して、新しいワークフロースケジュールを作成することもできる。
ブロック630で、ワークフロースケジュールは、イベントと関連付けられる。ワークフローは、イベントが生じたとき処理を開始する。一実施形態では、そのイベントは、ウェブページ上でボタンを活動化することであり得る。他の実施形態では、そのイベントを、ワークフロースケジュールとのユーザ対話とすることもできる。
ブロック640で、ユーザがビルディングブロックに対するパラメータを入力する。そのパラメータにより、ユーザは、ビルディングブロックをカスタマイズすることができるようになる。パラメータの実施例には、ファイル名、電子メールアドレス、およびURL(uniform resource locator)が含まれる。
ブロック650で、ビルディングブロックおよび事前に存在するワークフロースケジュールから作成されたワークフロースケジュールから、XML文書が生成される。XML文書は、ワークフロースケジュールに関連付けられたソースコードを含む。
ブロック660で、XML文書は妥当性を検査される。妥当性検査は、ユーザがビルディングブロックのために必要なすべてのパラメータを入力しているか、またビルディングブロックが適正に配列されているかを判定する。ビルディングブロックの内容または配置が無効である場合、ユーザに対して、エラーに対処するよう求めるプロンプトが出される。ブロック670で、XMLファイルはアセンブリへとコンパイルされる。このアセンブリは、実行する用意のできたダイナミックリンクライブラリである。妥当性が検査され、コンパイルされたアセンブリは、サーバのフロントエンドで利用可能である。次いで、終了ブロックで処理は終了する。
図7は、ワークフロースケジュールを実行するためのプロセスを示すオペレーションの流れ図である。プロセスは、妥当性が検査されたワークフロースケジュールがサーバ上で利用可能である開始ブロックから開始する。
ブロック700に進み、ワークフロースケジュールの実行をトリガするイベントが生ずる。ブロック710で、アセンブリが、サーバのフロントエンドで利用可能かどうか判定が行われる。前述のように、ワークフロースケジュールの実行が1つのフロントエンド上で開始され、別のフロントエンド上で継続される可能性があるため、アセンブリはそのフロントエンドで利用できない可能性もある。アセンブリが、そのフロントエンド上で利用できない場合、処理はブロック720に進み、XML文書がアセンブリへとコンパイルされる。
ブロック730で、トリガされたワークフロースケジュールに対応するアセンブリが、サーバ上のワークフロー実行エンジンにロードされる。ブロック740で、ワークフロー実行エンジンは、そのワークフロースケジュールの実行を開始する。
判断ブロック750に進み、ワークフロースケジュールの新しいバージョンの受取りが行われたかどうかの判定が行われる。ワークフロースケジュールの新バージョンは、現在のワークフロースケジュールの変更版であり得る。ワークフロースケジュールの新バージョンの受取りが行われていない場合、処理は終了ブロックに進み終了する。ワークフロースケジュールの新バージョンが受信されていた場合、処理はブロック760に進み、新しいワークフロースケジュールが記憶される。
ブロック770で、ワークフロースケジュールの現在のバージョンの処理がロックされる。ロックされたワークフロースケジュールは、処理が完了した後に実行されることはない。ブロック780で、ワークフロー実行要求がワークフロースケジュールの新バージョンに経路指定される。次いで、終了ブロックで、処理は終了する。
上記の明細、実施例、およびデータは、本発明の構成の製造および使用に関する完全な説明を提供する。本発明の多くの実施形態を本発明の趣旨および範囲を逸脱することなく行うことができるので、本発明は以下に添付の特許請求の範囲にある。
本発明の例示的な実施形態に従って使用することができるコンピューティング装置を示す図である。 本発明による、ワークフロースケジュールをオーサリングするためのシステムのブロック図である。 本発明による、ワークフロースケジュールをオーサリングするための例示的なユーザインターフェースを示す図である。 本発明による、ワークフロースケジュールをオーサリングするためのシステムのブロック図である。 本発明による、ワークフロースケジュールをオーサリングするためのシステムのブロック図である。 本発明による、ワークフロースケジュールをオーサリングするためのプロセスを示すオペレーションの流れ図である。 本発明による、ワークフロースケジュールを実行するためのプロセスを示すオペレーションの流れ図である。
符号の説明
100 コンピューティング装置
102 処理装置
104 システムメモリ
105 オペレーティングシステム
106 アプリケーション
107 プログラムデータ
108 ワークフロースケジュールのオーサリングツール
109 取外し可能ストレージ
110 取外し不能ストレージ
112 入力装置
114 出力装置
116 通信接続
118 他のコンピューティング装置
200 クライアント(開発者)
202 エディタユーザインターフェース
210 クライアント(ユーザ)
212 アプリケーション
220 フロントエンドサーバ
222 メッセージキュー
224 プロファイル
226 ワークフロー実行エンジン
230 バックエンドデータストア
232 事前に存在するダイナミックリンクライブラリ
234 XMLモジュール
236 アセンブリ(ダイナミックリンクライブラリ)
238 ビルディングブロック
400 サーバ
410 クライアント
412 ローカルストア
414 エディタ
416 XMLファイル
418 事前の妥当性検査モジュール

Claims (23)

  1. サーバベースのプロセスをオーサリングするためのツールを提供するコンピュータで実施される方法であって、
    前記サーバベースのプロセスを生成するための要求に応答して前記ツールをインスタンス化するステップと、
    前記サーバベースのプロセス内の選択されたアクションを開始するために、前記ツール内にビルディングブロックを提供するステップであって、前記ビルディングブロックは選択されたシーケンスで配置されるステップと、
    前記選択されたシーケンスのビルディングブロックに従って、マークアップ言語文書を生成するステップと、
    実行のために、前記マークアップ言語文書を前記サーバに提供するステップと
    を含むことを特徴とするコンピュータで実施される方法。
  2. 選択された条件に従って、前記ビルディングブロックを処理するためのロジックを追加するステップをさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  3. 前記マークアップ言語文書の妥当性を検査して、前記マークアップ言語文書の適正なオペレーションを決定するステップをさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  4. 前記マークアップ言語文書をクライアントに配置するステップであって、前記マークアップ言語文書のすべてが、前記クライアントの同じフロントエンドに配置されるステップをさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  5. 前記マークアップ言語文書をアセンブリへとコンパイルするステップをさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  6. 前記アセンブリが前記クライアントの現在のフロントエンド上で利用可能ではないとき、前記マークアップ言語文書を前記アセンブリへと再コンパイルするステップと、
    前記再コンパイルしたマークアップ言語文書を前記クライアントの前記現在のフロントエンドに配置するステップと
    をさらに含むことを特徴とする請求項5に記載のコンピュータで実施される方法。
  7. 前記ビルディングブロックは、他のサーバベースのプロセスを含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  8. 前記マークアップ言語文書をイベントと関連付けるステップであって、前記マークアップ言語文書は前記イベントが生じたとき実行されるステップをさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  9. 前記サーバベースのプロセスは、ワークフロースケジュールであることを特徴とする請求項1に記載のコンピュータで実施される方法。
  10. 前記ビルディングブロックは、前記選択されたアクションを定義することを特徴とする請求項1に記載のコンピュータで実施される方法。
  11. 前記ビルディングブロックのための入力パラメータを受け取るステップをさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  12. 前記マークアップ言語文書を実行するステップと、
    要求した入力を受け取るまで実行が中断されるステップと
    をさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  13. 前記マークアップ言語文書を実行するステップと、
    実行中に、前記マークアップ言語文書を変更するステップと
    をさらに含むことを特徴とする請求項1に記載のコンピュータで実施される方法。
  14. ワークフロースケジュールをオーサリングするためのツールを提供するシステムであって、クライアントに結合されたサーバを備え、前記サーバは、
    前記ワークフロースケジュールを生成するための要求に応答して前記ツールをインスタンス化し、
    前記ワークフロースケジュール内の選択されたアクションを開始するために、選択されたシーケンスで配置されたビルディングブロックを前記ツール内に提供し、
    前記選択されたシーケンスのビルディングブロックに従ってマークアップ言語文書を生成し、
    実行のために、前記マークアップ言語文書を提供する
    ように構成されていることを特徴とするシステム。
  15. 前記ビルディングブロックは、前記選択されたアクションを定義することを特徴とする請求項14に記載のシステム。
  16. 前記選択されたシーケンスは、選択された条件に従って前記ビルディングブロックを処理するためのロジックを用いて決定されることを特徴とする請求項14に記載のシステム。
  17. 前記マークアップ言語文書は、イベントに関連付けられており、また前記マークアップ言語文書は、前記イベントが生じたとき実行されることを特徴とする請求項14に記載のシステム。
  18. 前記ビルディングブロックは、入力パラメータを受け取るように配置されることを特徴とする請求項14に記載のシステム。
  19. 前記マークアップ言語文書の妥当性を検査して、前記マークアップ言語文書の適正なオペレーションを判定することを特徴とする請求項14に記載のシステム。
  20. 前記マークアップ言語文書は、前記マークアップ言語文書が実行されている間に変更されることを特徴とする請求項14に記載のシステム。
  21. ワークフロースケジュールをオーサリングするためのツールを提供するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
    前記ワークフロースケジュールを生成するための要求に応答して前記ツールをインスタンス化するステップと、
    前記ワークフロースケジュール内の選択されたアクションを開始するために前記ツール内にビルディングブロックを提供するステップであって、前記ビルディングブロックが選択されたシーケンスで配置され、かつ前記選択されたアクションを定義するステップと、
    前記選択されたシーケンスのビルディングブロックに従って、マークアップ言語文書を生成するステップと、
    実行のために、前記マークアップ言語文書を前記サーバに提供するステップと
    を含むことを特徴とするコンピュータ可読媒体。
  22. 選択されたアクションに従って、前記ビルディングブロックを処理するためのロジックを追加するステップをさらに含むことを特徴とする請求項21に記載のコンピュータ可読媒体。
  23. 前記マークアップ言語文書をイベントと関連付けるステップであって、前記イベントが生じたとき前記マークアップ言語文書が実行されるステップをさらに含むことを特徴とする請求項21に記載のコンピュータ可読媒体。
JP2005183575A 2004-09-30 2005-06-23 ワークフロースケジュールのオーサリングツール Expired - Fee Related JP4950447B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/955,659 2004-09-30
US10/955,659 US8332809B2 (en) 2004-09-30 2004-09-30 Workflow schedule authoring tool

Publications (2)

Publication Number Publication Date
JP2006107440A true JP2006107440A (ja) 2006-04-20
JP4950447B2 JP4950447B2 (ja) 2012-06-13

Family

ID=36011187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005183575A Expired - Fee Related JP4950447B2 (ja) 2004-09-30 2005-06-23 ワークフロースケジュールのオーサリングツール

Country Status (5)

Country Link
US (3) US8332809B2 (ja)
EP (1) EP1686520A1 (ja)
JP (1) JP4950447B2 (ja)
KR (1) KR101153032B1 (ja)
CN (1) CN100498695C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010140240A1 (ja) * 2009-06-04 2010-12-09 富士通株式会社 プロセス設計プログラム、プロセス設計装置およびプロセス設計方法
JP2019518274A (ja) * 2016-05-13 2019-06-27 ティブコ ソフトウェア インク 最小限のメモリ及びディスク資源消費のカスタム構築式プロセスエンジン

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332809B2 (en) 2004-09-30 2012-12-11 Microsoft Corporation Workflow schedule authoring tool
US8230042B2 (en) * 2005-04-19 2012-07-24 International Business Machines Corporation Policy based auditing of workflows
US8443351B2 (en) * 2006-02-23 2013-05-14 Microsoft Corporation Parallel loops in a workflow
US20080082960A1 (en) * 2006-09-29 2008-04-03 Mcdougal Monty D Method and System For Controlling The Release of Data For Multiple-Level Security Systems
US20080115195A1 (en) * 2006-11-13 2008-05-15 Microsoft Corporation Remote workflow schedule authoring
US8589874B2 (en) * 2007-06-11 2013-11-19 Microsoft Corporation Visual interface to represent scripted behaviors
US20090070121A1 (en) * 2007-09-11 2009-03-12 Jean-Baptiste Leonelli System, Method And Graphical User Interface For Workflow Generation, Deployment And/Or Execution
US8972518B2 (en) * 2007-09-20 2015-03-03 Flash Networks Ltd. Integrated data-model and flow based policy system
US20090222277A1 (en) * 2008-03-03 2009-09-03 Microsoft Corporation Defining and implementing custom task processes
US10002161B2 (en) * 2008-12-03 2018-06-19 Sap Se Multithreading and concurrency control for a rule-based transaction engine
US8689131B2 (en) 2009-01-21 2014-04-01 Microsoft Corporation Visual creation of computer-based workflows
US20110119680A1 (en) * 2009-11-16 2011-05-19 Yahoo! Inc. Policy-driven schema and system for managing data system pipelines in multi-tenant model
US9697481B2 (en) * 2009-12-23 2017-07-04 Siemens Aktiengesellschaft Method for operating a hospital information system
JP2013536497A (ja) * 2010-07-12 2013-09-19 ゼンデスク, インコーポレイテッド 自動化されたワークフロー管理の方法および装置
US8856770B2 (en) * 2010-09-17 2014-10-07 Sap Ag Solution packages including segments of a process chain
US8799851B2 (en) 2010-09-17 2014-08-05 Sap Ag Management of integrated enterprise processes
CN102799962B (zh) * 2012-06-27 2015-08-26 南京合荣欣业信息技术有限公司 一种配置型业务流程系统及其实现方法
TW201407503A (zh) * 2012-08-09 2014-02-16 Quanta Comp Inc 雲端平台工作排程方法及系統
CA2890024A1 (en) 2012-11-30 2014-06-05 Landmark Graphics Corporation Systems and methods for reordering sequential actions
US9110681B2 (en) 2013-12-11 2015-08-18 International Business Machines Corporation Recognizing operational options for stream operators at compile-time
US20160259534A1 (en) * 2015-03-05 2016-09-08 Microsoft Technology Licensing, Llc Visual process configuration interface for integrated programming interface actions
CN104765608A (zh) * 2015-04-02 2015-07-08 广州力富视频科技有限公司 一种音视频工作流应用系统的实现方法及装置
US10552203B2 (en) 2015-05-22 2020-02-04 Landmarks Graphics Corporation Systems and methods for reordering sequential actions
US9652203B1 (en) * 2015-11-24 2017-05-16 Corpa Inc. Application development framework using configurable data types
EP3596593B1 (en) 2017-03-14 2024-05-01 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
US20180324051A1 (en) * 2017-05-05 2018-11-08 Servicenow, Inc. User interface for automated flows within a cloud based developmental platform
US10956013B2 (en) * 2017-05-05 2021-03-23 Servicenow, Inc. User interface for automated flows within a cloud based developmental platform
USD910045S1 (en) 2017-09-12 2021-02-09 Servicenow, Inc. Display screen of a communications terminal with graphical user interface
US11025707B1 (en) * 2017-06-20 2021-06-01 Amazon Technologies, Inc. Dynamic execution resource selection for customized workflow tasks
CA3017085C (en) * 2017-09-12 2023-06-13 Servicenow, Inc. Data modelling and flow engine for building automated flows within a cloud based developmental platform
CN108459792B (zh) * 2018-01-25 2020-04-07 阿里巴巴集团控股有限公司 一种流量切换方法、装置、及计算机设备
CN108829394A (zh) * 2018-08-20 2018-11-16 珠海格力电器股份有限公司 一种hmi组态软件脚本编辑方法
US11481233B2 (en) 2019-09-13 2022-10-25 Logistiview, Inc. Augmenting legacy user interfaces using workflows
US11816713B2 (en) * 2019-10-24 2023-11-14 Shopify Inc. Systems and methods for automating tasks across multiple online stores
US11086602B2 (en) * 2019-11-13 2021-08-10 Palantir Technologies Inc. Workflow application and user interface builder integrating objects, relationships, and actions
US11080636B1 (en) * 2020-11-18 2021-08-03 Coupang Corp. Systems and method for workflow editing
WO2022109499A2 (en) 2020-11-23 2022-05-27 Precise.ly, Inc. Long-term programmatic workflow management
US11444903B1 (en) * 2021-02-26 2022-09-13 Slack Technologies, Llc Contextual discovery and design of application workflow
KR102653309B1 (ko) * 2021-03-03 2024-03-29 주식회사 카카오뱅크 스케쥴링 장치 및 방법
KR102392223B1 (ko) * 2021-11-24 2022-04-29 (주) 바우디움 절차의 구조를 입출력하는 방법 및 이를 이용한 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930512A (en) * 1996-10-18 1999-07-27 International Business Machines Corporation Method and apparatus for building and running workflow process models using a hypertext markup language
US6289513B1 (en) * 1999-06-01 2001-09-11 Isaac Bentwich Interactive application generation and text processing
EP1277155A1 (en) 2000-03-31 2003-01-22 Siebel Systems, Inc. Workflow processes method and system
JP2002074253A (ja) 2000-09-04 2002-03-15 Toshiba Corp ワークフロー定義方法、ワークフロー表示方法、ワークフロー再利用方法、ワークフロー変換方法
US7043714B2 (en) * 2001-06-28 2006-05-09 International Business Machines Corporation Method, system, and program for using objects in data stores during execution of a workflow
US8914807B2 (en) * 2001-09-28 2014-12-16 International Business Machines Corporation Method, system, and program for generating a program capable of invoking a flow of operations
US7168077B2 (en) 2003-01-31 2007-01-23 Handysoft Corporation System and method of executing and controlling workflow processes
KR101044173B1 (ko) 2003-03-06 2011-06-24 마이크로소프트 코포레이션 분산형 컴퓨팅 시스템상에서 분산형 애플리케이션들을 설계, 배포 및 관리하기 위한 방법 및 장치, 자원 관리자 및 컴퓨터 판독가능 기록 매체
US7310631B2 (en) * 2004-03-12 2007-12-18 American Express Travel Related Services Company, Inc. Method and system for facilitating access to external data
US8332809B2 (en) 2004-09-30 2012-12-11 Microsoft Corporation Workflow schedule authoring tool

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010140240A1 (ja) * 2009-06-04 2010-12-09 富士通株式会社 プロセス設計プログラム、プロセス設計装置およびプロセス設計方法
GB2483395A (en) * 2009-06-04 2012-03-07 Fujitsu Ltd Process planning program, process planning device, and process planning method
JP5494660B2 (ja) * 2009-06-04 2014-05-21 富士通株式会社 プロセス設計プログラム、プロセス設計装置およびプロセス設計方法
JP2019518274A (ja) * 2016-05-13 2019-06-27 ティブコ ソフトウェア インク 最小限のメモリ及びディスク資源消費のカスタム構築式プロセスエンジン

Also Published As

Publication number Publication date
CN1755620A (zh) 2006-04-05
US8332809B2 (en) 2012-12-11
KR101153032B1 (ko) 2012-06-04
US10108593B2 (en) 2018-10-23
EP1686520A1 (en) 2006-08-02
KR20060048776A (ko) 2006-05-18
JP4950447B2 (ja) 2012-06-13
CN100498695C (zh) 2009-06-10
US20130132928A1 (en) 2013-05-23
US20060070025A1 (en) 2006-03-30
US20150286615A1 (en) 2015-10-08
US9116681B2 (en) 2015-08-25

Similar Documents

Publication Publication Date Title
JP4950447B2 (ja) ワークフロースケジュールのオーサリングツール
US10546035B2 (en) System and method for data-driven web page navigation control
US20180129986A1 (en) Method for evolving shared to-do lists into business processes
US7739243B2 (en) System and method for dynamically configuring a multiplatform computing environment
JP2006004431A (ja) コンピュータ対応のプロジェクトマネジメントの方法およびシステムにおける階層プロジェクト
US20100229152A1 (en) Prescriptive architecture for application development
US20130158964A1 (en) Reusable workflows
US8504982B2 (en) Declarative aspects and aspect containers for application development
AU2019201100A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US11537428B2 (en) Asynchronous execution of creative generator and trafficking workflows and components therefor
JP2024508452A (ja) イベントベースのアプリケーションのホスティング
EP1465069B1 (en) Method and computer system for activation of source files
US20180136829A1 (en) Correlation of tasks, documents, and communications
US11086696B2 (en) Parallel cloned workflow execution
US7743386B2 (en) Context objects for accessing message content
KR102621742B1 (ko) 노코드 기반 자동화 서비스 플랫폼을 이용한 자동화서비스 시스템과 그 방법 및 컴퓨터 프로그램
US20230034999A1 (en) Customizable event management in computing systems
Bourouis et al. Towards a metamodel for extended queuing networks
Kinny A framework for multi-agent systems development
Wei et al. Refactoring Service Interface to Support Artefact-centric Service interaction
Li Windows Azure Application Integration Using WCF
KR20090118456A (ko) 팀 프로젝트 서비스 제공방법 및 그 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111208

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: 20120302

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120309

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4950447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees