JP2010526358A - 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー - Google Patents

拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー Download PDF

Info

Publication number
JP2010526358A
JP2010526358A JP2010503123A JP2010503123A JP2010526358A JP 2010526358 A JP2010526358 A JP 2010526358A JP 2010503123 A JP2010503123 A JP 2010503123A JP 2010503123 A JP2010503123 A JP 2010503123A JP 2010526358 A JP2010526358 A JP 2010526358A
Authority
JP
Japan
Prior art keywords
service
client
institutional
institution
access
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.)
Pending
Application number
JP2010503123A
Other languages
English (en)
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 JP2010526358A publication Critical patent/JP2010526358A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • 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/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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

Abstract

拡張可能なマルチテナント・サース(SaaS:Software as a Service)・ビジネスアプリケーションが、複数の機関をホスティング処理するために提供される。機関サービス部は、拡縮可能なグループにまとめられた専用のデータ記憶装置を備える仮想的又物理的なサーバによって提供される。拡縮可能なグループのコンポーネント間の分散配置された相互作用が拡張性及び信頼性を有効にする一方、当該サービスへの当該クライアントによるアクセスがシームレスに継続できるように、機関サービス部のロケーション変化が当該クライアントに提供される。カスタマイズ可能且つ動的なAPIが、当該プラットフォームに組み込まれてもよく、当該APIは、各機関のデータ及びアプリケーションにアクセスし、他から隔離され且つ第三者認証サービスが接続自在である。

Description

