JP6681348B2 - マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステム、方法及びコンピュータプログラム - Google Patents

マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステム、方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6681348B2
JP6681348B2 JP2016574998A JP2016574998A JP6681348B2 JP 6681348 B2 JP6681348 B2 JP 6681348B2 JP 2016574998 A JP2016574998 A JP 2016574998A JP 2016574998 A JP2016574998 A JP 2016574998A JP 6681348 B2 JP6681348 B2 JP 6681348B2
Authority
JP
Japan
Prior art keywords
partition
resource group
resources
resource
domain
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.)
Active
Application number
JP2016574998A
Other languages
English (en)
Other versions
JP2017519306A5 (ja
JP2017519306A (ja
Inventor
モルダニ,ラジブ
イスラム,ナズルル
ディポル,ジョセフ
バウアー,ピーター
クイン,ティモシー
フェイゲン,ローレンス
クマール,アブヒジット
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2017519306A publication Critical patent/JP2017519306A/ja
Publication of JP2017519306A5 publication Critical patent/JP2017519306A5/ja
Application granted granted Critical
Publication of JP6681348B2 publication Critical patent/JP6681348B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • 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]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
発明の分野:
本発明の実施形態は、概して、アプリケーションサーバおよびクラウド環境に関し、特に、マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法に関する。
背景:
アプリケーションサーバは、概して、ソフトウェアアプリケーションをデプロイして実行することができる管理された環境を提供する。クラウドベースの環境は、クラウドによって提供される分散型リソース内でアプリケーションを実行して、当該分散型リソースを利用することを可能にする。このような環境は、多くのユーザまたはテナントをサポートすることができ、それらのうちのいくつかは、そのユーザまたはテナントに特有の特定条件を有する可能性がある。これらは、本発明の実施形態が使用可能となる環境のタイプのいくつかの例に該当する。
概要:
一実施形態に従うと、マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法がこの明細書中に記載される。一実施形態に従うと、アプリケーションサーバアドミニストレータ(たとえば、WLSアドミニストレータ)はパーティションを作成または削除することができ、パーティションアドミニストレータは、パーティションのさまざまなアスペクトを管理することができ、たとえば、リソースグループを作成し、アプリケーションを特定のパーティションにデプロイし、パーティションのための特定の領域を参照することができる。リソースグループは、ドメインにおいてグローバルに定義することができるか、または、パーティションに特有のものにすることができる。アプリケーションは、ドメインレベルにおいてリソースグループテンプレートにデプロイすることができるか、または、パーティションに範囲指定されるかもしくはドメインに範囲指定されるリソースグループにデプロイすることができる。システムは、任意には、テナントによって使用されるように、当該テナントに1つ以上のパーティションを関連付けることができる。
一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムを示す図である。 一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムをさらに示す図である。 一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムをさらに示す図である。 一実施形態に従った、例示的なマルチテナント環境で使用されるドメイン構成を示す図である。 一実施形態に従った例示的なマルチテナント環境をさらに示す図である。 一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境におけるパーティションの使用を示す図である。 一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境におけるパーティションの使用をさらに示す図である。 一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境におけるパーティションの使用方法を示す図である。
詳細な説明:
一実施形態に従うと、マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法がこの明細書中に記載される。一実施形態に従うと、アプリケーションサーバアドミニストレータ(たとえば、WLSアドミニストレータ)はパーティションを作成または削除することができ、パーティションアドミニストレータは、パーティションのさまざまなアスペクトを管理することができ、たとえば、リソースグループを作成し、アプリケーションを特定のパーティションにデプロイし、パーティションのための特定の領域を参照することができる。リソースグループは、ドメインにおいてグローバルに定義することができるか、または、パーティションに特有のものにすることができる。アプリケーションは、ドメインレベルにおいてリソースグループテンプレートにデプロイすることができるか、または、パーティションに範囲指定されるかもしくはドメインに範囲指定されるリソースグループにデプロイすることができる。システムは、任意には、テナントによって使用されるように、当該テナントに1つ以上のパーティションを関連付けることができる。
アプリケーションサーバ(たとえば、マルチテナント(Multi-Tenant:MT))環境
図1は、一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムを示す。
図1に示されるように、一実施形態に従うと、アプリケーションサーバ(たとえばマルチテナント(MT))環境100または他のコンピューティング環境は、ソフトウェアアプリケーションのデプロイメントおよび実行を可能にするものであって、アプリケーションサーバドメインを定義するために実行時に用いられるドメイン102の構成を含み、当該ドメイン102の構成に従って動作するように構成することができる。
一実施形態に従うと、アプリケーションサーバは、実行時に使用されるよう定義される1つ以上のパーティション104を含み得る。各々のパーティションは、グローバルユニークパーティション識別子(identifier:ID)およびパーティション構成に関連付けることができ、さらに、リソースグループテンプレートの参照126および/またはパーティション特有のアプリケーションもしくはリソース128とともに、1つ以上のリソースグループ124を含み得る。ドメインレベルのリソースグループ、アプリケーションおよび/またはリソース140も、任意にはリソースグループテンプレートの参照とともに、ドメインレベルで定義することができる。
各々のリソースグループテンプレート160は、1つ以上のアプリケーションA162、B164、リソースA166、B168および/または他のデプロイ可能なアプリケーションもしくはリソース170を定義することができ、リソースグループによって参照することができる。たとえば、図1に例示されるように、パーティション104におけるリソースグループ124は、リソースグループテンプレート160を参照する(190)ことができる。
概して、システムアドミニストレータは、パーティション、ドメインレベルのリソースグループおよびリソースグループテンプレート、ならびにセキュリティ領域を定義することができるとともに、パーティションアドミニストレータは、たとえば、パーティションレベルのリソースグループを作成するか、アプリケーションをパーティションにデプロイするかまたはパーティションについての特定の領域を参照することによって、それら自体のパーティションのアスペクトを定義することができる。
図2は、一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムをさらに示す。
図2に示されるように、一実施形態に従うと、パーティション202は、たとえば、リソースグループテンプレート210の参照206を含むリソースグループ205と、仮想ターゲット(たとえば仮想ホスト)情報207と、プラグ接続可能なデータベース(pluggable database:PDB)情報208とを含み得る。リソースグループテンプレート(たとえば210)は、たとえば、Java(登録商標)メッセージサーバ(Java Message Server:JMS)サーバ213、ストア・アンド・フォワード(store-and-forward:SAF)エージェント215、メールセッションコンポーネント216またはJavaデータベースコネクティビティ(Java Database Connectivity:JDBC)リソース217などのリソースとともに、複数のアプリケーションA211およびB212を定義することができる。
図2に例示されるリソースグループテンプレートが一例として提供される。他の実施形態に従うと、さまざまなタイプのリソースグループテンプレートおよび要素を提供することができる。
一実施形態に従うと、パーティション(たとえば202)内のリソースグループが、特定のリソースグループテンプレート(たとえば210)を参照する(220)と、パーティション特有の情報230(たとえば、パーティション特有のPDB情報)を示すために、特定のパーティションに関連付けられた情報を、参照されたリソースグループテンプレートと組合わせて用いることができる。次いで、パーティション特有の情報は、パーティションによって使用されるリソース(たとえば、PDBリソース)を構成するようにアプリケーションサーバによって使用可能である。たとえば、パーティション202に関連付けられたパーティション特有のPDB情報は、そのパーティションによって使用されるべき適切なPDB238を備えたコンテナデータベース(container database:CDB)236を構成する(232)ようにアプリケーションサーバによって使用可能である。
同様に、一実施形態に従うと、特定のパーティションに関連付けられた仮想ターゲット情報を用いて、そのパーティションによって使用されるべきパーティション特有の仮想ターゲット240(たとえば、ユニフォーム・リソース・ロケータ(uniform resource locator:URL)(たとえば、http://baylandurgentcare.com)によってアクセス可能にすることができるbaylandurgentcare.com)を定義する(239)ことができる。
図3は、一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムをさらに示す。
一実施形態に従うと、config.xml構成ファイルなどのシステム構成を用いて、パーティションを定義する。当該パーティションは、そのパーティションに関連付けられたリソースグループについての構成エレメントおよび/または他のパーティションプロパティを含む。値は、プロパティ名/値の対を用いてパーティションごとに指定することができる。
一実施形態に従うと、複数のパーティションは、管理されたサーバ/クラスタ242内で、または、CDB243にアクセス可能でありかつウェブ層244を介してアクセス可能である同様の環境内で、実行することができる。これにより、たとえば、ドメインまたはパーティションを(CDBの)PDBのうち1つ以上のPDBに関連付けることが可能となる。
一実施形態に従うと、複数のパーティションの各々、この例においてはパーティションA250およびパーティションB260は、そのパーティションに関連付けられた複数のリソースを含むように構成することができる。たとえば、パーティションAは、アプリケーションA1 252と、アプリケーションA2 254と、JMS A 256と、さらには、PDB A 259に関連付けられたデータソースA257とをともに含むリソースグループ251を含むように構成することができる。この場合、パーティションは仮想ターゲットA258を介してアクセス可能である。同様に、パーティションB260は、アプリケーションB1 262と、アプリケーションB2 264と、JMS B 266と、さらには、PDB B 269に関連付けられたデータソースB267とをともに含むリソースグループ261を含むように構成することができる。この場合、パーティションは仮想ターゲットB268を介してアクセス可能である。
上述の例のうちいくつかはCDBおよびPDBの使用を例示しているが、他の実施形態に従うと、他のタイプのマルチテナントのデータベースまたは非マルチテナントのデータベースをサポートすることができる。この場合、特定の構成は、たとえば、スキーマを使用するかまたはさまざまなデータベースを使用することによって、各々のパーティションのために提供することができる。
リソース
一実施形態に従うと、リソースは、環境のドメインにデプロイすることができるシステムリソース、アプリケーションまたは他のリソースもしくはオブジェクトである。たとえば、一実施形態に従うと、リソースは、アプリケーション、JMS、JDBC、JavaMail、WLDFもしくはデータソースであり得るか、または、サーバ、クラスタもしくは他のアプリケーションサーバターゲットにデプロイすることができる他のシステムリソースもしくは他のタイプのオブジェクトであり得る。
パーティション
一実施形態に従うと、パーティションは、パーティション識別子(partition identifier:ID)および構成に関連付けられ得るドメインのうち実行時間および管理の下位区分またはスライスであるとともに、アプリケーションを含み得て、ならびに/または、リソースグループおよびリソースグループテンプレートを使用することによってドメイン全体に渡るリソースを参照し得る。
概して、パーティションは、それ自体のアプリケーションを含み、リソースグループテンプレートを介してドメイン全体に渡るアプリケーションを参照し、それ自体の構成を有し得る。パーティション可能なエンティティは、リソース、たとえば、JMS、JDBC、JavaMail、およびWLDFリソースや、他のコンポーネント、たとえばJNDIネームスペース、ネットワークトラフィック、ワークマネージャ、セキュリティポリシーおよび領域などを含み得る。マルチテナント環境のコンテキストにおいては、システムは、テナントに関連付けられたパーティションの管理および実行時間のアスペクトへのアクセスをテナントに提供するように構成することができる。
一実施形態に従うと、パーティション内の各々のリソースグループは、任意には、リソースグループテンプレートを参照することができる。パーティションは、複数のリソースグループを有し得るとともに、それらの各々はリソースグループテンプレートを参照し得る。各々のパーティションは、パーティションのリソースグループが参照するリソースグループテンプレートにおいて指定されていない構成データについてのプロパティを定義することができる。これにより、パーティションが、リソースグループテンプレートで定義されたデプロイ可能なリソースをそのパーティションで使用されるべき特定の値にバインドするものとして機能することが可能となる。場合によっては、パーティションは、リソースグループテンプレートによって指定される構成情報を無効にすることができる。
一実施形態に従うと、パーティション構成は、たとえば、config.xml構成ファイルによって定義されるように、複数の構成エレメントを含み得る。複数の構成エレメントは、たとえば、「パーティション(partition)」(そのパーティションを定義する属性および子エレメントを含む);「リソース・グループ(resource-group)」(パーティションにデプロイされるアプリケーションおよびリソースを含む);「リソース・グループ・テンプレート(resource-group-template)」;(そのテンプレートによって定義されるアプリケーションおよびリソースを含む);「jdbc・システム・リソース・無効化(jdbc-system-resource-override)」(データベース特有のサービス名、ユーザ名およびパスワードを含む);ならびに、「パーティション・プロパティ(partition-properties)」(リソースグループテンプレートにおいてマクロ置換のために使用可能なプロパティキー値を含む)を含む。
始動後、システムは、構成ファイルによって提供される情報を用いて、リソースグループテンプレートから各々のリソースについてのパーティション特有の構成エレメントを生成することができる。
リソースグループ
一実施形態に従うと、リソースグループは、名前付けされ完全に修飾されたデプロイ可能なリソースの集合であって、ドメインまたはパーティションのレベルで定義することができ、かつ、リソースグループテンプレートを参照することができる。リソースグループにおけるリソースは、完全に修飾されているものと見なされる。というのも、アドミニストレータが、それらのリソースを開始させるのに必要とされるかまたはそれらのリソースに接続するのに必要とされるすべての情報、たとえば、データソースに接続するためのクレデンシャル、またはアプリケーションについての目標情報、を提供しているからである。
システムアドミニストレータは、ドメインレベルで、またはパーティションレベルでリソースグループを公開することができる。ドメインレベルでは、リソースグループは、関連するリソースをグループ化するのに好都合な方法を提供する。システムは、グループ化されていないリソースと同じドメインレベルのリソースグループにおいて公開されたリソースを管理することができる。このため、リソースは、システム起動中に開始させたり、システムのシャットダウン中に停止させたりすることができる。アドミニストレータはまた、グループ内のリソースを個々に停止させるか、開始させるかまたは削除することができ、グループ上で動作させることによって暗黙的にグループ内のすべてのリソースに対して機能することができる。たとえば、あるリソースグループを停止させることにより、まだ停止されていないグループにおけるすべてのリソースを停止させ;リソースグループを始動させることにより、まだ始動させていないグループにおけるいずれのリソースも始動させ、リソースグループを削除することにより、グループに含まれるすべてのリソースを削除する。
パーティションレベルでは、システムまたはパーティションアドミニストレータは、任意のセキュリティ制限下で、或るパーティションにおいて0個以上のリソースグループを構成することができる。たとえば、SaaS使用事例においては、さまざまなパーティションレベルのリソースグループは、ドメインレベルのリソースグループテンプレートを参照することができる。PaaS使用事例においては、リソースグループテンプレートを参照しないが代わりにそのパーティション内でのみ利用可能にされるべきアプリケーションおよびそれらの関連するリソースを表わすパーティションレベルのリソースグループを作成することができる。
一実施形態に従うと、リソースグループ化を用いることで、アプリケーションと、それらアプリケーションがドメイン内で別個の管理ユニットとして使用するリソースとをともにグループ化することができる。たとえば、以下に記載される医療記録(MedRec)アプリケーションにおいては、リソースグループ化によりMedRecアプリケーションおよびそのリソースが定義される。複数のパーティションは、各々がパーティション特有の構成情報を用いて、同じMedRecリソースグループを実行することができ、このため、各々のMedRecインスタンスの一部であるアプリケーションが各々のパーティションにとって特有のものにされる。
リソースグループテンプレート
一実施形態に従うと、リソースグループテンプレートは、リソースグループから参照することができドメインレベルで定義されるデプロイ可能なリソースの集合であり、そのリソースを起動するのに必要な情報のうちいくらかは、パーティションレベル構成の仕様をサポートするように、テンプレート自体の一部として記憶されない可能性がある。ドメインは、リソースグループテンプレートをいくつ含んでもよく、それらの各々は、たとえば、1つ以上の関連するJavaアプリケーションと、それらのアプリケーションが依存するリソースとを含み得る。このようなリソースについての情報のうちのいくらかは、すべてのパーティションにわたって同じであってもよく、他の情報はパーティションごとに異なっていてもよい。すべての構成がドメインレベルで指定される必要はなく、代わりに、パーティションレベル構成が、マクロまたはプロパティ名/値の対を使用することによってリソースグループテンプレートで指定することができる。
一実施形態に従うと、特定のリソースグループテンプレートは、1つ以上のリソースグループによって参照可能である。概して、任意の所与のパーティション内では、リソースグループテンプレートは一度に1つのリソースグループによって参照することができる。すなわち、同じパーティション内で複数のリソースグループによって同時に参照することはできない。しかしながら、異なるパーティションにおける別のリソースグループによって同時に参照することができる。リソースグループを含むオブジェクト、たとえばドメインまたはパーティションは、プロパティ名/値の割当てを用いて、任意のトークンの値をリソースグループテンプレートで設定することができる。システムは、参照するリソースグループを用いてリソースグループテンプレートを起動させると、それらのトークンを、リソースグループが含むオブジェクトにおいて設定された値と置換えることができる。場合によっては、システムはまた、静的に構成されたリソースグループテンプレートおよびパーティションを用いて、パーティション/テンプレートの組合せごとに実行時間構成を生成することができる。
たとえば、SaaS使用事例においては、システムは、同じアプリケーションおよびリソースを複数回を起動することができるが、そのうちの1回は、それらを用いるであろう各パーティションごとに起動され得る。アドミニストレータがリソースグループテンプレートを定義すると、これらは、どこか他のところで提供されるであろう情報を表わすためにトークンを用いることができる。たとえば、CRM関連のデータリソースに接続する際に使用されるユーザ名は、リソースグループテンプレートにおいて\${CRMDataUsername}として示すことができる。
テナント
一実施形態に従うと、マルチテナント(MT)アプリケーションサーバ環境などのマルチテナント環境においては、テナントは、1つ以上のパーティションおよび/もしくは1つ以上のテナント認識型アプリケーションによって表現可能であるエンティティ、または1つ以上のパーティションおよび/もしくは1つ以上のテナント認識型アプリケーションに関連付けることができるエンティティである。
たとえば、テナントは、別個のユーザ組織、たとえばさまざまな外部会社、特定の企業内のさまざまな部門(たとえばHRおよび財務部)などを表わすことができ、それら各々は、異なるパーティションに関連付けることができる。テナントのグローバルユニークアイデンティティ(テナントID)は、特定の時点において特定のユーザを特定のテナントに関連付けるものである。システムは、たとえば、ユーザアイデンティティの記録を参照することによって、ユーザアイデンティティから、特定のユーザがどのテナントに属しているかを導き出すことができる。ユーザアイデンティティにより、ユーザが実行することを認可されているアクションをシステムが実施することが可能となる。ユーザアイデンティティは、ユーザがどのテナントに属し得るかを含むが、これに限定されない。
一実施形態に従うと、システムは、互いに異なるテナントの管理および実行時間を分離することを可能にする。たとえば、テナントは、それらのアプリケーションのいくつかの挙動、およびそれらがアクセスできるリソースを構成することができる。システムは、特定のテナントが別のテナントに属するアーティファクトを確実に管理することができないようにし、かつ、実行時に、特定のテナントの代わりに機能するアプリケーションがそのテナントに関連付けられたリソースのみを参照するが他のテナントに関連付けられたリソースは参照しないことを確実にすることができる。
一実施形態に従うと、テナント非認識型アプリケーションは、アプリケーションが応答している要求をどんなユーザが提示したかにかかわらず、アプリケーションが用いる如何なるリソースにもアクセス可能となるように明示的にテナントに対処する論理を含まないものである。対照的に、テナント認識型アプリケーションは、テナントに明示的に対処する論理を含む。たとえば、ユーザのアイデンティティに基づいて、アプリケーションは、ユーザが属するテナントを導き出すことができ、テナント特有のリソースにアクセスするためにその情報を用いることができる。
一実施形態に従うと、システムは、テナント認識型となるように明示的に書き込まれたアプリケーションをユーザがデプロイすることを可能にし、これにより、アプリケーション開発者は、現在のテナントのテナントIDを取得することができる。次いで、テナント認識型アプリケーションは、このテナントIDを用いて、アプリケーションの単一のインスタンスを用いている複数のテナントを処理することができる。
たとえば、単一の診療室または病院をサポートするMedRecアプリケーションは、2つの異なるパーティションまたはテナント(たとえばBayland Urgent CareテナントおよびValley Healthテナント)に対して公開することができ、その各々は、基礎をなすアプリケーションコードを変更することなく、別個のPDBなどの別個のテナント特有のリソースにアクセスすることができる。
例示的なドメイン構成およびマルチテナント環境
一実施形態に従うと、アプリケーションは、ドメインレベルでリソースグループテンプレートにデプロイすることができるか、または、パーティションに範囲指定されているかもしくはドメインに範囲指定されているリソースグループにデプロイすることができる。アプリケーション構成は、アプリケーション毎またはパーティション毎に指定されたデプロイメントプランを用いて無効化することができる。デプロイメントプランはまた、リソースグループの一部として指定することができる。
図4は、一実施形態に従った、例示的なマルチテナント環境で使用されるドメイン構成を示す。
一実施形態に従うと、システムがパーティションを始動させると、当該システムは、提供された構成に従って、それぞれのデータベースインスタンスに対して、各パーティションごとに1つずつ、仮想ターゲット(たとえば仮想ホスト)および接続プールを作成する。
典型的には、各々のリソースグループテンプレートは、1つ以上の関連するアプリケーションと、それらアプリケーションが依存するリソースとを含み得る。各々のパーティションは、それが参照するリソースグループテンプレートにおいて指定されていない構成データを提供することができるが、これは、場合によっては、リソースグループテンプレートによって指定されるいくつかの構成情報を無効にすることを含めて、パーティションに関連付けられた特定値に対するリソースグループテンプレートにおけるデプロイ可能なリソースのバインディングを行なうことによって、実行可能である。これにより、システムは、各々のパーティションが定義したプロパティ値を用いて、パーティション毎にリソースグループテンプレートによってさまざまに表わされるアプリケーションを始動させることができる。
いくつかのインスタンスにおいては、パーティションが含み得るリソースグループは、リソースグループテンプレートを参照しないか、または、それら自体のパーティション範囲指定されたデプロイ可能なリソースを直接定義する。パーティション内で定義されるアプリケーションおよびデータソースは、概して、そのパーティションにとってのみ利用可能である。リソースは、パーティション:<partitionName>/<resource JNDI name>、またはドメイン:<resource JNDI name>を用いて、パーティションの中からアクセスすることができるようにデプロイ可能である。
たとえば、MedRecアプリケーションは、複数のJavaアプリケーション、データソース、JMSサーバおよびメールセッションを含み得る。複数のテナントのためにMedRecアプリケーションを実行させるために、システムアドミニストレータは、テンプレートにおけるそれらのデプロイ可能なリソースを公開している単一のMedRecリソースグループテンプレート286を定義することができる。
ドメインレベルのデプロイ可能なリソースとは対照的に、リソースグループテンプレートにおいて公開されたデプロイ可能なリソースは、テンプレートにおいて完全には構成されない可能性があるか、または、いくつかの構成情報が不足しているので、そのままでは起動させることができない。
たとえば、MedRecリソースグループテンプレートは、アプリケーションによって用いられるデータソースを公開し得るが、データベースに接続するためのURLを指定しない可能性がある。さまざまなテナントに関連付けられたパーティション、たとえば、パーティションBUC−A290(Bayland Urgent Care:BUC)およびパーティションVH−A292(Valley Health:VH)は、各々がMedRecリソースグループテンプレートを参照する(296,297)MedRecリソースグループ293,294を含むことによって、1つ以上のリソースグループテンプレートを参照することができる。次いで、当該参照を用いて、Bayland Urgent Careテナントによって使用されるBUC−Aパーティションに関連付けられた仮想ホストbaylandurgentcare.com304と、Valley Healthテナントによって使用されるVH−Aパーティションに関連付けられた仮想ホストvalleyhealth.com308とを含む各々のテナントのための仮想ターゲット/仮想ホストを作成する(302,306)ことができる。
図5は、一実施形態に従った例示的なマルチテナント環境をさらに示す。図5に示されるように、2つのパーティションがMedRecリソースグループテンプレートを参照している上述の例から引続いて、一実施形態に従うと、サーブレットエンジン310は、この例においてはBayland Urgent Careの医師テナント環境320およびValley Healthの医師テナント環境330といった複数のテナント環境をサポートするために用いることができる。
一実施形態に従うと、各々のパーティション321および331は、そのテナント環境についての入来トラフィックを受入れるための異なる仮想ターゲットと、異なるURL322,332とを定義することができる。異なるURL322,332は、パーティションと、この例ではBayland Urgent Careデータベースまたはvalley healthデータベースを含むそれぞれのリソース324、334とに接続するためのものである。同じアプリケーションコードが両方のデータベースに対して実行され得るので、データベースインスタンスは互換性のあるスキーマを用いることができる。システムがパーティションを始動させると、当該システムは、それぞれのデータベースインスタンスに対する接続プールおよび仮想ターゲットを作成することができる。
パーティション関連の特徴
一実施形態に従うと、アプリケーションサーバアドミニストレータ(たとえば、WLSアドミニストレータ)はパーティションを作成または削除することができ、パーティションアドミニストレータは、パーティションのさまざまなアスペクトを管理することができ、たとえば、リソースグループを作成し、アプリケーションを特定のパーティションにデプロイし、パーティションのための特定の領域を参照することができる。リソースグループは、ドメインにおいてグローバルに定義することができるか、またはパーティションに特有のものにすることができる。アプリケーションは、ドメインレベルにおいてリソースグループテンプレートにデプロイすることができるか、または、パーティションに範囲指定されるかもしくはドメインに範囲指定されるリソースグループにデプロイすることができる。システムは、任意には、テナントによって使用されるように、当該テナントに1つ以上のパーティションを関連付けることができる。
図6は、一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境におけるパーティションの使用を示す。図6に示されるように、一実施形態に従うと、第1または特定のパーティションA400はパーティションID402に関連付けることができ、リソースグループ404は任意のリソースグループテンプレート参照406に関連付けることができ、および/または、1つ以上のパーティション特有のリソースグループ、アプリケーションもしくはリソース410に関連付けることができる。特定のリソースグループテンプレートA420は、1つ以上のアプリケーション422、リソース424またはリソース構成トークン426を定義することができ、このため、パーティションのリソースグループ(たとえばパーティションA)がそのリソースグループテンプレートを参照(430)したときに、アプリケーション、リソースおよびリソース構成トークンを用いて、リソースグループを構成する(432)ことができる。この場合、仮想ターゲット情報412を定義すること、および/または、リソースグループに仮想ターゲット438(たとえば、baylandurgentcare.com)を関連付け、さらに次に、ターゲットシステム440(たとえばコンピュータサーバまたはクラスタ)に関連付けることを含み得る。
図7は、一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境におけるパーティションの使用をさらに示す。図7に示されるように、一実施形態に従うと、第2のパーティションB450は、同様に、パーティションID452に関連付けることができ、リソースグループ454は任意のリソースグループテンプレート参照456に関連付けることができ、および/または、1つ以上のパーティション特有のリソースグループ、アプリケーションもしくはリソース460に関連付けることができる。第2のリソースグループテンプレートB470は、同様に、1つ以上のアプリケーション472、リソース474またはリソース構成トークン476を定義することができる。パーティションのリソースグループ(たとえば、パーティションB)は、リソースグループテンプレートAおよびBのいずれかを参照する(480,482)ことができ、このため、選択されたリソースグループテンプレート(この例においては、リソースグループテンプレートB)のアプリケーション、リソースおよびリソース構成トークンを用いて、リソースグループを構成する(484)ことができる。この場合、仮想ターゲット情報462を定義すること、および/または、リソースグループに仮想ターゲット488(たとえば、valleyhealth.com)を関連付け、さらに次に、ターゲットシステムに関連付けることを含み得る。
図8は、一実施形態に従った、アプリケーションサーバ、クラウドまたは他の環境におけるパーティションの使用方法を示す。図8に示されるように、一実施形態に従うと、ステップ490において、ソフトウェアアプリケーションの実行のためのドメインならびに1つ以上のパーティションおよびリソースグループを含むアプリケーションサーバ環境が提供される。各々のパーティションは、ドメインの管理および実行時間下位区分を提供し、1つ以上のリソースグループを含み得る。各々のリソースグループは、リソースグループテンプレートを参照し得るデプロイ可能なアプリケーションまたはリソースの集合である。
ステップ492において、各々のパーティションは構成情報に関連付けられ、このため、始動後、システムは、パーティションに関連付けられた構成情報を用いて、参照済みの如何なるリソースグループテンプレートからのものも含めて、各々のリソースグループおよびその内部のリソースのためのパーティション特有の構成エレメントを生成することができる。
ステップ494において、各々のリソースグループまたはそのリソースグループを含むパーティションは、そのリソースグループまたはパーティションがターゲット設定されてデプロイされるべきターゲットを定義する仮想ターゲット(たとえば仮想ホスト)情報に関連付けることができる。
ステップ496において、各々のパーティションは、任意には、マルチテナント環境における或るテナントによって使用されるように、そのテナントに関連付けることができる。
パーティション管理
一実施形態に従うと、システムアドミニストレータはパーティションを作成し、削除し、移行させることができ、さらに、ターゲットを作成し、割当てることができる。パーティションアドミニストレータは、パーティションのさまざまなアスペクトをパーティションレベルで管理することができ、たとえば、リソースグループを作成するか、または、パーティション内のリソースグループにアプリケーションをデプロイすることができる。システムアドミニストレータは、パーティションのセキュリティ特徴(たとえばセキュリティ領域)を設定もしくは変更することができるか、または、共有(ドメインレベル)のリソースグループもしくはリソースグループテンプレートを参照することができる。
パーティション名およびパーティションID
一実施形態に従うと、各々のパーティションは2つの識別子、すなわち、パーティション名およびパーティションID、を有する。パーティション名は、人が読取り可能な名前であって、パーティション作成時に指定されるものであり、パーティションを管理する人によって用いられかつ人にとって使い易い識別子を優先するコードによって用いられる識別子である。パーティションIDは、たとえばUUIDとして、パーティションのために生成されるそれほど読取り易くない名前であって、このため、時間的かつ空間的に固有であり、パーティション同士を区別するためにグローバルユニークIDを必要とするコードによって用いられる。パーティション名およびパーティションIDは、パーティション・コンフィグ・ビーン(partition config bean)および呼出しコンテキスト(ComponentInvocationContext)の両方から検索することができる。
パーティション構成
一実施形態に従うと、パーティション構成は、config.xmlに含まれており、以下の構成エレメントを含む。
パーティション:これは、トップレベルの構成エレメントであって、パーティションを定義する属性および子エレメントを含んでいる。パーティションエレメントはドメインレベルで定義されるだろう。パーティションは、領域、パーティションへのネットワークマッピング、SSL情報および他のパーティション情報を定義するリソースグループ、システムリソースオーバーライドエレメントおよび属性を含み得る。
リソース・グループ:このエレメントは、パーティションにデプロイされたアプリケーションおよびリソースを含む。リソースグループは、共通のアプリケーションまたはリソースが1つの場所で定義されて複数のパーティション間で共有され得るように、リソースグループテンプレートを拡張することができる。リソースグループ内の名前は、パーティションにわたって固有でなければならない。すなわち、同じ名前が異なるリソースグループテンプレートまたはリソースグループ内で定義された場合、検証エラーが発生するだろう。
リソース・グループ・テンプレート:このエレメントがドメインレベルで定義され、アプリケーションおよびリソースを含んでいたとしても、パーティション内からリソースグループテンプレートを参照するすべてのリソースグループがすべてのリソースおよびアプリケーションを獲得しているので、論理的には、リソースグループテンプレートはパーティションのために指定された構成を含んでいる。
構成・プロパティ:このエレメントはプロパティキー値を含む。構成プロパティは、パーティションレベルでも、ドメインレベルでのリソースグループにおいても指定することができる。パーティション特有のオーバーライドのためのモデルとしては、パーティション特有にする必要のある最も共通する属性がパーティションの子構成エレメントに含まれているべきものとされ、これにより、顧客が、特定の構成エレメントを介して、共通して用いられているパーティション特有の構成を指定することがより容易になる。
パーティションの移植性
一実施形態に従うと、パーティションは、1つのドメイン(たとえばソースドメイン)からエクスポートされて、別のドメイン(たとえばターゲットドメイン)にインポートされ得る。パーティションをエクスポートすることにより、いずれのドメインをシャットダウンまたは再始動させる必要もなく、別のシステムにコピーしてターゲットドメインにインポートすることができるパーティションアーカイブが作成される。
パーティションおよびリソースグループの移行性
一実施形態に従うと、パーティション内のリソースグループは1つの仮想ターゲットから別の仮想ターゲットへと移行させることができ、これにより、保守性が可能になり得る。
テナントとパーティションとの関係
一実施形態に従うと、テナントは、たとえばフュージョン・アプリケーション(Fusion Application:FA)またはフュージョン・ミドルウェア(Fusion Middleware:FMW)環境におけるアプリケーションサーバ環境外で定義することができる。
パーティションへのホストおよびURLのマッピング
一実施形態に従うと、各々のコンテナ/要求ハンドラは、パーティションコンテキストを確立して、それを、後で使用できるようにするために呼出しコンテキストマネージャ(ComponentInvocationContext Manager)へとプッシュすることができる。パーティションテーブルを用いることにより、コンテナがこれを実行することを、ホスト名/ポート/URLからパーティション名へのマッピングを行なうことによって、支援することができる。パーティションへのマッピングは、ホスト名(しばしば、仮想ホスト名);ポート番号;URIパス・プレフィクスのうち1つ以上を一致させることによって達成することができる。パーティションは、(パーティションの利用可能なターゲットリストを介して)それに関連付けられた1つ以上の仮想ターゲットを有することができる。仮想ホストと同様に、仮想ターゲットは、1つ以上のホスト名、任意のURIパス・プレフィクスおよび任意のポート番号を指定する能力を提供する。入来要求がパーティションに関連付けられた仮想ターゲットのうちのいずれに関してもこの情報と一致する場合、要求がそのパーティションにおけるアプリケーションを対象としたものであると想定される。
パーティションリソースのターゲット設定
一実施形態に従うと、仮想ターゲットを用いることで、リソースグループのためのターゲットが仮想化され、これにより、物理リソースの如何なる属性をも備えることなくリソースグループ構成がポータブルにされ、これにより、システムアドミニストレータが、パーティションのクライアントに影響を及ぼすことなく、システムの物理的トポロジーを変更することが可能となる。ターゲット設定はリソースグループレベルで指定され、リソースグループに含まれるすべてのリソースに適用される。1セットの利用可能なターゲットとデフォルトターゲットとはパーティションレベルで指定することができる。仮想ターゲットは、管理されたサーバもしくはクラスタにターゲット設定することができるか、または、複数のサーバもしくはクラスタにターゲット設定することができ、かつ、同じパーティションにおける2つ以上のリソースグループによって共有可能である。
リソースグループが指定された複数のターゲットを有する場合、それらターゲットは、リソースグループ内に含まれるリソースのためのターゲットとして用いられることとなる。リソースグループが指定されたターゲットを有さない場合、但し、パーティションレベルでのデフォルトターゲットが設定されている場合、それは、リソースグループ内に含まれるすべてのリソースのためのターゲットとして用いられることとなる。リソースグループが指定されたターゲットを有さず、パーティションレベルでのデフォルトターゲットが設定されていない場合、リソースグループにおけるリソースはターゲット設定されないだろう。
単純な事例においては、1つのターゲットが存在する場合、または、すべてのリソースグループが1つのクラスタまたは管理されたサーバにターゲット設定されている場合、クラスタまたは管理されたサーバは仮想ターゲットにおいて指定することができ、同じ仮想ターゲットがパーティションのためのデフォルトターゲットになり得る。このような場合、リソースグループは具体的には仮想ターゲットにターゲット設定される必要がない。
アプリケーションデプロイメントおよび構成
一実施形態に従うと、アプリケーションおよび共有ライブラリは、或るパーティション内の或るリソースグループにデプロイすることができる。アプリケーション構成は、アプリケーションサーバによって提供されるデプロイメントプランメカニズムを用いて無効にすることができる。デプロイメントプランは、アプリケーションごとに、パーティションごとに、またはリソースグループの一部として、指定することができる。
ネットワーク層
一実施形態に従うと、システムは、入来要求をパーティションIDに関連付けるネットワーク層を含み得る。この関連付けは、http/httpsトラフィック、RMI/T3、RMI/IIOPおよび他のプロトコルを含むすべてのネットワークプロトコルに対して行なうことができる。たとえば、要求URL(たとえば、仮想ターゲット/仮想ホストに加えて任意の経路)に基づいて、ネットワーク層は、要求についてのターゲットパーティションを決定し、決定されたパーティションIDを要求の実行コンテキストに追加することができる。各々のパーティションが固有の仮想ターゲットとネットワークアクセスポイント(network access point:NAP)との組合せを用いるように構成されている場合、システムは、特定の仮想ターゲットについてのすべての要求を対応するパーティションにマッピングすることができる。そうではなく、パーティションが仮想ターゲットにおける同じホスト名を共有するように構成されている場合、URIプレフィックスは仮想ターゲットのために定義することができ、このため、システムは、仮想ターゲットに加えて構成されたURIプレフィックスに基づいて適切なパーティションを決定することができるようになる。
ワークマネージャ
一実施形態に従うと、システムはパーティション認識型ワークマネージャを含み得る。各々のワークマネージャは、デッドロックを回避するように作業要求を処理するためのスレッドが常に利用可能になることを確実にするために最小限のスレッド制約と、要求を実行する同時発生的なスレッドの数を制限するために最大限のスレッド制約と共に、ワークロードを相対的に優先させて構成することができる。パーティション特有のワークマネージャは各パーティションごとに作成することができ、これにより、各々のパーティション内のアプリケーションが、その各パーティションについてそれらアプリケーション用に構成された公平なスレッドリソース使用量の共有割当て分を上回ることを確実に防ぐようにし得る。
セキュリティ領域
一実施形態に従うと、各々のパーティションはセキュリティ領域を参照することができる。領域はまた、複数のパーティションによって参照することもできる。要求がシステムに入力されると、システムは、仮想ターゲットから適切なパーティションを決定し、要求の実行コンテキストにパーティションIDを記憶させることができる。その後、認証または認可のアクションが必要になると、システムはパーティションIDを利用して、使用すべき適切な領域を決定することができる。
JNDI
一実施形態に従うと、パーティション認識型JNDIフレームワークは、アプリケーションが、指名されたオブジェクトをバインドしてそれらをパーティション単位で検索することを可能にする。始動およびデプロイメント時間中に、アプリケーションサーバコンテナは、各々のパーティション特有のアプリケーションを対応するパーティションIDに関連付けることができる。次いで、JNDIフレームワークは、指名されたオブジェクトのバインドまたは照合中にそのパーティションIDを利用することができる。パーティション特有のオブジェクトは他のパーティションから分離させることができ、これにより、同じアプリケーションのうちのさまざまなインスタンスが、複数のパーティション特有のオブジェクトを同じJNDI名で登録することが可能となる。
ネームスペースおよび範囲指定
一実施形態に従うと、パーティションのうち指名されたコンポーネント、たとえば、リソースグループ、アプリケーションは、パーティションに範囲指定することができる。パーティションはドメインに範囲指定される。リソースグループテンプレートは、ドメインにおいて定義されて範囲指定されるので、ドメインにわたって固有になるはずである。リソースグループテンプレートにおいて定義されたリソースおよびアプリケーションは、リソースグループテンプレートに範囲指定される。パーティションが2つ以上のリソースグループテンプレートを参照する場合、参照されているリソースグループテンプレートにおいて定義されているリソースの名前は、それらの間では一意となる必要がある。
実行時間MBeans
一実施形態に従うと、ServerRuntimeMBeanは、実行時間MBeanツリーにおけるルートノードとして機能する。この階層は、クラスタ、サーバチャネル、JTAおよびアプリケーションリソースを含むアプリケーションサーバについてのすべての実行時間MBeansを含む。システムは、ServerRuntime MBeanに対する各々のパーティションのためのパーティション特有のブランチを含み得る。この場合、PartitionRuntimeMBeanが、JMS、JDBC、デプロイメント、WLDF、コヒーレンスおよびコネクタを含むアプリケーションサーバサブシステムのためのコンポーネント特有のMBeansを含むであろう場合も含まれる。パーティション特有のリソースのための実行時間MBeansは、ServerRuntime MBeanレベルのグローバルな階層にではなく、パーティション特有の階層に存在しており、これにより、パーティション特有の監視および統計が可能となる。
REST管理API
一実施形態に従うと、RESTインターフェイスを提供することができる。RESTfulリソースは、ミドルウェアの管理に有意な利点を提供している:すなわち、http/httpsプロトコルに依存するということは、標準的なファイアウォールおよびフロント・エンド・ホスト構成を用いてアクセスが可能化および制御され得ることを意味する。これは、特定のパーティションアドミニストレータが、アプリケーションサーバドメインによってサポートされている狭帯域の1スライスのポートおよびチャネルだけにしかアクセスできないような、MT環境においては特に重要である。
マルチ編集セッション
一実施形態に従うと、システムはマルチ編集セッションをサポートすることができる。パーティションアドミニストレータは、指名された特定の編集セッションにおけるパーティション関連の構成のうちのいずれかを変更することができる。ConfigurationManagerMBeanに関連付けられたAPIは、パーティション特有の編集セッションの開始/保存/稼働を可能にする。
エンド・ツー・エンドのライフサイクル管理
一実施形態に従うと、プロバイダは、たとえばOracle Traffic Director(OTD)、データベース、コヒーレンスまたはJMSコンポーネントといった特定のアプリケーションを実行するのに必要なインフラストラクチャコンポーネントを有線接続するために用いることができる。たとえば、いくつかの実施形態においては、特定のアプリケーションについてのパーティション特有のインスタンスは同じデータベースインスタンスを共有することができる。リソースグループテンプレートは、単一のデータベースインスタンスのためにドメインレベルのJDBCシステムリソースを参照することができ、そのリソースグループテンプレートを参照するすべてのパーティションは、次いで、同じデータベースインスタンスを用いることができる。一実施形態に従うと、或るアプリケーションのいくつかのパーティション特有インスタンスは、共通のスキーマまたは互換性のあるスキーマを用いてさまざまなデータベースインスタンスに接続することができる。リソースグループテンプレートは、構成ファイル(たとえばconfig.xml)のそれぞれのパーティションセクションにおいて指定されるべき構成のうちのいくらかを残して、JDBCシステムリソースを公開することができる。データソースのためのこのようなパーティションレベル構成の例は、接続先のURL、および/または、参照されたデータベースインスタンスへのアクセスを認証および認可するためのユーザクレデンシャルを含み得る。
一実施形態に従うと、データソースインプリメンテーションは、コンテナデータベース内の割当てられたPDBに対する各々のパーティションのための別個の物理接続プールを作成することができ、これにより、PDBがアプリケーションサーバにとって別個のデータベースとして出現することが可能となり、さらに、各々のパーティションの特定のクレデンシャルを用いて、そのパーティションのプール内のパーティションのために1つ以上の接続を確立することが可能となる。代替的には、システムは、PDB間の接続切換えをサポートすることができる。この場合、別個のPDBは各々のパーティションごとに提供することができるが、但し、データソースインプリメンテーションは、PDBを所有するコンテナデータベースに対する単一の接続プールを共有する。アプリケーションがデータ要求を提出すると、パーティションのコンテキストにおいてそれが実行される。次いで、システムは、その接続に関する要求を実行する前に、パーティションIDを用いて、共有接続を正確なパーティションコンテキストに切換えることができる。
この発明は、この開示の教示に従ってプログラミングされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む、1つ以上の従来の汎用または特化型デジタルコンピュータ、コンピューティング装置、マシン、またはマイクロプロセッサを使用して都合よく実現されてもよい。ソフトウェア技術の当業者には明らかであるように、この開示の教示に基づいて、適切なソフトウェアコーディングが、熟練したプログラマによって容易に準備され得る。
実施形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令が格納された非一時的な記録媒体または(1つもしくは複数の)コンピュータ読取可能な媒体であるコンピュータプログラムプロダクトを含む。この記録媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/もしくはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
本発明のこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。当業者には数多くの変更および変形が明らかであろう。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者がさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。本発明の範囲は添付の特許請求の範囲およびそれらの同等例によって規定されるものと意図されている。

Claims (11)

  1. アプリケーションサーバ環境においてパーティションをサポートするためのシステムであって、
    1つ以上のコンピュータを含み、前記1つ以上のコンピュータは、ソフトウェアアプリケーションのデプロイメントおよび実行を可能にするアプリケーションサーバ環境を含み、前記アプリケーションサーバ環境は、実行時にアプリケーションサーバドメインを定義するドメインを有し、前記ドメインは1つ以上のパーティションを含み、
    各々のパーティションは、前記ドメインの管理および実行時間下位区分を提供し、1つ以上のリソースグループを含み得るとともに、
    各々のリソースグループは、複数のデプロイ可能なアプリケーションまたはリソースの集合であり、
    前記ドメインは、リソースグループテンプレートを含み、
    各々のリソースグループは、前記リソースグループテンプレートを参照可能であり、
    各々のパーティションは、前記リソースグループテンプレートにおいて指定されていない構成データについてのプロパティを定義し、前記リソースグループテンプレートで定義されるリソースを当該パーティションで使用されるべき特定の値にバインドし、
    各々のパーティションは、前記リソースグループテンプレートに含まれるアプリケーションによって用いられるデータベースに接続するためのURLを定義する、システム。
  2. アプリケーションサーバ環境においてパーティションをサポートするための方法であって、
    1つ以上のコンピュータにおいて、ソフトウェアアプリケーションのデプロイメントおよび実行を可能にするアプリケーションサーバ環境を提供するステップを含み、前記アプリケーションサーバ環境は、実行時にアプリケーションサーバドメインを定義するドメインを有し、前記ドメインは1つ以上のパーティションを含み、
    各々のパーティションは、前記ドメインの管理および実行時間下位区分を提供し、リソースグループを含み得るとともに、
    各々のリソースグループは、複数のデプロイ可能なアプリケーションまたはリソースの集合であり、
    前記ドメインは、リソースグループテンプレートを含み、
    各々のリソースグループは、前記リソースグループテンプレートを参照可能であり、
    各々のパーティションは、前記リソースグループテンプレートにおいて指定されていない構成データについてのプロパティを定義し、前記リソースグループテンプレートで定義されるリソースを当該パーティションで使用されるべき特定の値にバインドし、
    各々のパーティションは、前記リソースグループテンプレートに含まれるアプリケーションによって用いられるデータベースに接続するためのURLを定義する、方法。
  3. テナントによって使用されるように、前記テナントに1つ以上のパーティションを任意に関連付けるステップをさらに含む、請求項2に記載の方法。
  4. 各々のリソースグループテンプレートは、1つ以上の関連するアプリケーションを、前記1つ以上の関連するアプリケーションが依存するリソースとともに含む、請求項2または3に記載の方法。
  5. 前記複数のデプロイ可能なリソースは、パーティション認識型リソースおよびパーティション非認識型リソースのうち1つ以上を含む、請求項2から4のいずれかに記載の方法。
  6. 各々のパーティションは、ローカルのネームスペースに関連付けることができる、請求項2から5のいずれかに記載の方法。
  7. 各々のパーティションはパーティション名または識別子に関連付けることができ、これにより、複数の要求を複数の適切なパーティションに伝達することができるようにパーティションコンテキストを決定することが可能になる、請求項2から6のいずれかに記載の方法。
  8. 前記方法は、クラウド環境内で動作する複数のテナントをサポートするように前記クラウド環境内で実行される、請求項2から7のいずれかに記載の方法。
  9. 複数のパーティションの複数の編集セッションのためのサポートを提供するステップをさらに含む、請求項2から8のいずれかに記載の方法。
  10. 各々のリソースグループまたは前記リソースグループを含む前記パーティションは、前記リソースグループまたはパーティションが対象設定されてデプロイされるべき仮想ターゲットを定義する仮想ターゲット情報に関連付けることができ、ウェブ層コンポーネントはルーティング情報を含み、前記ルーティング情報は、特定のパーティションのための前記仮想ターゲットを対応するターゲットにマッピングして、これにより、前記特定のパーティションのための複数の要求が複数の適切なターゲットに向けられるようにする、請求項2から9のいずれかに記載の方法。
  11. プログラム命令を機械読取り可能フォーマットで含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、前記コンピュータシステムに、請求項2から10のいずれかに記載の方法を実行させる、コンピュータプログラム。
JP2016574998A 2014-06-24 2015-06-24 マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステム、方法及びコンピュータプログラム Active JP6681348B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462016468P 2014-06-24 2014-06-24
US62/016,468 2014-06-24
US201462054900P 2014-09-24 2014-09-24
US62/054,900 2014-09-24
US14/748,094 US11477278B2 (en) 2014-06-24 2015-06-23 System and method for supporting partitions in a multitenant application server environment
US14/748,094 2015-06-23
PCT/US2015/037403 WO2015200474A1 (en) 2014-06-24 2015-06-24 System and method for supporting partitions in a multitenant application server environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020002098A Division JP6876836B2 (ja) 2014-06-24 2020-01-09 マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法

Publications (3)

Publication Number Publication Date
JP2017519306A JP2017519306A (ja) 2017-07-13
JP2017519306A5 JP2017519306A5 (ja) 2018-02-22
JP6681348B2 true JP6681348B2 (ja) 2020-04-15

Family

ID=54870758

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016574998A Active JP6681348B2 (ja) 2014-06-24 2015-06-24 マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステム、方法及びコンピュータプログラム
JP2020002098A Active JP6876836B2 (ja) 2014-06-24 2020-01-09 マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020002098A Active JP6876836B2 (ja) 2014-06-24 2020-01-09 マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法

Country Status (6)

Country Link
US (2) US11477278B2 (ja)
EP (1) EP3161633A1 (ja)
JP (2) JP6681348B2 (ja)
KR (1) KR102490422B1 (ja)
CN (1) CN106471471B (ja)
WO (1) WO2015200474A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476938B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for multitenancy store in a multitenant application server environment
US10187454B2 (en) 2014-01-21 2019-01-22 Oracle International Corporation System and method for dynamic clustered JMS in an application server environment
US10103946B2 (en) 2014-01-21 2018-10-16 Oracle International Corporation System and method for JMS integration in a multitenant application server environment
US10474998B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for messaging in a multitenant application server environment
CN105900059B (zh) 2014-01-21 2019-06-07 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
US20150304414A1 (en) * 2014-04-17 2015-10-22 Go Daddy Operating Company, LLC Allocating hosting server resources via migration paths
US9501211B2 (en) * 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US10873627B2 (en) 2014-06-23 2020-12-22 Oracle International Corporation System and method for supporting use of an in-memory data grid with a multitenant application server environment
US10027550B2 (en) 2014-06-23 2018-07-17 Oracle International Corporation System and method for multitenant-aware console for use in a multitenant application server environment
US10462068B2 (en) 2014-09-25 2019-10-29 Oracle International Corporation System and method for tenant onboarding in a multitenant application server environment
US9747137B2 (en) 2014-09-25 2017-08-29 Oracle International Corporation System and method for providing a partition file system in a multitenant application server environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US10348565B2 (en) 2014-09-25 2019-07-09 Oracle International Corporation System and method for rule-based elasticity in a multitenant application server environment
US10091135B2 (en) 2014-09-26 2018-10-02 Oracle International Corporation System and method for multi-tenancy enablement of enterprise java applications using resource proxies and application tenancy context
US10050903B2 (en) 2014-09-26 2018-08-14 Oracle International Corporation System and method for multi-tenancy enablement of enterprise JAVA (TM) applications using resource proxies and application tenancy context
US11057272B2 (en) 2014-09-26 2021-07-06 Oracle International Corporation System and method for transactions in a multitenant application server environment
WO2016049584A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation System and method for transaction recovery in a multitenant application server environment
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US20180039628A1 (en) * 2016-08-03 2018-02-08 Oracle International Corporation System and method for providing dynamic relocation of tenants in a multi-tenant database environment
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
US11416235B2 (en) 2017-09-28 2022-08-16 Oracle International Corporation System and method for managed server independence for deployment of software applications and libraries
US11102196B2 (en) 2019-04-06 2021-08-24 International Business Machines Corporation Authenticating API service invocations
US11200095B2 (en) * 2019-09-23 2021-12-14 Open Text Holdings, Inc. System and method for an efficient and scalable multitenant implementation for content management services platforms, including cloud deployed content management services platforms
US11695559B2 (en) * 2019-09-30 2023-07-04 Salesforce, Inc. Nested tenancy that permits a hierarchy having a plurality of levels
US11082487B1 (en) 2020-09-22 2021-08-03 Vignet Incorporated Data sharing across decentralized clinical trials using customized data access policies
US11315041B1 (en) 2020-09-22 2022-04-26 Vignet Incorporated Machine learning with data sharing for clinical research data across multiple studies and trials
US11790107B1 (en) 2022-11-03 2023-10-17 Vignet Incorporated Data sharing platform for researchers conducting clinical trials
US12007870B1 (en) 2022-11-03 2024-06-11 Vignet Incorporated Monitoring and adjusting data collection from remote participants for health research

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100260380B1 (ko) 1996-01-26 2000-07-01 윤종용 마이크로 프로세서칩의 냉각팬 제어장치 및 그 제어방법
US6725317B1 (en) 2000-04-29 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for managing a computer system having a plurality of partitions
BR0112170A (pt) 2000-07-05 2004-07-27 Ernst & Young Llp Aparelho provendo um ou mais serviços de computador para diversos clientes, combinação de um primeiro aparelho e um segundo aparelho substancialmente idêntico ao citado primeiro aparelho, e, processos para prover um ou mais serviços de computador para diversos clientes, para operar um computador real em nome de diversos clientes, e para prover, para diversos clientes, um ou mais serviços de computador
JP2005209029A (ja) 2004-01-23 2005-08-04 Tm T & D Kk アプリケーション管理システム、アプリケーション管理方法およびその管理方法を実行させるためのプログラム
US7561520B2 (en) 2004-06-04 2009-07-14 Holloway J Michael Capacity limiting platform system and method
US20060036747A1 (en) 2004-07-28 2006-02-16 Galvin James P Jr System and method for resource handling of SIP messaging
US7519181B2 (en) 2004-12-16 2009-04-14 International Business Machines Corporation System and method for enforcing network cluster proximity requirements using a proxy
US8392564B1 (en) 2005-06-20 2013-03-05 Oracle America, Inc. Cluster-wide resource usage monitoring
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7941804B1 (en) 2005-10-31 2011-05-10 Hewlett-Packard Development Company, L.P. Allocating resources among tiered partitions of different types
US20070220302A1 (en) 2006-02-28 2007-09-20 Cline Brian G Session failover management in a high-availability server cluster environment
CN101460946B (zh) 2006-04-21 2013-06-12 意大利电信股份公司 用于提供呈现信息的方法和系统
US8819676B2 (en) * 2007-10-30 2014-08-26 Vmware, Inc. Transparent memory-mapped emulation of I/O calls
US8473594B2 (en) 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US8195867B2 (en) 2008-06-06 2012-06-05 International Business Machines Corporation Controlled shut-down of partitions within a shared memory partition data processing system
CN101639835A (zh) 2008-07-30 2010-02-03 国际商业机器公司 多租户场景中应用数据库分区的方法和装置
CN102460393B (zh) 2009-05-01 2014-05-07 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
US8856319B1 (en) 2010-02-03 2014-10-07 Citrix Systems, Inc. Event and state management in a scalable cloud computing environment
CN102170457A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
US8250185B2 (en) 2010-03-26 2012-08-21 International Business Machines Corporation Semantic matching of federation intents and services capabilities in a planning system for automatic service federation
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
JP2011232840A (ja) 2010-04-26 2011-11-17 Hitachi Ltd アクセス制御情報管理方法、計算機システム及びプログラム
US20110271005A1 (en) 2010-04-30 2011-11-03 Sonus Networks, Inc. Load balancing among voip server groups
CN102236762A (zh) 2010-04-30 2011-11-09 国际商业机器公司 用于处理对多租户应用的文件访问的方法和文件代理装置
US8656189B2 (en) 2010-08-11 2014-02-18 Security First Corp. Systems and methods for secure multi-tenant data storage
US8775626B2 (en) 2010-09-17 2014-07-08 Microsoft Corporation Using templates to configure cloud resources
KR20120045586A (ko) 2010-10-29 2012-05-09 한국전자통신연구원 다중 테넌트용 SaaS 애플리케이션 설정 장치 및 방법
US8577885B2 (en) 2010-12-09 2013-11-05 International Business Machines Corporation Partitioning management of system resources across multiple users
US9460169B2 (en) 2011-01-12 2016-10-04 International Business Machines Corporation Multi-tenant audit awareness in support of cloud environments
US10491662B2 (en) 2011-01-27 2019-11-26 Computenext, Inc. Dynamically organizing cloud computing resources to facilitate discovery
US8816240B2 (en) * 2011-08-04 2014-08-26 General Electric Company Cladding system and method for applying a cladding to a power generation system component
US9158590B2 (en) 2011-08-08 2015-10-13 International Business Machines Corporation Dynamically acquiring computing resources in a networked computing environment
CN102333115A (zh) 2011-09-01 2012-01-25 杭州湾云计算技术有限公司 一种将已有Web应用转化为SaaS多租户应用的方法和装置
US8589481B2 (en) 2011-09-14 2013-11-19 Microsoft Corporation Multi tenant access to applications
US8635152B2 (en) 2011-09-14 2014-01-21 Microsoft Corporation Multi tenancy for single tenancy applications
US20130081109A1 (en) 2011-09-23 2013-03-28 Corent Technology, Inc. Multi-Tenant Agile Database Connector
CN102571916B (zh) 2011-12-02 2015-11-04 曙光信息产业(北京)有限公司 一种云存储空间的租赁软件的架构与操作方法
US10860384B2 (en) 2012-02-03 2020-12-08 Microsoft Technology Licensing, Llc Managing partitions in a scalable environment
CN102609271B (zh) 2012-02-20 2014-09-10 山东大学 一种元数据驱动的SaaS应用的可视化定制方法及系统
CN102571821A (zh) 2012-02-22 2012-07-11 浪潮电子信息产业股份有限公司 一种云安全访问控制模型
US8904402B2 (en) * 2012-05-30 2014-12-02 Red Hat, Inc. Controlling capacity in a multi-tenant platform-as-a-service environment in a cloud computing system
CN103455512A (zh) 2012-05-31 2013-12-18 上海博腾信息科技有限公司 Saas平台多租户数据管理模型
CN103514245B (zh) 2012-06-06 2018-11-27 丛林网络公司 创建用户可见处理跟踪的可搜索和全局数据库
US8953441B2 (en) * 2012-06-06 2015-02-10 Juniper Networks, Inc. Re-routing network traffic after link failure
US8880638B2 (en) * 2012-06-18 2014-11-04 International Business Machines Corporation Distributed image cache for servicing virtual resource requests in the cloud
US9104453B2 (en) 2012-06-21 2015-08-11 International Business Machines Corporation Determining placement fitness for partitions under a hypervisor
US9959423B2 (en) * 2012-07-30 2018-05-01 Microsoft Technology Licensing, Llc Security and data isolation for tenants in a business data system
US9436626B2 (en) 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
US9509553B2 (en) 2012-08-13 2016-11-29 Intigua, Inc. System and methods for management virtualization
US8954588B1 (en) 2012-08-25 2015-02-10 Sprint Communications Company L.P. Reservations in real-time brokering of digital content delivery
US10122596B2 (en) 2012-09-07 2018-11-06 Oracle International Corporation System and method for providing a service management engine for use with a cloud computing environment
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
CN104050201B (zh) 2013-03-15 2018-04-13 伊姆西公司 用于多租户分布式环境中的数据管理的方法和设备
US9621668B2 (en) 2013-04-06 2017-04-11 Citrix Systems, Inc. Systems and methods for application-state, distributed replication table cache poisoning
US9135042B2 (en) * 2013-06-13 2015-09-15 International Business Machines Corporation Provisioning a secure customer domain in a virtualized multi-tenant environment
EP2813945A1 (en) 2013-06-14 2014-12-17 Tocario GmbH Method and system for enabling access of a client device to a remote desktop
WO2014205847A1 (zh) 2013-06-29 2014-12-31 华为技术有限公司 一种分区平衡子任务下发方法、装置与系统
US10216758B2 (en) 2013-10-24 2019-02-26 Vmware, Inc. Multi-tenant production and test deployments of Hadoop
US10642800B2 (en) 2013-10-25 2020-05-05 Vmware, Inc. Multi-tenant distributed computing and database
CN105900059B (zh) 2014-01-21 2019-06-07 甲骨文国际公司 用于在应用服务器、云或其它环境中支持多租户的系统和方法
US9420035B2 (en) * 2014-02-20 2016-08-16 International Business Machines Corporation Transaction isolation during multi-tenant transaction requests
CN104104513A (zh) 2014-07-22 2014-10-15 浪潮电子信息产业股份有限公司 一种云端多租户数据存储安全隔离方法
CN104598249B (zh) 2015-02-05 2017-09-01 浙江天正信息科技有限公司 多租户感知的软件个性化定制与部署方法
US10587580B2 (en) 2016-10-26 2020-03-10 Ping Identity Corporation Methods and systems for API deception environment and API traffic control and security

Also Published As

Publication number Publication date
CN106471471B (zh) 2021-01-05
US11477278B2 (en) 2022-10-18
KR102490422B1 (ko) 2023-01-19
WO2015200474A1 (en) 2015-12-30
CN106471471A (zh) 2017-03-01
US20230032267A1 (en) 2023-02-02
JP2017519306A (ja) 2017-07-13
EP3161633A1 (en) 2017-05-03
JP2020074148A (ja) 2020-05-14
KR20170021874A (ko) 2017-02-28
US20150373098A1 (en) 2015-12-24
JP6876836B2 (ja) 2021-05-26

Similar Documents

Publication Publication Date Title
JP6876836B2 (ja) マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法
US11683274B2 (en) System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10027716B2 (en) System and method for supporting web services in a multitenant application server environment
US9747137B2 (en) System and method for providing a partition file system in a multitenant application server environment
JP6505823B2 (ja) マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法
US9967324B2 (en) System and method for providing data sources for use in a multitenant application server environment
US10523709B2 (en) System and method for dynamic security configuration in a multitenant application server environment
US10084843B2 (en) System and method for web container partitions in a multitenant application server environment
US10873627B2 (en) System and method for supporting use of an in-memory data grid with a multitenant application server environment
JP6574794B2 (ja) マルチテナントアプリケーションサーバ環境におけるポータブルパーティションのためのシステムおよび方法
US11138017B2 (en) System and method for partition administrative targeting in an application server environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200109

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R150 Certificate of patent or registration of utility model

Ref document number: 6681348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250