【文献】
ウッズ ダン,エンタープライズSOA−ビジネス革新実現に向けたITデザイン,日本,株式会社オライリー・ジャパン,2007年11月29日,第1版,pp.237〜260
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0006】
[0016]様々な実施形態が、供給関係を電子的に、自動的に管理するシステムおよび技法を対象とする。1つのエンティティー、例えば、顧客が、企業資源計画(ERP)システムを運用することが可能である。このエンティティーが、クライアント、例えば、ベンダーにおける既存のメールアプリケーションに構成要素としてインストールされ得るアドオンクライアントアプリケーションを提供することが可能である。ベンダーは、追加のソフトウェアを購入することも、顧客を相手に電子データ交換(EDI)システムをセットアップして、維持することもしなくてよい。クライアントは、既存の電子メールアプリケーション内のアドオンアプリケーション機能から、例えば、注文を受信し、注文を確認して、ERPシステムと対話することが可能である。実施形態は、重要業績評価指標(KPI)およびベンダー管理在庫(VMI)が追跡され、表示されることを可能にする。その結果、これらの実施形態は、運用者、デバイス、またはネットワークに関して値頃感、スケーラビリティー、モジュール性、拡張性、または相互運用性を向上させることができる。
【0007】
[0017]
図1は、クライアントシステムから企業資源計画アプリケーションに対するアクセスをもたらすシステム100に関するブロック図を示す。例えば、一実施形態において、システム100は、ERPシステム110、およびaが正の整数である、クライアントシステム120−1、120−aなどの複数の構成要素を有するコンピューターによって実施されるシステム100を備えることが可能である。本明細書で使用される「システム」および「構成要素」という用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかを備える、コンピューター関連のエンティティーを指すことを意図する。例えば、構成要素は、プロセッサー上で実行されるプロセスとして、プロセッサーとして、ハードディスクドライブとして、複数のストレージドライブ(光記憶媒体および/または磁気記憶媒体の)として、オブジェクトとして、実行ファイルとして、実行のスレッドとして、プログラムとして、さらに/またはコンピューターとして実装され得る。例として、サーバー上で実行されるアプリケーションとそのサーバーがともに構成要素であり得る。1つまたは複数の構成要素が、プロセス内および/または実行のスレッド内に存在することが可能であり、構成要素は、所与の実施例に関して所望されるとおり、1つのコンピューター上に局在化されること、および/または2つ以上のコンピューターの間で分散されることが可能である。実施形態は、この脈絡で限定されない。
【0008】
[0018]
図1に示される例示される実施形態において、システム100は、1つまたは複数の電子デバイスの一部として実装され得る。電子デバイスの例には、限定なしに、モバイルデバイス、携帯情報端末、モバイルコンピューティングデバイス、スマートフォン、セルラ電話機、ハンドセット、単方向ポケットベル、双方向ポケットベル、メッセージングデバイス、コンピューター、パーソナルコンピューター(PC)、デスクトップコンピューター、ラップトップコンピューター、ノートブックコンピューター、ハンドヘルドコンピューター、タブレットコンピューター、サーバー、サーバーアレイもしくはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピューター、メインフレームコンピューター、スーパーコンピューター、ネットワークアプライアンス、ウェブアプライアンス、分散コンピューティングシステム、マルチプロセッサーシステム、プロセッサーベースのシステム、家庭用電子機器、プログラマブル家庭用電子機器、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、加入者ステーション、モバイル加入者センター、無線ネットワークコントローラー、ルーター、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、または以上の組み合わせが含まれ得る。
図1に示されるシステム100は、或るトポロジーにおいて限られた数の要素を有するものの、システム100は、所与の実施例に関して所望されるとおり、代替のトポロジーにおいて、より多くの要素を含んでも、より少ない要素を含んでもよいことが認識され得る。
【0009】
[0019]様々な実施形態において、システム100は、企業資源計画(ERP)システム110を備えることが可能である。実施形態において、ERPシステム110は、企業または政府機関などのERPエンティティー102によって所有されることが可能であり、1つまたは複数の電子デバイス、例えば、サーバー上で動作する1つまたは複数のERPアプリケーション112を含むことが可能である。ERPアプリケーション112は、ロジックデバイス上、または処理装置上で実行されると、企業エンティティーがビジネスの様々な態様を管理するのに役立つ機能を実行するプログラミング命令を含むことが可能である。例えば、ERPアプリケーション112は、在庫を管理すること、在庫の中の商品に関して顧客から注文を受信すること、顧客に注文された製品を発送することによって注文を満足させること、顧客から支払いを受け取ること、従業員スケジューリングを管理すること、ベンダーから製品を注文すること、受け取られた製品の代金をベンダーに支払うことなどが可能である。実施形態は、以上の実施例に限定されない。
【0010】
[0020]ERPアプリケーション112が、エンティティー内で、ベンダーや顧客などの外部関係者を相手にしたトランザクション中に様々なビジネスプロセスを執行することが可能である。例えば、ビジネスプロセスが、注文の中のどのような情報が必要とされるかを指定することが可能である。また、ERPアプリケーション112が、プロジェクト計画−管理機能、人事管理、顧客関係管理などを提供することが可能である。ERPアプリケーション112の例には、限定なしに、MICROSOFT(登録商標)コーポレーションからのMICROSOFT DYNAMICS AX(登録商標)、SAP(登録商標)からのSAP BUSINESS SUITE(登録商標)、およびORACLE(登録商標)からのORACLE E−BUSINESS SUITE(登録商標)が含まれる。
【0011】
[0021]ERPアプリケーション112が、ERPアプリケーション112にERP処理を実行させる入力デバイスからの入力などの、適切なGUIおよび様々な入出力(I/O)デバイスを介したERPエンティティー102からの制御指示を受け取り、そのような制御指示に応答することが可能である。
【0012】
[0022]様々な実施形態において、ERPシステム110は、クライアントアカウント114を含むことも可能である。クライアントアカウント114は、特定のベンダーまたは顧客などのクライアントエンティティーに関連する情報を含み得る。クライアントアカウント114は、例えば、名前、アドレス、電話番号、一意クライアント識別子などの、クライアントに関する識別情報を含み得る。また、クライアントアカウント114は、クライアントが、クライアントシステム、例えば、クライアントシステム120−1からERPシステム110にアクセスする際に使用するアクセス資格証明を含むことも可能である。また、クライアントアカウント114は、クライアントがERPシステム110にアクセスするのに使用しているシステムを記述する情報、例えば、どのようなアプリケーションが使用されているか、プラットフォーム、バージョン番号、オペレーティングシステムなどを含むことも可能である。
【0013】
[0023]様々な実施形態において、システム100は、aが任意の正の整数を表す、クライアントシステム120−1から120−aなどの1つまたは複数のクライアントシステムを含むことが可能である。クライアントシステム120は、ベンダー、購入者、顧客、政府機関などのクライアントエンティティー104によって所有される1つまたは複数の電子デバイスを含み得る。クライアントエンティティー104は、ERPエンティティー102を相手に繰り返される、または進行中の対話および/またはトランザクションを有することが可能である。クライアントシステム120の例は、
図4に関連してさらに説明される。クライアントシステム120は、クライアントシステム120にERP処理を実行させる入力デバイスからの入力などの、適切なGUIおよび様々な入出力(I/O)デバイスを介したクライアントエンティティー104からの制御指示を受け取り、そのような制御指示に応答することが可能である。
【0014】
[0024]実施形態において、クライアントシステム120が、例えば、インターネットなどの、ただし、インターネットには限定されないネットワーク(図示せず)を介して、ERPシステム110に通信可能に結合されることが可能である。ERPシステム110は、ERPシステム110に接続し、ERPシステム110と対話するのに使用すべきネットワークアドレスをクライアントシステム120に供給することが可能である。実施形態は、以上の実施例に限定されない。
【0015】
[0025]
図2は、クライアントシステムから企業資源計画アプリケーションに対するアクセスをもたらすシステム200のブロック図を示す。システム200は、bが任意の正の整数を表す、ERPシステム210−1および210−bが、ERPシステム110の代表的な実施形態であることが可能であり、クライアントシステム220が、クライアントシステム120の代表的な実施形態であることが可能であるという点で、システム100と同様であり得る。ERPアプリケーション212およびクライアントアカウント214は、それぞれ、ERPアプリケーション112およびクライアントアカウント114の代表的な実施形態であり得る。クライアントエンティティー204は、クライアントエンティティー104を表すことが可能である。
【0016】
[0026]システム200は、供給ハブ230をさらに備えることが可能である。供給ハブ230は、ERPシステム210およびクライアントシステム220と通信状態にあってERP関連のデータを送信すること、受信すること、および操作することができる論理構成体を表すことが可能である。供給ハブ230は、例えば、サーバーと、データストアとを含むことが可能である。供給ハブ230は、供給ハブエンティティー206によって所有されて、ERPエンティティー202などの別のエンティティーのために運用されることが可能である。
【0017】
[0027]システム200は、複数のERPシステム、例えば、ERPシステム210−1およびERPシステム210−bをさらに備えることが可能である。実施形態において、この複数のERPシステム210は、同一のエンティティー、例えば、ERPエンティティー202によって所有され得るが、異なる物理ロケーションに配置されることが可能である。そのような実施形態において、この複数のERPシステム210は、供給ハブ230上の同一のERPデータと対話することが可能である。
【0018】
[0028]実施形態において、この複数のERPシステム210は、異なるエンティティーによって所有され、運用されてもよい。例えば、ERPエンティティー202が、ERPシステム210−1を所有することが可能であり、会社B(図示せず)が、ERPシステム210−bを所有することが可能である。そのような実施形態において、供給ハブ230は、それでも、供給ハブエンティティー206によって所有され、運用され得るが、各ERPシステム210につき1つずつ、外見上、別々の2つの供給ハブをもたらすように構造化されることが可能である。しかし、この分離は、物理的構成ではなく、ERPシステム210が、供給ハブ230内のいくつかのサーバー、サーバーのいくつかの部分、および/またはいくつかのデータストアだけにアクセスを有する論理構成であり得る。供給ハブ230が、
図3に関連して以下に説明される。
【0019】
[0029]
図3は、供給ハブ300のブロック図を示す。供給ハブ300は、供給ハブ230の代表的な実施形態であり得る。実施形態において、供給ハブ300は、クラウドコンピューティングモデルで実装され得る。クラウドコンピューティングモデルにおいて、アプリケーションおよびサービスは、ローカルコンピューター上にアプリケーションをインストールする必要なしに、さらに/またはローカルコンピューター上にデータを格納する必要なしに、アプリケーションおよびデータがローカルデバイス上にあるかのように提供され得る。しかし、アプリケーションおよび/またはデータストレージは、ローカルデバイスから通信インターフェースを介してアクセス可能な、多くのデバイス、サーバー、およびデータストアにわたって実装されることが可能である。クラウドコンピューティングモデルにおいて、供給ハブ300は、1つまたは複数のサーバー上に、1つまたは複数の物理ロケーションにおいて物理的に実現され得る。物理構成にかかわらず、供給ハブ230は、ERPシステム210およびクライアントシステム220などの外部エンティティーには、論理上、1つのデバイスまたはシステムに見えることが可能である。
【0020】
[0030]実施形態において、供給ハブ300は、ERPアプリケーション310を含むことが可能である。実施形態において、ERPアプリケーション310は、ERPアプリケーション212の代表的な実施形態であり得る。代替として、供給ハブ300は、ERPアプリケーションサポート320を含んでもよい。ERPアプリケーションサポート320は、スタンドアロンのERPアプリケーションであることなしに、ERPアプリケーションの構成要素として様々な機能を実行することが可能である。例えば、ERPアプリケーションサポート320は、データベースの中のデータを更新すること、計算を実行すること、1つのフォーマットから別のフォーマットにデータを変換することなどが可能である。
【0021】
[0031]実施形態において、供給ハブ300は、クライアントアカウント330を含み得る。クライアントアカウント330は、クライアントアカウント214の代表的な実施形態であり得る。クライアントアカウント330が供給ハブ300上に存在する場合、クライアントアカウント214は、ERPシステム210から省かれることが可能である。供給ハブ300上にクライアントアカウント330を格納することは、クライアントアカウント330に対するグローバルアクセシビリティーを、1つのエンティティーに関する複数のERPシステム210に提供することが可能である。
【0022】
[0032]実施形態において、供給ハブ300は、ERPデータ340を格納することが可能である。ERPデータ340は、ERPアプリケーション310、ERPアプリケーション212などのERPアプリケーション、またはERPアプリケーションサポート320によって使用される、または生成された任意のデータであり得る。ERPデータ340は、限定なしに、在庫データ、個人用データ、クライアントデータ、製品データ、プロジェクトデータ、注文データ、インボイスデータ、重要業績評価指標(KPI)データ、およびベンダー管理在庫(VMI)データなどを含み得る。ERPデータ340は、1つまたは複数のデータストア上に、データベース、テキストファイル、スプレッドシートなどの様々なフォーマットで格納され得る。
【0023】
[0033]実施形態において、供給ハブ300は、ビジネスプロセスチェッカー350と、ビジネスプロセス360とを含み得る。実施形態において、ビジネスプロセスチェッカー350は、ERPアプリケーション310またはERPアプリケーションサポート320の構成要素であり得る。ビジネスプロセス360は、ERPデータ340の構成要素であり得る。
【0024】
[0034]ビジネスプロセスチェッカー350は、ERPシステム上で、またはERPシステム210とクライアントシステム220の間で行われるERP処理を検査して、ERP処理がビジネスプロセス360に適合するかどうかを判定することが可能である。顧客−ベンダー供給関係に関するERP処理は、例えば、限定なしに、注文を表示すること、注文を行うこと、注文を受信すること、注文を拒否すること、注文を変更すること、注文を確認すること、注文を条件付きで確認すること、インボイスを受信すること、インボイスを表示すること、インボイスを送信すること、発送を確認すること、重要業績評価指標を表示すること、ベンダー管理在庫を表示すること、およびERP処理のステータスを表示することを含み得る。
【0025】
[0035]ERP処理がビジネスプロセスに適合しない場合、ビジネスプロセスチェッカー350は、例外を生成することが可能である。例えば、ビジネスプロセスチェッカー350は、元の注文をベンダーからのその注文の確認と比較して、確認された注文が元の注文と同一であるかどうかを判定することが可能である。元の注文と確認された注文が異なる場合、例えば、ベンダーがアイテムの価格を変更した場合、ビジネスプロセスチェッカー350は、例外を生成することが可能である。この例における例外は、注文が確認されることを防止することが可能であり、確認された注文を点検して変更を承認するよう、または拒否するよう発注側の顧客に促すことが可能である。実施形態は、以上の実施例に限定されない。
【0026】
[0036]供給ハブ300の構成要素、例えば、ERPアプリケーション310またはERPアプリケーションサポート320、クライアントアカウント330、ERPデータ340、ビジネスプロセスチェッカー350、およびビジネスプロセス360が、複数のデバイスおよび/または複数の物理ロケーションにわたって分散されることが可能である。これらの構成要素は、様々なタイプの通信媒体を介して通信可能に結合され得る。これらの構成要素は、互いの間で動作を協調させることが可能である。この協調は、情報の単方向交換または双方向交換を含み得る。例えば、これらの構成要素は、通信媒体を介して通信される信号の形態で情報を通信することが可能である。情報は、様々な信号線に割り当てられた信号として実現されることが可能である。そのような割り当てにおいて、各メッセージが信号である。しかし、さらなる実施形態は、代替として、データメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信され得る。例示的な接続は、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースを含む。
【0027】
[0037]
図4は、クライアントシステム400のブロック図を示す。クライアントシステム400は、クライアントシステム120または220を表すことが可能である。クライアントシステム400は、クライアントエンティティーによって所有される、またはクライアントエンティティーのために運用される複数の電子デバイスのうちの1つを表すことが可能である。
【0028】
[0038]クライアントシステム400は、クライアントアプリケーション410を含み得る。クライアントアプリケーション410は、実行可能プログラム命令から成るソフトウェアアプリケーションであり得る。実施形態において、クライアントアプリケーション410は、ERPアプリケーションと関係しない一次機能を有することが可能である。例えば、クライアントアプリケーション410は、MICROSOFT OUTLOOK(登録商標)などの、ただし、これには限定されない電子メール(Eメール)アプリケーションであり得る。クライアントアプリケーション410は、一般に、ERP処理を実行すること以外の主要な目的でクライアントエンティティーがクライアントシステム400にインストールしたアプリケーションであり得る。
【0029】
[0039]実施形態において、クライアントシステム400は、アドオンアプリケーション412を含み得る。アドオンアプリケーション412は、既存のクライアントアプリケーション410にERP機能を追加するようにインストールされ得る。アドオンアプリケーション412は、ERP処理を実行する能力を示すように既存のクライアントアプリケーション410のユーザーインターフェース内で機能することが可能である。実施形態において、アドオンアプリケーション412は、ERPシステムから受信されたERP処理がビジネスプロセスに適合することを検証することが可能である。ビジネスプロセスは、クライアントシステム400を運用するエンティティーにローカルのビジネスプロセスであることが可能であり、またはビジネスプロセス360であることが可能である。ERP処理がビジネスプロセスに適合しない場合、アドオンアプリケーション412は、ERP処理の際に例外が生じたという通知を生成し、その通知をERPシステムに送信することが可能である。
【0030】
[0040]実施形態において、ERPシステム110、210が、クライアントエンティティーに、クライアントシステム400がいずれのクライアントアプリケーション410を既に有するか、ERPを所有するエンティティーがいつクライアントエンティティーとパートナーシップを形成しているかについての情報を要求することが可能である。この要求は、ERPシステム110、210がアドオンアプリケーションを有するクライアントアプリケーション410の特定のリストを含み得る。クライアントエンティティーが既存のクライアントアプリケーション410を選択すると、ERPシステム110、210が、選択されたクライアントアプリケーション410に関するアドオンアプリケーション412をクライアントシステム400に送信することが可能である。次に、クライアントシステム400が、アドオンアプリケーション412をインストールすることが可能である。クライアントシステム400にアドオンアプリケーション412を供給することは、EDIシステムをセットアップしなければならない費用および時間を伴わずに、既存のアプリケーションを使用してERPシステム110、210と電子的に対話する能力をクライアントシステム400に与える。
【0031】
[0041]
図5は、シーケンス
図500を示す。シーケンス
図500は、ERPアプリケーション212、供給ハブ230、およびアドオンアプリケーション412の間でシステム200において行われるセットのERP処理の例を示す。シーケンス
図500で、時間は、図の最上部で始まり、図の最上部から図の最下部に向かって増加する。図示される例において、ERPアプリケーション212は、購入側エンティティー(顧客)によって運用され、アドオンアプリケーション412は、ベンダーエンティティー(ベンダー)によって運用される。供給ハブ230は、顧客によって、または顧客のために第三者によって運用され得る。
【0032】
[0042]ERPアプリケーション212が、購入注文を作成するERP処理を実行する(510)。例えば、ユーザーが、ERPアプリケーション212のインターフェースを使用して新たな購入注文オブジェクトを作成することが可能であり、選択されたベンダー、注文すべきアイテム、注文すべき量、アイテムの価格、および所望される配送日などの購入注文オブジェクト内の値を割り当てることが可能である。購入注文は、完成すると、伝送512として供給ハブ230に送信されることが可能である。購入注文を送信することは、供給ハブ230に購入注文オブジェクトを送信することを含むことが可能であり、または供給ハブ230に、割り当てられた値を送信することを含むことが可能である。
【0033】
[0043]供給ハブ230が、伝送512を受信することが可能であり、さらに、必要とされる場合、クライアント、選択されたベンダーについての情報を検索することが可能である(520)。例えば、供給ハブ230は、どのようなタイプのクライアントアプリケーション410をベンダーが使用しているかを検索することが可能であり、その延長として、どのようなアドオンアプリケーション412が使用されているかを検索することが可能である。必要とされる場合、供給ハブ230は、使用されるアドオンアプリケーションに応じて購入注文をフォーマットすることが可能である。例えば、購入注文がテーブルフォーマットである場合、供給ハブ230は、テーブルフォーマットを拡張マークアップ言語(XML)フォーマットの文書に変換することが可能である。実施形態において、購入注文は、ERPデータ340の一部として、例えば、購入注文オブジェクトまたはデータベースエントリーとして供給ハブ230上に格納され得る。実施形態は、以上の実施例に限定されない。
【0034】
[0044]次に、供給ハブ230は、購入注文を伝送522としてアドオンアプリケーション412に送信することが可能である。実施形態において、購入注文そのものが、または供給ハブ230によってフォーマットされた購入注文が、送信されることが可能である。別の実施形態において、供給ハブ230上に格納された購入注文に対するリンクが送信されることが可能である。クライアントアプリケーション410が電子メールアプリケーションである場合、供給ハブ230は、購入注文が送信されたという通知と、たどられると、購入注文を表示のために開くリンクとを含む電子メールをクライアントアプリケーションに送信することが可能である。
【0035】
[0045]クライアントシステム220におけるユーザーが、アドオンアプリケーション412を使用して注文を表示することが可能である(530)。実施形態において、アドオンアプリケーション412が電子メールクライアントアプリケーションに追加された場合、電子メールメッセージは、たどられると、購入注文を表示のために開くリンクを含むことが可能である。アドオンアプリケーション412は、受信された購入注文が表示され得るユーザーインターフェース領域を含むことも可能である。
【0036】
[0046]購入注文に対して、アドオンアプリケーション412によって処理が行われ得る(540)。購入注文に対して処理を行うことは、別のERP処理を実行することを含むことが可能である。例えば、購入注文は、受け付けられること、もしくは確認されること、拒否されること、または変更されて、変更された形態で受け付けられることが可能である。例えば、ベンダーが、購入注文を満足させるのに十分な注文されたアイテムを有さない場合、ベンダーは、入手可能であるアイテムの数を反映するように注文された量を変更し、その後、変更された量で購入注文を受け付けることが可能である。注文に対する処理(530)が完了すると、アドオンアプリケーション412は、その処理、または処理が行われた注文を、伝送542で供給ハブ230に送り返すことが可能である。
【0037】
[0047]供給ハブ230が、その処理を受信することが可能であり、さらにその処理をビジネスプロセスに照らして検査することが可能である(550)。例えば、ビジネスプロセスチェッカー350が、注文が受け付けられているか、拒否されているか、または変更されているかを判定することが可能である。注文が変更されている場合、ビジネスプロセス360は、その購入注文が自動的に確認され得ず、顧客によって承認される必要があることを明示することが可能である。購入注文が変更されている場合、供給ハブ230は、例外を生成することが可能であり、さらにその処理を、顧客による点検のために伝送522でERPアプリケーション212に送り返すことが可能である。
【0038】
[0048]ERPアプリケーション212が、その処理を条件付き確認として受信することが可能であり、その条件付き確認を承諾する、または拒否するようユーザーに促すことが可能である。ユーザーは、ERPアプリケーション212を使用してその処理を確認すること、または拒否することが可能である(560)。この確認/拒否が、伝送562で供給ハブ230に送信されることが可能である。条件付き確認が承諾された場合、供給ハブ230は、例外を除去することが可能であり、さらに購入注文を変更し、購入注文が承諾されたことを示すようにERPシステム210および/またはERPデータ340を更新することが可能である。
【0039】
[0049]供給ハブ230が、この確認/拒否を伝送564でアドオンアプリケーション412に送信することが可能である。アドオンアプリケーション412が、確認/拒否伝送564を受信することが可能であり、さらに購入注文を満足させることに進むことが可能である。
【0040】
[0050]シーケンス
図500は、供給ハブを介したERPアプリケーションとクライアントアドオンアプリケーションの間の可能な多くの対話のうちの1つを表す。実施形態は、図示される実施例に限定されない。
【0041】
[0051]
図6は、ユーザーインターフェース600の実施形態を示す。ユーザーインターフェース600は、クライアントアプリケーション410のユーザーインターフェースの一部分を含むことが可能であり、さらなる1つまたは複数の構成要素がアドオンアプリケーション412によって追加される。図示される実施例において、ユーザーインターフェース(UI)600は、電子メールアプリケーション用である。
【0042】
[0052]UI600は、クライアントアプリケーション410の機能を、ファイルタブ602、送信/受信タブ604、および表示タブ606などのタブに構成することが可能である。アドオンアプリケーション412が、クライアントアプリケーション410内のERP機能に対するアクセスを許すタブ、例えば、供給ハブタブ610を追加することが可能である。
図6で、供給ハブタブ610が選択され、UI600が供給ハブセクションを示す。
【0043】
[0053]UI600は、様々なERP機能に対するアクセスポイントをもたらすことが可能である。例えば、UI600の供給ハブセクション内で、未解決の注文(open orers)620、確認された注文621、完了した注文(closed orders)622、発送メモ623、インボイス624、ベンダー管理在庫(VMI)625、および重要業績評価指標(KPI)626を表示する選択可能なボタンが与えられることが可能である。ボタンを選択することは、そのボタンに関係のあるUI表示を開くことが可能であり、例えば、未解決の注文ボタン620を選択することにより、未解決の注文の表示を開くことが可能である。
【0044】
[0054]ボタンの選択に先立って、UI600は、供給ハブセクション内で電子メール受信トレイ(inbox)630を示すことが可能である。電子メール受信トレイ630は、従来の受信トレイとして機能することが可能である。実施形態において、受信トレイ630は、クライアントアプリケーション410によって提供される電子メール受信トレイであり得る。受信トレイ630は、新たな購入注文に関係のある電子メールメッセージを含み得る。電子メールメッセージの件名が、受信トレイ630内のすべての電子メールメッセージの件名がリストアップされ得るリスト表示632内に表示されることが可能である。電子メールメッセージの本文は、プレビューペイン634内で見ることが可能であり得る。さらに、リスト表示632内の件名を選択すること、例えば、入力デバイスでダブルクリックすることで、別個のウインドウ内でその電子メールメッセージを開くことが可能である。
【0045】
[0055]実施形態において、受信トレイ630内の電子メールメッセージは、供給ハブ230によって生成されていることが可能である。電子メールメッセージの本文は、購入注文に対するリンク636を含み得る。リンク636が選択されると、購入注文の表示が開かれることが可能である。
【0046】
[0056]代替として、未解決の注文ボタン620を選択することにより、任意の未解決の、すなわち、未確認の注文のリストを開くことも可能である。次に、電子メールメッセージによって参照される未解決の注文が、リストから選択されることが可能である。
【0047】
[0057]
図7は、ユーザーインターフェース(UI)700の実施形態を示す。UI700は、リンク636が選択された場合、または未解決の注文のリストから購入注文が選択されたされた場合のUI600の表示であり得る。UI700は、注文表示ペイン710をもたらすことが可能である。注文表示ペイン710は、UI700内のペインであることが可能であり、またはUI700の前方に表示される、ウインドウなどの別個のオブジェクトであることが可能である。注文ペイン710は、確認ボタン712および拒否ボタン714などの、注文を操作するためのオプションを含み得る。
【0048】
[0058]注文ペイン710は、行720に購入注文についての一般的な情報を示すことが可能である。行720は、例えば、注文ID、顧客名、注文日、および要求された配送日を示すことが可能である。さらなる情報、または代替の情報が示されることが可能である。また、行720における情報は、別々の行において、フィールドにおいてなど、他のフォーマットで提示されることも可能である。
【0049】
[0059]注文ペイン710は、テーブル722内に購入注文の詳細を示すことが可能である。実施形態において、テーブル722内のデータフィールドのいくつかは、ベンダーによって編集可能であり得る。例えば、製品番号1000の確認された量が100から別の数値に変更されることが可能である。同様に、確認された単価が80から別の数値に変更されることが可能である。購入注文は、フォーム、テキスト文書、ウェブページなどの、他のフォーマットで示されてもよい。
【0050】
[0060]ベンダーが、購入注文を見ることを終え、場合により、購入注文を変更することを終えると、確認ボタン712を選択することで、注文ペイン710を閉じることが可能である。確認された購入注文は、ビジネスプロセス360に照らして検査するため、および顧客のERPシステムに配信するために供給ハブ230に送信され得る。
【0051】
[0061]拒否ボタン714を選択することで、注文ペイン710を閉じ、その注文が拒否されたというメッセージを供給ハブ230に送信することが可能である。次に、供給ハブ230が、その注文が拒否されたことを顧客のERPシステムに通知することが可能である。
【0052】
[0062]
図8は、ユーザーインターフェース(UI)800の実施形態を示す。UI800は、KPIボタン626が選択された場合のUI600の表示であり得る。UI800は、KPI表示ペイン810を供給することが可能である。PI表示ペイン810は、UI800内のペインであることが可能であり、またはUI800の前方に表示される、ウインドウなどの別個のオブジェクトであることが可能である。
【0053】
[0063]KPI表示ペイン810は、様々な重要業績評価指標(KPI)をグラフで示すことが可能である。例えば、KIP表示ペイン810は、顧客に時間どおりに到着する注文(バー812)、時間どおりに確認された注文(バー814)、および時間どおりに発送された注文(バー816)のパーセンテージを示す棒グラフを示し得る。示され得る供給関係と関係するKPIの他の例には、完全に確認された注文、マッチする配送、マッチする発送などが含まれる。
【0054】
[0064]実施形態において、KPI表示ペイン810内のバー、例えば、バー812が選択され得る。選択されると、KPI表示ペイン810は、別のグラフを示すように変わることが可能であり、または新たなKPI表示ペインを開くことが可能であり、この新たなKPI表示ペインは、選択されたバーに関してKPIをより詳細に示し、例えば、月別に時間どおりに到着した注文のパーセンテージを示す。特定の月に関するバーが、選択された月の週ごとのKPIデータを得るように選択されることが可能である。KPIデータは、線グラフ、ヒストグラム、円グラフなどの、この実施例には限定されない他の形態で提示されてもよい。
【0055】
[0065]実施形態において、KPIデータは、供給ハブ230に格納され得る。アドオンアプリケーション412が、KPIボタン626が選択されると、KPIデータをフェッチすることが可能である。
【0056】
[0066]前述した実施形態に関する動作は、1つまたは複数の論理フローに関連してさらに説明され得る。代表的な論理フローは、特に明記しない限り、必ずしも、提示される順序でも、いずれの特定の順序でも実行されなくてもよいことが認識され得る。さらに、これらの論理フローに関連して説明される様々な活動は、順次に実行されることも、並行に実行されることも可能である。これらの論理フローは、所与のセットの設計上、およびパフォーマンス上の制約に関して所望されるとおり、説明される実施形態の1つまたは複数のハードウェア要素および/またはソフトウェア要素、あるいは代替の要素を使用して実施されることが可能である。例えば、これらの論理フローは、ロジックデバイス(例えば、汎用コンピューターまたは専用コンピューター)によって実行されるロジック(例えば、コンピュータープログラム命令)として実施されることが可能である。
【0057】
[0067]
図9は、論理フロー900の一実施形態を示す。論理フロー900は、本明細書で説明される1つまたは複数の実施形態によって実行される動作のいくつか、またはすべてを表すことが可能である。論理フロー900は、所与のセットの設計パラメーターまたはパフォーマンス制約に関して所望されるとおり、様々なシステムおよび/またはデバイスによって実行されることが可能であり、ハードウェア、ソフトウェア、および/またはハードウェアとソフトウェアの任意の組み合わせとして実施されることが可能である。例えば、論理フロー900は、ロジックデバイス(例えば、プロセッサー)、および/またはロジックデバイスによって実行されるべき命令、データ、および/またはコードを備えるロジック(例えば、スレッドロジック)によって実施されることが可能である。例示のため、限定としてではなく、論理フロー900は、
図1〜
図4を参照して説明される。実施形態は、この脈絡で限定されない。
【0058】
[0068]
図9に示される例示される実施形態において、論理フロー900は、ブロック902で、既存のアプリケーションを選択するERPシステムからの要求を受信し、応答することが可能である。例えば、ERPシステム110、210が、クライアントシステム120、220が、クライアントシステム120、220に既にインストールされたアプリケーションを選択することを要求することが可能である。実施形態において、この要求は、選択が行われるべき範囲のアプリケーションを指定していることが可能であり、応答は、クライアントシステム120、220がインストールしているアプリケーションの1つまたは複数の選択を含むことが可能である。別の実施形態において、クライアントシステム120、220は、リストから選択することなしに、インストールされている1つまたは複数のアプリケーションで応答することが可能である。実施形態において、選択される既存のアプリケーションは、電子メールアプリケーションであり得る。ERPシステム110、210は、この応答を使用して、クライアントシステム120、220に送信すべきアドオンアプリケーション412を選択することが可能である。
【0059】
[0069]論理フロー900は、ブロック904で、アドオンアプリケーションを受信し、選択された電子メールアプリケーションにインストールすることが可能である。例えば、ERPシステム110、210が、選択された電子メールアプリケーションのためのアドオンアプリケーション412を送信することが可能である。実施形態において、アドオンアプリケーション412は、実行されると、既存の電子メールアプリケーション410へのインストールを実行する実行可能アプリケーションとして送信され得る。
【0060】
[0070]論理フロー900は、ブロック906で、ERPシステムに接続することが可能である。例えば、クライアントアプリケーション410が、アドオンアプリケーション412を使用して、ERPシステム110、210に接続されることが可能である。この接続は、インターネットなどのネットワークを介することが可能である。実施形態において、論理フロー900は、アドオンアプリケーション412から、供給ハブ230、300などの供給ハブに接続され得る。実施形態において、この接続は、ERPシステム110、210とクライアントシステム120、220の間でデータの交換を可能にすることができる。
【0061】
[0071]論理フロー900は、ブロック908で、アドオンアプリケーションにおいてERP処理を実行することが可能である。ERP処理は、例えば、限定なしに、注文を行うこと、注文を受信すること、注文を拒否すること、注文を変更すること、注文を確認すること、注文を条件付きで確認すること、インボイスを受信すること、インボイスを送信すること、発送を確認すること、重要業績評価指標を表示すること、ベンダー管理在庫を表示すること、およびERP処理のステータスを表示することを含み得る。アドオンアプリケーション412は、クライアントアプリケーション410にユーザーインターフェースを追加して、または既存のユーザーインターフェースを使用して、クライアントアプリケーション410内でERP処理を実行するアクセスポイントを提示することが可能である。実施形態において、ブロック908で実行されるERP処理は、ERPシステムから受信されたERP処理に応答することが可能である。例えば、クライアントシステム120、220が購入注文を受信した場合、アドオンアプリケーション412において実行されるERP処理は、その購入注文を拒否すること、その注文を確認すること、またはその注文を変更することを含み得る。
【0062】
[0072]論理フロー900は、ブロック910で、アドオンアプリケーションからのERP処理でERPシステムを更新することが可能である。例えば、アドオンアプリケーション412が、例えば、注文を変更して、ERPデータを変更した場合、または、例えば、注文を確認して、供給関係プロセスを次のステップに進めた場合、ERPシステム110、210は、アドオンアプリケーション412におけるERP処理によってもたらされる更新を受信する。実施形態において、アドオンアプリケーション412において実行されるERP処理は、供給ハブ230、300に送信されることが可能であり、次に、供給ハブ230、300がERPシステム110、210を更新することが可能である。
【0063】
[0073]
図10は、前述した様々な実施形態を実施するのに適した例示的なコンピューティングアーキテクチャー1000の実施形態を示す。コンピューティングアーキテクチャー1000は、1つまたは複数のプロセッサー、コプロセッサー、メモリーユニット、チップセット、コントローラー、周辺装置、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力(I/O)構成要素などの様々な一般的なコンピューティング要素を含む。しかし、実施形態は、コンピューティングアーキテクチャー1000による実施に限定されない。
【0064】
[0074]
図10に示されるとおり、コンピューティングアーキテクチャー1000は、処理装置1004と、システムメモリー1006と、システムバス1008とを備える。処理装置1004は、様々な市販のプロセッサーのいずれであることも可能である。また、デュアルマイクロプロセッサーおよび他のマルチプロセッサーアーキテクチャーが、処理装置1004として使用されることも可能である。システムバス1008は、システムメモリー1006を含むが、システムメモリー1006には限定されないシステム構成要素に、処理装置1004に対するインターフェースをもたらす。システムバス1008は、様々な市販のバスアーキテクチャーのいずれかを使用する、メモリーバス(メモリーコントローラーを伴う、または伴わない)、周辺バス、およびローカルバスとさらに互いに接続され得るいくつかのタイプのバス構造のいずれかであり得る。
【0065】
[0075]システムメモリー1006は、読み取り専用メモリー(ROM)、ランダムアクセスメモリー(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリー、強誘電性ポリマーメモリーなどのポリマーメモリー、オボニックメモリー、相変化メモリーもしくは強誘電体メモリー、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS)メモリー、磁気カードもしくは光カード、または情報を格納するのに適した他の任意のタイプの媒体などの、様々なタイプのメモリーユニットを含み得る。
図10に示される例示される実施形態において、システムメモリー1006は、不揮発性メモリー1010および/または揮発性メモリー1012を含み得る。基本入出力システム(BIOS)が、不揮発性メモリー1010の中に格納され得る。
【0066】
[0076]コンピューター1002は、内部ハードディスクドライブ(HDD)1014、リムーバブル磁気ディスク1018に対して読み取り、または書き込みを行う磁気フロッピー(登録商標)ディスクドライブ(FDD)1016、リムーバブル光ディスク1022(例えば、CD−ROMもしくはDVD)に対して読み取り、または書き込みを行う光ディスクドライブ1020を含め、様々なタイプのコンピューター可読記憶媒体を含み得る。HDD1014、FDD1016、および光ディスクドライブ1020は、それぞれ、HDDインターフェース1024、FDDインターフェース1026、および光ドライブインターフェース1028によってシステムバス1008に接続され得る。外部ドライブ実装形態のためのHDDインターフェース1024は、ユニバーサルシリアルバス(USB)インターフェース技術とIEEE1394インターフェース技術の少なくともいずれか、または両方を含み得る。
【0067】
[0077]これらのドライブ、および関連するコンピューター可読媒体は、データ、データ構造、コンピューター実行可能命令などの揮発性ストレージおよび/または不揮発性ストレージをもたらす。例えば、オペレーティングシステム1030、1つまたは複数のアプリケーションプログラム1032、他のプログラムモジュール1034、およびプログラムデータ1036を含め、いくつかのプログラムモジュールが、ドライブおよびメモリーユニット1010、1020の中に格納され得る。これらの1つまたは複数のアプリケーションプログラム1032、他のプログラムモジュール1034、およびプログラムデータ1036には、例えば、ERPアプリケーション112、ビジネスプロセスチェッカー150、クライアントアプリケーション410、およびアドオンアプリケーション412が含まれ得る。
【0068】
[0078]ユーザーが、1つまたは複数の有線/ワイヤレス入力デバイス、例えば、キーボード1038、ならびにマウス1040などのポインティングデバイスを介してコマンドおよび情報をコンピューター1002に入力することが可能である。他の入力デバイスには、マイクロホン、赤外線(IR)リモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーンなどが含まれ得る。これら、およびその他の入力デバイスは、しばしば、システムバス1008に結合された入力デバイスインターフェース1042を介して処理装置1004に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続されることも可能である。
【0069】
[0079]また、モニター1044または他のタイプのディスプレイデバイスがさらに、ビデオアダプター1046などのインターフェースを介してシステムバス1008に接続される。モニター1044に加えて、コンピューターは、通常、スピーカー、プリンターなどの他の周辺出力デバイスを含む。
【0070】
[0080]コンピューター1002は、リモートコンピューター1048などの1つまたは複数のリモートコンピューターに対する有線通信および/またはワイヤレス通信を介した論理接続を使用するネットワーク化された環境において動作することが可能である。リモートコンピューター1048は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、ポータブルコンピューター、マイクロプロセッサーベースのエンターテイメント機器、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、コンピューター1002に関連して説明した要素の多く、またはすべてを含むが、簡単にするため、メモリー/ストレージデバイス1050だけが図示される。図示される論理接続は、ローカルエリアネットワーク(LAN)1052および/またはより大型のネットワーク、例えば、ワイドエリアネットワーク(WAN)1054に対する有線/ワイヤレス接続を含む。そのようなLANネットワーキング環境およびWANネットワーキング環境は、オフィスおよび会社において一般的であり、地球規模の通信ネットワーク、例えば、インターネットにすべてが接続され得る、イントラネットなどの企業全体のコンピューターネットワークを円滑にする。
【0071】
[0081]LANネットワーキング環境において使用される場合、コンピューター1002は、有線通信ネットワークインターフェースもしくは有線通信ネットワークアダプター1056および/またはワイヤレス通信ネットワークインターフェースもしくはワイヤレス通信ネットワークアダプター1056を介してLAN1052に接続される。アダプター1056は、LAN1052に対する有線通信および/またはワイヤレス通信を円滑にすることが可能であり、LAN1052は、アダプター1056のワイヤレス機能と通信するために配置されたワイヤレスアクセスポイントを含むことも可能である。
【0072】
[0082]WANネットワーキング環境において使用される場合、コンピューター1002は、モデム1058を含むことが可能であり、またはWAN1054上の通信サーバーに接続され、またはインターネットによるなど、WAN1054を介して通信を確立するための他の手段を有する。内部にあることも、外部にあることも可能であり、有線デバイスおよび/またはワイヤレスデバイスであることが可能なモデム1058は、入力デバイスインターフェース1042を介してシステムバス1008に接続される。ネットワーク化された環境において、コンピューター1002に関連して示されるプログラムモジュール、またはプログラムモジュールの部分は、リモートメモリー/ストレージデバイス1050の中に格納され得る。示されるネットワーク接続は、例示的であり、コンピューター間で通信リンクを確立する他の手段が使用され得ることが認識されよう。
【0073】
[0083]コンピューター1002は、例えば、プリンター、スキャナー、デスクトップ、および/またはポータブルコンピューター、携帯情報端末(PDA)、通信衛星、ワイヤレスで検出可能なタグに関連する任意の機器もしくはロケーション(例えば、キオスク、新聞雑誌売り場、トイレ)、および電話機とワイヤレス通信するように動作上、配置されたワイヤレスデバイスなどの、IEEE802ファミリーの標準(例えば、IEEE802.11無線変調技法)を使用する有線デバイスもしくは有線エンティティーおよびワイヤレスデバイスもしくはワイヤレスエンティティーと通信するように動作可能である。IEEE702ファミリーの標準には、少なくともWi−Fi(またはワイヤレスフィデリティー)技術、WiMAX技術、およびBluetooth(登録商標)ワイヤレス技術が含まれる。このため、この通信は、従来のネットワークの場合と同様に事前定義された構造であることも、単に少なくとも2つのデバイス間のアドホック通信であることも可能である。Wi−Fiネットワークは、IEEE802.11x(a、b、gなど)と呼ばれる無線技術を使用して、セキュリティー保護された確実な高速のワイヤレス接続をもたらす。Wi−Fiネットワークは、コンピューターを互いに、インターネットに、さらに有線ネットワーク(IEEE802.3関連の媒体および機能を使用する)に接続するのに使用され得る。
【0074】
[0084]
図11は、前述した様々な実施形態を実施するのに適した例示的な通信アーキテクチャー1100のブロック図を示す。通信アーキテクチャー1100は、送信機、受信機、トランシーバー、無線機、ネットワークインターフェース、ベースバンドプロセッサー、アンテナ、増幅器、フィルターなどの様々な一般的な通信要素を含む。しかし、実施形態は、通信アーキテクチャー1100による実施に限定されない。
【0075】
[0085]
図11に示されるとおり、通信アーキテクチャー1100は、1つまたは複数のクライアント1102と、サーバー1104とを備える。クライアント1102は、クライアントシステム120、220、400を実施することが可能である。サーバー1104は、サーバーERPシステム110、210および供給ハブ230、300を実装することが可能である。クライアント1102およびサーバー1104は、クッキー、および/または関連するコンテキスト情報などのそれぞれクライアント1102およびサーバー1104にローカルの情報を格納するのに使用され得る、それぞれ1つまたは複数のクライアントデータストア1108およびサーバーデータストア1110に動作上、接続される。
【0076】
[0086]クライアント1102とサーバー1104は、通信フレームワーク1106を使用して互いの間で情報を通信することが可能である。通信フレームワーク1106は、パケット交換ネットワーク(例えば、インターネットなどのパブリックネットワーク、企業イントラネットなどのプライベートネットワークなど)、回線交換ネットワーク(例えば、公衆交換電話ネットワーク)、またはパケット交換ネットワークと回線交換ネットワークの組み合わせ(適切なゲートウェイおよびトランスレーターを有する)で使用するのに適した技法などの、任意のよく知られた通信技法を実施することが可能である。クライアント1102およびサーバー1104は、1つまたは複数の通信インターフェース、ネットワークインターフェース、ネットワークインターフェースカード(NIC)、無線機、ワイヤレス送信機/受信機(トランシーバー)、有線通信媒体および/またはワイヤレス通信媒体、物理コネクターなどの、通信フレームワーク1106と相互運用可能であるように設計された様々なタイプの標準の通信要素を含み得る。例として、限定としてではなく、通信媒体は、有線通信媒体およびワイヤレス通信媒体を含む。有線通信媒体の例には、配線、ケーブル、金属リード線、プリント回路基板(PCB)バックプレーン、スイッチファブリック、半導体材料、より対線、同軸ケーブル、光ファイバー、伝搬される信号などが含まれ得る。ワイヤレス通信媒体の例には、音響媒体、無線周波数(RF)スペクトル媒体、赤外線媒体、および他のワイヤレス媒体が含まれ得る。クライアント1102とサーバー1104の間の可能な1つの通信は、2つ以上のコンピュータープロセス間で伝送されるように適合されたデータパケットの形態であることが可能である。このデータパケットは、例えば、クッキー、および/または関連するコンテキスト情報を含み得る。
【0077】
[0087]様々な実施形態が、ハードウェア要素、ソフトウェア要素、またはハードウェア要素とソフトウェア要素の組み合わせを使用して実施されることが可能である。ハードウェア要素の例には、デバイス、構成要素、プロセッサー、マイクロプロセッサー、回路、回路素子(例えば、トランジスター、抵抗器、キャパシター、インダクターなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタルシグナルプロセッサー(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリーユニット、ロジックゲート、レジスター、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれ得る。ソフトウェア要素の例には、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャー、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、記号、または以上の任意の組み合わせが含まれ得る。実施形態がハードウェア要素、および/またはソフトウェア要素を使用して実施されるかどうかを決定することは、所与の実施例に関して所望される、所望される計算速度、電力レベル、耐熱性、処理サイクル予算、入力データレート、出力データレート、メモリー資源、データバス速度、およびその他の設計上またはパフォーマンス上の制約などの、いくつもの要因に応じて異なり得る。
【0078】
[0088]いくつかの実施形態は、製造品を備えることが可能である。製造品は、ロジックを格納する記憶媒体を備えることが可能である。記憶媒体の例には、揮発性メモリーもしくは不揮発性メモリー、リムーバブルメモリーもしくは非リムーバブルメモリー、消去可能なメモリーもしくは消去可能でないメモリー、書き込み可能なメモリーもしくは書き換え可能なメモリーなどを含め、電子データを格納することができる1つまたは複数のタイプのコンピューター可読記憶媒体が含まれ得る。ロジックの例には、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャー、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、記号、または以上の任意の組み合わせなどの様々なソフトウェア要素が含まれ得る。例えば、一実施形態において、製造品は、コンピューターによって実行されると、コンピューターに、説明される実施形態による方法および/または動作を実行させる実行可能コンピュータープログラム命令を格納することが可能である。これらの実行可能コンピュータープログラム命令は、ソースコード、コンパイルされるコード、解釈されるコード、実行可能コード、スタティックコード、ダイナミックコードなどの、任意の適切なタイプのコードを含み得る。これらの実行可能コンピュータープログラム命令は、或る関数を実行するようコンピューターに命令するための事前定義されたコンピューター言語、コンピューター様態、またはコンピューター構文により実装され得る。これらの命令は、任意の適切な高レベルプログラミング言語、低レベルプログラミング言語、オブジェクト指向プログラミング言語、ビジュアルプログラミング言語、コンパイルされるプログラミング言語、および/または解釈されるプログラミング言語を使用して実装され得る。
【0079】
[0089]いくつかの実施形態が、「一実施形態」または「実施形態」という表現、ならびにこれらから派生した表現を用いて説明され得る。これらの用語は、その実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実施形態に含められることを意味する。本明細書の様々な箇所における「一実施形態において」という句の出現は、必ずしもすべて同一の実施形態を指すわけではない。
【0080】
[0090]いくつかの実施形態が、「結合された」および「接続された」という表現、ならびにこれらから派生した表現を用いて説明され得る。これらの用語は、必ずしも互いに同義語であることを意図していない。例えば、いくつかの実施形態が、2つ以上の要素が互いに直接に物理的または電気的に接触することを示すように「接続された」という用語、および/または「結合された」という用語を用いて説明され得る。しかし、「結合された」という用語は、2つ以上の要素が互いに直接には接触していないが、それでも、互いに協働する、または対話することを意味することも可能である。
【0081】
[0091]本開示の要約書は、技術の開示の性質を読者が迅速に確かめることを可能にする要約を要求する米国特許法施行規則 1.72(b)を遵守するように提供されていることが強調される。この要約書は、この要約書が特許請求の範囲の範囲または趣旨を解釈するのにも、限定するのにも使用されないものと理解して提出される。さらに、前段の詳細な説明において、様々な特徴が、本開示を整理する目的で単一の実施形態に一緒にまとめられていることが理解され得る。この開示方法は、主張される実施形態が各請求項に明記されるより多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。むしろ、添付の特許請求の範囲が反映するとおり、発明の主題は、開示される単一の実施形態の全部ではない特徴に存する。このため、添付の特許請求の範囲は、各請求項が別個の実施形態として独立して詳細な説明に組み込まれている。添付の特許請求の範囲において、「含む」および「ここで」という用語は、平易な英語においてそれぞれ「備える」および「ここにおいて」という用語と均等なものとして使用される。さらに、「第1の」、「第2の」、「第3の」などの用語は、単にラベルとして使用され、対象物に数的条件を課すことは意図していない。
【0082】
[0092]主題は、構造上の特徴、および/または方法上の動作に特有の言い回しで説明されてきたものの、添付の特許請求の範囲において規定される主題は、前述した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、前述した特定の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示される。