本発明は、拡張可能且つプログラム可マルチテナントサービスアーキテクチャーに関する。
ビジネス努力とは、顧客要求に迅速呼応し、より速く市場に製品を出し、全体的な収益性を増やし、絶えず競争で好成績を得ようと励むものである。これら共通の市場への冒険に挑もうとする機敏さや能力は、堅固な(solid)ビジネスアプリケーション技術プラットフォームに依拠している。ビジネス上の機敏さを成し遂げるには、アプリケーション統合のために設計された多面的且つ知的なソフトウェア基盤が必要である。
ビジネスアプリケーションプラットフォームは、典型的にはシングルテナントであり、当該プラットフォームが単一の機関(organization)だけのためのアプリケーションをホスティングし、当該プラットフォームの全ての資源は当該機関のためだけに用いられることを意味する。かかるプラットフォームは、典型的には顧客によってホスティングされ、彼らの企業建物内に実装及び配置される。かかるプラットフォームを配置及び維持するためのコストは高額であるし、その費用対効果は最適化されていない場合がある。
他方、マルチテナントシステムを設計及び管理することそれ自身が挑戦である。実際のマルチテナントシステムにおいて、各クライアントは彼らの機関に接続するのに異なるスキーマを有する場合がある。さらに、各クライアントは、かかるシステムのセキュリティ、通信量管理、信頼性及び拡張性等からなる非常に複合的な作業の管理を提供する複数の機関に接続する場合がある。
本概要は、以下の発明の詳細な説明においてさらに説明される概念の抜粋を単純化された形式で紹介するために提供される。本概要は、請求される発明の鍵となる特徴又は本質的な特徴を特定することは意図されていないのみならず、請求された発明の範囲を画定することも意図されていない。
実施形態は、単一のプラットフォームで複数の機関にサービス提供するための、拡張可能なマルチテナント・サース(SaaS: software-as-a- service)モデルを提供することを目指している。実施形態に従ったプラットフォームは、当該プラットフォームによってホスティングされる機関サービス部のロケーション及びコンフィギュレーションに関連付けられている情報をクライアントに提供するディスカバリ(discovery)サービスを含むことができる。そして、当該クライアントは、拡縮可能なクラスタ内にホスティング(hosting)される機関サービス部にアクセスすることが可能となる。当該リクエストされたサービスの中断されないアクセスのために、ロケーションの変更を、当該クライアントに提供することができる。
これら及び他の特徴及び優位点は、引き続く詳細な説明を読むことによって明らかとなるであろう。前述の概要及び引き続く詳細な説明の双方は、説明のためだけのものであって、請求される特徴を制限するものではないことが理解されるべきである。
シングルテナントサービスモデル例を示す図である。 マルチテナントサービスモデル例を示す図である。 実施形態に従った拡張可能マルチテナントサービスアーキテクチャーを示す図である。 マルチテナントサービスの機関サービス部の要素例を示す図である。 処理動作においてクライアントとマルチテナントサービスの要素との間の相互作用を示す動作ダイヤグラムである。 実施形態が実行されるネットワーク化された環境例を示す図である。 実施形態が実施されるコンピュータ処理の環境例を示すブロック図である。 クライアントに拡張可能なマルチテナントサービスを提供するブロセスについての論理フローチャートである。
上記に簡潔に説明されたように、拡張可能なマルチテナントビジネスアプリケーションプラットフォームは、ディスカバリサービス部及び拡縮可能なサーバクラスタを用いて提供することができる。引き続く詳細な説明において、本願の一部をなすと共に特定の実施形態すなわち実施例が示されている添付の図面が参照される。これら態様は組み合わせられてもよく、他の態様が用いられてもよく、構造上の変更が本開示の思想及び範囲から逸脱することなくなされてもよい。引き続く詳細な説明は、従って、限定する意図で考慮されるべきでなく、本発明の範囲は添付の特許請求の範囲及びそれらの均等物によって画定される。
実施形態は、パーソナルコンピュータ上のオペレーティングシステムの基で動作するアプリケーションプログラムと組み合わさって実行されるプログラムモジュールとして説明されるが、その一方で他のプログラムモジュールと組み合わせて、他の特徴を実装することができることを当業者は認識するであろう。
概して、プログラムモジュールは、特定のタスクを実行又は特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、並びに他のタイプの構造を含む。さらに、当業者は、当該実施形態が他のコンピュータシステム構成によっても実施することができることを認めるであろうし、かかる構成は、ハンドヘルド装置、複数プロセッサシステム、マイクロプロセッサベース又はプログラム可能な家庭用エレクトロニクス、ミニコンピュータ、メインフレームコンピュータ等を含む。実施形態は、また、通信ネットワークを通してリンクしたリモートプロセッシングユニット装置によってタスクが実行される分散コンピュータ環境において実施されてもよい。分散コンピュータ環境において、プログラムモジュールはローカル又はリモートメモリ記憶装置に置くことができる。
実施形態は、コンピュータプロセス(方法)、コンピュータシステム、又は製造物品、例えば、コンピュータプログラム製品若しくはコンピュータ読取可能媒体の如き物品として実現されてもよい。当該コンピュータプログラム製品は、コンピュータシステムによって読み取り可能であって、コンピュータプロセスを実行するための命令からなるコンピュータプログラムを符号化しているコンピュータ記憶媒体であってもよい。当該コンピュータプログラム製品は、また、コンピュータシステムによって読み取り可能な搬送波で伝達される信号であって、コンピュータプロセスを実行するための命令からなるコンピュータプログラムを符号化している信号であってもよい。
図1を参照すると、シングルテナントサービスモデル例のダイヤグラム100が例示されている。上述したように、典型的ビジネスアプリケーションプラットフォームのためのプログラム可能なアーキテクチャは、シングルテナントされ、構内機器でホスティングされるアプリケーションに対して適合化されている。
かかる典型的なシングルテナント化されたプラットフォームにおいて、クライアント102は、ネットワーク104を介して、ウェブサービス部106によってホスティングされるシングルテナントに関連付けられているデータ及びビジネスアプリケーションにアクセスする。ネットワーク104はインターネットであってもよい一方、一般的なイントラネットタイプのネットワークの組み合せであってもよい。シングルテナントが当該サービスによってホスティングされることから、認証、セキュリティ及び他の事前処理が、第三者のサービスを利用するよりはむしろ、当該サービス自身によって実行されるであろう。処理の冗長化及び何らかの処理の負荷分散が複数のサーバ及び/又はサーバクラスタの使用を伴うとしても、当該サービスのロケーションは典型的には変化しない。
このように、シングルテナント化されたシステムの処理は比較的単純で複雑でない。しかし、今日の経済界において、多くの機関は、それらのビジネスアプリケーションプラットフォームを、効果的な、経済的な且つ信頼できるサービスを提供できる事業体(entity)にアウトソースすることを好む。それら機関のビジネスモデルを合理化し且つそれらの資源を効率的に利用するためには、かかる事業体は複数の機関のホストサービスを行うのを好む場合がある。さらに、あるクライアントは複数の機関と関連付けられた場合があり、かかる場合は、当該クライアントが単一のコンタクトポイントを通して全ての機関にアクセスすることになる。
図2は、複数テナントサービスモデル例200である。マルチテナントサービスにおいて、ビジネスアプリケーションプラットフォームは、複数の機関のためのサービスをホスティングする。何らかの数のクライアント202は、インターネット又は多様なネットワークの組合せであり得るネットワーク204を通してウェブサービス部206を呼び出して1つ以上の機関に関連付けられているデータ及びアプリケーションへのアクセスすることができる。
ウェブサービス部206は、管理サービスを実行し、クライアントを機関に特定されたウェブサービス部208に向かわせるようにすることができる。その上、ウェブサービス部206は、任意で第三者サービスを利用して、認証、セキュリティチェック、及び類似の事前サービスを実行してもよい。機関に特定のウェブサービス部208は拡縮可能なクラスタを含むことができ、個々の機関の処理を負荷分散及び他の理由により移動させることができる。ウェブサービス部206は、かかる変化をモニタして呼び出し元のクライアントをリダイレクトすることができ、これによりクライアントにとって当該変化がわかりやすいもの(transparent)になる。
クライアントは、シン(thin)クラアントであってもシック(thick)クライアントであってもよいが、シンクラアントの場合には第三者アプリケーションによって任意に提供される追加的なサービスを伴う。異なるクライアントは、別々のスキーマを用いて異なるサービスにアクセスすることができる。あるサービスは当該スキーマを共有してもよい。
図2におけるアーキテクチャは、図1に示したものに代わる、サース(software as a Service)プラットフォームの概観を例示している。本質的な構成要素だけが単純化の目的で示される。実際には、かかるシステムは特定のタスク及び通信方法を伴うより多くのコンポーネントを含む。実施形態に従ったかかるプラットフォームのより詳細な説明が以降に提供される。
図3は、実施形態に従った拡張可能なマルチテナントサービスアーキテクチャー300を示している。実施形態に従ったサース・ビジネスアプリケーションプラットフォーム320は、異なるサイトに実装されてもよく、各サイトにおいて複数の機関のデータ及びアプリケーションをホスティングすることができる。各サイトへのプラットフォーム320の実装は、サービスを高性能化すること及び高可用性化することに関し高い柔軟性を有する。当該サイトは、インターネット上又はイントラネット上でホスティングされることができる。
一部の実施形態によれば、当該サービスは、各機関のユーザ(クライアント302)を認証するために、任意の信頼できる第3者機関認証サービス(例えば、チケットサービス部312)を利用することができる。独立の接続認証サービスが、インターネット又はイントラネットモードのために利用されてもよい。他の実施形態によれば、各機関のデータ及び動作へのアクセスは、セキュリティロール(security role)及び特権(privilege)及び機関員資格(organization membership)に基づいて制限されてもよい。
一部の実施形態によれば、各機関のデータ及びアプリケーションは、他から隔離され、APIの専用セットを通してアクセスされる。当該APIは、開発者がビジネスデータにアクセスすること及び変更することを可能にするのみならず、インターネット上で遠隔でビジネスプロセス及びロジックを定義/呼出/変更することを可能にすることができる。当該APIは、自動的に生成されそして動的であり、これにより、新しい機関が当該プラットフォームに追加またはそこから除去される場合にも、当該APIが自動的に調整できるようにしている。また、当該APIをカスタマイズ可能にして、他の機関とは別に各機関にカスタムオブジェクト及び処理が追加されることを可能にするように。
ディスカバリサービス部322は、認証及び機関ディスカバリサービスを提供し、クライアント302がプラットフォーム320にサインインして、彼/彼女がメンバーである全ての機関を見つけられるようにすることができる。ディスカバリサービス部322は、直接アクセスのための当該プラットフォーム内の各機関のロケーションと他のコンフィギュレーション情報とを含む詳細なコンフィギュレーションデータを提供することができる。当該コンフィギュレーション情報は、コンフィギュレーション記憶部324内に格納され且つそこから取り出される。ユーザ(クライアント)は、サイトにホスティングされる1つ以上の機関のメンバーとすることができる。ディスカバリサービス部322は、複数の認証モードで処理を行うことができる。各認証モードは、それ自身の専用のエンドポイントを有することで、どの認証が用いられるべきかを当該クライアントが指定できるようにしてもよい。
更なる実施形態によれば、各APIエンドポイントは、複数の機関にサービスを提供ししてもよい。当該APIに対する各呼び出しは、到達が意図される目的の機関を識別することができる。ディスカバリサービス部322は、コンフィギュレーション記憶部324を用いて、機関のコンフィギュレーションデータを取り出すことができる。管理者がコンフィギュレーション記憶部324にアクセスして、これを維持管理できるようにしてもよい。
機関データ及び処理は、プラットフォーム320のサービスクラスタ330内で利用可能な複数の拡縮可能なグループ(サービスロケーション1、2、等)に置かれてもよい。機関のロケーションは変更することができ、負荷均衡化目的のために当該拡縮可能な複数グループ間で移動することができる。当該拡張可能なマルチテナントサービスモデルは、移動後においてさえ目的の機関のロケーションを判別できるという意味おいて、動的である。各サービスロケーション(332、334・・・)は、サービスを提供する1つ以上の仮想的又は物理的なサーバを含んでもよい。
図4は、マルチテナントサービスの機関サービス部のコンポーネント例を示している。上述したように、拡縮可能なサーバクラスタ430は、拡張可能なマルチテナント・サース・プラットフォームの核心部分である。一部の実施形態によれば、サーバクラスタ430は、クライアントリクエストを受け取り、同期リクエストをハンドルし、機関データベース433へのアクセスを管理する1群の仮想的又は物理的ウェブサーバ431を含むことができる。ウェブサーバ431のうちの特定のサーバが所定のアルゴリズム(例えば、負荷均衡化アルゴリズム)等に従って、ランダムな選択によって当該クライアントに割り当てられてもよい。機関データベース433は、当該プラットフォームによってサービスされる機関(すなわち、テナント)毎の物理的又は仮想的なデータ記憶装置を含んでもよい。例えば、金融サービスシステムは、参加する金融機関(銀行等)毎に、アカウント情報、アカウントアクセス情報等を格納する別々のデータベースを含んでもよい。個別のデータベース、それらの構成、何らかの冗長性等に関する情報は、図3のコンフィギュレーション記憶部324に格納されてもよい。
他の実施形態によれば、ロケーターサービス(図示せず)は、どのデータベースがウェブサーバによって使われてもよいかに関わる情報を提供してもよい。ウェブサーバ433は、また、非同期サービスリクエストを、機関データベース433と共に非同期サーバ435によって操作されるべき待ち行列に置くことができる。クライアントリクエストが当該待ち行列に到来するにつれて、当該非同期サーバ435のうちの1台が当該リクエストを処理するために接続されてもよい。非同期サーバと個々の機関データベースとの関係は、分散配置された関係であってもよく、各サーバは、当該データベースの何れか1台と一緒に働いてもよい。当該非同期サーバと当該機関データベースとの間のこの分散配置された相互作用は、1つのサーバの障害時に他の利用可能なサーバに当該データベースを接続可能にすることによって、非同期プロセッシング機器における障害からの自動的なリカバリ能力を提供することができる。
当該サーバと当該データベースとの間における同期的及び非同期的な働き及び相互作用の独立した分散化に依拠して、サーバクラスタ430の何らかの部分は拡縮可能である。このように、当該サーバ(及び/又はデータベース)の複数インスタンスが、増加する作業負荷、追加的な機関、データ容量等を解決するように提供されてもよい。
図5は、処理時における、クライアントとマルチテナントサービスのコンポーネントとの間の相互作用を示している動作ダイヤグラムを示している。動作ダイヤグラム500における相互作用は、処理例を特定のステップと共に例示している。実施形態に従ったマルチテナントプラットフォームの相互作用は、異なる順番の相互作用のみならず、より少ないステップ又は付加的なステップを伴う異なるやり取りを行うようにできる。
処理例によれば、クライアント504は、ディスカバリサービス部506からのサイトポリシーをリクエストすることによって呼び出しを始動する。ディスカバリサービス部506は、任意のチケットサービス部502を識別することができる(例えば、認証のため)サイトポリシーで応答する。任意の第三者チケットサービス部502が用いられる場合、クライアント504はチケットサービス部502にチケットリクエストを送信し、さらに、当該クライアントの証明書が当該リクエストされた機関(テナント)へのアクセスについて認証された場合に、クライアント504は当該サービスチケットを受信する。
クライアント504は、次いで、チケットサービス部502からのサービスチケットと共にサイトチケットリクエストを、ディスカバリサービス部506に発信する。ディスカバリサービス部506は、当該サイトチケットで応答する。クライアント504は、次いで、リクエストされている機関のリストを提示することができ、ディスカバリサービス部506は、当該リクエストされている機関のロケーションのリスト及び他のコンフィギュレーション情報(スキーマ、その他)で応答する。次に、クライアント504は、ディスカバリサービス部506によって提供されたロケーション及びコンフィギュレーション情報を用いて、機関サービス部508を通して目的の機関にアクセスすることができる。上記のように、機関サービス部のロケーションは、拡縮の程度、負荷均衡化等に起因して変化する場合がある。ディスカバリサービス部506は、機関サービス部へのクライアントのアクセスがシームレスに継続できるように、当該変更されたロケーション情報を用いてクライアントに最新情報を提供することができる。
図3〜図5に示された拡縮可能なマルチテナントシステム及び処理は説明目的の例示である。拡張可能なマルチテナントサービスのシステムは、本明細書において記載されている原理を用いて、追加的な又はより少ない構成要素及び処理で実施されてもよい。
図6は、実施形態が実施されるネットワーク環境例であり、拡張可能なマルチテナントサービスシステムは、多数の物理的及び仮想的なクライアント及びサーバに渡り分散配置された形態で実施されることができる。拡張可能なマルチテナントサービスシステムは、また、非クラスタ化されたシステム、又は1つ以上のネットワーク(例えば、ネットワーク610)上で通信する多数のノードを用いるクラスタ化システムで実施されてもよい。
かかるシステムは、サーバ、クライアント、インターネットサービスプロバイダ、及び通信媒体の何らかのトポロジを有してもよい。また、当該システムは、静的なトポロジ又は動的なトポロジを有してもよい。用語「クライアント」は、クライアントアプリケーション又はクライアント装置を意味してもよい。拡張可能なマルチテナントサービスを実施するネットワーク化されたシステムがより多くの構成要素を含んでもよい一方で、関連する構成要素を図と共に説明されている。
アクセスのためのリクエストは、ネットワーク化されたマルチテナントシステムにおいて、個々のクライアント装置602〜606又はアプリケーションサーバ608を用いたテナントから到来してもよい。かかるシステムは、また、1つ以上のサーバ(例えば、サーバ612、614)に実装されることができ、当該クライアント装置(又は、アプリケーション)によってアクセスされる。ウェブサーバ612の如き1つ以上のウェブサーバ(物理的又は仮想的)は、当該リクエストを受信し、それらを適切な資源に向けることができる。当該資源は、同期及び非同期サーバ、機関データベース及び他の構成要素を備える拡縮可能なサーバクラスタを含むことができる。
機関データベースは、データ記憶装置618の如き単一のデータ記憶装置、又は分散配置された幾つかデータ記憶装置で実現されてもよい。専用のデータベースサーバ(例えば、データベースサーバ616)が、かかるデータ記憶装置のうちの1つ以上におけるデータ検索及び格納を統合するのに用いられてもよい。
ネットワーク610は、企業ネットワークの如きセキュリティネットワーク、無線オープンネットワークの如き非セキュリティネットワーク、又はインターネットであってもよい。ネットワーク610は、本明細書に記載されているノード間の通信を提供する。例として、限定するものではないが、ネットワーク610は、有線ネットワーク又は直接有線接続の如き有線媒体、並びに、音響、RF、赤外線等の無線媒体であってもよい。
コンピュータ装置、アプリケーション、データソシース、データ配布システム等からなる多くの他の構成が拡張可能なマルチテナントサービスプラットフォームを実施するのに用いられてもよい。さらに、図6において説明されるネットワーク化された環境は、例示の目的だけのためにある。実施形態は、当該アプリケーション、モジュール又はプロセスの例に限定されない。
図7及び関連する説明は、実施形態が実施され得る適切なコンピュータ環境の簡潔且つ概括的な説明を提供することが意図される。図7を参照すると、コンピュータ処理環境例、例えば、装置700のブロック図が例示されている。基本的な構成において、コンピュータ700は、拡張可能な複数テナントサービスに関連付けられている管理サービスを提供するサーバとすることができ、典型的には、少なくとも1つのプロセッシングユニット702と、システムメモリ704とを含んでもよい。コンピュータ700は、また、プログラムを実行する際に協働する複数のプロセッシングユニットを含んでもよい。実際の構成及びコンピュータ装置のタイプに依存して、システムメモリ704は、揮発性(RAMの如き)、非揮発性(例えば、ROM、フラッシュメモリ等)又はこれら2つの何らかの組み合せであってもよい。システムメモリ704は、典型的には、ワシントン州レドモンドにあるマイクロソフト社が提供するウインドウズ(登録商標)オペレーティングシステムの如きネットワーク化されパーソナルコンピュータの処理を制御するのに適切なオペレーティングシステム705を含む。システムメモリ704は、また、例えば、プログラムモジュール706、ウェブサービス部722、ウェブサービス部722内のディスカバリサービス部724、及び任意のロケーターサービス(locator service)部726の如き、1つ以上のソフトウェアアプリケーションを含んでもよい。
ウェブサービス部722は、コンピュータ700と関連付けられているクラアントアプリケーションにデータ及びプロセッシングサービスを提供する、個別のアプリケーションとするか、又はホスティングされたマルチテナントサービスプラットフォームの統合されたモジュールとすることができる。ディスカバリサービス部724は、個々の機関(テナント)と関連付けられているロケーション及びコンフィギュレーション情報を、当該機関へのアクセスをリクエストするクライアントに提供することができる。任意のロケーターサービス部726は、サービス目的の判別やどのデータベースがウェブサーバのみならず非同期プロセッシングサーバに使用されるべきかの判定に関連付けられているサービスを提供することができる。この基本的な構成は、図7において破線708内の構成要素として示されている。
コンピュータ700は、追加的な特徴又は機能性を有してもよい。例えば、コンピュータ700は、また、付加的なデータ記憶装置(着脱可能及び/又は着脱不能な)、例えば、磁気ディスク、光ディスク又はテープを含んでもよい。かかる付加的な記憶装置は、図7において、移動自在な記憶装置709及び移動不能な記憶装置710によって例示されている。コンピュータ記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール又は他のデータの如き情報の記憶のための何らかの方法又は技術で実現される揮発性及び不揮発性媒体、又は着脱可能及び股間不能な媒体であってもよい。システムメモリ704、移動自在な記憶装置709、及び移動不能な記憶装置710は、コンピュータ記憶媒体の全ての例である。コンピュータ記憶媒体は、限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリ、若しくは他のメモリ技術、CD−ROM、多用途デジタルディスク(DVD)、若しくは他の光学記憶装置、又は、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、所望の情報を格納し得ると共にコンピュータ700によってアクセスされ得る他の如何なる媒体でもよい。かかる種類のコンピュータ記憶媒体は、装置700の一部であってもよい。コンピュータ700は、また、キーボード、マウス、ペン、音声入力装置、タッチ入力装置の如き入力装置712が含まれてもよい。ディスプレイ、スピーカ、プリンタ等の出力装置714がまた含まれてもよい。これらの装置は公知技術であってここで詳細に説明される必要はない。
コンピュータ装置700は、また、通信接続部716を含んでもよく、これは分散配置されたコンピュータ環境、例えばイントラネット又はインターネットである環境における無線ネットワークの如く他のコンピュータ装置718との通信を可能にする。他のコンピュータ718は、ロケーターサービス又は他のサービスに関連付けられているアプリケーションを実行するサーバを含んでもよい。通信接続部716は通信媒体の1つの例である。通信媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、又は搬送波又は他の伝送機構の如き変調されたデータ信号内の他のデータによって、典型的には実現されてもよく、何らかの情報配布媒体でもよい。用語「変調されたデータ信号」とは、その特性集合のうちの1つ以上を有する信号を意味するか、又は当該信号中に情報を符号化する形で変化する信号を意味する。例えば、限定するものではないが、通信媒体は、有線ネットワーク又は直接結線化接続の如き有線媒体、並びに音響、RF、赤外線等の如き無線媒体を含む。本明細書において使用される用語「コンピュータ読取可能記憶媒体」とは、記憶媒体及び通信媒体を含む。
本願で請求する発明は方法発明も含む。これらの方法は、本明細書に記載されている構造を含む幾つかの形態で実施され得る。かかる1つの方法は、本明細書において説明されたタイプの装置の機械処理による方法である。
他の任意の方法は、実行されるべき方法のうちの個々の処理のうちの1つ以上が、1人以上の何らかの運用を行う人間オペレータと共に実行される場合である。これら人間オペレータは、互いに並置される必要はないが、各々は当該プログラムの一部を実行する機器にのみ対応し得る。
図8は、クライアントに拡張可能なマルチテナントサービスを提供する動作手順800の論理フローチャートである。動作手順800は、ビジネスアプリケーションプラットフォーム・サースの一部として実行されてもよい。
動作手順800は処理802から開始し、1つ以上の機関にアクセスするためのリクエストが、クライアントの証明書(credential)と共にクライアントから受信される。上記したように、マルチテナントホスティングされたサービスのクライアントは、典型的には機関又はテナントと関連していて、当該機関又はテナントの各々は当該システム内に専用データベースを含んでいるサービスを有する。リクエストを受信するのに先立って、当該クライアントは第三者の認証サービスを任意に利用することができる。動作手順は処理802から判別処理804へと進む。
判別処理804において、クライアントが認証されるか否かについて判定がなされる。当該判定は、また、当該リクエストされた機関がマルチテナントサービスプラットフォームによってホスティングされているか否かについてのチェックを含む。もしクライアントが認証された場合、動作手順は処理806へ進む。クライアントが認証されなかった場合、動作手順は更なる処理のための呼出動作手順に進む。
処理806において、当該リクエストされた機関サービス部のロケーションが判別される。動作手順は処理806から処理808へ進み、当該機関サービス部のロケーションがアクセスのために当該クライアントに提供される。追加的なコンフィギュレーション情報がロケーション情報と共に提供されてもよい。処理808の後、動作手順は判別処理810へ進む。
判別処理810において、当該機関サービス部のロケーションが、拡縮化、負荷均衡化等のために変化したか否かの判定がなされる。ロケーションの変更があるとされた場合、動作手順は処理812へ進む。ロケーションの変更がないとされた場合、動作手順は更なる処理のための呼出動作手順へ進む。
処理812において、当該機関サービス部のロケーションの変更が当該クライアントに提供され、当該サービスへの当該クラアントのアクセスがシームレスに継続できるようにする。処理812の後、動作手順は更なる処理のための呼出動作手順へ進む。
動作手順800に含まれる処理は例示目的のためである。拡張可能なマルチテナントサービスのクライアントへの提供は、より少ないステップ又は追加のステップを備える類似した動作手順で実施されてもよいのみならず、本発明の原則を用いて、異な処理順序で実施されてもよい。
以上の明細、実施形態及びデータは、実施形態の組成物の製造及び使用の完全な説明を提供するものである。本発明の内容が構造上の特徴及び/又は方法上の動作に特有の言葉で説明されたが、添付の特許請求の範囲に画定される発明の内容は、上記した特定の形態に限定されるのではないことが理解されるべきである。むしろ、上記した特定の特徴及び動作は、特許請求の範囲及び実施形態を実施する例として開示されている。

