JP2013543626A - 参照データサービスのための可用性管理 - Google Patents

参照データサービスのための可用性管理 Download PDF

Info

Publication number
JP2013543626A
JP2013543626A JP2013534921A JP2013534921A JP2013543626A JP 2013543626 A JP2013543626 A JP 2013543626A JP 2013534921 A JP2013534921 A JP 2013534921A JP 2013534921 A JP2013534921 A JP 2013534921A JP 2013543626 A JP2013543626 A JP 2013543626A
Authority
JP
Japan
Prior art keywords
data
content provider
receiving
component
response
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
JP2013534921A
Other languages
English (en)
Other versions
JP2013543626A5 (ja
JP5890839B2 (ja
Inventor
ジャコ ボウ ルネ
ゲオゼス ルーカス
コースラヴィ ムー
リアンズバーガー クリスチャン
ソーレン モール ロジャー
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 JP2013543626A publication Critical patent/JP2013543626A/ja
Publication of JP2013543626A5 publication Critical patent/JP2013543626A5/ja
Application granted granted Critical
Publication of JP5890839B2 publication Critical patent/JP5890839B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • 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
    • 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
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/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/1014Server selection for load balancing based on the content of a request
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

情報の可用性をスケールするための様々な態様を開示する。一態様では、データ使用要求への応答に関連した応答性能を監視する。応答性能の特性評価を確定し、特性評価に基づいてリソースのスケールを促進する。別の態様では、使用されたデータを示すデータ使用状況を確定する。ここで、状況の諸態様を表示し、入力をコンテンツプロバイダから受信するスケーラビリティインタフェースを提供する。次いで、リソースの割り当てを入力に応答して修正する。さらに別の態様では、データ使用要求への応答に関連した応答性能を監視する。API(Application Programming Interface)コールを、応答性能の特性評価に基づいて生成し、コンテンツプロバイダに送信する。次いで、データをホストするためのリソースのスケールが実施されたか否かを示すAPIレスポンスをコンテンツプロバイダから受信する。

Description

本発明は、IaaS(Information as a Service)の提供に関連してデータの可用性を促進するためにリソースをスケールする参照データサービスのための可用性管理に関し、より詳細にはデータ使用要求への応答に関連した応答性能を監視し、応答性能の特性評価を確定し、特性評価に基づいてリソースのスケールを促進する参照データサービスのための可用性管理に関する。
幾つかの従来型のシステムに関わる背景として、伝統的に、コンピューティング装置は、情報、関連したアプリケーションおよびデータサービスを装置に対してローカルに格納していた。しかし、オンラインとクラウドサービスの発展とともに、情報はますます、装置の代わりに、サービスを実施しないかまたはサービスの一部または全部を実施する、ネットワークプロバイダに移されつつある。テラバイトのデータ(将来はペタバイト、エクサバイト等のデータになる可能性がある)を格納できるネットワークストレージファームの発展により、主装置と外部ストレージとを分離して、ローカルでのシナリオをクラウドで模倣する機会がもたらされた。
しかしながら、どのクラウドサービスまたはネットワークストレージプロバイダでも、関与する全ての関係者に対して追跡し監査できるように、発行者、開発者および消費者があらゆる種類のデータを容易に発行し、あらゆる種類のデータをアプリケーションに特化させ、あらゆる種類のデータを使用できるように、Iaasを任意のプラットフォーム上で効果的に提供することはできない。加えて、今日では、異なるコンテンツプロバイダおよび、典型的データを定義するための独占的な枠組みがあり、異なるコンテンツプロバイダは、クラウドへの自己の発行行動をお互いに調整しないので、このような無数の発行行動の結集力を利用する機会がほとんどない。
ウェブサービスは典型的にある特定の顧客数を想定して構築されており、データサービスをホストして利用可能にするデータセンタ/情報基盤が、これらの目標を想定して構築され、調達されている。しかしながら、ウェブサービスがより人気になると、処理容量の増大により読み取るべき要求があまりに多くなり、その結果サービスが停止するおそれがある。即ち、要求の増加に適切に応答するためのリソースが不十分な場合がある。同様に、データ処理容量が減少する状況において、コンテンツプロバイダがリソースを過度に割り当てることがあり、その結果、コンテンツプロバイダが未使用のリソースへの料金を不必要に支払うこととなる。結果として、今日では、ウェブサービスでのデータの顕著な需要の増加または減少を取り扱うことは、共通解のない断片化された問題である。
今日の装置およびデータサービスの上述した欠点は、単に、従来型のシステムの問題の一部の概要を提供しようとするものであり、包括的であることを意図するものではない。
最先端技術に関する他の問題、および様々な非限定的な実施形態の一部の対応する利点は、下記の発明を実施するための形態を検討すればさらに明らかになろう。
ここでは、簡潔な概要を提供して、より詳細な説明および添付図面に従う例示的で非限定的な諸実施形態の様々な態様の基本的または一般的な理解を可能にするよう支援する。しかしながら、この概要は、広範囲な概要として意図したものでも包括的な概要として意図したものでもない。寧ろ、この概要の唯一の目的は、幾つかの例示的で非限定的な実施形態に関する幾つかの概念を、下記の様々な実施形態のより詳細な説明に対する前置きとして簡潔な形で提示することである。
1つまたは複数の実施形態と対応する開示に従って、様々な非限定的な態様を、任意のプラットフォームからIaasを提供することと関連して説明する。一態様においては、情報のスケーラブルな可用性を促進する方法を提供する。方法は、コンテンツプロバイダに関連したデータの消費に対する複数の要求を受信することを含む。本実施形態はさらに、複数の要求への応答に関連した応答性能を監視すること、ならびに、応答性能の特性評価を決定することを含むことができる。そして、データに割り当てられたリソースのスケールを、特性評価に基づいて促進する。
別の態様において、情報のスケーラブルな可用性を促進するための方法を提供する。コンテンツプロバイダとサーバとの間の通信を確立し、データ使用状況を確定する。ここで、データ使用状況とは、サーバを経由して使用されたコンテンツプロバイダのデータを示すものである。方法はさらに、コンテンツプロバイダにスケーラビリティインターフェースを提供することを含むことができる。本実施形態では、スケーラビリティインターフェースは、データ使用状況の少なくとも一態様をコンテンツプロバイダに対して表示し、また、コンテンツプロバイダから入力を受信する。次に、コンテンツプロバイダに関連したデータ可用性リソースの割り当てを入力に応答して修正する。
さらに別の態様では、情報のスケーラブルな可用性を促進する追加の方法を提供する。本実施形態は、データ使用要求への応答に関連した応答性能を監視することを含む。ここで、データ使用要求とは、コンテンツプロバイダによってホストされるデータに対する要求である。方法はさらに、応答性能の特性評価に基づいてAPI(Application Programming Interface)コールを生成すること、および当該APIコールをコンテンツプロバイダに送信することを含む。次いで、APIレスポンスをコンテンツプロバイダから受信する。当該APIレスポンスは、データをホストするためにリソースのスケーリングが実行されたか否かを示すものであり、その結果、データ使用要求の処理がリソースのスケーリングに従って修正される。
他の実施形態および様々な非限定的な例、シナリオ、および実装形態については下記でより詳細に説明する。
一実施形態にかかる、リソースのスケーリングを促進する例示的なシステムを示す図である。 一実施形態にかかる、リソースのスケーリングを促進する例示的なリソース管理ユニットを示すブロック図である。 一実施形態にかかる、リソースのスケーリングのための例示的で非限定的な実施形態を示すフローチャートである。 一実施形態にかかる、リソースのスケーリングを促進する例示的なインターフェースを示す図である。 一実施形態にかかる、リソースのスケーリングを促進する例示的なスケーラビリティインターフェースを示すプロック図である。 一実施形態にかかる、リソースのスケーリングを促進するインターフェースを提供するための例示的で非限定的な実施形態を示すフローチャートである。 一実施形態にかかる、リソースの外部的なスケーリングを促進する例示的なシステムを示す図である。 一実施形態にかかる、リソースのスケーリングを促進する例示的なAPI(Application Programming Interface)ユニットを示すブロック図である。 一実施形態における、リソースをスケーリングするための例示的で非限定的な実施形態を示すフローチャートである。 任意のプラットフォームから提供されるIaaSに対する非限定的な情報基盤のための例示的なシーケンスを示すフローチャートである。 任意のプラットフォームから提供されるIaaSに対する例示的で非限定的な情報基盤を示すブロック図である。 任意のプラットフォームから提供されるIaaSに対する情報基盤のための例示的で非限定的な一組の実装形態の具体的な詳細を示すブロック図である。 任意のプラットフォームから提供されるIaaSに対する例示的な情報基盤からの例示的なデータ使用を示す図である。 本明細書で説明する様々な実施形態を実装できる例示的で非限定的なネットワーク環境を表すブロック図である。 本明細書で説明する様々な実施形態の1つまたは複数の態様を実装できる例示的で非限定的なコンピューティングステムまたは動作環境を表すブロック図である。
概要
背景技術で論じたように、ウェブサービスは典型的に所定の顧客数を想定して構築されており、データサービスをホストして利用可能にするデータセンタ/情報基盤がこれらの目標を想定して構築され、提供されている。しかしながら、ウェブサービスがより人気になると、処理容量の増大により読み取るべき要求があまりに多くなり、その結果サービスが停止するおそれがあり、この場合、応答を処理するためのリソースが不十分であるか、または、他の予測不可能な変動が生じる可能性がある。グローバルな情報市場が望まれる場合、このような市場のアーキテクチャにとっては、データが管理システムの内部でホストされているか外部でホストされているかに関わらず、データセンタを必要に応じてスケールアップまたはスケールダウンするための方法をコンテンツプロバイダに提供することにより、これらの制約を克服することが望ましいはずである。
本明細書で開示される様々な実施形態は、スケールアウトシステムおよび方法、ならびに、コンテンツプロバイダと通信してこのようなリソースのスケールを促進するために使用されるインターフェース、ならびにこのようなシステム、方法、およびインターフェースに付随する通信に関する。
リソーススケーリングシステム
図1は、任意のプラットフォームから提供されるIaasに関連したリソースのスケールを促進する例示的なシステムを図示する。図示したように、システム100は、リソース管理ユニット120、消費者130、およびコンテンツプロバイダ140を含むことができ、これらはネットワーク110を介して通信可能に接続される。リソース管理ユニット120は、コンテンツプロバイダ140に関連付けられたデータに対する利用者130からのデータ使用要求を管理するように構成されている。さらに、リソース管理ユニット120は、特定のコンテンツプロバイダに対応するデータ使用要求の量および/または使用要求の状況を監視することができ、次いでかかるデータに割り当てられたリソースを適切にスケールすることができる。例えば、コンテンツプロバイダのデータをリソース管理ユニット120によりホストする場合は、内部のスケール動作を実施することができ、スケーラブルデータベース122は適切に削除および/または複製される。しかしながら、使用されるデータがコンテンツプロバイダ140および/またはサードパーティによりホストされる場合は、リソース管理ユニット120はコンテンツプロバイダ140に応答時間の低下および/または急増を通知し、コンテンツプロバイダ140がそれに応じてデータベースを削除および/または複製、例えば、追加のデータベースインスタンスを生成できるようにすることができる。
次に図2を参照すると、一実施形態にかかる、情報のスケーラブルな可用性を促進する例示的なリソース管理ユニットのブロック図が提供されている。示されているように、リソース管理ユニット200は、プロセッサコンポーネント210、メモリコンポーネント220、通信コンポーネント230、監視コンポーネント240、評価コンポーネント250、スケーリングコンポーネント260、生成コンポーネント270、および課金コンポーネント280を含むことができる。
一態様においては、プロセッサコンポーネント210は、複数の機能のうち何れかを実施することに関するコンピュータ読取可能命令を実行するように構成されている。プロセッサコンポーネント210は、リソース管理ユニット200から通信される情報を分析し、ならびに/あるいはメモリコンポーネント220、通信コンポーネント230、監視コンポーネント240、評価コンポーネント250、スケーリングコンポーネント260、生成コンポーネント270、および/または課金コンポーネント280によって利用可能な情報を生成するのに特化した、単一のプロセッサまたは複数のプロセッサでとすることができる。追加または代替として、プロセッサコンポーネント210を、リソース管理ユニット200の1つまたは複数のコンポーネントを制御するように構成することができる。
別の態様においては、メモリコンポーネント220は、プロセッサコンポーネント210に接続され、およびプロセッサコンポーネント210が実行するコンピュータ読取可能命令を格納するように構成される。メモリコンポーネント220は、通信コンポーネント230、監視コンポーネント240、評価コンポーネント250、スケーリングコンポーネント260、生成コンポーネント270、および/または課金コンポーネント280のうち何れかによって生成されたデータを含め、複数の他の種類のデータのうち何れかを格納するように構成されることもある。メモリコンポーネント220は、ランダムアクセスメモリ、バッテリバックアップメモリ、ハードディスク、磁気テープ等を含め、幾つかの異なる態様で構成されることができる。圧縮自動バックアップ、例えばRAID(Redundant Array of Independent Drives)構成の利用といった様々な機能を、メモリコンポーネント220に実装することもできる。
さらに別の態様では、リソース管理ユニット200は通信コンポーネント230を含み、通信コンポーネント230は、プロセッサコンポーネント210に接続され、リソース管理ユニット200と外部エンティティとのインターフェースとなるように構成される。例えば、通信コンポーネント230は、特定のコンテンツプロバイダに関連したデータのデータ使用要求を受信するように構成されることができる。
図示したように、リソース管理ユニット200はさらに、監視コンポーネント240および評価コンポーネント250を備えることができる。このような実施形態において、監視コンポーネント240はデータ消費要求への応答に関連した応答性能を監視するように構成され、一方、評価コンポーネント250は応答性能の特性評価を確定するように構成される。
リソース管理ユニット200はまた、スケーリングコンポーネント260を含むこともでき、スケーリングコンポーネント260は、上記特性評価に基づいてデータに割り当てられたリソースのスケーリングを促進するように構成される。この目的のため、スケーリングコンポーネント260は、複数の方法のうち何れかでこのようなスケーリングを促進するように構成できることに留意されたい。例えば、スケーリングコンポーネント260を、リソース管理ユニット200の外部で実施されるリソースのスケールを促進するように構成できることが想定されている。実際、コンテンツプロバイダ自身が自己のデータをホストできることが想定されているので、スケーリングコンポーネント260は、応答性能状況メッセージを生成するように構成されることができ、当該応答性能状況メッセージは、通信コンポーネント230を介してコンテンツプロバイダに送信される。特定の実施形態においては、生成コンポーネント270が含まれることがあり、生成コンポーネント270は、コンテンツプロバイダに対するAPI(Application Programming Interface)コールを生成するように構成されることができる。APIコールは、応答性能の少なくとも1つの態様に関連した要求、例えば、警告メッセージ、強制スケールメッセージ等を含む。次いで、要求に対するAPIレスポンスをコンテンツプロバイダから受信することができ、当該APIレスポンスは、例えば、コンテンツプロバイダによって割り当てられた追加のデータベースの位置など、データに関連したスケールされた位置のセットを特定する。
スケーリングコンポーネント260は、しかしながら、リソース管理ユニット200内部で実施されるリソースのスケールを促進するように構成されることもできる。このような実施形態では、スケーリングコンポーネント260が、複製のデータベースを削除および/または追加することでリソースをスケールするよう構成されるように、リソース管理ユニット200は、コンテンツプロバイダのデータを一組の複製されたデータベース内でホストする。コンテンツプロバイダに割り当てられたリソースのスケールに関連した命令を、コンテンツプロバイダから受信することを促進するために、スケーラビリティインターフェースをコンテンツプロバイダに提供することもできる。
さらなる別の態様においては、リソース管理ユニット200は課金コンポーネント280を含む。このような実施形態では、課金コンポーネント280は、コンテンツプロバイダに割り当てられたリソースのスケーリングを収益化するように構成することができる。さらに、リソースをスケールアップまたはスケールダウンすることに関連したコストを自動的に定量化できることが想定されている。したがって、リソースのスケーリングに関連した実際のおよび/または仮定的なコストを、課金コンポーネント280を介して容易に利用可能とすることができる。
図3は、一実施形態にかかる、リソースのスケーリングのための例示的で非限定的な実施形態を示すフローチャートである。300において、コンテンツプロバイダに関連したデータの使用に対する要求を受信する。次に、310において、要求への応答に関連した応答性能を監視し、次いで320において、応答性能の特性評価を行う。次に330において、特性評価に基づいて、データに割り当てられたリソースのスケーリングを促進する。
図4は、一実施形態にかかる、リソースのスケールを促進する例示的なインターフェースを図示する。図示されるように、インターフェース400はディスプレイ410、制御パネル420、およびスケール調整430を含むことができる。この特定の実施形態では、インターフェース400をコンテンツプロバイダに提供して、その結果、コンテンツプロバイダが必要に応じてリソースをシームレスにスケールすることができると想定されている。この目的のため、ディスプレイ410を、現在、将来、または過去のいずれかに、データ使用要求を処理することに関連した様々な態様のうち何れかを表示するように構成することができる。例えば、図示されているように、時間に対する受信したデータ要求数のグラフィカル表現を表示することができる。次に、制御パネル420を使用して、例えば、異なるビジネス指標(例えば、データ要求数ではなく、時間に対するコスト)および/または異なるディスプレイタイプ(例えば、様々なグラフタイプ)を含め、異なるパラメータを切り替えることができる。
図示されたように、インターフェース400はスケールリング調整430も含むことができる。ここで、コンテンツプロバイダは、例えばコスト、要求数等のビジネス指標の観点からリソースをスケールすることを好み得るので、スケーリング調整430を含めることができ、この場合、コンテンツプロバイダは必要に応じて、単に乗数つまみ434をスケーリング調整430上でスライドさせる。例えば、ベースラインインジケータ432を提供することができ、この場合、乗数つまみ434を右にスライドするとビジネス指標乗数が増大、例えばリソースがスケールアップし、乗数つまみ434を左にスライドするとビジネス指標乗数が減少、例えばリソースがスケールダウンする。
次に図5を参照すると、図5に係るブロック図は、様々な態様に従ってリソースのスケーリングを促進する例示的なスケーラビリティインターフェースを図示する。図示されたように、スケーラビリティインターフェース500は、プロセッサコンポーネント510、メモリコンポーネント520、ステータスコンポーネント530、ディスプレイコンポーネント540、入力コンポーネント550、修正コンポーネント560、および変換コンポーネント570を含むことができる。
リソース管理ユニット200におけるプロセッサコンポーネント210と同様、プロセッサコンポーネント510は、複数の機能のうち何れかの実施に関するコンピュータ読取可能命令を実行するように構成されている。プロセッサコンポーネント510は、スケーラビリティインターフェース500から通信される情報を分析し、ならびに/あるいはメモリコンポーネント520、ステータスコンポーネント530、ディスプレイコンポーネント540、入力コンポーネント550、修正コンポーネント560、および/または変換コンポーネント570によって利用可能な情報を生成するのに特化した単一のプロセッサまたは複数のプロセッサであることができる。追加または代替として、プロセッサコンポーネント510を、スケーラビリティインターフェース500の1つまたは複数のコンポーネントを制御するように構成することができる。
別の態様においては、メモリコンポーネント520は、プロセッサコンポーネント510に接続され、およびプロセッサコンポーネント510が実行するコンピュータ読取可能命令を格納するように構成される。メモリコンポーネント520は、ステータスコンポーネント530、ディスプレイコンポーネント540、入力コンポーネント550、修正コンポーネント560、および/または変換コンポーネント570のうち何れかにより生成されたデータを含め、複数の他の種類のデータのうち何れかを格納するように構成されることもできる。ここで、メモリコンポーネント520は、リソース管理ユニット200におけるメモリコンポーネント220と類似のものであることに留意されたい。したがって、メモリコンポーネント220の前述の機能/構成の何れもメモリコンポーネント520に適用可能であることは理解されよう。
図示されたように、スケーラビリティインターフェース500は、ステータスコンポーネント530およびディスプレイコンポーネント540も含み得る。このような実施形態では、ステータスコンポーネント530は使用されたコンテンツプロバイダのデータを示すデータ使用状況を確定するように構成され、一方、ディスプレイコンポーネント540はデータ使用状況の様々な態様のうち何れかをコンテンツプロバイダに対して表示するように構成される。ここで、このようなデータ使用状況の態様を複数の方法のうち何れかで表示できることが想定されている。例えば、ディスプレイコンポーネント540を、データ使用状況のグラフィカル表現、例えば、時間に対するデータ要求数を追跡する棒グラフを提供するように構成することができる。
スケーラビリティインターフェース500はさらに、入力コンポーネント550および修正コンポーネント560を含み得る。このような実施形態では、入力コンポーネント550はコンテンツプロバイダからの入力を受信するように構成され、一方、修正コンポーネント560は入力に応答してコンテンツプロバイダに関連したデータ可用性リソースの割り当てを修正するように構成される。このような修正を促進するために、スケーラビリティインターフェース500は変換コンポーネント570も含むことができ、当該変換コンポーネント570は、スケーラビリティ指標とビジネス指標との間での変換を実行するように構成される。さらに、特定のビジネス指標は対応するスケーラビリティ指標に変換可能であり、特定のスケーラビリティ指標は対応するビジネス指標に変換可能である。一態様においては、スケーラビリティ指標は、コンテンツプロバイダのデータ使用の処理に直接的に関連する複数の指標のうち何れか、例えば、時間単位あたりのクエリ数を処理する能力に関連付けることができ、一方、ビジネス指標は、複数のビジネス関連指標のうち何れか、例えば、コンテンツプロバイダのデータに関連した需要、スケールされた量のコンテンツプロバイダのデータをホストするコスト等に関連付けることができる。実際、コンテンツプロバイダはスケーラビリティ指標よりもビジネス指標の入力を好み得るので、このような指標の間を切り替えるための様々なツールを提供することができる。例えば、一態様においては、入力コンポーネント550を、コンテンツプロバイダの入力を所望のビジネス指標の乗数として受信するように構成することができ、変換コンポーネント570は、当該乗数に基づいて所望のビジネス指標を対応するスケーラビリティ指標に変換するように構成される。この目的のため、入力コンポーネント550を乗数つまみとして実装することができ、乗数は、当該乗数つまみを介してコンテンツプロバイダから確定することができる。
図6は、一実施形態にかかる、リソースをスケーリングするユーザインターフェースを提供するための例示的で非限定的な実施形態を示すフローチャートである。600において、コンテンツプロバイダとサーバとの間の通信を確立する。次に610において、サーバを介して使用されたコンテンツプロバイダのデータを示すデータ使用状況を確定する。データ使用状況は、サーバを介して使用されたコンテンツプロバイダのデータを示す。次に620において、スケーラビリティインターフェースをコンテンツプロバイダに提供するが、スケーラビリティインターフェースは、データ使用状況の諸態様を表示し、また、コンテンツプロバイダからの入力を受信する。次に630において、入力に応答して、コンテンツプロバイダに関連したデータ可用性リソースの割り当てを修正する。
図7は、一実施形態にかかる、リソースの外部的なスケールを促進する例示的なシステムを示す。この特定の実施形態では、リソース管理ユニット710は、コンテンツプロバイダ720および/またはサードパーティによって、スケーラブルデータベース722内部でホストされるデータに対するデータ使用要求を管理するように構成される。さらに、リソース管理ユニット710は、コンテンツプロバイダのデータの使用に関連した応答性能をコンテンツプロバイダ720に通知するように構成されることができ、これにより、コンテンツプロバイダ720がそれに応じてスケーラブルデータベース722を削除および/または複製できるように。一態様においては、リソース管理ユニット710はAPIコールをコンテンツプロバイダ720に送信することができ、これらのAPIコールに対するAPIレスポンスが、続いてリソース管理ユニット720に提供される。例えば、特定の性能閾値を超過したことを示すAPIコールをコンテンツプロバイダ720に提供することができ、そしてこの場合、例えば、新たな複製されたデータベースの位置を提供するなど、スケーラブルデータベース722のスケーリングが実施されたかどうか/どのように実行されたかを示すAPIレスポンスを、リソース管理ユニット710に提供することができる。
次に図8を参照すると、ブロック図により、様々な態様にかかるリソースのスケーリングを促進する例示的なAPI(Application Programming Interface)ユニットを図示されている。図示されるように、APIユニット800は、プロセッサコンポーネント810、メモリコンポーネント820、監視コンポーネント830、生成コンポーネント840、通信コンポーネント850、およびトリガコンポーネント860を含むことができる。
それぞれリソース管理ユニット200およびスケーラビリティインターフェース500におけるプロセッサコンポーネント210および510と同様に、プロセッサコンポーネント810は、複数の機能のうち何れかを実施することに関連したコンピュータ読取可能命令を実行するように構成されている。プロセッサコンポーネント810は、APIユニット800から通信される情報を分析し、ならびに/あるいはメモリコンポーネント820、監視コンポーネント830、生成コンポーネント840、通信コンポーネント850、および/またはトリガコンポーネント860によって利用可能な情報を生成するのに特化した単一のプロセッサまたは複数のプロセッサであることができる。追加または代替として、プロセッサコンポーネント810を、APIユニット800の1つまたは複数のコンポーネントを制御するように構成することができる。
別の態様においては、メモリコンポーネント820は、プロセッサコンポーネント810に接続され、およびプロセッサコンポーネント810が実行するコンピュータ読取可能命令を格納するように構成される。メモリコンポーネント820は、監視コンポーネント830、生成コンポーネント840、通信コンポーネント850、および/またはトリガコンポーネント860のうち何れかによって生成されたデータを含め、複数の他の種類のデータのうち何れかを格納するように構成されることもできる。ここで、メモリコンポーネント820は、それぞれリソース管理ユニット200およびスケーラビリティインターフェース500におけるメモリコンポーネント220および520と類似のものであることに留意されたい。したがって、メモリコンポーネント220および520の前述の機能/構成の何れもメモリコンポーネント820に適用可能であることは理解されよう。
図示されるように、APIユニット800は監視コンポーネント830および生成コンポーネント840を備えることもできる。このような実施形態において、監視コンポーネント830は、コンテンツプロバイダによってホストされるデータに対するデータ使用要求への応答に関連した応答性能を監視するように構成され、一方、生成コンポーネント840は、応答性能の特性評価に基づいてAPIコールを生成するように構成される。
別の態様において、APIユニット800は通信コンポーネント850を備え、当該通信コンポーネント850は、プロセッサコンポーネント810に接続され、APIユニット800と外部エンティティとのインターフェースとなるように構成される。例えば、通信コンポーネント850を、生成コンポーネント840によって生成されるAPIコールをコンテンツプロバイダに送信するように構成することができる。通信コンポーネント850を、コンテンツプロバイダからのAPIレスポンスを受信するように構成することもでき、この場合、このようなAPIレスポンスは、データをホストするためのリソースのスケーリングが実施されたかどうかを示す。このような実施形態では、続いて、データ使用要求の処理を、リソースのスケーリングに従って修正することができる。
別の態様では、APIコールが、応答性能の階層化された特性評価に従って生成/送信されることが想定されている。このような実施形態においては、トリガコンポーネント860を含めることができ、当該トリガコンポーネント860は、いつ応答性能が特定の特性評価を示すかを複数の階層化された性能閾値のうち何れかに基づいて判定するように構成される。例えば、トリガコンポーネント860は、警告閾値のトリガを検出するように構成され、この場合、APIコールは、応答性能が所定の「警告」閾値、例えば25%の低下を超過したことを示す警告メッセージを含む。
トリガコンポーネント860を、強制スケーリング閾値のトリガを検出するように構成することもでき、この場合、APIコールは、応答性能が所定の「強制スケーリング」閾値、例えば50%の低下を超過したことを示す強制スケーリングメッセージを含む。ここで、このような強制スケール閾値を促進するように、具体的な詳細事項をAPIコールおよび/またはAPIレスポンスに含めることができることに留意されたい。例えば、APIコールは、データの複製の現在の数の表示、強制スケーリング閾値のトリガに関連した応答時間、および/または平均応答時間を含むことができ、一方、APIレスポンスは、データの複製の新たな数の表示、データに関連した新たなデータソースの位置、ならびに/あるいは、コンテンツプロバイダおよび/またはもしくはコンテンツプロバイダに関連したサードパーティによって実施されるスケーリング処理手順の状況を含むことができる。
より厳格な階層も想定されており、例えば50%の低下も階層として想定される。例えば、トリガコンポーネント860を、ポリシ修正閾値のトリガを検出するように構成することができる。このような実施形態では、ポリシ修正閾値のトリガに応答して、データ使用要求の処理に、データ使用要求に関連したキャッシュポリシの修正を含めることができる。
図9は、一実施形態にかかる、リソースをスケールするユーザインターフェースを提供するための例示的で非限定的な実施形態を示すフローチャートである。900において、データ使用要求への応答に関連した応答性能を監視する。この特定の実施形態について、データ使用要求は、コンテンツプロバイダによってホストされるデータに対する要求である。次いで910において、API(Application Programming Interface)コールを応答性能の特性評価に基づいて生成する。次に920において、APIコールをコンテンツプロバイダに送信する。次に930において、APIレスポンスをコンテンツプロバイダから受信するが、APIレスポンスは、データをホストするためにリソースのスケーリングが実施されたかどうかを示す。このような実施形態では、データ使用要求の処理をリソースのスケールに従って修正する。
IaaSに関する補足的なコンテキスト
以下の説明には、上述の実施形態の1つまたは複数の理解をさらに支援するための可能な非限定的な情報基盤、アーキテクチャ、および/または関連したサービスに関する補足的なコンテキストが含まれる。この節で説明する任意の追加の機能のうち任意の1つまたは複数を、任意のプラットフォームからのIaaSに対する、データセットの意味および対応するアクセスAPIの更新に関して上述した実施形態の任意の1つまたは複数に含めることができる。このような諸実施形態または諸機能の組合せが可能であるが、疑義を避けるため、本開示で説明した諸実施形態は、本明細書で説明した他のいずれかの実施形態に関する限定と考えられるべきではない。
幾つかの追加の背景として、今日では、情報をインターネットのようなネットワークを介して取得できるが、今日提供されるものはアクセスおよびフレームワークの点で独占的な所有物である傾向があり、従って、サードパーティプロバイダの参加という点で制限されている。例えば、現在、商用コンテンツのプロバイダが、このような商用コンテンツの価値の少なくとも一部を放棄しないで済む、自己のコンテンツデータを発行するための適切なビジネスモデルは存在しない。したがって、歴史的には、価値あるコンテンツの所有者はコンテンツを限定的で独占的な手段で公開する傾向にあった。あるいは、このようなコンテンツのストレージが、セキュアなクラウドストレージプロバイダにより提供される事例では、消費者が興味のある項目を結果として見つけるのに、何千ものテーブルをかき分ける場合には、ストレージ自体には殆ど価値がない。さらに、クラウドストレージプロバイダがデータを様々なプロバイダから収集しようとしても、このようなプロバイダはせいぜい、適度な、小規模の、または不完全なデータカタログを持っているに揃えられるに過ぎない。
当分野における潜在的な成長を阻害するものの多くは、取り扱い方法およびIP、例えば著作権に対する不信頼の結果である。手短に言えば、大企業はクラウドプロバイダに重要資産を委託しない。なぜならば、1回の情報漏洩でデータの価値がなくなる可能性があるからである。さらに、このようなこれまでのクラウドプロバイダは、自己の情報ニーズについてこのようなデータから価値を抽出したい情報労働者に対しては弱い立場にあったり、加えてこのようなシステムの独占的な性質のため、開発者はこれまでは情報機能を開発するためのツールを拡張することがほとんどできなかった。
したがって、1つまたは複数の実施形態について説明したように、あらゆるクラスの個人、即ち、発行者、開発者、情報労働者、および消費者に適合するIaaSに対する情報基盤を提供する。情報基盤は、情報探索、例えば、構造化されたブロブデータセットを発見、取得、使用する能力を可能にし、任意のスクリーンサイズなど任意のプラットフォームおよび任意のフォームファクタにおいて、任意のアプリケーションを強化することを可能にする。情報基盤により、さらに、仲介ビジネス、例えばパートナ主導型の世界規模なエコシステム(partner driven ecosystem and global reach)が、データおよび機能を開発者および情報労働者に提供することが可能となる。そして、情報基盤では、分析およびレポートが可能となり、例えばシングルクリック分析により秘密データを公開データで補完することができる。この点、情報基盤の様々な実装のオープンな性質のため、あらゆるアプリケーション開発者は、データの発行、処理、問合せ、および/または取り出しを促進するためのモバイルアプリケーション、クラウドアプリケーション、および/またはデスクトップアプリケーションを開発することができる。
アプリケーションを書くために、アカウント情報を登録することができ、例えばLiveIDでサインインし、アカウント鍵により、本明細書で1つまたは複数の実施形態について説明したIaaSに対する情報基盤に対して可能となる、構造化されたリアルタイムなウェブサービスを介して、「ブロブ」にアクセスするアカウント鍵を提供することができる。一態様では、開発者は、コーディングを開始する前にAPIを視覚的に調査することができる。例えば、サービスエクスプローラモジュールまたは一組のモジュールは、開発者が視覚的にREST(REpresentational State Transfer)APIクエリを構築し、様々なパッケージに従ってコンテンツをプレビューするのに使用されることができる。様々なパッケージには、これらには限定されないが、例えば構造化データに対しては、XML(EXtensible Markup Language)、ATOM、(ブロブおよびリアルタイムなコンテンツに対する)RAW、またはテーブルのビューがある。例えば、開発者は単に自己のアカウント鍵を提供して、コンテンツをプレビューすることを選択するだけである。
従って、開発者は、モバイルアプリケーション、デスクトップアプリケーション、またはサービスアプリケーションを任意のプラットフォームで構築することができる。結果のRESTクエリを新たな開発者アプリケーションにコピーすることができ、そして、IaaSに対する情報基盤では、自動生成されたC#プロキシクラスを使用する能力により、ローカルオブジェクトモデルを作成する必要性またはXMLもしくはウェブサービスのコードの詳細を生成し理解する必要性を排除することができる。この点、別の非限定的な有益な態様では、開発者がプロキシクラスをダウンロードすることができ、それらを開発者のアプリケーションに含めて、サービスデータを出来るだけ少ない行数のコードで使用することができる。
この点、IaaSに対する情報基盤の様々な実施形態では、開発者および情報労働者は、データを自分のアプリケーションおよび分析シナリオで即座に、定期的に、またはアプリケーション開発者によって指定された他の時間関数で、発見し、取得し、使用することができる。前述のように、開発者はアカウント鍵を取得し、これに続いて、コンテンツ要求および興味のあるコンテンツの申し込みについての1つまたは複数の実施形態に関して本明細書中で説明されたような、Iaasを可能とする、ネットワークサービスへのウェブサービスコールが行われる。
つまり、一態様では、本明細書において1つまたは複数の実施形態について説明したIaaSのための情報基盤によって提供されるアカウント鍵は、開発者の秘密鍵である。この鍵により、開発者のアプリケーションと関連して使用されるコンテンツに対する課金およびレポートが可能となる。したがって、この開発者の秘密鍵は目的なしに共有されるものではなく、モバイルまたはデスクトップのソリューションで実行されるネイティブアプリケーションを開発し鍵をデプロイメントの一部として統合しようと計画する場合には、鍵の安全性確保において予防措置を取るべきである。例えば、暗号ストレージを使用して、確実に鍵が解読されないようにすることができる。
コンテンツを使用するアプリケーションの追跡に使用されるアカウント鍵に加えて、ユーザIDは、開発者の個々のユーザを表すGUID(Globally Unique IDentifier)である一意のユーザIDとすることができる。このフィールドにより、ユーザ単位ベースでプログラム的に価格設定されるコンテンツに対して課金をすることができる。例えば、開発者がモバイルアプリケーションを開発し、個々のユーザがアプリケーションを使用している場合は、開発者は、要求が行われる度にユーザに代わって同一のGUIDを返す。しかしながら、開発者がウェブポータルを開発し、様々なユーザの代わりにウェブサービス要求を発行している場合には、ポータルを訪問するユーザ毎に新たなGUIDを割り当てるのは開発者に任されている。例えば、各登録ユーザにGUIDを割り当てることができ、または、各IPアドレス/ポートの組合せにユーザID、GUID等を割り当てることができる。
REST APIは、本明細書において1つまたは複数の実施形態について説明したIaaSのための情報基盤からコンテンツを使用する、任意のプラットフォームで構築することができ、そして一実施形態では、プロキシクラスをC#でサービスに対して動的に生成することができる。これを達成することは、オブジェクトモデルをダウンロードし、それを現在の開発者のプロジェクトに追加し、アカウントおよびユーザ値、例えば一意のユーザ値を更新することに関する問題である。
開発者が手動で要求を発行したい場合は、例を以下で提供するが、任意のサービスに対して、プレビュー機能を使用することができ、またはサービスエクスプローラから生成したURLを起動することもできる。サンプルのデータセットに対する例示的で非限定的なRESTクエリを以下に示す。一部または全部のコールは、セキュアなSSL(Secure Socket Layer)である得ることに留意されたい。
https://api.sqlazureservices.com/UnService.svc/UNESCO(120)
"$accountKey" および"$uniqueUserld"要素も要求のヘッダに置かれ、これらは、例えば以下のように見える。
$accountKey={developer account key}
$uniqueUserID={a GUID representing the user}
"$accountKey"の値は、アカウントタブに存在する開発者のアカウント鍵を表し、"$uniqueUserlD"の値はサービスにアクセスするユーザのGUIDを表す。
上述の認証アプローチの例は、他の認証アプローチも可能であるという点で非限定的であり、したがって、本明細書で説明した様々な実施形態で任意の代替的な認証アプローチを実装することができる。例えば、AccountKeyをパスワードとして用いる基本認証(RFC 1945)、トークンベースのアプローチを用いたACS(Access Control Server)、または他のトークンベースのアプローチを使用することもできる。
したがって、本明細書における1つまたは複数の実施形態について説明したIaaSに対する情報基盤は、開発者および情報労働者が、任意のプラットフォームで貴重なデータサブスクリプションを容易に発見し、購入し、管理できるようにする新たなサービスまたはフレームワークである。情報基盤は、データ、画像、およびリアルタイムなウェブサービスを、有数の商用データプロバイダおよび権威ある公的なデータソース、ならびに非権威的な発行者から、共通のプロビジョニングおよび課金フレームワークのもとで統合された単一または複数の場所にまとめる、情報市場である。さらに、開発者および情報労働者はこの貴重なコンテンツを事実上任意のプラットフォーム、アプリケーションまたはビジネスワークフローで使用することができる。
本明細書における1つまたは複数の実施形態について説明したIaaSに対する情報基盤を使用するための幾つかの例示的で非限定的なシナリオには、(a)消費者およびビジネスのシナリオに対する次世代の「キラーアプリケーション」に対する貴重なコンテンツを発見すること、(b)既存のアプリケーションまたはレポートを改善するための価値のあるデータを発見しライセンスを与えること、(c)異なるデータセットを独創的な方法でまとめて、ビジネスの性能およびプロセスについての新たな見識、例えば集約アルゴリズムを得ること、(d)ブロブ、構造化データ、リアルタイムなウェブサービスに関する全てのコンテンツプロバイダにわたって即座かつ視覚的にAPIを開発 すること、ならびに(e)リッチなレポートおよび分析向けの、既存のワードプロセッサ、スプレッドシート、データベースクエリシステム等、既存のアプリケーションおよびデータベースシステムの内部でサードパーティのデータを使用すること、が含まれる。
開発者に対する利点には、(a)試行的なサブスクリプションにより、データロイヤリティを支払うことなく、コンテンツを調査しアプリケーションを開発できること、(b)単純なトランザクションおよびサブスクリプションのモデルにより数百万ドルのデータセットに対する「従量課金制(pay as you go or grow)」のアクセスが可能となること、(c)データセットにわたる一貫したRESTベースのAPIにより任意のプラットフォームでの開発が促進されること、(d)APIの視覚的な構築および開発、結果のプレビュー、ならびに(e)自動的なC#プロキシクラスによりインスタントオブジェクトモデル(instant object model)が提供され、冗長なXMLおよびウェブサービスのコードを書く必要がなくなることが含まれる。
情報労働者に対する利点には、(a)これには限定されないがExcelなどの既存のスプレッドシートソフトウェアにおけるデータで容易に作業するための、PowerPivotとの統合、(b)コンテンツを取得するための単純で予測可能なライセンスモデル、ならびに(c)SQL Server、SQL Azure Database、および他の既存の資産からのデータを使用する能力が含まれる。
コンテンツパートナに対する利益には、(a)ブロブデータ、構造化データ、または動的なウェブサービスにとらわれない容易な発行およびオンボーディングのプロセス、(b)選択されたプラットフォームにおける、例えばVisual Studioおよび.NETまたは他のランタイムシステム開発を介した、開発を容易にするための開発者用ツールの構築、(c)グローバルな開発者および情報労働者のコミュニティに対する開発者のコンテンツの公開、(d)既存のコンテンツ使用アプリケーション内部でのコンテンツ発見および統合、ならびに(e)スケーラブルなクラウドコンピューティングプラットフォームによる、全当事者に代わる記憶、提供、課金、およびレポート、が含まれる。
本明細書における1つまたは複数の実施形態について説明したIaaSに対する情報基盤の非限定的な実装形態では、リッチウェブサービスの幾つかの機能には、(a)コンテンツカタログ全体にわたってサービスを使用するためのセキュアなRESTベースのモデル、(b)アクセスを簡略化するための、APIに組み込まれた動的ページネーション、(c)標準的なATOM1.0フィードが大部分のサービスに利用可能であること、ならびに(d)全てのサービスにわたる一貫した課金、プロビジョニング、および利用レポート、が含まれる。
本明細書における1つまたは複数の実施形態について説明したIaaSに対する情報基盤の非限定的な実装形態では、サービスエクスプローラのコンポーネントの幾つかの機能には、(a)開発を簡略化するために生成されたC#プロキシクラス、(b)タブ形式およびフィード、例えばサポートされる場合はATOM1.0フィードとしてのデータのプレビュー、(c)コンパイルされたサービスコールが返す結果を理解するためのサービスの起動、(d)ドキュメンテーションの発見およびパラメータごとのサンプル値の発見、ならびに(e)開発を容易にするための、サービスコールに対する視覚的に構築されたURLのクリップボードへの即時コピー、が含まれる。
本明細書における1つまたは複数の実施形態について説明したIaaSに対する情報基盤の非限定的な実装形態では、市場統合および発見ポータルのコンポーネントの幾つかの機能には、(a)消費者および企業を含む領域にわたる新たなデータの発見、(b)サービスサブスクリプションおよび利用の制限の管理、(c)サービスにアクセスするためのアカウント鍵の管理、ならびに(d)日付およびアカウント鍵でグループ化した、アクセスされたサービス/データセットを含む詳細なアクセスレポートが含まれる。
情報基盤は、コンテンツ所有者、アプリケーション開発者/ISV、情報労働者、および他の消費者/サブスクライバ(subscribers)に対して様々な価値提案を提供する。コンテンツ所有者にとって、データに課金しないデータプロバイダへの社会的な利益に加えて、この情報基盤は、(データに課金するデータプロバイダにとって)データからの収益化を可能とするが、他の方法でもこのようなデータを発行することからの利益を引き出すことができる。情報基盤の開放性のため、コンテンツ所有者は、データのより高い可用性、およびISVおよび使用者/情報労働者へのデータの到達性を享受し、これらの全ては、特に過去と同様の独占モデルを開発するよりもより低いコストで利益が得られる。
アプリケーション開発者/ISVにとって、情報基盤は、一貫した形式でのデータへのアクセス、データアクセスに対する可変で低コストの価格モデル、予測可能な価格設定、そのデータを用いて形成された、使用者/IWがアプリケーションを利用する消費者/IWからの利益見込み、任意のプラットフォームを通じた消費者へのより広い到達性、ならびに単一の課金およびデータソース、を可能とする。
情報労働者/消費者にとって、情報基盤は、アプリケーションからの付加価値、現在の大規模オブジェクト(LOB)またはIWソフトウェアにおけるデータ使用、単一の課金およびデータソースに加えてデータアクセスに対する可変で低コストの価格モデル、を可能とする。
したがって、情報基盤は、現在の顧客および開発者の痛点を潜在的に大幅な収入上昇をもって解決し、モデル化、レポート、分析、およびトレンド分析のための即時データ(instant data)を伴ったビジネスインテリジェンスの機会をもたらし、データ所有者が情報基盤を介して自分のデータを格納するように促すことで任意のプラットフォームの採択およびそれへの固執性をもたらし、それにより、従来式のクラウド記憶環境と比較した場合の情報基盤の価値提案を差別化する。
図10のフローチャートに示すように、1000においては、コンテンツの所有者または発行者が情報基盤を介してデータを発行する様々な方法が記載されている。1010において、開発者が情報基盤を介してデータを使用するためのアプリケーションを開発できるようにする様々なツールが存在する。1020において、消費者または情報労働者はアプリケーションを使用し、または、直接データに対して問合わせてデータを使用することができる。最後に、1030において、情報基盤は、コンテンツチェーンにおける全当事者に代わって自動的な管理、監査、課金等を可能とする様々なリッチなツールを提供し、これらはトランザクションモデルにより可能となる。
この点、情報基盤の一部の主要な当事者には、データ所有者、アプリケーション開発者/ISV、および消費者/情報労働者が含まれる。一般に、データ所有者とは、データに課金したいか、または、他の理由により無償でデータを提供したいか、または、データに他の条件を強制したいエンティティである。次に、アプリケーション開発者/ISVとは、自分のアプリケーションを(例えば、広告を通じて、直接払い、間接払い等で)収益化したいか、または、自己に対する何らかの有益な理由から自分のアプリケーションを無償で提供したいエンティティである。情報労働者および使用者とは、生のデータを使用できる者、または、アプリケーション開発者が提供するアプリケーションを使用したいエンティティである。
図11は、本明細書で説明したIaaSを提供するエコシステムに参加できる様々な当事者を一般的に示すブロック図である。例えば、一組のネットワークアクセス可能な情報サービス1100が、データの機密性または他の特徴に応じて、様々な信頼されたまたは信頼されていないデータストア1110へのアクセスを提供する。図示されるように、したがって、エコシステムが任意の種類のデータ、ブロブ、構造化データ、構造化されていないデータ等をサポートするので、データストア、即ち1112、1114、...、1116のタイプはあまり重要ではない。先に述べたように、システムは、データをエコシステムに追加する発行者1120、データを使用するサブスクライバ1130、および自分達のアプリケーションでデータを使用することを支援するアプリケーション開発者またはプロバイダ1150を含む。アクセス情報ジェネレータ1170はまた、アカウント情報、鍵情報等の維持または実施を通じて、様々な当事者によるデータへのアクセスを管理することができる。この点、コンテンツ所有者1160は、コンテンツ所有者1160を発行者1120、サブスクライバ1130、および/またはアプリケーション開発者とすることもできるという点で、複数の役割のうちのいずれかに跨ることができる。一態様においては、全当事者に対する共通の情報基盤により、管理1165、監査1175、課金1175、ならびに情報基盤にわたって起こるデータトランザクションに対する他の所望の付属サービスが可能となる。
この点、任意のプラットフォームからのIaaSを可能とするためのユーザフレンドリなデータプラットフォームに係る様々な実施形態は、データの消費者(IW、開発者、ISV)およびデータの消費者が、簡潔で費用対効果が良く便利な手法で処理することが可能な情報基盤である。情報基盤は貴重な(私的な)データおよびコミュニティの(公的な)データを手頃な方法で民主的にする(democratize)ことにより、IWが迅速に見識を見出すことができ、開発者が複数のデータソースを用いて創造的な手法で独創的なアプリケーションを構築することができ、開発者が任意のプラットフォームでの自分の作業を収益化できるようにする。例えば、情報基盤は、コンテンツに対する利用回数制料金ならびにサブスクリプション料金、コンテンツ料金(Pay for Content)(コンテンツ所有者が設定する「小売価格」)、支払データ手数料(Pay Data Fee)(「出荷および取扱手数料」)、およびBWをサポートし、さらに、論理トランザクション単位(レポート単位、API単位、ダウンロード単位等)の仲介料としてのデータ手数料をサポートする。
情報労働者(例えば、Office、SQL Server、Dynamicsのユーザ)に対して、情報基盤は、将来のEA統合ならびに予測可能な支出要件(ならびに、オンおよびオフを前提としたBIおよび「HPC」作業負荷をサポートするためのキャッシュ)を可能とするためのサブスクリプションをサポートする。したがって、代替手段には、コンテンツをユーザ毎、月毎に課金することが含まれ、これは、コンテンツパックまたはトランザクション単位の価格設定を配信するためにバンドルしてもしなくともよく、例えばクラウドレポート/ビジネスインテリジェンスのオンデマンド価格設定は、利用単位の価格設定またはレポートギャラリを介した垂直アプリケーションを可能とする一方で、大量のデータを移動させる必要性を排除することができる。
コンテンツプロバイダ(任意のデータタイプ、任意のクラウド)に対して、任意のプラットフォームを用いて、情報基盤は、任意の特定の所望のプラットフォームにおいて売上に刺激を与える貴重な提案となり、追加のコストなしに自動的にスケールでき、高レベルのSLAが得られる可能性がある。幾つかの非限定的な例では、データをセキュアにすることができ、データを以下の領域のデータと関連付けることができる。即ち、位置認識型サービスおよびデータ、商用および住宅の不動産、金融のデータおよびサービス等のデータである。非限定的なシナリオには、上位30社のNGO(Non-Governmental Organization)のデータセットにデータを提供することを含み得る。さらに、情報基盤が、「IaaS向けBing(Bing for Information as a Service)」、HPC等を通じてBIおよび可視化を示す機能を含むことができる。垂直アプリケーションの機会も同様に存在する。
1つの非限定的な実施形態では、データ仲介を従来式のブリックアンドモルタル(brick and mortar)戦略と類比させることができる。例えば、容量を棚の空間(例えば、構造化されたブロブデータと構造化されていないブロブデータとの混合)として表すことができ、商品原価(COGS)を面積(SA、プラットフォーム依存性、帯域幅)として表すことができ、コンテンツを商品として表すことができる(例えば、COGSをカバーするようにコンテンツプロバイダを最適化し、IWおよび開発者からの収益を最大化できる)。様々な実施形態では、オンボーディングプロセスを、データおよびサービスに関する品質基準を用いて、ならびにサービス内容合意書(SLA:Service Level Agreement)の適応により実装することができる。
図12は、1つまたは複数の機能に従う上述のIaaSに対する情報基盤1210の例示的で非限定的な実装形態である。対話側には、情報労働者1200、開発者1202、および使用者1204があり、これらはSSL/RESTベースのAPI1206を介して情報基盤と通信することができる。負荷分散器1208を使用して、トラフィックの誘導を最適な方法で支援することができる。この点、入力はポータルウェブロール1220またはAPIウェブロール1222にルーティングされる。情報基盤1210からデータ側には、クラウドストレージフレームワーク1240のブロブデータセット1242もしくはブロブデータセット1255、または、関係データベースフレームワーク1250のデータセット1252もしくはデータセット1254にアクセスするための追加の負荷分散器1224または1226(例えば、WAまたはSA)がある。プロキシレイヤ1228を使用して、サードパーティクラウド1260のデータ1262またはデータ1264にアクセスすることができる。適用可能な場合は、コンテンツデータ抽象化レイヤ(DALs)1230を使用してコンテンツにアクセスすることができる。この点、データセットの複製または重複が様々なタイプのストレージに跨って存在することがあり、例えば、同一のデータがブロブデータおよび構造化データ、例えばSQLとして表されるかもしれない。
データへの補足的なサービスとして、課金および発見サービス1270がオンライン課金1272(例えば、MOCP)または発見サービス1274(例えば、Pinpoint)を含むことができ、認証サービス1280が証明書管理1282(例えば、Live ID)またはコンテンツ認証1284、例えば、認証コンテンツサービス(authenticated content services, ACS)を含むことができる。アカウントサービス1290が、ログ取得/監査サービス1286またはアカウント管理1288サービスを含み得る。管理運用サービス1292は運用ダッシュボードサービス1294およびネットワーク運用サービス1296、例えばGomezを含み得る。
図13は、IaaSを可能とするための一般的な情報基盤の1つまたは複数の実施形態に従う、データから当該データの消費者への例示的なエンドツーエンドの流れを示すブロック図である。例えば、IaaS1300は、商用データ1302および無償データ1304を含むことができ、これらは、営利開発者1310、動機が非営利である非営利開発者1312、および一般的に生産的な目的でデータを使用することに興味をもつ他の情報労働者1314といった様々な者が興味をもつ可能性がある。これらのエンティティは、探索サービス1320を使用して、どのアプリケーション1322、1324、、、、、1326が彼らにとって興味がありうるかを判定し、最終的にはデータをILA消費者1330およびDLA消費者1332へ同様に送信することができる。
オープンデータプロトコル
ネットワーク対話および情報サービスを様々なコンピュータシステム構成およびプロトコルで実施できることは当業者には理解されよう。この点、本明細書で説明する1つまたは複数の実施形態で使用できるデータを問合わせて更新するための1つの非限定的な実装形態は、オープンデータプロトコル(OData)である。
ODataは、データを問合わせて更新するためのウェブプロトコルである。ODataは、HTTP(HyperText Transfer Protocol)、AtomPub(Atom Publishing Protocol)、およびJSON(JavaScript Object Notation)のようなウェブ技術を適用して、様々なアプリケーション、サービス、およびストアからの情報へのアクセスを提供する。ある一般的な背景として、ODataは、AtomPubのクライアントおよびサーバを様々な製品で過去数年間実装した経験に基づいて、有機的に出現したものである。ODataを使用して、これらには限定されないが、リレーショナルデータベース、ファイルシステム、コンテンツ管理システム、および伝統的なウェブサイトを含め、様々なソースからの情報を公開し、情報にアクセスすることができる。ODataは、OSP(Open Specification Promise)のもとでリリースされ、エコシステムの発展を推進するために、誰もがOData実装と自由に相互運用できるようにするものである。ODataの機能を他のプロトコルに組み込んで、ネットワークデータを問合わせて更新するための同様な機能を有するハイブリッドなプロトコルを形成することもできる。
ODataは、ウェブが動作する方法と一致する。一態様では、ODataは、例えばインターネットの動作方法と同様に、リソースを特定するための方法としてURI(Universal Resource Identifiers)を使用し、これらのリソースと対話するための均一なインターフェースを有するHTTP主体のプロトコルを使用する。1つの非限定的な態様では、ODataは、AtomPubにより普及したHTTP上の規約で構築されており、この規約は、データ、コンテンツ、および情報を独自に開発したシステムにわたり共有するプロセスを簡略化する。ODataは、交換すべき基本的なクエリおよびスキーマ情報をサポートするために諸実装形態が任意に実装できる、追加の規約を定義する。HTMLおよびJavaScript(登録商標)のクライアントとの統合を簡素化するために、ODataは、XMLベースのAtomPubフォーマットを補完するプロトコルの任意的なJSON表現を定義する。理解できるように、ODataプロトコルに関する追加の実装仕様または他の詳細についてはwww.odata.orgで見つけることができる。
例示的なネットワーク環境および分散環境
当業者には、本明細書で説明した、任意のプラットフォームからのIaaSのための情報基盤向けの方法および装置の様々な実施形態および関連した諸実施形態を、コンピュータネットワークまたは分散コンピューティング環境の一部として展開することができ、任意の種類のデータストアに接続することができる、任意のコンピュータまたは他のクライアント装置もしくはサーバ装置と関連して実装することが、当業者には理解されよう。この点、本明細書で説明した様々な実施形態を、任意数のメモリまたはストレージユニットを有する任意のコンピュータシステムまたは環境で、および、任意数のストレージユニットにわたって生じる任意数のアプリケーションおよびプロセスで実装することができる。これには、リモートまたはローカルのストレージを有する、ネットワーク環境または分散コンピューティング環境において展開されたサーバコンピュータおよびクライアントコンピュータを有する環境が含まれるが、これには限定されない。
図14は、例示的なネットワークコンピューティング環境または分散コンピューティング環境の非限定的な概略図を提供する。分散コンピューティング環境は、コンピューティングオブジェクトまたは装置1410、1412等およびコンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等を備え、これらのコンピューティングオブジェクトまたは装置は、アプリケーション1430、1432、1434、1436、1438によって表されるような、プログラム、メソッド、データストア、プログラム可能ロジック等を含むことができる。コンピューティングオブジェクトまたは装置1410、1412等およびコンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等が、PDA、オーディオ/ビデオ装置、携帯電話、MP3プレイヤ、ラップトップ等のような様々な装置を備えてもよいことは理解されよう。
各コンピューティングオブジェクトまたは装置1410、1412等およびコンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等は、1つまたは複数の他のコンピューティングオブジェクトまたは装置1410、1412等ならびにおよびコンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等と、通信ネットワーク1440により直接または間接に通信することができる。図14では単一の要素として図示したが、ネットワーク1440が、サービスを図14のシステムに提供する他のコンピューティングオブジェクトおよびコンピューティング装置を備えてもよく、および/または、図示していないが複数の相互接続ネットワークを表してもよい。各コンピューティングオブジェクトまたは装置1410、1412等または1420、1422、1424、1426、1428等が、様々な実施形態に従って提供される任意のプラットフォームからのIaaSに対する情報基盤との通信または情報基盤の実装に適した、API、または他のオブジェクト、ソフトウェア、ファームウェア、および/またはハードウェアを利用するアプリケーション1430、1432、1434、1436、1438のようなアプリケーションを含むこともできる。
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピューティングシステムを、有線または無線システムにより、ローカルネットワークまたは広域分散ネットワークにより、接続することができる。現在、多くのネットワークがインターネットに接続されており、インターネットは、広域分散コンピューティングに対する情報基盤を提供し多種多様なネットワークを包含するが、任意のネットワーク情報基盤を、様々な実施形態で説明した技法に伴う例示的な通信に使用することができる。
したがって、クライアント/サーバ、ピアツーピア、またはハイブリッドアーキテクチャのような、多数のネットワークトポロジおよびネットワーク情報基盤を利用することができる。クライアント/サーバのアーキテクチャ、特にネットワークシステムでは、クライアントは通常は、別のコンピュータ、例えばサーバにより提供される共有ネットワークリソースにアクセスするコンピュータである。図14の例では、非限定的な例として、コンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等をクライアントと考えることができ、コンピューティングオブジェクトまたは装置1410、1412等をサーバと考えることができ、この場合、コンピューティングオブジェクトまたは装置1410、1412等が、コンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等からデータを受信すること、データを記憶すること、データを処理すること、データをコンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等に送信することのようなデータサービスを提供するが、状況に応じて任意のコンピュータをクライアント、サーバ、またはその双方と考えることができる。これらのコンピューティング装置のうち何れかが、1つまたは複数の実施形態について本明細書で説明した任意のプラットフォームおよび関連する技術からのIaaSに対する情報基盤に関与するデータを処理し、またこれに関与するサービスもしくはタスクを要求してもよい。
サーバは典型的に、インターネットまたは無線ネットワーク情報基盤のような、リモートまたはローカルのネットワーク上でアクセス可能なリモートコンピュータシステムである。クライアントプロセスが第1のコンピュータシステムでアクティブであり、サーバプロセスが第2のコンピュータシステムでアクティブであり、互いと通信媒体上で通信し、それにより分散機能を提供して、複数のクライアントがサーバの情報収集機能を利用できるようにしてもよい。ユーザプロファイリングに従って利用される任意のソフトウェアオブジェクトを、スタンドアロンで提供することができ、または、複数のコンピューティング装置もしくはオブジェクトにわたって分散させることができる。
通信ネットワーク/バス1440がインターネットであるネットワーク環境では、例えば、コンピューティングオブジェクトまたは装置1410、1412等は、コンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等が、HTTPのような幾つかの公知なプロトコルのうち何れかを介して通信するウェブサーバであり得る。先に述べたように、コンピューティングオブジェクトまたは装置1410、1412等が、コンピューティングオブジェクトまたは装置1420、1422、1424、1426、1428等の役割を果たしてもよく、その逆も成り立つが、これは分散コンピューティング環境の特徴であろう。
例示的なコンピューティング装置
先に述べたように、本明細書で説明した様々な実施形態は任意の装置に適用され、この場合、任意のプラットフォームからのIaaSに対する1つ以上の情報基盤を実装することが望ましいであろう。したがって、ハンドヘルドの、ポータブルの、および他のコンピューティング装置ならびにあらゆる種類のコンピューティングオブジェクトが本明細書で説明した様々な実施形態と関連して、即ち、任意のプラットフォームからのIaaSに対する情報基盤と関連して何らかの機能を装置が提供できる任意の場面で、使用されると想定されていることは理解されよう。したがって、図15において後述する下記の汎用目的のリモートコンピュータは、一例に過ぎず、本開示の諸実施形態を、ネットワーク/バスの相互運用性および対話を有する任意のクライアントで実装してもよい。
必要ではないが、諸実施形態のうち何れかを、装置またはオブジェクトに対するサービスの開発者による使用のためにオペレーティングシステムを介して部分的に実装することができ、および/または、動作可能コンポーネントと関連して動作するアプリケーションソフトウェアに含めることができる。ソフトウェアを、プログラムモジュールのような、1つまたは複数のコンピュータ、例えばクライアントワークステーション、サーバ、または他の装置によって実行されているコンピュータ実行可能命令の一般的なコンテキストで説明してもよい。ネットワークの対話を様々なコンピュータシステム構成およびプロトコルで実行してもよいことは当業者には理解されよう。
図15は、1つまたは複数の実施形態を実装できる適切なコンピューティングシステム環境の一例を示すが、上記で明らかにしたように、コンピューティングシステム環境1500は適切なコンピューティング環境の一例に過ぎず、諸実施形態の何れかの使用または機能の範囲に関して何ら限定を示唆しようとするものではない。コンピューティング環境1500は、例示的な動作環境1500内に図示されるコンポーネントの任意の1つまたは組合せに関して、いかなる依存性または要件も有するように解釈されるべきではない。
図15を参照すると、本明細書における1つまたは複数の実施形態を実装するための例示的なリモート装置は、ハンドヘルドコンピュータ1510の形の汎用目的のコンピューティング装置を含めることができる。ハンドヘルドコンピュータ1510のコンポーネントは、処理装置1520、システムメモリ1530、およびシステムメモリを含む様々なシステムコンポーネントを処理演算装置1520に接続するシステムバス1521を備えてもよいが、これらには限られない。
コンピュータ1510は典型的に、様々なコンピュータ読取可能媒体を備え、コンピュータ1510がアクセスできる任意の利用可能な媒体であり得る。システムメモリ1530は、ROM(Read Only Memory)および/またはRAM(Random Access Memory)のような揮発性および/または不揮発性のメモリの形のコンピュータ記憶媒体を備えてもよい。限定ではなく例として、メモリ1530が、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを備えてもよい。
ユーザは、入力装置1540を通じてコマンドおよび情報をコンピュータ1510に入力することができる。モニタまたは他のタイプのディスプレイ装置も、出力インターフェース1550のようなインターフェースを介してシステムバス1521に接続される。モニタに加えて、コンピュータは、出力インターフェース1550を介して接続される、スピーカおよびプリンタのような他の周辺出力装置を備えてもよい。
コンピュータ1510は、リモートコンピュータ1570のような1つまたは複数の他のリモートコンピュータへの論理接続を用いてネットワーク環境または分散環境で動作してもよい。リモートコンピュータ1570は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスもしくは他の共通ネットワークノード、または他の任意のリモート媒体使用装置または送信装置であってもよく、コンピュータ1510に関して上述した要素の一部または全部を備えてもよい。図15に示す論理接続には、LAN(Local Area Network)またはWAN(Wide Area Network)のようなネットワーク1571が含まれるが、他のネットワーク/バスを含むこともできる。このようなネットワーク環境は自宅、職場、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
上述のように、例示的な諸実施形態を様々なコンピューティング装置、ネットワーク、および広告アーキテクチャと関連して説明したが、基礎となる概念を、クラウドまたはネットワークのサービスとの対話と関連してデータを発行し、データ向けのアプリケーションを構築し、データを使用するのが望ましい、任意のネットワークシステムおよび任意のコンピューティング装置またはシステムに適用してもよい。
本明細書で説明した実施形態の1つまたは複数を実装する複数の方法、例えば、適切なAPI、ツールキット、ドライバコード、オペレーティングシステム、コントロール、スタンドアロンまたはダウンロード可能なソフトウェアオブジェクト等が存在する。これらにより、アプリケーションおよびサービスが、任意のプラットフォームからのIaaSに対する情報基盤を使用することができる。諸実施形態を、API(または他のソフトウェアオブジェクト)の観点から、ならびに説明した実施形態の1つまたは複数に従って任意のプラットフォームからのIaaSに対する情報基盤のプロビジョンを促進するソフトウェアオブジェクトまたはハードウェアオブジェクトの観点から検討してもよい。本明細書で説明した様々な実装形態および実施形態は、全体としてハードウェアである態様、一部がハードウェアで一部がソフトウェアである態様、ならびにソフトウェアである態様を有してもよい。
「例示的」という用語は、本明細書では、例、事例、または実例としての役割を果たすことを意味するために使用される。疑義を避けるため、本明細書で開示した発明の技術的範囲はこのような例によっては限定されない。さらに、本明細書で「例示的」として説明した任意の態様または設計は、必ずしも他の態様または設計に対して好適または有利と考えるべきではなく、また、当業者に公知な等価の例示的な構造および技法を除外することを意味しない。さらに、「含まれる」、「有する」、「含む」という用語、および他の同様な単語が発明を実施するための形態または特許請求の範囲の何れかで使用される限りにおいては、疑義を避けるため、このような用語は、どの追加または他の要素も除外しないオープンな移行語としての「備える」という用語と同様に包括的であることを意図している。
先に述べたように、本明細書で説明した様々な技法を、ハードウェアもしくはソフトウェアまたは、適切な場合は、その双方の組合せと関連して実装してもよい。本明細書で使用する際、「コンポーネント」、「システム」等という用語は同様に、コンピュータ関連のエンティティ、即ち、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すことが意図されている。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよいがこれらに限られない。例として、コンピュータ上で実行されているアプリケーションおよびコンピュータの双方をコンポーネントとすることができる。1つまたは複数のコンポーネントが、プロセスおよび/または実行スレッドの内部に存在してもよく、コンポーネントを1つのコンピュータのローカルに存在させてもよく、および/または、2つまたはそれ以上のコンピュータ間で分散させてもよい。
以上では、幾つかのコンポーネントの間の対話に関してシステムを説明した。このようなシステムおよびコンポーネントに、上述したものの様々な置換および組合せに従って、これらのコンポーネントまたは指定のサブコンポーネント、指定のコンポーネントもしくはサブコンポーネントの一部、および/または追加のコンポーネントを含めることができることは理解されよう。サブコンポーネントを、親コンポーネントに含める(階層的)のではなく他のコンポーネントに通信可能に接続されたコンポーネントとして実装することもできる。さらに、1つまたは複数のコンポーネントを、単一のコンポーネントに統合して集約的な機能を提供してもよく、または、管理レイヤのような幾つかの別個のサブコンポーネント、および任意の1つまたは複数の中間レイヤに分割してもよく、統合的な機能を提供するためにこのようなサブコンポーネントと通信可能に接続するために提供してもよいことに留意されたい。本明細書で説明した任意のコンポーネントが、本明細書では具体的に説明していないが当業者には一般に公知である1つまたは複数の他のコンポーネントと対話してもよい。
上述の例示的なシステムを考慮すると、開示された主題に従って実装できる方法を、様々な図面のフローチャートを参照して理解することができる。説明を簡単にするため、方法を一連のブロックで図示および説明しているが、一部のブロックを本明細書で図示および説明したのとは別の順序で、および/または、本明細書で図示および説明したのとは別のブロックと並行に実施してもよいので、特許請求される主題はブロックの順序によっては限定されないことを理解され、認識されたい。フローチャートを介して非逐次的なフローまたは分岐のフローを示す場合、同一または同様な結果を実現する様々な他の分岐、流れ、ブロックの順序を実装してもよいことは理解されよう。さらに、以降で説明する方法を実装するのに、必ずしも図示された全てのブロックが必要なわけではない。
幾つかの実施形態では、クライアント側の視点を説明したが、疑義を避けるため、対応するサーバの視点も存在し、逆も成り立つことは理解されよう。同様に、方法を実施する場合、方法を1つまたは複数のコンポーネントを介して実施するように構成されたストレージおよび少なくとも1つのプロセッサを有する対応する装置を提供することができる。
様々な実施形態を様々な図面の好適な諸実施形態と関連して説明したが、他の同様な諸実施形態を使用してもよく、または、同一の機能を実施するために様々な実施形態から逸脱することなく修正および追加を説明した実施形態に加えてもよいことは理解されよう。さらに、上述の諸実施形態の1つまたは複数の態様を複数の処理チップまたは装置においてまたはそれらに跨って実装してもよく、ストレージを同様に複数の装置に跨って実現してもよい。したがって、本発明はどの実施形態にも限定されず、添付された特許請求の範囲に従う範囲で解釈されるべきである。

Claims (20)

  1. コンテンツプロバイダに関連し、および少なくとも1つのデータベースに格納されたデータの使用に対する複数の要求を受信するステップと、
    前記複数の要求への応答に関連した応答性能を監視するステップと、
    前記応答性能の特性評価を決定するステップと、
    前記特性評価に基づいて前記データに割り当てられたリソースをスケーリングするステップとを
    備えたことを特徴とする方法。
  2. 前記データが前記コンテンツプロバイダによって外部にホストされている場合、
    前記応答性能の少なくとも1つの態様を前記コンテンツプロバイダと通信するステップをさらに備えた
    ことを特徴とする請求項1に記載の方法。
  3. 前記通信するステップは、API(Application Programming Interface)コールを前記コンテンツプロバイダに送信するステップであって、前記応答性能の前記少なくとも1つの態様に関連した要求を送信することを含むステップを備えた
    ことを特徴とする請求項2に記載の方法。
  4. 前記データに関連したスケールされた位置セットを特定する前記要求に対する応答を、前記コンテンツプロバイダから受信するステップをさらに備えた
    ことを特徴とする請求項3に記載の方法。
  5. 1組の複製されたデータベース内に前記データをホストするステップをさらに備え、
    前記スケーリングするステップが、複製データベースを削除または追加することのうち少なくとも1つを備えた
    ことを特徴とする請求項1に記載の方法。
  6. 前記コンテンツプロバイダからスケーラビリティインターフェースを介してスケーラビリティ入力を受信するステップであって、前記コンテンツプロバイダに割り当てられた前記リソースのスケーリングに関連した命令を前記コンテンツプロバイダから受信することを含むステップをさらに備えた
    ことを特徴とする請求項5に記載の方法。
  7. 前記コンテンツプロバイダに割り当てられた前記リソースのスケーリングを収益化するステップをさらに備えた
    ことを特徴とする請求項1に記載の方法。
  8. サーバを介して使用されたコンテンツプロバイダのコンテンツプロバイダデータを示すデータ使用状況を決定するステップと、
    前記データ使用状況の少なくとも1つの態様を前記コンテンツプロバイダに表示するスケーラビリティインターフェースを介して、前記コンテンツプロバイダからの入力を受信するステップと、
    前記入力に応答して前記コンテンツプロバイダに関連したデータ可用性リソースの割り当てを修正するステップとを
    備えたことを特徴とする方法。
  9. 前記入力を受信するステップは、前記コンテンツプロバイダからビジネス指標を受信するステップを含み、
    前記ビジネス指標をスケーラビリティ指標に変換するステップをさらに備え、
    前記修正するステップは、前記スケーラビリティ指標に基づいて前記割り当てを修正するステップ含む
    ことを特徴とする請求項8に記載の方法。
  10. 前記ビジネス指標を受信するステップは、前記コンテンツプロバイダデータに関連した需要と、スケールされた量の前記コンテンツプロバイダデータをホストするコストとのうちの少なくとも1つに関連した指標を受信するステップを含み、
    前記変換するステップは、前記ビジネス指標を、単位時間あたりのクエリ数または単位時間あたりのデータトランズアクション数を処理する能力に関連した能力指標に変換するステップを含む
    ことを特徴とする請求項9に記載の方法。
  11. 前記入力を受信するステップは、所与のビジネス指標の乗数を受信するステップを含み、
    前記変換するステップは、前記乗数に基づいて前記スケーラビリティ指標を変換するステップを含む
    ことを特徴とする請求項9に記載の方法。
  12. 前記スケーラビリティインターフェースを介して前記入力を受信するステップは、前記スケーラビリティインターフェースの可変乗数ユーザインターフェース要素を介して、前記コンテンツプロバイダからの入力を受信するステップを含む
    ことを特徴とする請求項11に記載の方法。
  13. 前記スケーラビリティインターフェースを介して前記入力を受信するステップは、前記スケーラビリティインターフェースを介して前記データ使用状況の少なくとも1つの態様のグラフィカル表現との対話から入力を受信するステップを含む
    ことを特徴とする請求項8に記載の方法。
  14. 情報のスケーラブルな可用性を促進する方法であって、
    コンテンツプロバイダによってホストされるデータに対するデータ使用要求への応答に関連した応答性能を監視するステップと、
    前記応答性能の特性評価に基づいてAPI(Application Programming Interface)コールを生成するステップと、
    前記APIコールを前記コンテンツプロバイダに送信するステップと、
    前記データをホストするためのリソースのスケールが前記応答性能の特性評価に基づいて実行されたか否かを示す前記APIコールへの応答を、前記コンテンツプロバイダから受信するステップとを
    備えたことを特徴とする方法。
  15. 前記生成するステップは、複数の階層化された性能閾値に基づく前記応答性能の階層化された特性評価に従って前記APIコールを生成するステップを含む
    ことを特徴とする請求項14に記載の方法。
  16. 警告閾値のトリガを検出するステップをさらに備え、
    前記APIコールを送信するステップは、前記応答性能の前記特性評価に関連した警告メッセージを送信するステップを含む
    ことを特徴とする請求項15に記載の方法。
  17. 強制スケール閾値のトリガを検出するステップをさらに備え、
    前記APIコールを送信するステップは、前記応答性能の前記特性評価に関連した強制スケールメッセージを送信するステップを含む
    ことを特徴とする請求項15に記載の方法。
  18. 前記APIコールを送信するステップは、前記データの複製の現在の数、前記強制スケール閾値の前記トリガに関連した応答時間、または平均応答時間のうち少なくとも1つの表示のうち、少なくとも1つを送信するステップを含む
    ことを特徴とする請求項17に記載の方法。
  19. 前記APIコールへの応答を受信するステップは、前記データの複製の新たな数、前記データに関連した新たなデータソースの位置、またはスケール処理手順の状況のうち少なくとも1つの表示を受信するステップを含む
    ことを特徴とする請求項17に記載の方法。
  20. ポリシ修正閾値のトリガを検出するステップをさらに備え、
    前記データ使用要求を処理するステップは、前記データ使用要求に関連したキャッシュポリシを修正するステップを含む
    ことを特徴とする請求項15に記載の方法。
JP2013534921A 2010-10-19 2011-09-23 参照データサービスのための可用性管理 Active JP5890839B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/907,979 2010-10-19
US12/907,979 US9483313B2 (en) 2010-10-19 2010-10-19 Availability management for reference data services
PCT/US2011/053030 WO2012054177A2 (en) 2010-10-19 2011-09-23 Availability management for reference data services

Publications (3)

Publication Number Publication Date
JP2013543626A true JP2013543626A (ja) 2013-12-05
JP2013543626A5 JP2013543626A5 (ja) 2014-11-06
JP5890839B2 JP5890839B2 (ja) 2016-03-22

Family

ID=45935064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013534921A Active JP5890839B2 (ja) 2010-10-19 2011-09-23 参照データサービスのための可用性管理

Country Status (6)

Country Link
US (5) US9483313B2 (ja)
EP (1) EP2630584B1 (ja)
JP (1) JP5890839B2 (ja)
CN (1) CN102426541B (ja)
AU (1) AU2011318494B2 (ja)
WO (1) WO2012054177A2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009137B2 (en) * 2010-03-12 2015-04-14 Microsoft Technology Licensing, Llc Query model over information as a networked service
US8769031B1 (en) * 2013-04-15 2014-07-01 Upfront Media Group, Inc. System and method for implementing a subscription-based social media platform
JP2015001784A (ja) * 2013-06-13 2015-01-05 富士通株式会社 情報処理システム、情報処理装置、及び情報処理プログラム
JP5466786B1 (ja) * 2013-08-28 2014-04-09 株式会社 ディー・エヌ・エー 画像処理装置及び画像処理プログラム
US10324754B2 (en) 2013-11-07 2019-06-18 International Business Machines Corporation Managing virtual machine patterns
US9584372B2 (en) * 2014-01-07 2017-02-28 International Business Machines Corporation Discovering resources of a distributed computing environment
US9665633B2 (en) * 2014-02-19 2017-05-30 Snowflake Computing, Inc. Data management systems and methods
KR102122913B1 (ko) * 2014-05-30 2020-06-26 삼성에스디에스 주식회사 분산형 api 프록시 시스템 및 그러한 시스템에서 트래픽을 관리하는 장치 및 방법
US11153319B2 (en) * 2015-10-21 2021-10-19 Okta, Inc. Flexible implementation of user lifecycle events for applications of an enterprise
US10069869B2 (en) * 2016-05-17 2018-09-04 Amazon Technologies, Inc. Versatile autoscaling
CN107689969B (zh) * 2016-08-03 2020-01-17 华为技术有限公司 一种缓存策略的确定方法及装置
US10572310B2 (en) 2016-09-21 2020-02-25 International Business Machines Corporation Deploying and utilizing a software library and corresponding field programmable device binary
US10417012B2 (en) 2016-09-21 2019-09-17 International Business Machines Corporation Reprogramming a field programmable device on-demand
US10355945B2 (en) * 2016-09-21 2019-07-16 International Business Machines Corporation Service level management of a workload defined environment
US10599479B2 (en) 2016-09-21 2020-03-24 International Business Machines Corporation Resource sharing management of a field programmable device
US10896198B2 (en) * 2016-11-01 2021-01-19 Sap Se Scaling for elastic query service system
US11321183B2 (en) 2018-05-02 2022-05-03 Commvault Systems, Inc. Multi-tiered backup indexing
US10673943B2 (en) 2018-05-02 2020-06-02 Commvault Systems, Inc. Network storage backup using distributed media agents
US11249863B2 (en) * 2018-05-02 2022-02-15 Commvault Systems, Inc. Backup-based media agent configuration
US10713103B2 (en) 2018-10-15 2020-07-14 International Business Machines Corporation Lightweight application programming interface (API) creation and management
US11455315B1 (en) * 2018-12-11 2022-09-27 Palantir Technologies Inc. Central user interface for accessing and upgrading of dataset integrations
US10826789B2 (en) * 2018-12-27 2020-11-03 At&T Intellectual Property I, L.P. Adjusting triggers for automatic scaling of virtual network functions
US10983767B2 (en) 2019-01-04 2021-04-20 T-Mobile Usa, Inc. Microservice-based software development
US11068259B2 (en) * 2019-01-04 2021-07-20 T-Mobile Usa, Inc. Microservice-based dynamic content rendering
CN109976924A (zh) * 2019-03-22 2019-07-05 北京奇艺世纪科技有限公司 接口调用方法及装置
US11776176B2 (en) * 2019-04-19 2023-10-03 Microsoft Technology Licensing, Llc Visual representation of directional correlation of service health
US11263173B2 (en) 2019-07-30 2022-03-01 Commvault Systems, Inc. Transaction log index generation in an enterprise backup system
CN111585840B (zh) * 2020-04-29 2022-02-01 北京申信联华科技有限公司 服务资源监测方法、装置和设备
US11178034B1 (en) * 2020-07-30 2021-11-16 Bank Of America Corporation Resilient network framework for mitigating predicted response time delays
CN114610394B (zh) * 2022-03-14 2023-12-22 海飞科(南京)信息技术有限公司 指令调度的方法、处理电路和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200347A (ja) * 2007-03-26 2007-08-09 Hitachi Ltd 仮想計算機システム及びプログラム
WO2010109952A1 (ja) * 2009-03-27 2010-09-30 日本電気株式会社 資源割り当て要求装置、資源割り当て装置、資源割り当て要求方法および資源割り当て方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6263361B1 (en) * 1998-11-19 2001-07-17 Ncr Corporation Method for calculating capacity measurements for an internet web site
GB2361836B (en) 1998-11-24 2004-03-24 Niksun Inc Apparatus and method for collecting and analyzing communications data
US7748005B2 (en) 2000-01-28 2010-06-29 Hewlett-Packard Development Company, L.P. System and method for allocating a plurality of resources between a plurality of computing domains
US6975619B1 (en) * 2000-03-20 2005-12-13 Lucent Technologies Inc. System and method for providing host geographic location information in a packet data network
US7284244B1 (en) * 2000-05-02 2007-10-16 Microsoft Corporation Resource manager architecture with dynamic resource allocation among multiple configurations
EP1172741A3 (en) 2000-07-13 2004-09-01 Sony Corporation On-demand image delivery server, image resource database, client terminal, and method of displaying retrieval result
US8538843B2 (en) * 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US20030069953A1 (en) 2001-09-28 2003-04-10 Bottom David A. Modular server architecture with high-availability management capability
US7634423B2 (en) * 2002-03-29 2009-12-15 Sas Institute Inc. Computer-implemented system and method for web activity assessment
GB2389431A (en) 2002-06-07 2003-12-10 Hewlett Packard Co An arrangement for delivering resources over a network in which a demand director server is aware of the content of resource servers
GB0213073D0 (en) 2002-06-07 2002-07-17 Hewlett Packard Co Method of maintaining availability of requested network resources
AU2003259568A1 (en) 2002-09-06 2004-03-29 Matsushita Electric Industrial Co., Ltd. Methods for performing medium dedication in order to ensure the quality of service for delivering real-time data across wireless network
US7831693B2 (en) 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US7487235B2 (en) * 2003-09-24 2009-02-03 Dell Products L.P. Dynamically varying a raid cache policy in order to optimize throughput
US20050081210A1 (en) * 2003-09-25 2005-04-14 International Business Machines Corporation Dynamic adjustment of system resource allocation during query execution in a database management system
US8954584B1 (en) * 2004-08-18 2015-02-10 Oracle America, Inc. Policy engine for automating management of scalable distributed persistent applications in a grid
US7496564B2 (en) 2004-11-19 2009-02-24 International Business Machines Corporation Resource optimizations in computing utilities
US7783745B1 (en) * 2005-06-27 2010-08-24 Entrust, Inc. Defining and monitoring business rhythms associated with performance of web-enabled business processes
US7720954B2 (en) * 2006-08-03 2010-05-18 Citrix Systems, Inc. Method and appliance for using a dynamic response time to determine responsiveness of network services
US20080080396A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Marketplace for cloud services resources
US8239536B2 (en) * 2007-03-30 2012-08-07 Platform Computing Corporation System for generic service management in a distributed and dynamic resource environment, providing constant service access to users
US8046694B1 (en) 2007-08-06 2011-10-25 Gogrid, LLC Multi-server control panel
JP5256744B2 (ja) 2008-01-16 2013-08-07 日本電気株式会社 資源割当てシステム、資源割当て方法及びプログラム
US8495557B2 (en) 2008-04-03 2013-07-23 Microsoft Corporation Highly available large scale network and internet systems
US9208104B2 (en) * 2008-08-28 2015-12-08 Citrix Systems, Inc. Content replacement and refresh policy implementation for a content distribution network
US8352608B1 (en) * 2008-09-23 2013-01-08 Gogrid, LLC System and method for automated configuration of hosting resources
US8051166B1 (en) * 2008-09-29 2011-11-01 Amazon Technologies, Inc. Service provider optimization of content management
WO2010095836A2 (en) 2009-02-18 2010-08-26 Cdnetworks Co., Ltd. File system and method for delivering contents in file system
US20100220622A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc Adaptive network with automatic scaling
US9207984B2 (en) * 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9501329B2 (en) * 2009-05-08 2016-11-22 Rackspace Us, Inc. Methods and systems for cloud computing management
US9047381B1 (en) * 2009-07-17 2015-06-02 Open Invention Network, Llc Method and apparatus of obtaining and organizing relevant user defined information
US8250198B2 (en) 2009-08-12 2012-08-21 Microsoft Corporation Capacity planning for data center services
US20110078303A1 (en) * 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
US8250213B2 (en) * 2009-11-16 2012-08-21 At&T Intellectual Property I, L.P. Methods and apparatus to allocate resources associated with a distributive computing network
US8396989B2 (en) * 2009-12-11 2013-03-12 International Business Machines Corporation Resource planning and data interchange functionality within a cloud computing environment
US8265973B2 (en) 2010-03-11 2012-09-11 International Business Machines Corporation Analytic-based scaling of information technology resources
US8352611B2 (en) * 2010-06-29 2013-01-08 International Business Machines Corporation Allocating computer resources in a cloud environment
JP5395756B2 (ja) * 2010-07-07 2014-01-22 株式会社東芝 インプリント用テンプレートの製造方法及びパターン形成方法
US8661120B2 (en) * 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200347A (ja) * 2007-03-26 2007-08-09 Hitachi Ltd 仮想計算機システム及びプログラム
WO2010109952A1 (ja) * 2009-03-27 2010-09-30 日本電気株式会社 資源割り当て要求装置、資源割り当て装置、資源割り当て要求方法および資源割り当て方法

Also Published As

Publication number Publication date
US20200106715A1 (en) 2020-04-02
US10511541B2 (en) 2019-12-17
AU2011318494A1 (en) 2013-05-02
US20170048164A1 (en) 2017-02-16
EP2630584A4 (en) 2017-07-05
US20120096093A1 (en) 2012-04-19
AU2011318494B2 (en) 2016-02-11
EP2630584B1 (en) 2022-01-05
US9483313B2 (en) 2016-11-01
US20200120042A1 (en) 2020-04-16
WO2012054177A3 (en) 2012-06-28
US20170013052A1 (en) 2017-01-12
US11038812B2 (en) 2021-06-15
US10505865B2 (en) 2019-12-10
JP5890839B2 (ja) 2016-03-22
US11044207B2 (en) 2021-06-22
CN102426541B (zh) 2016-08-17
CN102426541A (zh) 2012-04-25
WO2012054177A2 (en) 2012-04-26
EP2630584A2 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
JP5890839B2 (ja) 参照データサービスのための可用性管理
JP5805677B2 (ja) サービスとしての情報に関連するセマンティックスの更新および適応性のあるインタフェース
JP5872535B2 (ja) ネットワーク化サービスとしての情報に対するクエリモデル
US9477730B2 (en) Web services runtime for dataset transformation
AU2011226658B2 (en) System and method for providing information as a service via web services
US8504609B2 (en) System and method for facilitating secure integration and communication of cloud services and enterprise applications
Viji Rajendran et al. Hybrid model for dynamic evaluation of trust in cloud services
JP2016504687A (ja) 情報技術サービスの管理
JP2013522732A (ja) 合成データを公開して、IaaS(informationasaservice)の提供を促進するためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140918

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160219

R150 Certificate of patent or registration of utility model

Ref document number: 5890839

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

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