(57)【要約】マルチテナント用証明書マネージャは、ある環境の顧客用の証明書を自動的に更新することが許可されることができる。当該証明書の有効期間の終了に先立って、当該証明書マネージャは、当該顧客の代わりに新しい証明書を取得し、当該証明書を展開する準備ができていることを顧客に通知することができる。当該証明書は、当該顧客が当該証明書の保持を解除するまで展開されないこととなる。そのような命令が受信されない場合、通知は、当該有効期間の終了が近づいていることについて当該顧客に送信されることができ、その通知は増加する頻度で送信されることができる。当該有効期間が満了する前に通知が受信されない場合、当該証明書マネージャは、当該証明書を自動的に展開し、有効な証明書が関連リソース（複数可）上で当該顧客に対して依然として有効であることを確実にすることができる。【選択図】図４
2019503115.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
リソースプロバイダ環境の証明書管理サービスに対して、証明書を前記リソースプロバイダ環境のリソースに展開する要求を受信することであって、前記証明書は、前記リソースプロバイダ環境の顧客の代わりに展開される、前記受信することと、
前記証明書を前記リソースに展開させることであって、前記証明書に関する情報は、前記証明書管理サービスによって記憶される、前記展開することと、
前記証明書に関する前記情報を使用して、前記証明書が前記証明書の有効期間の終了から第１の既定時間周期内にあることを判定することと、
証明認証局から、前記顧客の代わりに新しい証明書を取得することであって、前記新しい証明書は、前記証明書管理サービスによって記憶される、前記取得することと、
前記顧客に、前記リソースに展開される前記新しい証明書の有効性を示す通知を提供することと、
前記証明書に関する前記情報を使用して、前記証明書が前記有効期間の終了から第２の既定時間周期内にあることと、展開する命令が前記顧客の代わりに受信されていないことを判定することと、
前記新しい証明書を、前記証明書管理サービスを介して、前記リソースに自動的に展開させることと、
を含む、前記コンピュータ実施方法。
【請求項２】
展開する命令が前記顧客の代わりに受信されていない場合、前記第１の既定時間周期と前記第２の既定時間周期との間に増加する頻度で、追加通知を前記顧客に提供することをさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記証明書管理サービスによって及び前記顧客の代わりに、公開キー及び秘密キーのペアを生成することと、
前記公開キー及び秘密キーのペアを使用して、認証局から、前記顧客の代わりに前記証明書を取得することと、
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記新しい証明書に関する前記情報を使用して、前記新しい証明書が前記新しい証明書の有効期間の終了から第１の既定時間周期内にあることを判定することと、
認証局から、前記顧客の代わりに第３の証明書を取得することであって、前記第３の証明書は、前記認証局によって記憶される、前記取得することと、
前記顧客に、前記リソースに展開される前記第３の証明書の有効性を示す通知を提供することと、
前記顧客の代わりに、前記第３の証明書を展開する命令を受信することと、
前記第３の証明書を前記リソースに展開させることと、
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項５】
コンピュータ実施方法であって、
ユーザの代わりに、マルチテナント環境内のリソースに展開される第１の証明書が期限満了から第１の時間量閾値内にあることを判定することと、
前記ユーザの代わりに、新しい証明書を取得することと、
前記ユーザに、前記新しい証明書が前記リソースに展開されるために利用可能であることを通知することと、
展開する命令が前記ユーザの代わりに別の方法で受信されない場合、前記新しい証明書を、期限満了から第２の時間量閾値内にリソースに展開させることと、
を含む、前記コンピュータ実施方法。
【請求項６】
期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間で、前記展開する命令が受信されないことを判定することと、
前記新しい証明書に関して、少なくとも１つの追加通知を前記ユーザに送信することと、
をさらに含む、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記ユーザから、前記少なくとも１つの追加通知を送信するためのスケジュールを受信することであって、前記スケジュールは、さらに、前記第１の時間量閾値及び前記第２の時間量閾値を指定する、前記受信することをさらに含む、請求項６に記載のコンピュータ実施方法。
【請求項８】
前記ユーザから、前記新しい証明書を前記リソースに展開する命令を受信することであって、前記命令は前記新しい証明書を展開する時間を規定する、前記受信することをさらに含む、請求項６に記載のコンピュータ実施方法。
【請求項９】
前記ユーザの代わりに、前記第１の証明書が少なくとも１つの追加リソースに展開されたことを判定することと、
前記ユーザに、前記新しい証明書が前記少なくとも１つの追加リソースに展開されるために利用可能であることを通知することと、
前記ユーザが、前記新しい証明書を展開するための別個の命令を前記リソース及び前記少なくとも１つの追加リソースに提供することを可能にすることと、
をさらに含む、請求項５に記載のコンピュータ実施方法。
【請求項１０】
前記ユーザの代わりに展開される第２の証明書が固定された証明書として指定されたことを判定することと、
前記第２の証明書は期限満了から前記第１の時間量閾値内にあることを判定することと、
前記ユーザに、前記第２の証明書のキーを再生成することなく、前記第２の証明書が期限満了から前記第１の時間量閾値内にあることを通知することと、
をさらに含む、請求項５に記載のコンピュータ実施方法。
【請求項１１】
前記ユーザの代わりに、公開キー及び秘密キーのペアを生成することと、
前記公開キー及び秘密キーのペアを使用して、認証局から、前記ユーザの代わりに前記証明書を取得することと、
をさらに含む、請求項５に記載のコンピュータ実施方法。
【請求項１２】
システムであって、
少なくとも１つのプロセッサと、
命令を含むメモリであって、前記少なくとも１つのプロセッサによって実行されると、前記システムに、
ユーザの代わりにマルチテナント環境内に展開される第１の証明書が期限満了から第１の時間量閾値内にあることを判定させ、
前記ユーザの代わりに新しい証明書を取得させ、
前記ユーザに、前記新しい証明書が前記リソースに展開されるために利用可能であることを通知させ、
展開する命令が前記ユーザの代わりに別の方法で受信されない場合、前記新しい証明書を、期限満了から第２の時間量閾値内に前記リソースに展開させる、前記メモリと、
を備える、前記システム。
【請求項１３】
前記命令が実行されると、さらに前記システムに、
少なくとも１つの前記第１の時間量閾値を判定するために、または前記新しい証明書を前記リソースに自動的に展開するために、前記ユーザに関する１つ以上のポリシを分析する、請求項１２に記載のシステム。
【請求項１４】
前記命令が実行されると、さらに前記システムに、
期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間で、前記展開する命令が受信されなかったことを判定することと、
前記新しい証明書に関して、少なくとも１つの追加通知を前記ユーザに送信することであって、前記少なくとも１つの追加通知は、期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間に増加する頻度で送信される、前記送信すること、
を行わせる、請求項１２に記載のシステム。
【請求項１５】
前記命令が実行されると、さらに前記システムに、
前記第１の証明書が前記ユーザの代わりに少なくとも１つの追加リソースに展開されたことを判定させ、
前記ユーザに、前記新しい証明書が前記少なくとも１つの追加リソースに展開されるために利用可能であることを通知させ、
前記ユーザが、前記新しい証明書を展開するための別個の命令を前記リソース及び前記少なくとも１つの追加リソースに提供することを可能にさせる、請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザが、多くの場合「クラウド」の一部として称されるリモートコンピューティングリソースを使用して、タスクを行うことが増えている。これは、専用のハードウェア及びソフトウェアを購入及び保持する必要がなく、代わりに、常時、必要とされるこれらのリソースのみに料金を支払うことができるような大きな利点をもたらす。これらのリソースは、一般的に、リソースまたは「クラウド」のプロバイダによって管理されるであろう。それは、多くの場合、ユーザの代わりに、ユーザが１つ以上のクラウドリソースにアクションを行わせたい場合が該当するであろう。これらのアクションの少なくとも一部は、ユーザの代わりに、リソースがそのようなタスクもしくはアクションを行うことを許可されること、及び／または、ユーザがそのようなタスクもしくはアクションを行うことを許可されるいくつかの検証を必要とし得る。他のアクションは、通信リンクが安全であることを確実にすること等の、あるアクションが行われ得る前にいくつかの安全保証を要求し得る。これらのアクションを有効にする多様なセキュリティ識別情報が発行される可能性がある一方、ある問題が見つかり及び新しい識別情報が導入されるまで、関連機能を利用できなくすることができる、これらの識別情報が期限満了になり得る。
【０００２】
本開示に従った多様な実施形態を、図面を参照して説明する。
【図面の簡単な説明】
【０００３】
【図１】多様な実施形態が実施されることができる、例示的環境を示す。
【図２】多様な実施形態に従って、証明書マネージャが、利用される可能性がある証明書を自動的に更新、保持、展開させることができる例示的実施形態を示す。
【図３】多様な実施形態に従って、利用されることができる新しい証明書を取得及び展開するための例示的プロセスを示す。
【図４】多様な実施形態に従って、証明書が期限満了になりそうなことを顧客に通知するための及び利用されることができる新しい証明書を展開するための、例示的プロセスを示す。
【図５】多様な実施形態に従って、利用されることができる固定された証明書に、更新及び展開プロセスが行われることを防ぐための例示的プロセスを示す。
【図６】多様な実施形態の態様を実施するために使用されることができるコンピューティングデバイスの例示的コンポーネントを示す。
【発明を実施するための形態】
【０００４】
以下の説明では多様な実施形態が説明される。説明の目的のため、特定の構成及び詳細が実施形態の完全な理解を提供するために記載される。しかしながら、本実施形態が特定の詳細なしに実施され得ることも当業者に明らかとなるだろう。さらに、周知の特徴は、説明されている実施形態を不明瞭にしないために省略または簡略化され得る。
【０００５】
本明細書に説明及び提案されるアプローチは、インターネット環境内のリソースの管理に関する。少なくともいくつかの実施形態では、証明書マネージャ等のシステム、サービス、またはコンポーネントは、マルチテナント環境の顧客の代わりに証明書を管理するように構成及び許可されることができる。証明書マネージャは、証明書を受信し、その証明書を適切なリソース（複数可）に展開させることができる。証明書マネージャは、また、証明書とリソースとの間の関連付けリストと、並びに、この証明書の有効期間についての情報とを維持することができる。証明書の有効期間の終了に近づくと、証明書マネージャは、顧客の代わりに新しい証明書に関する認証局に連絡すること等によって、証明書を自動的に更新することが許可されることができる。証明書を展開する代わりに、証明書マネージャは、新しい証明書を保持し、展開される新しい証明書の有効性を顧客に通知するように構成されることができる。展開する命令が受信されると、証明書マネージャは、証明書を展開させることができる。命令が受信されない場合、証明書マネージャは、増加する頻度で、追加通知を顧客に送信することができる。現在の証明書の期限満了前に命令が受信されない場合、証明書マネージャは、有効な証明書が顧客に利用可能であることを確実にするために、証明書を関連リソース（複数可）に自動的に展開することが許可されることができる。
【０００６】
多様な他のそのような機能は、本明細書に含まれる教示及び提案に照らして、当業者に明らかであろうように、多様な実施形態の範囲内で同様に使用されることができる。
【０００７】
図１は、多様な実施形態の態様が実施されることができる、例示的環境１００を示す。本例では、ユーザは、クライアントデバイス１０２を利用し、少なくとも１つのネットワーク１０４にわたって、要求をリソースプロバイダ環境１０６に提出することができる。クライアントデバイスは、適切なネットワークを通して、要求、メッセージ、または他のそのような情報を送信及び受信するために動作可能であるに任意の適切な電子デバイスを含み、情報をデバイスのユーザに戻し伝えることができる。そのようなクライアントデバイスの例は、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、ノートパソコン等を含む。少なくとも１つのネットワーク１０４は、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク（ＬＡＮ）、または任意の他のそのようなネットワークもしくは組み合わせを含む任意の適切なネットワークと、有線接続及び／または無線接続を介して可能になり得るネットワークを通した通信とを含むことができる。リソースプロバイダ環境１０６は、要求を受信するための及びその要求に応答して情報を返すまたはアクションを行うための、任意の適切なコンポーネントを含むことができる。一例として、プロバイダ環境は、要求を受信及び処理するためのウェブサーバ及び／またはアプリケーションサーバを含む場合があり、その結果、要求に応答してデータ、ウェブページ、ビデオ、オーディオ、または他のそのようなコンテンツもしくは情報を返し得る。
【０００８】
多様な実施形態では、プロバイダ環境（すなわち、「マルチテナント環境」）は、色々な異なる目的のために、複数のユーザによって同時に利用されることができる多様な種類の電子リソースを含んでもよい。少なくともいくつかの実施形態では、所与のリソースの全てもしくは一部またはリソースのセットは、少なくとも既定時間周期中、特定のユーザに割り当てられ、または特定のタスクのために割り当てられる場合がある。プロバイダ環境からのこれらのマルチテナント環境の共有は、規定の環境及び／または実装に応じて、多くの場合、いくつかあるこのような用語の中で、リソースシェアリング、ウェブサービス、または「クラウドコンピューティング」と称される。本例では、プロバイダ環境は、１つ以上の種類の複数の電子リソース１１４を含む。これらの種類は、例えば、ユーザによって提供される命令を処理するために動作可能であるアプリケーションサーバ、または、ユーザ要求に応答して、１つ以上のデータストア１１６内に記憶されるデータを処理するために動作可能であるデータベースサーバを含むことができる。そのような目的のために知られているように、ユーザは、また、所与のデータストア内のデータストレージの少なくとも一部を保有することができる。ユーザが多様なリソース及びリソースインスタンスを保有することを可能にするための方法が当技術分野で既知であり、それにより、プロセス全体の詳細な説明及び全ての可能性として考えられるコンポーネントは、本明細書では詳細に説明されないこととなる。
【０００９】
少なくともいくつかの実施形態では、リソース１１４の一部を利用することを望んでいるユーザは、プロバイダ環境１０６のインターフェース層１０８で受信される要求を提出することができる。インターフェース層は、アプリケーションプログラミングインターフェイス（ＡＰＩ）またはユーザがプロバイダ環境に要求を提出することを可能にする他の露出インターフェースを含むことができる。本例のインターフェース層１０８は、また、少なくとも１つのウェブサーバ、ルーティングコンポーネント、ロードバランサ等の他のコンポーネントも同様に含むことができる。リソースをセットアップする要求がインターフェース層１０８に受信されると、要求に関する情報を、リソースマネージャ１１０、またはユーザアカウント及び情報、リソースプロビジョニング及び使用法、ならびに他のそのような態様を管理するように構成される他のそのようなシステム、サービス、もしくはコンポーネントに向かわせることができる。要求を受信するリソースマネージャ１１０は、要求を提出するユーザの識別を認証すること、ならびに、ユーザがリソースプロバイダとの既存のアカウントを有するかどうかを判定すること等のタスクを行うことができ、そのリソースプロバイダにおいて、アカウントデータはプロバイダ環境内に少なくとも１つのデータストア１１２内に記憶されてもよい。ユーザは、ユーザの識別をプロバイダに認証させるために、多様な種類の識別情報のいずれかを提供することができる。これらの識別情報は、例えば、ユーザ名及びパスワードのペア、生体データ、デジタル署名、または他のそのような情報を含むことができる。プロバイダは、ユーザのために記憶される情報と対照して、この情報を有効にすることができる。ユーザは適切な承認、ステータス等を伴うアカウントを有する場合、リソースマネージャは、ユーザの要求に適した利用可能である十分なリソースがあるかどうかを判定することができ、そのような場合、リソースを用意することができ、または別の方法で、要求によって規定された量に関して、ユーザによる使用のためのそのリソースの対応する部分へのアクセスを認めることができる。この量は、例えば、いくつかある値の中でも、単一の要求を処理するもしくは単回のタスクを行う能力、規定時間周期、または自動更新／更新可能周期を含むことができる。ユーザがプロバイダとの有効なアカウントを有しない場合、ユーザアカウントは、要求に規定されたある種類のリソースへのアクセスが可能にならず、または別のそのような理由として、ユーザがそのようなリソースへのアクセスを取得することを妨げられることが考えられ、いくつかあるオプションの中でも、ユーザがアカウントを作成もしくは修正すること、または、要求に規定されたリソースを変更することを可能にするような連絡がユーザに送信される可能性がある。
【００１０】
いったんユーザが認証され、アカウントが検証され、リソースが割り当てられると、ユーザは、既定の容量、データ転送の量、時間周期、または他のそのような値に関する割当リソース（複数可）を利用することができる。少なくともいくつかの実施形態では、ユーザは、要求がユーザセッション上で処理されることを可能にするために、後続要求を伴うセッショントークンまたは他のそのような識別情報を提供する場合がある。ユーザは、リソース識別子、規定アドレス、または他のそのような情報を受信することができ、それらの情報は、少なくとも、ユーザアカウントの関連態様のようなそのような時間が変化するまで、ユーザがリソースへのアクセスが認められなくなるまで、または別のそのような態様が変化するまで、クライアントデバイス１０２が、リソースマネージャ１１０と通信する必要がなく、割当リソースと通信することが可能である。
【００１１】
本例のリソースマネージャ１１０（または別のそのようなシステムまたはサービス）は、また、プロビジョニング、スケーリング、複製等を含み得るような管理アクションに加えて、制御機能を扱うハードウェア及びソフトウェアコンポーネントの仮想層として機能することができる。リソースマネージャは、インターフェース層１０８内の専用ＡＰＩを利用することができ、そのインターフェース層１０８では、各ＡＰＩは、インスタンスをセットアップ、スケーリング、クローン化、休止状態等にするために、データ環境に対して行われる少なくとも１つの規定のアクションに関する要求を受信するために提供されることができる。ＡＰＩの１つに対する要求を受信すると、インターフェース層のウェブサービス部は、要求をパースまたは別の方法で分析し、コールに作動しまたはそれを処理するために必要なステップまたはアクションを判定することができる。例えば、データリポジトリを作成する要求を含むウェブサービスコールが受信される。
【００１２】
少なくとも１つの実施形態のインターフェース層１０８は、多様なＡＰＩを提供し及びＡＰＩ仕様に基づいて適切な応答を返すことができるスケーリング可能なセットの顧客対応サーバを含む。インターフェース層は、また、一実施形態で外部対応顧客ＡＰＩを処理する、ステートレスな複製サーバから成る少なくとも１つのＡＰＩサービス層を含むことができる。インターフェース層は、識別情報に基づいて顧客を認証し、顧客を許可し、ＡＰＩサーバへの顧客要求を調整し、ユーザ入力を有効にし、要求及び応答をマーシャリングしまたはマーシャリングしない等のウェブサービスの初期段階の特徴に対して責任を負うことができる。ＡＰＩ層は、また、ＡＰＩコールに応答して、データベースコンフィギュレーションデータを管理データストアから読み出し、そのデータベースコンフィギュレーションデータをその管理データストアに書き込む責任が負うことができる。多くの実施形態では、ウェブサービス層及び／またはＡＰＩサービス層は、外的に可視のコンポーネントのみ、または、制御サービスの顧客に可視であり、顧客によってアクセス可能なコンポーネントのみが考えられるであろう。ウェブサービス層のサーバは、当技術分野で既知であるように、ステートレスで、水平にスケーリングされることができる。ＡＰＩならびに永続的データストアは、例えば、サーバが単一のデータセンタの故障に対する回復機能があるように、領域内で複数のデータセンタにわたって広がることができる。
【００１３】
少なくともいくつかの実施形態では、認証局（ＣＡ）１２０等のサービスプロバイダは、多様のタスクを行い、ユーザの識別を検証し及びある要素の制御を検証することが可能である情報を生成するために、Ｅメールアドレスをセットアップ及び／または初期化するために、エイリアスを有効にする等のために有用な証明書または他の情報等を提供することができる。ユーザは、タスクを行う（例えば、制御の証明を要求する）クライアントデバイス上でアプリケーション１１８を起動する場合がある。本例では、アプリケーション１１８は、要求を少なくとも１つのネットワーク１０４にわたってリソースプロバイダ環境１０６に送信し、その環境のリソース１１４に特定のタスクを行わせてもよい。タスクが制御の検証を要求してから、クライアントデバイス１０２（または、リソースプロバイダ環境１０６）は、認証局１２０または他のサービスプロバイダに連絡し、そのような検証を提供するために有用な証明書または他の情報を発行させることができる。サービスプロバイダは、情報、認証情報、発行済証明書、及び他の情報をローカルデータストレージ１２２または他のそのようなリポジトリ内に記憶し得るような、そのような目的のために既知または使用される任意の適切な組織または権威者である可能性がある。認証局は、概して、識別検証及び他の関連タスクを行う信頼のおけるプロバイダである。本明細書の以下に説明されるであろうように、そのような識別情報は、要素の制御を検証するために提供されることができ、その制御は、リソース環境１０６が、多様なタスク（いくつかあるオプションの中でも、特定のドメインに関連付けられる第三者システム１２４との安全通信をセットアップする等）を行うことを可能し得る。認証局から得られた証明書またはサービスプロバイダから得られた他のそのような情報は、識別を検証するために十分である可能性があるが、少なくともいくつかの状況では制御を検証するために十分ではない場合がある。
【００１４】
いくつかの場合、リソースプロバイダ環境の顧客は、１つ以上の証明書をその環境全体にわたって適切な場所に展開されることを要求し得る。図２の例示的状況２００に示されるように、これらは、顧客と関連付けられるトラフィックを指向するように構成されるロードバランサ２０２、または、顧客の代わりにコンテンツ（例えば、ウェブページ、画像、またはビデオ）を提供するように構成される１つ以上のエッジサーバ２０４（または他のコンテンツ配信ネットワーク）に提供される証明書を含むことができる。証明書マネージャ２０６または他のそのようなシステムもしくはサービスは、リソースプロバイダ環境内で証明書を管理する責任を負うことができる。これは、例えば、証明書または証明書に関する情報を、証明書データストア２０８または他のリポジトリに記憶することを含むことができる。証明書データストア２０８は、いくつかあるオプションの中でも、証明書を要求または取得するために使用される公開キー及び秘密キーのペア等の情報２１４を含むことができる。証明書マネージャはまた、１つ以上のエッジサーバによって使用されるロードバランサ２０２または証明書２１２による使用のために証明書２１０を送信すること等によって、証明書を展開することを伴うタスクが課される可能性がある。多様な他のリソース及びコンポーネントは、多様なタスク及び目的のために証明書を利用することができ、本明細書に含まれる教示及び提案に照らして、当業者に理解されるであろう。
【００１５】
少なくともいくつかの実施形態では、証明書マネージャ２０６は、リソースプロバイダ環境の少なくともいくつかの顧客のための自動証明書更新等の機能をサポートすることができる。これは、例えば、複数の証明書のそれぞれの期限満了時間（または有効期間）をトラッキングすることと、その次に証明書がそれぞれの期限満了からの期間閾値内または時間閾値内にある時間を判定することとを含むことができる。期限満了前の日数または時間等の閾値は、全ての証明書に関して同じであり得、または、証明書、証明書の種類、顧客、もしくは他のそのような情報によって変わる可能性がある。そのような時間おいて、証明書マネージャ２０６は、認証局１２０または他のそのようなプロバイダに連絡し、それぞれの顧客の代わりに新しい証明書を取得することができる。適切な時間において、証明書マネージャは、いくつかあるコンポーネントの中でも、ロードバランサまたはコンテンツ配信ネットワーク等のリソースプロバイダ環境内の適切なリソースに新しい証明書を展開するように構成されることができる。
【００１６】
本例では、証明書マネージャ２０６は、新しい証明書を取得した後に、または別の方法で顧客の代わりに前の証明書を更新した後に、少なくとも既定時間周期中、証明書を保持するように構成される。新しい証明書を取得すると、証明書マネージャ２０６は、新しい証明書が展開される準備ができていることを顧客に通知するように構成されることができる。通知は、Ｅメールメッセージ、ＳＭＳメッセージ、顧客に関連付けられるクライアントデバイス１０２上で実行するアプリケーション１１８に送信される通知等の任意の適切な通知である可能性がある。通知（複数可）の種類（複数可）は、顧客またはリソースプロバイダ、自動検出、顧客アカウント情報等による仕様等の任意の適切な機構を使用して判定されることができる。いくつかの実施形態では、異なる通知は、異なるアプローチによって送信される場合がある。例えば、初回の通知がＥメールによって送信される場合がある一方で、満了時間に近づく通知が、いくつかあるオプションの中でも、Ｅメール及びＳＭＳによって送信され得る。いくつかの実施形態では、証明書マネージャ２０６は、新しい証明書を展開するために顧客の代わりに（すなわち、ＡＰＩコールによって）命令を受信するまで、新しい証明書を証明書データストレージ２０８または他のそのようなリポジトリ内に保持する。これは、例えば、マネージメントコンソールまたは他のそのようなインターフェースによる展開を承認する顧客（または、顧客と関連付けられる権限保持者）を含むことができる。顧客が証明書をいつ展開するかを判定することを可能にする利点として、最小の影響があり得るとき（例えば、ウェブサイトが少量のトラフィックが有するとき、または新しい証明書を伴う問題を有する場合がある顧客をサポートするためにスタンバイしている人がいるとき等に）、数名の顧客が証明書を展開することを好み得ることが考えられる。顧客は、また、いくつかあるオプションの中でも、展開前に新しい証明書を検査することを好み得る。
【００１７】
しかしながら、顧客が証明書マネージャによって送信される（または別の方法で提供される）通知に応答しないであろう場合があり得る。そのような場合、証明書マネージャは、顧客に、現在の証明書の近づく期限満了及び展開のための新しい証明書の準備完了を周期的に通知するように構成されることができる。これらのメッセージは、いくつかあるオプションの中でも、規定時間にまたは増加する頻度で、一定間隔で送信されることができる。いくつかの実施形態では、期限満了が２週間先であるとき、通知が送信される場合がある。期限満了が２週間以内になると、通知頻度は、１日１回に増加する場合がある。期限満了が２、３日以内になると、複数の通知は、１日毎等に送信される場合がある。
【００１８】
いくつかの場合、新しい証明書を展開できないことで、ある機能が利用できない状態をもたらす可能性がある。例えば、セキュアソケットレイヤ（ＳＳＬ）証明書は、安全な接続が顧客ウェブサイトに確立されることを可能にすることが必要になる場合がある。準備が整った新しい証明書がなく、その証明書が期限満了になった場合、そのサイトのユーザは、安全な接続を確立することが可能ではなく、結果的に、ユーザが、サイトを通して注文できなくなり得る、または他のそのようなタスクを行うことができなくなり得ることとなる。そのような状況では、機能の問題を最小限にすることを試みるために、現在の証明書の期限満了時間の近くで新しい証明書を許可及び展開することが望ましい場合がある。少なくともいくつかの実施形態では、ユーザが十分に利用できなくなり得る新しい証明書は、ユーザが利用できない期限切れの証明書よりも悪くなく、多くの場合、ユーザが、それぞれの機能の一部または全てを使用し続けることを可能にすることとなる。
【００１９】
従って、顧客は、その顧客の代わりに、証明書の管理に関する多様なオプションを有することができる。例えば、顧客は、自身の証明書を管理するオプション、または、証明書マネージャに、既定時間（現在の証明書の期限満了前の既定量等）で新しい証明書を自動的に展開させるオプションを有することができる。顧客は、また、更新を選択しオプションを保持することができ、それによって、証明書マネージャは、新しい証明書を取得できるが、顧客が展開を命令することを待機することができる。更新及び保持オプション下にある顧客はまた、顧客が別の方法で展開を命令しない場合、現在の証明書の期限ちょうどに、その期限の近くで、またはその期限後に、新しい証明書を自動的に展開させることを選択することができる。多様な他の機能は、多様な実施形態の範囲内で同様に使用されることができる。現在の証明書の期限満了前に新しい証明書が展開されることを確実にすることで、証明書を必要とする一定のタスクを行うことを試すエンドユーザの一定の不具合を避けることができる。これは、新しい証明書を展開することを忘れた、または、１つの理由もしくは別の理由のために証明書の期限満了前に展開を命令することができない、顧客に仮想セーフティネットを提供する。
【００２０】
少なくともいくつかの実施形態では、証明書マネージャは、顧客の代わりに使用される証明書を最初に取得する責任を負うことができる。証明書マネージャは、公開キー及び秘密キーのペアを生成し、要求を適切な認証局に送信し、対応する証明書を発行させることができる。いくつかの実施形態では、リソースプロバイダ環境は、そのような証明書が利用可能であるタスクのために、同様に証明書を提供することが可能である認証局を含むまたは提供する場合がある。次に、証明書が更新されるとき、または新しい証明書が発行されるときと同様に、証明書マネージャは秘密キーを制御することができる。証明書マネージャは、また、展開をスケジュールすることと、適切な時間（複数可）で証明書を適切な場所（複数可）に展開すること等のタスクに責任を負うことができる。証明書マネージャは、また、リソースと証明書との間に関連付けリストを維持することができ、それによって、対応する証明書が更新及び／または展開する準備ができたとき、証明書マネージャは、リソース（すなわち、その環境によって動作するシステムまたはサービス）に通知することができる。少なくともいくつかの実施形態では、リソースは、新しい証明書を要求することと、証明書をリソース上で展開すること等の動作を開始することができる。言及されるように、証明書を展開するための多様なルールまたはポリシが存在する可能性があり、少なくともいくつかの実施形態では、リソースは、証明書を展開することを判定するとき、適用可能なルールまたはポリシに従う必要がある。
【００２１】
証明書マネージャは、また、証明書が異なるリソースに異なるように扱われ得る方法及び／または異なる証明書が同じリソースに扱われ得る方法に関する情報を維持することができる。例えば、顧客証明書は、複数のサービスと関連付けられる場合がある。顧客は、証明書を、あるサービスのために自動的に更新及び展開されることを可能にするが、証明書が他のサービスのために更新及び保持されるべきであることを命令する場合がある。顧客は、また、全ての更新された証明書が展開されることを手動で命令することができ、または個々の証明書に関する命令を提供することができる。顧客はまた、いくつかあるオプションの中でも、異なる証明書及び／または異なるリソースに関する展開スケジュール及びポリシを提供することができる。顧客は、また、証明書を使用する規定リソース、リソース及び証明書に依存するサ―ビス、及びそれらのコンポーネントに関する証明書を管理する証明書マネージャ等の、同じ証明書のための異なるレベルに関する制御オプションを規定することができる。顧客は、また、通知がどれくらいの量または頻度等で送信されるどうかを示す、多様な種類のリソースまたはポリシに関する命令を提供することができる。顧客は、また、更新された証明書が展開される前にリソースまたは証明書マネージャによって保持されるべきであるかどうかを潜在的に示すこともできる。
【００２２】
いくつかの実施形態では、そのユーザのクライアントデバイス上で実行するアプリケーションが、予期しない変更がサイトまたはサービスに関する証明書に対して発生したことを判定したとき、顧客は、ユーザが、「介入者」攻撃または同様の攻撃がサイトまたはサービスに発生することを考えないことを望む場合がある。ウェブブラウザ等のアプリケーションが第１のインスタンスの信頼等の技術を利用する場合があり、それにより、ブラウザアプリケーションは、証明書の第１のインスタンスを予期された証明書として見なし、その証明書に関する情報をキャッシュする。後続の時間において、ブラウザアプリケーションが、キャッシュ証明書と比較して、証明書に対する予期しない変更を検出する場合、アプリケーションは、少なくとも、証明書に関連付けられるタスクを行うことに進む前に、ユーザにその変更を通知することができる。ビジネスに不可欠な機能に関するそのような発生を防ぐために、例えば、顧客は、特定の証明書を「固定」することを決定する場合がある。証明書を固定することは、証明書のマーキングを指し、それにより、顧客によって明確に示されない限り、証明書に関するキーに対する変更が行われなくなる。固定することは、いくつかの実施形態では、少なくとも、証明書がキーを自動的に再生成するべきではないという事実を指す。証明書マネージャは、固定された証明書の期限が満了しそうな場合（例えば、ただし、証明書の更新に対する措置をとることを別に制限される場合）、ユーザに通知することが可能であり得る。リソースから認証局等に至るまでの証明書連鎖がある場合、連鎖に沿った任意の証明書は固定されることができ、同様に連鎖に沿った他の証明書に影響を及ぼす可能性がある。
【００２３】
図３は、多様な実施形態に従って、利用されることができる顧客の代わりに証明書を更新するための例示的プロセス３００を示す。他に特別に記述がない限り、多様な実施形態の範囲内で、同様もしくは別の順番または同時に行われる、追加の、より少ない、または代わりのステップがある可能性があることを理解されたい。本例では、証明書は顧客のために取得される（３０２）。これは、いくつかあるオプションの中でも、顧客もしくは認証局から証明書マネージャに受信される証明書、または、証明書を生成する際に認証局によって使用のための公開キー及び秘密キーのペアを生成する証明書マネージャに受信される証明書を含むことができる。次に、証明書は、適切なリソースまたは場所に展開されることができ（３０４）、そのようなリソースまたは場所は、リソースプロバイダ環境内に含まれる、またはその環境によって少なくとも部分的に動作される、規定のリソース、システム、サービス等を含んでもよい。証明書マネージャ等のコンポーネントは、証明書の存続期間または期限についての情報を記憶することができ、ある時点で、証明書が第１の既定時間周期内に期限満了になるであろうことを判定することができる（３０６）。これは、例えば、証明書が期限満了または無効になるように設定されている２か月前、１カ月前、２週間前等の、顧客またはプロバイダによって設定され得るような任意の適切な時間である可能性がある。本例では及びこの証明書に関して、証明書マネージャは、認証局から、顧客の代わりに新しい証明書を自動的に取得するように構成及び許可されることができる（３０８）。証明書マネージャが証明書を自動的に展開することを許可されない場合、証明書マネージャは、新しい証明書が展開される準備ができていることを関連顧客に通知できる（３１０）。この通知は、同様に、新しい証明書を証明書にマネージャによって展開させることができる証明書に関連付けられるリソースのリスト等の他の情報を含むことができる。本例では、展開命令が受信されるまで新しい証明書が証明書マネージャによって保持されるが（３１２）、他の実施形態では、証明書は、証明書が潜在的に展開されるリソース（複数可）によって保持されることができる。次に、新しい証明書を展開するために、顧客の代わりに、要求または命令を受信することできる（３１４）。これは、証明書を、いくつかあるオプションの中でも、単一のリソース、関連リソースのセット、または関連リソースのサブセットに展開する命令である可能性がある。要求または命令はまた、いくつかあるオプションの中でも、すぐに証明書を展開するかどうかを示すことができ、または、展開に関する規定時間（すなわち、期限満了の１時間前）を規定する場合がある。次に、証明書マネージャは、証明書を対応するリソース（複数可）に展開する、またはそれを展開させることができる（３１６）。証明書及び顧客に関する証明書マネージャによって記憶される情報は、必要に応じて更新されることができる。
【００２４】
図４は、多様な実施形態に従って、利用されることができる更新及び保持される証明書を顧客に通知するための例示的プロセス４００を示す。本例では、図３のプロセスに言及されるように、新しい証明書が展開される準備ができていることを顧客に通知する（４０２）。通知が送信された後、証明書マネージャが、応答が証明書に対して受信されるかどうかを監視または別の方法で判定することができる。次回の閾値または値が証明書の期限満了に達する場合（４０４）、別の通知は顧客に送信されることができる（４０６）。この第２の通知は、顧客、プロバイダ、または本明細書の別の箇所で説明されるような別のそのような組織によって決定された時間スケジュールに従って送信されることができる。少なくともいくつかの実施形態では、顧客が通知に応答して命令を事前に提供しない場合、スケジュールは、証明書を特定のリソースに自動的に展開する時間を含むことができる。第１の通知が期限満了の２か月前に送信される場合、例えば、第２の通知は、期限満了の１か月前に送信され得る。命令が受信される場合（４０８）、証明書は対応するリソース（複数可）に展開されることができる（４１０）。受信されない場合、証明書が期限満了になりそうかどうか（４１２）、または残っている追加の通知期間があるかどうかについての判定を行うことができる。残っている追加の通知期間がある場合、プロセスが継続することができ、スケジュールまたは既定時間に従って、追加通知が送信されることができ、証明書の期限満了までの時間が近づくにつれて、通知の頻度は増加する可能性がある。命令が受信されず及び証明書がその期限満了時間に達した、またはその期限満了時間に達しようとしている場合、本例の証明書マネージャは、新しい証明書を適切なリソースに自動的に展開することができる（４１０）。いくつかの実施形態では、証明書が単純に期限満了になることを認められ得る一方、本例では、有効な証明書が顧客に関連リソース（複数可）上で常に利用可能であることを確実にするために、現在の証明書が期限満了になる、または期限満了になりそうな場合、新しい証明書が展開されることを確実にすることができる。
【００２５】
図５は、多様な実施形態に従って利用されることができる、その証明書がユーザによって固定された場合、証明書がキーを再生成することを防ぐための例示的プロセス５００を示す。本例では、本明細書に説明または提案されるアプローチのいずれかを使用して、証明書が取得される（５０２）。顧客の代わりに、証明書は適切なリソースに展開されることができる（５０４）。証明書が既定時間周期内に期限満了になりそうなことの判定を行うことができる（５０６）。特定の証明書が固定されたことを顧客によって示されているかどうかについての別の判定を行うことができ（５０８）、それによって、証明書のキーを再生成すべきではないことが判定される。固定されていない場合、顧客の代わりに、更新及び保持を行うことができる（５１２）。証明書が固定される場合、ユーザに通知されることができるが、ユーザからの明確な命令なしでは証明書のキーの再生成が行われないこととなる（５１０）。
【００２６】
さらに、本開示の実施形態は、以下の条項を鑑みて説明できる。
１．コンピュータ実施方法であって、
リソースプロバイダ環境の証明書管理サービスに対して、証明書を前記リソースプロバイダ環境のリソースに展開する要求を受信することであって、前記証明書は、前記リソースプロバイダ環境の顧客の代わりに展開される、前記受信することと、
前記証明書を前記リソースに展開させることであって、前記証明書に関する情報は、前記証明書管理サービスによって記憶される、前記展開することと、
前記証明書に関する前記情報を使用して、前記証明書が前記証明書の有効期間の終了から第１の既定時間周期内にあることを判定することと、
証明認証局から、前記顧客の代わりに新しい証明書を取得することであって、前記新しい証明書は、前記証明書管理サービスによって記憶される、前記取得することと、
前記顧客に、前記リソースに展開される前記新しい証明書の有効性を示す通知を提供することと、
前記証明書に関する前記情報を使用して、前記証明書が前記有効期間の終了から第２の既定時間周期内にあることと、展開する命令が前記顧客の代わりに受信されていないことを判定することと、
前記新しい証明書を、前記証明書管理サービスを介して、前記リソースに自動的に展開させることと、
を含む、前記コンピュータ実施方法。
【００２７】
２．展開する命令が前記顧客の代わりに受信されていない場合、前記第１の既定時間周期と前記第２の既定時間周期との間に増加する頻度で、追加通知を前記顧客に提供することをさらに含む、条項１に記載のコンピュータ実施方法。
【００２８】
３．前記証明書管理サービスによって及び前記顧客の代わりに、公開キー及び秘密キーのペアを生成することと、
前記公開キー及び秘密キーのペアを使用して、認証局から、前記顧客の代わりに前記証明書を取得することと、
をさらに含む、条項１に記載のコンピュータ実施方法。
【００２９】
４．前記新しい証明書に関する前記情報を使用して、前記新しい証明書が前記新しい証明書の有効期間の終了から第１の既定時間周期内にあることを判定することと、
認証局から、前記顧客の代わりに第３の証明書を取得することであって、前記第３の証明書は、前記認証局によって記憶される、前記取得することと、
前記顧客に、前記リソースに展開される前記第３の証明書の有効性を示す通知を提供することと、
前記顧客の代わりに、前記第３の証明書を展開する命令を受信することと、
前記第３の証明書を前記リソースに展開させることと、
をさらに含む、条項１に記載のコンピュータ実施方法。
【００３０】
５．コンピュータ実施方法であって、
ユーザの代わりに、マルチテナント環境内のリソースに展開される第１の証明書が期限満了から第１の時間量閾値内にあることを判定することと、
前記ユーザの代わりに、新しい証明書を取得することと、
前記ユーザに、前記新しい証明書が前記リソースに展開されるために利用可能であることを通知することと、
展開する命令が前記ユーザの代わりに別の方法で受信されない場合、前記新しい証明書を、期限満了から第２の時間量閾値内にリソースに展開させることと、
を含む、前記コンピュータ実施方法。
【００３１】
６．期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間で、前記展開する命令が受信されないことを判定することと、
前記新しい証明書に関して、少なくとも１つの追加通知を前記ユーザに送信することと、
をさらに含む、条項５に記載のコンピュータ実施方法。
【００３２】
７．前記少なくとも１つの追加通知を、期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間に増加する頻度で送信することをさらに含む、条項６に記載のコンピュータ実施方法。
【００３３】
８．前記ユーザから、前記少なくとも１つの追加通知を送信するためのスケジュールを受信することであって、前記スケジュールは、さらに、前記第１の時間量閾値及び前記第２の時間量閾値を指定する、前記受信することをさらに含む、条項７に記載のコンピュータ実施方法。
【００３４】
９．前記ユーザから、前記新しい証明書を前記リソースに展開する命令を受信することであって、前記命令は前記新しい証明書を展開する時間を規定する、前記受信することをさらに含む、条項７に記載のコンピュータ実施方法。
【００３５】
１０．前記ユーザから、前記ユーザに通知するために使用されるための少なくとも１つの通知種類の指示を受信することであって、前記指示は、さらに、異なる通知のための異なる通知種類を規定することが可能である、前記受信することをさらに含む、条項５に記載のコンピュータ実施方法。
【００３６】
１１．前記ユーザの代わりに、前記第１の証明書が少なくとも１つの追加リソースに展開されたことを判定することと、
前記ユーザに、前記新しい証明書が前記少なくとも１つの追加リソースに展開されるために利用可能であることを通知することと、
前記ユーザが、前記新しい証明書を展開するための別個の命令を前記リソース及び前記少なくとも１つの追加リソースに提供することを可能にすることと、
をさらに含む、条項５に記載のコンピュータ実施方法。
【００３７】
１２．前記ユーザの代わりに展開される第２の証明書が固定された証明書として指定されたことを判定することと、
前記第２の証明書は期限満了から前記第１の時間量閾値内にあることを判定することと、
前記ユーザに、前記第２の証明書のキーを再生成することなく、前記第２の証明書が期限満了から前記第１の時間量閾値内にあることを通知することと、
をさらに含む、条項５に記載のコンピュータ実施方法。
【００３８】
１３．前記リソースは、ロードバランサ、サーバ、コンピューティングデバイス、ウェブサービス、またはコンテンツ配信ネットワークのうちの１つである、条項５に記載のコンピュータ実施方法。
【００３９】
１４．前記証明書は、トランスポート層セキュリティ（ＴＬＳ）証明書またはセキュアソケットレイヤ（ＳＳＬ）証明書のうちの１つである、条項５に記載のコンピュータ実施方法。
【００４０】
１５．前記ユーザの代わりに、公開キー及び秘密キーのペアを生成することと、
前記公開キー及び秘密キーのペアを使用して、認証局から、前記ユーザの代わりに前記証明書を取得することと、
をさらに含む、条項５に記載のコンピュータ実施方法。
【００４１】
１６．システムであって、
少なくとも１つのプロセッサと、
命令を含むメモリであって、前記少なくとも１つのプロセッサによって実行されると、前記システムに、
ユーザの代わりにマルチテナント環境内に展開される第１の証明書が期限満了から第１の時間量閾値内にあることを判定させ、
前記ユーザの代わりに新しい証明書を取得させ、
前記ユーザに、前記新しい証明書が前記リソースに展開されるために利用可能であることを通知させ、
展開する命令が前記ユーザの代わりに別の方法で受信されない場合、前記新しい証明書を、期限満了から第２の時間量閾値内に前記リソースに展開させる、前記メモリと、
を備える、前記システム。
【００４２】
１７．前記命令が実行されると、さらに前記システムに、
少なくとも１つの前記第１の時間量閾値を判定するために、または前記新しい証明書を前記リソースに自動的に展開するために、前記ユーザに関する１つ以上のポリシを分析する、条項１６に記載のシステム。
【００４３】
１８．前記命令が実行されると、さらに前記システムに、
期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間で、前記展開する命令が受信されなかったことを判定することと、
前記新しい証明書に関して、少なくとも１つの追加通知を前記ユーザに送信することであって、前記少なくとも１つの追加通知は、期限満了から前記第１の時間量閾値と前記第２の時間量閾値との間に増加する頻度で送信される、前記送信すること、
を行わせる、条項１６に記載のシステム。
【００４４】
１９．前記命令が実行されると、さらに前記システムに、
前記第１の証明書が前記ユーザの代わりに少なくとも１つの追加リソースに展開されたことを判定させ、
前記ユーザに、前記新しい証明書が前記少なくとも１つの追加リソースに展開されるために利用可能であることを通知させ、
前記ユーザが、前記新しい証明書を展開するための別個の命令を前記リソース及び前記少なくとも１つの追加リソースに提供することを可能にさせる、条項１６に記載のシステム。
【００４５】
２０．前記命令が実行されると、さらに前記システムに、
前記ユーザの代わりに展開される第２の証明書が固定された証明書として指定されたことを判定させ、
前記第２の証明書が期限満了から前記第１の時間量閾値内にあることを判定させ、
前記ユーザに、前記第２の証明書のキーを再生成することなく、前記第２の証明書が期限満了から前記第１の時間量閾値内にあることを通知させる、条項１６に記載のシステム。
【００４６】
図６は、多様な実施形態の態様を実施するために利用されることができる例示的コンピューティングデバイス６００の基本的コンポーネントのセットを示す。本例では、本デバイスは、メモリデバイスまたは要素６０４内に記憶されることができる命令を実行するための少なくとも１つのプロセッサ６０２を含む。当業者に明らかであるように、本デバイスは、多くの種類のメモリ、データストレージまたはコンピュータ可読媒体（例えば、少なくとも１つのプロセッサ６０２による実行のためのプログラム用の第１のデータストレージ等）を含むことができ、同じまたは別個のストレージは、画像またはデータ用に使用されることができ、取り外し可能メディアは、他のデバイスと情報を共有するために利用可能であり得、任意の数の通信アプローチは、他のデバイスと共有するために利用可能であり得る。本デバイスは、少なくとも１種類のディスプレイ要素６０６（例えば、タッチスクリーン、電子インク（ｅ−ｉｎｋ）、有機発光ダイオード（ＯＬＥＤ）、または液晶ディスプレイ（ＬＣＤ）等）を含み得るが、サーバ等のデバイスは、他の手段を介して（光及びデータ伝送のシステム等によって）、情報を伝える場合がある。本デバイスは、一般的に、１つ以上のネットワークコンポーネント６０８（少なくとも１つのネットワークにわたって通信を可能にする、ポート、ネットワークインターフェースカード、または無線トランシーバ）を含む。本デバイスは、従来の入力をユーザから受信することが可能である少なくとも１つの入力デバイス６１０を含むことができる。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、トラックボール、キーパッド、または任意の他のそのようなデバイスまたは要素（それによって、ユーザがコマンドをデバイスに入力することができる）を含むことができる。これらのＩ／Ｏデバイスは、さらに、いくつかの実施形態では、同様に、無線赤外線もしくはＢｌｕｅｔｏｏｔｈまたは他のリンクによって接続され得る。しかしながら、いくつかの実施形態では、そのようなデバイスは、いずれかのボタンを全く含まない場合があり、視覚及び音声コマンドの組み合わせのみによって制御される場合があり、それにより、ユーザは、デバイスと接触する必要なしに、デバイスを制御することができる。
【００４７】
説明されたように、異なるアプローチは、説明された実施形態に従って、多様な環境で実施されることができる。理解されるように、ウェブベースの環境が本明細書に提示された数個の例の説明の目的のために使用されるが、多様な実施形態を実施するために異なる環境が必要に応じて使用され得る。本システムは、電子クライアントデバイスを含み、その電子クライアントデバイスは、要求、メッセージ、または情報を適切なネットワークを通して送信及び受信するように、及びデバイスのユーザに情報を伝え戻すように動作可能である、任意の適切なデバイスを含むことができる。そのようなクライアントデバイスの例として、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子ブックリーダー等が挙げられる。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、もしくは任意の他のそのようなネットワークまたはその組合せを含む、任意の適切なネットワークを含むことがある。そのようなシステムのために使用されるコンポーネントは、選択されるネットワーク及び／または環境の種類に少なくとも部分的に依存し得る。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントはよく知られており、本明細書では詳細に説明されない。ネットワークを通した通信は、有線接続または無線接続及びそれらの組合せを介して可能にされ得る。本例では、環境が要求を受信し及びその要求に応答してコンテンツを提供するためのウェブサーバを含むように、ネットワークはインターネットを含む。ただし、他のネットワークに関して、当業者に明白であろうように、同様の目的を果たす代替のデバイスが使用され得る。
【００４８】
例示的な環境は、少なくとも１つのアプリケーションサーバ及びデータストアを含む。適切なデータストアからデータを取得する等のタスクを実行するように、連結または別の方法で構成され得、そのように相互作用することができる、数個のアプリケーションサーバ、層もしくは他の要素、プロセス、またはコンポーネントが存在し得ることを理解されたい。本明細書で使用される「データストア」という用語は、データを記憶し、データにアクセスし、及びデータを読み出すことが可能である任意のデバイスまたはデバイスの組み合わせを指し、任意の標準、分散型、またはクラスタ化環境において、任意の組み合わせ及び任意の数のデータサーバ、データベース、データストレージデバイス、及びデータストレージ媒体を含み得る。アプリケーションサーバは、必要に応じてデータストアと統合してクライアントデバイス用の１つ以上のアプリケーションの態様を実行するための、ならびにアプリケーションのためのデータアクセス及びビジネスロジックの大部分を扱うための、任意の適切なハードウェア及びソフトウェアを含むことができる。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、ユーザに転送されるテキスト、グラフィックス、音声、及び／またはビデオ等のコンテンツを生成することが可能であり、そのコンテンツは、本例では、ＨＴＭＬ、ＸＭＬ、または別の適切な構造化言語の形態で、ウェブサーバによってユーザに提供されてもよい。全ての要求及び応答の扱い、ならびにクライアントデバイスとアプリケーションサーバとの間のコンテンツ配信は、ウェブサーバによって扱われることができる。本明細書に説明された構造化コードが本明細書の他の箇所で説明されるような任意の適切なデバイスまたはホストマシン上で実行されることができるように、ウェブサーバ及びアプリケーションサーバが必要とされず、単なる例示的コンポーネントであることを理解されたい。
【００４９】
データストアは、数個の別個のテーブル、データベースまたは他のデータストレージ機構、及び特定の態様に関するデータを記憶するための媒体を含むことができる。例えば、示されるデータストアは、生産側にコンテンツを提供するために使用されることができるコンテンツ（例えば、生産データ）及びユーザ情報を記憶するための機構を含む。また、ログデータまたはセッションデータを記憶するための機構を含むデータストアが示される。ページの画像情報及びアクセス権情報等の、データストア内に記憶される必要があり得る多くの他の態様が存在する可能性があり、これは、必要に応じて上に列挙された機構のいずれか、またはデータストア内の追加機構内に記憶されることができることを理解されたい。データストアは、そのデータストアと関連付けられたロジックによって、アプリケーションサーバから命令を受信し、その命令に応答してデータを取得し、更新し、または別の方法で処理するように動作可能である。一例では、ユーザは、ある種類の項目に関する検索要求を送信する場合がある。この場合、データストアは、ユーザ情報にアクセスしてユーザの識別を検証する場合があり、カタログ詳細情報にアクセスし、その種類の項目についての情報を取得することができる。次に、情報は、ユーザがユーザデバイス上のブラウザを介して視認することができるウェブページ上の結果リスト等において、ユーザに戻されることができる。関心のある特定の項目の情報は、ブラウザの専用ページまたはウィンドウ内で視認されることができる。
【００５０】
各サーバは、一般的に、そのサーバの一般的な管理及び操作のための実行可能なプログラム命令を提供するオペレーティングシステムを含み、サーバのプロセッサによって実行されると、サーバがその意図される機能を実行することを可能にする命令を記憶するコンピュータ可読記憶媒体を含むであろう。サーバのオペレーティングシステム及び一般的な機能の好適な実装は、既知または市販されており、特に本明細書の開示に照らして当業者によって容易に実施される。
【００５１】
一実施形態における環境は、１つ以上のコンピュータネットワークまたは直接接続を使用し、通信リンクを介して相互接続される数個のコンピュータシステム及びコンポーネントを利用する、分散型コンピューティング環境である。しかしながら、そのようなシステムは、示されるよりも少ない数または多い数のコンポーネントを有するシステムにおいて同等に良好に動作し得ることが当業者によって理解されるであろう。従って、本明細書のシステムの描写は、本質的に例示であり、本開示の範囲を限定するものではないと見なされるべきである。
【００５２】
多様な実施形態は多種多様な動作環境でさらに実装することができ、その動作環境では、場合によっては、いくつかのアプリケーションのいずれかを動作するために使用されることができる１つ以上のユーザコンピュータまたはコンピューティングデバイスを含むことができる。ユーザデバイスまたはクライアントデバイスは、標準オペレーティングシステムを起動するデスクトップコンピュータまたはラップトップコンピュータ等のいくつかの汎用パーソナルコンピュータのいずれか、ならびに携帯電話向けソフトウェアを実行し及びいくつかのネットワーキングプロトコル及びメッセージプロトコルをサポートすることが可能である、セルラーデバイス、無線デバイス、及びハンドヘルドデバイスを含むことができる。そのようなシステムは、また、さまざまな市販のオペレーティングシステムならびに開発及びデータベース管理等の目的のための他の既知のアプリケーションを起動するいくつかのワークステーションを含むことができる。これらのデバイスは、また、ダミー端子、シンクライアント、ゲーム機、及びネットワークを介して通信することができる他のデバイス等の他の電子デバイスを含むことができる。
【００５３】
多くの実施形態は、ＴＣＰ／ＩＰ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、及びＣＩＦＳ等のさまざまな市販のプロトコルのいずれかを使用し、通信をサポートするための当業者によく知られているであろう少なくとも１つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組合せであり得る。
【００５４】
ウェブサーバを利用する実施形態では、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａサーバ、及びビジネスアプリケーションサーバを含む、さまざまなサーバまたは中間層アプリケーションのいずれかを起動することができる。また、サーバ（複数可）はＪａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋等の任意のプログラミング言語、またはＰｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬ等の任意のスクリプト言語、ならびにそれらの組合せで書き込まれた１つ以上のスクリプトまたはプログラムとして実装されてよい１つ以上のウェブアプリケーションを実行すること等によって、ユーザデバイスからの要求に応答してプログラムまたはスクリプトを実行することが可能であり得る。また、サーバ（複数可）は、限定することなく、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）、ならびにＭｙＳＱＬ、Ｐｏｓｔｇｒｅｓ、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢ、及び構造化データまたは非構造化データを記憶し、読み出し、かつそれにアクセスすることが可能である任意の他のサーバを含む、データベースサーバを含んでもよい。データベースサーバには、テーブルベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、リレーショナルサーバ、非リレーショナルサーバ、またはこれらの及び／もしくは他のデータベースサーバの組み合わせを含んでもよい。
【００５５】
環境は、上記に説明されたような、さまざまなデータストアならびに他のメモリ及び記憶媒体を含むことができる。これらは、１つ以上のコンピュータに対してローカル（及び／またはその内部に常駐する）にある、または、ネットワークにわたっていずれのもしくは全てのコンピュータから遠隔にある、記憶媒体上等のさまざまな場所の内部に常駐することができる。実施形態の特定のセットでは、情報は、当業者によく知られているストレージエリアネットワーク（ＳＡＮ）内に常駐し得る。同様に、コンピュータ、サーバ、または他のネットワークデバイスによる機能を実行するためのあらゆる必要なファイルは、必要に応じてローカル及び／または遠隔に記憶されてもよい。システムがコンピュータ化デバイスを含む場合、そのような各デバイスはバスを介して電気的に結合され得るハードウェア要素を含むことができ、その要素は、例えば、少なくとも１つの中央演算処理装置（ＣＰＵ）、少なくとも１つの入力装置（例えば、マウス、キーボード、コントローラ、タッチセンサ式ディスプレイ要素、またはキーパッド）、及び少なくとも１つの出力装置（例えば、表示装置、プリンタ、またはスピーカ）を含むことができる。また、そのようなシステムは、ディスクドライブ、磁気テープドライブ、光学式記憶デバイス、及びソリッドステート記憶装置（ランダムアクセスメモリ（ＲＡＭ）または読出専用メモリ（ＲＯＭ）等）、ならびに取り外し可能な媒体デバイス、メモリカード、フラッシュカード等の、１つ以上の記憶デバイスを含んでもよい。
【００５６】
また、そのようなデバイスは、上記に説明されたような、コンピュータ可読記憶媒体読取り装置、通信装置（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信装置等）、及び作業メモリを含むことができる。コンピュータ可読記憶媒体読取り装置は、遠隔記憶デバイス、ローカル記憶デバイス、固定記憶デバイス、及び／または取外し可能記憶デバイスを表すコンピュータ可読媒体、ならびにコンピュータ可読情報を一時的に及び／またはより恒久的に含む、記憶する、伝送する、及び読み出すための記憶媒体と接続されることができる、またはそれらを受け取るように構成されることができる。また、システム及び多様なデバイスは、一般的に、クライアントアプリケーションまたはウェブブラウザ等のオペレーティングシステム及びアプリケーションプログラムを含む、いくつかのソフトウェアアプリケーション、モジュール、サービス、または、少なくとも１つの作業用メモリデバイス内部に位置する他の要素を含むであろう。代わりの実施形態が上記に説明されたものから多数の変形例を有し得ることを理解されたい。例えば、カスタマイズ化されたハードウェアがまた使用される場合もあり、及び／または特定の要素がハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）、または両方の内部に実装される場合がある。さらに、ネットワーク入力／出力デバイス等の他のコンピューティングデバイスへの接続が採用されてもよい。
【００５７】
コードまたはコードの一部を含むための記憶媒体及び他の非一過性コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスク記憶デバイス、もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用されることができ及びシステムデバイスによってアクセスされることができる任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶のために任意の方法または技術で実装される揮発性及び不揮発性の媒体、取外し可能及び取外しできない媒体等であるが、これらに限定されるものではない、当技術分野において既知のまたは使用される任意の適切な媒体を含むことができる。本開示及び本明細書に提供される教示に基づいて、当業者は多様な実施形態を実施するための他の方法及び／または手法を理解することとなる。
【００５８】
したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかしながら、特許請求の範囲で述べられる本発明のより広い主旨及び範囲から逸脱することなく、それに様々な修正及び変更がなされ得るということは明らかである。
【図１】
2019503115.tif 000003
【図２】
2019503115.tif 000004
【図３】
2019503115.tif 000005
【図４】
2019503115.tif 000006
【図５】
2019503115.tif 000007
【図６】
2019503115.tif 000008
【国際調査報告】
2019503115.tif 000009
2019503115.tif 000010
2019503115.tif 000011