Claims (20)

  1. 拡張可能なマルチテナントサービスプラットフォームを提供するコンピュータ装置において少なくとも部分的に実行される方法であって、
    各々が前記プラットフォームによってホスティングされる少なくとも1つの機関サービス部に関連付けられているクライアントからのアクセスのためのリクエストを受信する(802)ステップと、
    前記プラットフォーム内の拡縮可能なグループに組織化されている前記機関サービス部のロケーションを判別する(806)ステップと、
    前記機関サービス部へのアクセスを可能にするために、前記クライアントに前記機関サービス部のロケーションを提供する(808)ステップと、
    前記機関サービス部のロケーションが前記アクセスの間に変化した(810)場合に、前記クライアントの前記機関サービス部への継続したアクセスのために、当該変化したロケーションを前記クライアントに提供する(812)ステップと、
    を含むことを特徴とする方法。
  2. 請求項1に記載の方法であって、前記機関サービス部のロケーションを提供するステップに先立って、組み込まれた認証サービス及び第三者認証サービスのうちの1つを用いて、前記クライアントを認証する(804)ステップをさらに含むことを特徴とする方法。
  3. 請求項2に記載の方法であって、リクエストされた機関サービス部(208)への前記クライアント(202)のアクセスは、クライアント接続のセキュリティ・ステータスとクライアントの証明書及び機関員資格のうちの一つに基づいて制限されることを特徴とする方法。
  4. 請求項2に記載の方法であって、複数の認証モードを提供するステップをさらに含み、前記認証モードの各々は専用のエンドポイントを含み、前記クライアント(202)が所望の認証モードを指定するのを可能にすることを特徴とする方法。
  5. 請求項1に記載の方法であって、前記クライアント(202)に、リクエストされた機関サービス部(208)への前記クライアントのアクセスに関連付けられているコンフィギュレーション情報を提供するステップをさらに含むことを特徴とする方法。
  6. 請求項1に記載の方法であって、前記拡縮可能なグループ(430)は、前記プラットフォームによってホスティングされる機関サービス部に関連付けられているアプリケーションの垂直的及び水平的な拡張性を可能にするように構成されていることを特徴とする方法。
  7. 請求項1に記載の方法であって、前記プラットフォームは、前記プラットフォームによってホスティングされる機関サービス部(208)のためのメタデータアクセスを提供することを特徴とする方法。
  8. 拡張可能なマルチテナントサービスをホスティングするシステムであって、
    システムによってホスティングされる少なくとも1つの機関サービス部に関連付けられているクライアントからのアクセスのためのリクエストを受信し(802)、当該リクエストされた機関サービス部のロケーションを判別し(806)、前記機関サービス部へのアクセスを可能にするために、前記クライアントに前記機関サービス部のロケーションを提供する(808)ように構成されたディスカバリサービス部(506)と、
    前記機関サービス部(508)を提供するように構成された複数の拡縮可能なサービスクラスタと、
    前記ディスカバリサービス部に関連付けられたコンフィギュレーション記憶部であり、前記複数のサービスクラスタに関連付けられているコンフィギュレーション情報及びロケーション情報を格納し、前記機関サービス部への前記クライアントのアクセスの間における前記機関サービス部のロケーションの変化が前記クライアントに、前記機関サービス部への前記クライアントの継続したアクセスのために提供されるように構成されたコンフィギュレーション記憶部と、
    を含むことを特徴とするシステム。
  9. 請求項8に記載のシステムであって、前記ディスカバリサービス部(506)及び前記サービスクラスタは、ウェブサービスとして提供されることを特徴とするシステム。
  10. 請求項8に記載のシステムであって、前記ディスカバリサービス部(506)は、さらに、接続可能な認証サービスを介した複数の認証モードを用いて前記クライアントを認証する(804)ように構成されたことを特徴とするシステム。
  11. 請求項8に記載のシステムであって、前記機関サービス部へのアクセスを提供するように構成された複数の専用アプリケーションプログラミングインタフェース(API)をさらに含み、各機関サービス部に関連付けられているデータ及びアプリケーションが他の機関サービス部(508)から隔離されることを特徴とするシステム。
  12. 請求項11に記載のシステムであって、前記APIはカスタマイズ可能であり、許可を有するユーザが、カスタムオブジェクト及びカスタムプロセスのうちの少なくとも1つを、選択された機関サービス部(508)に追加可能であることを特徴とするシステム。
  13. 請求項11に記載のシステムであって、前記APIは、許可を有するユーザが
    前記機関サービス部(508)に関連付けられているデータを変更する動作と、
    前記機関サービス部に関連付けられているプロセス及びロジックのうちの1つを定義する動作と、
    前記機関サービス部に関連付けられているプロセス及びロジックのうちの1つを呼び出す動作と、
    前記機関サービス部に関連付けられているプロセス及びロジックのうちの1つを変更する動作と、
    を含む動作を実行できるように構成されたことを特徴とするシステム。
  14. 請求項11に記載のシステムであって、前記APIが動的に生成され、前記APIが、前記システムにおける機関サービス部(508)の追加及び除去のうちの1つに適応されることを特徴とするシステム。
  15. 請求項11に記載のシステムであって、前記サービスクラスタは、分散配置された形で相互作用するように構成された複数のウェブサーバ(431)、複数の機関データベース(433)及び複数の非同期ブロセッシングサーバ(435)を含むことを特徴とするシステム。
  16. 請求項15に記載のシステムであって、前記複数のウェブサーバ(431)、前記複数の機関データベース(433)及び前記複数の非同期ブロセッシングサーバ(435)のうちの少なくとも一部が仮想であることを特徴とするシステム。
  17. 請求項15に記載のシステムであって、前記複数のウェブサーバ(431)、前記複数の機関データベース(433)及び前記複数の非同期ブロセッシングサーバ(435)の複数のインスタンスが、拡縮性、負荷均衡化及び障害リカバリを可能にするように提供されることを特徴とするシステム。
  18. 拡張可能なマルチテナントサービスプラットフォームを提供するための命令が記憶されたコンピュータ読取可能記憶媒体であって、
    前記プラットフォームによってホスティングされる少なくとも1つの機関サービス部に関連付けられているクライアントからのアクセスのためのリクエストであり、前記クライアントの証明書を含むリクエストを受信するステップと、
    前記クライアントの証明書に基づいて、前記クライアントが利用可能な機関サービスのリストを判別するステップと、
    前記機関サービスのリストを前記クライアントに提供するステップと、
    前記リストのうちの少なくとも1つの機関サービス部にアクセスするリクエストを受信するステップと、
    前記プラットフォームによってホスティングされる拡縮可能なサービスクラスタによって提供される、当該リクエストされた少なくとも1つの機関サービス部のロケーションを判別する(806)ステップと、
    前記機関サービス部へのアクセスを可能にするために、前記少なくとも1つの機関サービス部のロケーションを前記クライアントに提供する(808)ステップと、
    前記機関サービス部のロケーションが前記アクセスの間に変化した(810)場合に、前記クライアントの前記機関サービス部への継続したアクセスのために、当該変化したロケーションを前記クライアントに提供する(812)ステップと、
    を実行するため命令が記録されていることを特徴とするコンピュータ読取可能記憶媒体。
  19. 請求項18に記載のコンピュータ読取可能記憶媒体であって、前記クライアント(804)によってリクエストされた各機関サービス部について少なくとも1つの認証モードを用いて前記クライアントを認証するステップを実行するための命令がさらに記録されていることを特徴とするコンピュータ読取可能記憶媒体。
  20. 請求項18に記載のコンピュータ読取可能記憶媒体であって、前記プラットフォームによってホスティング処理される機関サービス部毎に1組の専用APIを動的に提供するステップであり、管理者が各機関サービス部(508)に関連付けられているデータ及びプロセスうちの少なくとも1つを変更し、当該APIが前記プラットフォームにおける前記機関サービス部の追加及び除去のうちの1つに適応されるようにする、ステップを実行するための命令がさらに記録されていることを特徴とするコンピュータ読取可能記憶媒体。
JP2010503123A 2007-04-13 2008-04-01 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー Pending JP2010526358A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/787,134 US8019812B2 (en) 2007-04-13 2007-04-13 Extensible and programmable multi-tenant service architecture
PCT/US2008/059061 WO2008127871A1 (en) 2007-04-13 2008-04-01 Extensible and programmable multi-tenant service architecture

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014000296A Division JP2014132462A (ja) 2007-04-13 2014-01-06 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー

Publications (1)

Publication Number Publication Date
JP2010526358A true JP2010526358A (ja) 2010-07-29

Family

ID=39854989

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010503123A Pending JP2010526358A (ja) 2007-04-13 2008-04-01 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー
JP2014000296A Pending JP2014132462A (ja) 2007-04-13 2014-01-06 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014000296A Pending JP2014132462A (ja) 2007-04-13 2014-01-06 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー

Country Status (10)

Country Link
US (4) US8019812B2 (ja)
EP (1) EP2156308B1 (ja)
JP (2) JP2010526358A (ja)
KR (1) KR101279740B1 (ja)
CN (1) CN101657804B (ja)
BR (1) BRPI0809083B1 (ja)
ES (1) ES2709436T3 (ja)
RU (1) RU2463652C2 (ja)
TW (1) TWI473029B (ja)
WO (1) WO2008127871A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160715B2 (en) 2013-03-28 2015-10-13 Fujitsu Limited System and method for controlling access to a device allocated to a logical information processing device

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050471A1 (en) * 2005-08-31 2007-03-01 Microsoft Corporation Portable Remoting Component With A Scaleable Feature Set
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
WO2010024027A1 (ja) * 2008-08-28 2010-03-04 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
US8255490B1 (en) * 2008-10-22 2012-08-28 Amazon Technologies, Inc. Dynamic service-oriented architecture using customization code
US20100262632A1 (en) * 2009-04-14 2010-10-14 Microsoft Corporation Data transfer from on-line to on-premise deployment
US20100286992A1 (en) * 2009-05-08 2010-11-11 Microsoft Corporation Integration of Third-Party Business Applications with Hosted Multi-Tenant Business Software System
US20100318609A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US20100325139A1 (en) * 2009-06-18 2010-12-23 Microsoft Corporation Service Provider Management Console
US8561055B2 (en) * 2009-10-15 2013-10-15 Blackberry Limited Method, system and apparatus for management of push content
US8364810B2 (en) * 2009-11-06 2013-01-29 Research In Motion Limited Method, system and apparatus for management of push content when changing computing devices
US8505034B2 (en) 2009-12-17 2013-08-06 Amazon Technologies, Inc. Automated service interface optimization
US8645550B2 (en) 2010-02-18 2014-02-04 Microsoft Corporation Database virtualization
US9178949B2 (en) * 2010-03-03 2015-11-03 Blackberry Limited Method, system and apparatus for managing push data transfers
EP2365677B1 (en) * 2010-03-03 2020-04-08 BlackBerry Limited Method, system and apparatus for configuring a device for interaction with a server
US8489708B2 (en) 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
US8370905B2 (en) 2010-05-11 2013-02-05 Microsoft Corporation Domain access system
US20110302265A1 (en) * 2010-06-03 2011-12-08 Microsoft Corporation Leader arbitration for provisioning services
US8539078B2 (en) * 2010-07-08 2013-09-17 International Business Machines Corporation Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests
US8904511B1 (en) 2010-08-23 2014-12-02 Amazon Technologies, Inc. Virtual firewalls for multi-tenant distributed services
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US9304614B2 (en) 2010-10-20 2016-04-05 Salesforce.Com, Inc. Framework for custom actions on an information feed
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8386501B2 (en) * 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US20120109947A1 (en) * 2010-11-02 2012-05-03 BrightEdge Technologies Multi-tenant analytics processing
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
KR20120062514A (ko) * 2010-12-06 2012-06-14 한국전자통신연구원 SaaS 환경에서의 권한 관리 장치 및 방법
CN102012989B (zh) * 2010-12-07 2013-11-27 江苏风云网络服务有限公司 软件即服务中基于门限与密钥的授权方法
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8762795B2 (en) * 2010-12-17 2014-06-24 Microsoft Corporation Alerting recipients to errors occurring when accessing external services
US10019503B2 (en) 2010-12-22 2018-07-10 Microsoft Technology Licensing, Llc Database transfers using constraint free data
US20120174092A1 (en) * 2010-12-29 2012-07-05 Wolfgang Faisst Integrated commercial infrastructure and business application platform
CN102103637A (zh) * 2011-01-24 2011-06-22 上海银杏界信息科技有限公司 SaaS软件数据模型的实现方法
US8903884B2 (en) * 2011-02-21 2014-12-02 Microsoft Corporation Multi-tenant services gateway
US8667024B2 (en) * 2011-03-18 2014-03-04 International Business Machines Corporation Shared data management in software-as-a-service platform
US9652469B2 (en) 2011-06-04 2017-05-16 Microsoft Technology Licensing, Llc Clustered file service
US8627431B2 (en) 2011-06-04 2014-01-07 Microsoft Corporation Distributed network name
US9652790B2 (en) * 2011-06-17 2017-05-16 International Business Machines Corporation Open data marketplace for municipal services
US8671407B2 (en) 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
US8856518B2 (en) 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
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
US8819801B2 (en) * 2011-10-31 2014-08-26 Microsoft Corporation Secure machine enrollment in multi-tenant subscription environment
US9110729B2 (en) * 2012-02-17 2015-08-18 International Business Machines Corporation Host system admission control
US9075687B1 (en) 2012-04-19 2015-07-07 NetSuite Inc. System and methods for declaration-based extension management for multi-tenant environments
US9509571B1 (en) * 2012-07-25 2016-11-29 NetSuite Inc. First-class component extensions for multi-tenant environments
TWI476614B (zh) * 2012-12-27 2015-03-11 Chunghwa Telecom Co Ltd Multi - tenant Cloud Warehouse Integrated Retrieval System and Its Method
US9195513B2 (en) 2013-02-22 2015-11-24 Sas Institute Inc. Systems and methods for multi-tenancy data processing
US9607166B2 (en) 2013-02-27 2017-03-28 Microsoft Technology Licensing, Llc Discretionary policy management in cloud-based environment
US20140278812A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Diagnostics storage within a multi-tenant data center
US9515947B1 (en) * 2013-03-15 2016-12-06 EMC IP Holding Company LLC Method and system for providing a virtual network-aware storage array
US9043458B2 (en) 2013-03-19 2015-05-26 Cognizant Technology Solutions India Pvt. Ltd. Framework for facilitating implementation of multi-tenant SaaS architecture
US9411973B2 (en) 2013-05-02 2016-08-09 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9154492B2 (en) * 2013-09-27 2015-10-06 The University Of North Carolina At Charlotte Moving target defense against cross-site scripting
US9621673B2 (en) 2013-12-12 2017-04-11 Sap Se Customer initiated tenant operations in a multitenant cloud environment
WO2015163924A1 (en) 2014-04-25 2015-10-29 Hewlett-Packard Development Company, L.P. Data management in a distributed computing environment
US10110501B2 (en) * 2014-07-07 2018-10-23 Microsoft Technology Licensing, Llc Tenant control in initiating atomic platform tasks
US20160028833A1 (en) * 2014-07-25 2016-01-28 Violeta Georgieva Tenant aware session manager
US9391972B2 (en) 2014-09-12 2016-07-12 Oracle International Corporation Multi-tenant application using hierarchical bean factory container
KR101770240B1 (ko) * 2014-09-29 2017-08-22 삼성전자주식회사 Ui 제공을 위한 디스플레이 장치, 시스템 및 그 제공 방법
JP6426489B2 (ja) * 2015-02-03 2018-11-21 東京エレクトロン株式会社 エッチング方法
US10942900B2 (en) 2015-06-02 2021-03-09 Oracle International Corporation Techniques for tenant controlled visualizations and management of files in cloud storage systems
US9996321B2 (en) * 2015-06-23 2018-06-12 Microsoft Technology Licensing, Llc Multi-tenant, tenant-specific applications
US10748070B2 (en) 2015-07-31 2020-08-18 Microsoft Technology Licensing, Llc Identification and presentation of changelogs relevant to a tenant of a multi-tenant cloud service
US9667725B1 (en) 2015-08-06 2017-05-30 EMC IP Holding Company LLC Provisioning isolated storage resource portions for respective containers in multi-tenant environments
US10146936B1 (en) 2015-11-12 2018-12-04 EMC IP Holding Company LLC Intrusion detection for storage resources provisioned to containers in multi-tenant environments
US9983909B1 (en) 2016-03-15 2018-05-29 EMC IP Holding Company LLC Converged infrastructure platform comprising middleware preconfigured to support containerized workloads
US10326744B1 (en) 2016-03-21 2019-06-18 EMC IP Holding Company LLC Security layer for containers in multi-tenant environments
US10754838B1 (en) * 2016-03-31 2020-08-25 EMC IP Holding Company LLC Registration framework for an analytics platform
US10013213B2 (en) 2016-04-22 2018-07-03 EMC IP Holding Company LLC Container migration utilizing state storage of partitioned storage volume
US10187395B2 (en) 2016-04-28 2019-01-22 Microsoft Technology Licensing, Llc Resource sharing and designation of permissions for other tenants and unregistered users of same tenant
US10284557B1 (en) 2016-11-17 2019-05-07 EMC IP Holding Company LLC Secure data proxy for cloud computing environments
US11128437B1 (en) 2017-03-30 2021-09-21 EMC IP Holding Company LLC Distributed ledger for peer-to-peer cloud resource sharing
RU2646306C1 (ru) * 2017-06-15 2018-03-02 Федеральное Государственное унитарное предприятие Государственный научно-исследовательский институт гражданской авиации (ФГУП ГосНИИ ГА) Система мониторинга ставок арендных платежей операторов аэродромов за пользование имуществом аэродромов
US11063745B1 (en) 2018-02-13 2021-07-13 EMC IP Holding Company LLC Distributed ledger for multi-cloud service automation
KR102544820B1 (ko) 2018-05-23 2023-06-16 삼성에스디에스 주식회사 마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법
US10747600B2 (en) * 2018-06-12 2020-08-18 commercetools GmbH Extensibility for third party application programming interfaces
US10445223B1 (en) * 2018-10-25 2019-10-15 Capital One Services, Llc Service virtualization platform
RU2737601C2 (ru) * 2019-03-13 2020-12-01 Анастасия Надеровна Рубцова Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей)
EP4059162A1 (en) * 2020-08-17 2022-09-21 Google LLC System service sharing between endpoint devices for increased endpoint device capability

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281007A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 動的構成制御装置および動的構成制御方法
JP2004151942A (ja) * 2002-10-30 2004-05-27 Ricoh Co Ltd ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム
JP2005157613A (ja) * 2003-11-25 2005-06-16 Canon Inc 情報管理装置
JP2005278144A (ja) * 2004-02-26 2005-10-06 Ricoh Co Ltd 通信装置、サービス提供方法、サービス提供プログラム及び記録媒体
JP2006072904A (ja) * 2004-09-06 2006-03-16 Canon Inc 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体
JP2006189964A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd メッセージ配布方法、待機系ノード装置およびプログラム
JP2006252537A (ja) * 2005-03-08 2006-09-21 Microsoft Corp ダイナミック・サービス・サロゲート
JP2007018122A (ja) * 2005-07-06 2007-01-25 Hitachi Software Eng Co Ltd Webサービスカスタマイズシステム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434619B1 (en) * 1998-04-29 2002-08-13 Alcatel Canada Inc. Internet-enabled service management system and method
US7162464B1 (en) * 1998-10-02 2007-01-09 Ncr Corporation Data mining assists in a relational database management system
RU2237275C2 (ru) * 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
US20020065864A1 (en) * 2000-03-03 2002-05-30 Hartsell Neal D. Systems and method for resource tracking in information management environments
US20020049841A1 (en) * 2000-03-03 2002-04-25 Johnson Scott C Systems and methods for providing differentiated service in information management environments
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US20050049937A1 (en) * 2000-08-16 2005-03-03 Aaron Sanders Business method and processing system
WO2002017075A2 (en) * 2000-08-22 2002-02-28 Symbian Limited A method of enabling a wireless information device to access data services
US6643635B2 (en) * 2001-03-15 2003-11-04 Sagemetrics Corporation Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources
US7636499B1 (en) * 2002-04-05 2009-12-22 Bank Of America Corporation Image processing system
US8255548B2 (en) * 2002-06-13 2012-08-28 Salesforce.Com, Inc. Offline web services API to mirror online web services API
US7146499B2 (en) * 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
US7076562B2 (en) * 2003-03-17 2006-07-11 July Systems, Inc. Application intermediation gateway
US7447212B2 (en) * 2003-09-03 2008-11-04 At&T Intellectual Property I, L.P. Method and system for automating membership discovery in a distributed computer network
US7779039B2 (en) * 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7669177B2 (en) * 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
US20060184410A1 (en) * 2003-12-30 2006-08-17 Shankar Ramamurthy System and method for capture of user actions and use of capture data in business processes
US8533229B2 (en) * 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
US20060015471A1 (en) * 2004-07-01 2006-01-19 Gmorpher Incorporated System, Method, and Computer Program Product of Building A Native XML Object Database
US7549054B2 (en) * 2004-08-17 2009-06-16 International Business Machines Corporation System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce
US20060235831A1 (en) * 2005-01-14 2006-10-19 Adinolfi Ronald E Multi-source multi-tenant entitlement enforcing data repository and method of operation
US20060235715A1 (en) * 2005-01-14 2006-10-19 Abrams Carl E Sharable multi-tenant reference data utility and methods of operation of same
US20070038697A1 (en) * 2005-08-03 2007-02-15 Eyal Zimran Multi-protocol namespace server
US8069153B2 (en) * 2005-12-02 2011-11-29 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment
US20070162537A1 (en) * 2006-01-11 2007-07-12 Gearworks, Inc. Common application services framework
US7937711B2 (en) * 2006-06-30 2011-05-03 Dell Products L.P. Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments
US8190724B2 (en) * 2006-10-13 2012-05-29 Yahoo! Inc. Systems and methods for establishing or maintaining a personalized trusted social network
US20080114683A1 (en) * 2006-11-14 2008-05-15 Neveu Holdings, Llc Remote time and attendance system and method
WO2008072093A2 (en) * 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
US8201231B2 (en) * 2007-02-21 2012-06-12 Microsoft Corporation Authenticated credential-based multi-tenant access to a service
US20100153569A1 (en) * 2007-03-09 2010-06-17 Ghost, Inc. System and Method for a Virtual Hosted Operating System
US7680848B2 (en) * 2007-03-29 2010-03-16 Microsoft Corporation Reliable and scalable multi-tenant asynchronous processing
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
US7840413B2 (en) * 2007-05-09 2010-11-23 Salesforce.Com, Inc. Method and system for integrating idea and on-demand services
US8516366B2 (en) * 2008-06-20 2013-08-20 Wetpaint.Com, Inc. Extensible content service for attributing user-generated content to authored content providers
US20100082737A1 (en) * 2008-09-26 2010-04-01 Carlson Marketing Worldwide, Inc. Dynamic service routing
US10057775B2 (en) * 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8243949B2 (en) * 2009-04-14 2012-08-14 Plantronics, Inc. Network addressible loudspeaker and audio play
US9229793B2 (en) * 2010-04-22 2016-01-05 Salesforce.Com, Inc. System, method and computer program product for routing messages to a server

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281007A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 動的構成制御装置および動的構成制御方法
JP2004151942A (ja) * 2002-10-30 2004-05-27 Ricoh Co Ltd ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム
JP2005157613A (ja) * 2003-11-25 2005-06-16 Canon Inc 情報管理装置
JP2005278144A (ja) * 2004-02-26 2005-10-06 Ricoh Co Ltd 通信装置、サービス提供方法、サービス提供プログラム及び記録媒体
JP2006072904A (ja) * 2004-09-06 2006-03-16 Canon Inc 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体
JP2006189964A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd メッセージ配布方法、待機系ノード装置およびプログラム
JP2006252537A (ja) * 2005-03-08 2006-09-21 Microsoft Corp ダイナミック・サービス・サロゲート
JP2007018122A (ja) * 2005-07-06 2007-01-25 Hitachi Software Eng Co Ltd Webサービスカスタマイズシステム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSND200700799002; 渡邉利和: 'SaaSの「成熟度」と「進展の可能性」を探る' COMPUTERWORLD 第4巻、第5号, 20070402, pp.54-63, (株)IDGジャパン *
CSNG200300316015; 岩田泉: 'サービス制御装置とIP網上の複数の外部サーバとの連携においてCORBAを用いた実装方式に関する一考察' 電子情報通信学会技術研究報告 第101巻、第508号, 20011210, pp.115-120, 社団法人電子情報通信学会 *
CSNG201000673025; 河野泰隆: '分散コンポーネントのPlug and Play環境におけるコンポーネントの可用性の向上' レクチャーノート/ソフトウェア学31 ソフトウェア工学の基礎XII , 20051130, pp.195-200, 株式会社近代科学社 *
JPN6013002156; 渡邉利和: 'SaaSの「成熟度」と「進展の可能性」を探る' COMPUTERWORLD 第4巻、第5号, 20070402, pp.54-63, (株)IDGジャパン *
JPN6013043805; 河野泰隆: '分散コンポーネントのPlug and Play環境におけるコンポーネントの可用性の向上' レクチャーノート/ソフトウェア学31 ソフトウェア工学の基礎XII , 20051130, pp.195-200, 株式会社近代科学社 *
JPN6013043807; 岩田泉: 'サービス制御装置とIP網上の複数の外部サーバとの連携においてCORBAを用いた実装方式に関する一考察' 電子情報通信学会技術研究報告 第101巻、第508号, 20011210, pp.115-120, 社団法人電子情報通信学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160715B2 (en) 2013-03-28 2015-10-13 Fujitsu Limited System and method for controlling access to a device allocated to a logical information processing device

Also Published As

Publication number Publication date
KR101279740B1 (ko) 2013-06-28
CN101657804B (zh) 2015-07-08
US20110252089A1 (en) 2011-10-13
BRPI0809083A8 (pt) 2016-12-20
US8019812B2 (en) 2011-09-13
JP2014132462A (ja) 2014-07-17
KR20100015398A (ko) 2010-02-12
RU2463652C2 (ru) 2012-10-10
TW200847055A (en) 2008-12-01
US8533261B2 (en) 2013-09-10
CN101657804A (zh) 2010-02-24
BRPI0809083A2 (pt) 2014-09-09
TWI473029B (zh) 2015-02-11
EP2156308A4 (en) 2014-06-04
WO2008127871A1 (en) 2008-10-23
US20140012900A1 (en) 2014-01-09
ES2709436T3 (es) 2019-04-16
US8195743B2 (en) 2012-06-05
EP2156308A1 (en) 2010-02-24
BRPI0809083B1 (pt) 2019-05-07
US20120210390A1 (en) 2012-08-16
RU2009137767A (ru) 2011-04-20
EP2156308B1 (en) 2018-11-07
US20080256607A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
JP2010526358A (ja) 拡張可能且つプログラム可能なマルチテナントサービスアーキテクチャー
CN113711536B (zh) 从区块链网络中提取数据
US10454918B1 (en) Method for SSO service using PKI based on blockchain networks, and device and server using the same
EP3646226B1 (en) Access control manager configuration based on log files mining
CN100450033C (zh) 访问网络上计算机资源的管理方法和系统
Bozic et al. Securing virtual machine orchestration with blockchains
JP7228322B2 (ja) ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理
KR101810755B1 (ko) 액세스 제어를 위한 자유형식 메타데이터의 사용
EP2962244B1 (en) Discretionary policy management in cloud-based environment
US10970411B2 (en) Database preference sharing and management
KR101975614B1 (ko) 클라우드 서비스 재접속 자동화 방법
US11411881B2 (en) Organization level identity management
US9356968B1 (en) Managing authentication using common authentication framework circuitry
CN102947797A (zh) 使用横向扩展目录特征的在线服务访问控制
JP2008152471A (ja) サーバ、情報処理方法、サーバ用プログラム、およびサーバシステム
TWM617950U (zh) 服務系統
JP2013190971A (ja) 統合アクセス制御システム
JP2012164167A (ja) 認証システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130425

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130903