(57)【要約】  １つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムが開示される。システムは、命令を格納するメモリと、命令を実行するように構成された少なくとも１つのプロセッサとを備えることができる。命令は、第１の通信ネットワークから、第１の非標準のメッセージヘッダおよび第１の非標準のメッセージ本体を含む第１のメッセージを受信することと、第１の非標準のメッセージヘッダを解析して、第１の通信ネットワークのアイデンティティに対応する第１の変数および第１の宛先に対応する第２の変数を割り出すことと、第１の変数に基づいて第１のメッセージの第１の通信プロトコルを特定することと、特定された第１の通信プロトコルに基づいて、第１の非標準のメッセージ本体を第２の通信ネットワークのための標準化されたフォーマットへと変換することと、標準化された第１のメッセージ本体を第２の変数に基づいて第１の宛先に送信することとを含むことができる。
2021526694.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムであって、
命令を格納するメモリと、
前記命令を実行するように構成された少なくとも１つのプロセッサと、
を備え、
前記少なくとも１つのプロセッサは、
前記通信ネットワークの組のうちの第１の通信ネットワークから、第１の非標準のメッセージヘッダおよび第１の非標準のメッセージ本体を含む第１のメッセージを受信することと、
前記第１の非標準のメッセージヘッダを解析して、前記第１の通信ネットワークのアイデンティティに対応する第１の変数および第１の宛先に対応する第２の変数を割り出すことと、
事前に構成されたデータ構造を使用して、前記第１の変数に基づいて前記第１のメッセージの第１の通信プロトコルを特定することと、
前記特定された第１の通信プロトコルに基づいて、前記第１の非標準のメッセージ本体を前記第２の通信ネットワークのための標準化されたフォーマットへと変換することと、
前記標準化された第１のメッセージ本体を前記第２の変数に基づいて前記第１の宛先に送信することと、
を実行するように構成される、コンピュータによって実現されるシステム。
【請求項２】
前記命令は、
第２の標準化されたメッセージ本体と、第２の宛先とを含む第２のメッセージを、前記第２の通信ネットワークから受信することと、
前記第２のメッセージの第２の通信プロトコル、および前記通信ネットワークの組のうちの第３の通信ネットワークを特定することと、
前記第２の標準化されたメッセージ本体を、前記特定された第２の通信プロトコルに基づいて、前記第３の通信ネットワークのための非標準のフォーマットへと変換することと、
前記非標準化された第２のメッセージを前記第２の宛先に送信することと、
をさらに含む、請求項１に記載のコンピュータによって実現されるシステム。
【請求項３】
前記第２の標準化されたメッセージを変換することは、前記非標準化された第２のメッセージに第２の非標準のメッセージヘッダを添えることを含み、前記第２の非標準のメッセージヘッダは、前記第２の宛先に対応する第３の変数を含む、請求項２に記載のコンピュータによって実現されるシステム。
【請求項４】
前記第１のメッセージは、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（ＲＥＳＴ）ＡＰＩ、ＲＥＳＴｆｕｌ  ＡＰＩ、ファイル転送ＡＰＩ、データベース間ＡＰＩ、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）ＡＰＩ、またはＲｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ（ＲＰＣ）ＡＰＩのうちの少なくとも１つを使用して受信される、請求項１に記載のコンピュータによって実現されるシステム。
【請求項５】
前記第１の通信プロトコルは、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、ＹＡＭＬ  Ａｉｎ’ｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＹＡＭＬ）、拡張マークアップ言語（ＸＭＬ）、Ｔｏｍ’ｓ  Ｏｂｖｉｏｕｓ  Ｍｉｎｉｍａｌ  Ｌａｎｇｕａｇｅ（ＴＯＭＬ）、ＣｏｆｆｅｅＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＣＳＯＮ）、またはＭｅｓｓａｇｅＰａｃｋのうちの少なくとも１つを含む、請求項１に記載のコンピュータによって実現されるシステム。
【請求項６】
前記事前に構成されたデータ構造は、１つまたは複数の既知の通信ネットワークを１つまたは複数の通信プロトコルに対応付ける、請求項１に記載のコンピュータによって実現されるシステム。
【請求項７】
前記通信ネットワークの組の個々の通信ネットワークは、前記第２の通信ネットワークとの重なり合いがなく、前記個々の通信ネットワーク間の重なり合いもない、請求項１に記載のコンピュータによって実現されるシステム。
【請求項８】
前記第１の非標準のメッセージ本体は、１つまたは複数の変数を含み、
前記第１の非標準のメッセージ本体を標準化されたフォーマットへと変換することは、
前記第１の非標準のメッセージ本体を解析して、前記変数を特定することと、
前記第１の通信プロトコルと前記第２の通信ネットワークの前記標準化されたフォーマットとの間のインターフェースマップを、前記ルックアップテーブルにもとづいて決定することと、
前記インターフェースマップに基づいて、前記第１の非標準のメッセージ本体の前記変数の値を、前記標準化されたフォーマットの対応する変数に割り当てることと、
を含む、請求項１に記載のコンピュータによって実現されるシステム。
【請求項９】
前記第１の非標準のメッセージ本体のうちの少なくとも１つが、前記標準化されたフォーマットに対応する変数が存在しない変数を含み、あるいは前記標準化されたフォーマットが、前記非標準のメッセージ本体に対応する変数が存在しない変数を含む、請求項８に記載のコンピュータによって実現されるシステム。
【請求項１０】
１つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実行される方法であって、
前記通信ネットワークの組のうちの第１の通信ネットワークから、第１の非標準のメッセージヘッダおよび第１の非標準のメッセージ本体を含む第１のメッセージを受信することと、
前記第１の非標準のメッセージヘッダを解析して、前記第１の通信ネットワークのアイデンティティに対応する第１の変数および第１の宛先に対応する第２の変数を割り出すことと、
事前に構成されたデータ構造を使用して、前記第１の変数に基づいて前記第１のメッセージの第１の通信プロトコルを特定することと、
前記特定された第１の通信プロトコルに基づいて、前記第１の非標準のメッセージ本体を前記第２の通信ネットワークのための標準化されたフォーマットへと変換することと、
前記標準化された第１のメッセージ本体を前記第２の変数に基づいて前記第１の宛先に送信することと、
を含む、コンピュータによって実行される方法。
【請求項１１】
第２の標準化されたメッセージ本体と、第２の宛先とを含む第２のメッセージを、前記第２の通信ネットワークから受信することと、
前記第２のメッセージの第２の通信プロトコル、および前記通信ネットワークの組のうちの第３の通信ネットワークを特定することと、
前記第２の標準化されたメッセージ本体を、前記特定された第２の通信プロトコルに基づいて、前記第３の通信ネットワークのための非標準のフォーマットへと変換することと、
前記非標準化された第２のメッセージ本体を前記第２の宛先に送信することと、
をさらに含む、請求項１０に記載のコンピュータによって実行される方法。
【請求項１２】
前記非標準化された第２のメッセージ本体を前記第２の宛先に送信することは、
前記非標準化された第２のメッセージ本体に、前記第２の宛先に対応する第３の変数を含む第２の非標準のメッセージヘッダを添えて、第２の非標準のメッセージを生成することと、
前記第２の非標準のメッセージを、前記第２の外部通信ネットワークを使用して、前記第２の宛先に送信することと、
を含む、請求項１１に記載のコンピュータによって実行される方法。
【請求項１３】
前記第１のメッセージは、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（ＲＥＳＴ）ＡＰＩ、ＲＥＳＴｆｕｌ  ＡＰＩ、ファイル転送ＡＰＩ、データベース間ＡＰＩ、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）ＡＰＩ、またはＲｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ（ＲＰＣ）ＡＰＩのうちの少なくとも１つを使用して受信される、請求項１０に記載のコンピュータによって実行される方法。
【請求項１４】
前記第１の通信プロトコルは、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、ＹＡＭＬ  Ａｉｎ’ｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＹＡＭＬ）、拡張マークアップ言語（ＸＭＬ）、Ｔｏｍ’ｓ  Ｏｂｖｉｏｕｓ  Ｍｉｎｉｍａｌ  Ｌａｎｇｕａｇｅ（ＴＯＭＬ）、ＣｏｆｆｅｅＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＣＳＯＮ）、またはＭｅｓｓａｇｅＰａｃｋのうちの少なくとも１つを含む、請求項１０に記載のコンピュータによって実行される方法。
【請求項１５】
前記事前に構成されたデータ構造は、１つまたは複数の既知の通信ネットワークを１つまたは複数の通信プロトコルに対応付ける、請求項１０に記載のコンピュータによって実行される方法。
【請求項１６】
前記通信ネットワークの組の個々の通信ネットワークは、前記第２の通信ネットワークとの重なり合いがなく、前記個々の通信ネットワーク間の重なり合いもない、請求項１０に記載のコンピュータによって実行される方法。
【請求項１７】
前記第１の非標準のメッセージ本体は、１つまたは複数の変数を含み、
前記第１の非標準のメッセージ本体を標準化されたフォーマットへと変換することは、
前記第１の非標準のメッセージ本体を解析して、前記変数を特定することと、
前記第１の通信プロトコルと前記第２の通信ネットワークの前記標準化されたフォーマットとの間のインターフェースマップを、前記ルックアップテーブルに基づいて決定することと、
前記インターフェースマップに基づいて、前記第１の非標準のメッセージ本体の前記変数の値を、前記標準化されたフォーマットの対応する変数に割り当てることと、
を含む、請求項１０に記載のコンピュータによって実行される方法。
【請求項１８】
前記第１の非標準のメッセージ本体のうちの少なくとも１つが、前記標準化されたフォーマットに対応する変数が存在しない変数を含み、あるいは前記標準化されたフォーマットが、前記非標準のメッセージ本体に対応する変数が存在しない変数を含む、請求項１７に記載のコンピュータによって実行される方法。
【請求項１９】
１つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムであって、
前記システムは、
前記通信ネットワークの組のうちの第１の通信ネットワークから、非標準のインバウンドメッセージヘッダおよび非標準のインバウンドメッセージ本体を含むインバウンドメッセージを受信するように構成されており、前記非標準のインバウンドメッセージヘッダを解析して、前記第１の通信ネットワークのアイデンティティに対応する第１の部分および前記第２の通信ネットワーク内に位置する第１の宛先に対応する第２の部分を割り出すように構成されたインバウンド解析部をさらに備えているインバウンドエンドポイント層と、
前記第１の部分および既知の通信ネットワークの事前に構成されたデータ構造に基づいて、前記非標準のインバウンドメッセージ本体を標準化されたフォーマットへと変換するように構成されたインバウンド変換層と、
前記標準化されたインバウンドメッセージ本体を前記第１の宛先に送信するように構成されたルーティング層と、
前記第２の通信ネットワークから、標準のアウトバウンドメッセージ本体と、前記通信ネットワークの組のうちの第３の通信ネットワーク内に位置する第２の宛先とを含むアウトバウンドメッセージを受信するように構成されたアウトバウンドエンドポイント層と、
前記第２の宛先および前記事前に構成されたデータ構造に基づいて、前記標準のアウトバウンドメッセージ本体を非標準のフォーマットへと変換するように構成されたアウトバウンド変換層と、
を備え、
前記ルーティング層は、前記非標準化されたアウトバウンドメッセージ本体を前記第２の宛先に送信するようにさらに構成されている、コンピュータによって実現されるシステム。
【請求項２０】
前記アウトバウンド変換層は、さらに、
前記事前に構成されたデータ構造に基づいて、前記第２の宛先に対応する前記第３の通信ネットワークを特定することと、
前記第２の宛先に対応する第１のデータフィールドを含むアウトバウンドメッセージヘッダを前記非標準化されたアウトバウンドメッセージ本体に添えることで、非標準化されたアウトバウンドメッセージを生成することと、
によって、前記標準のアウトバウンドメッセージ本体を変換するように構成されている、請求項１９に記載のコンピュータによって実現されるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、広くには、１つまたは複数の外部通信ネットワークを内部通信ネットワークとインターフェースするためのコンピュータ化されたシステムおよび方法に関する。とくには、本開示の実施形態は、通信ネットワークと他の通信ネットワーク（例えば、第三者によって運用される）とのインターフェースを、これら他の通信ネットワークのそれぞれの通信プロトコルまたはアプリケーション・プログラミング・インターフェース（ＡＰＩ）にかかわりなく可能にする独創的かつ従来にないシステムに関する。
【背景技術】
【０００２】
インターネットとコンピュータネットワークの進歩により、コンピュータネットワークが、現在の世界に遍く存在するようになっている。ほとんどすべての家庭またはオフィスに、プライベートネットワークが備わっている。さらに、大企業、製造工場、または倉庫などといったビジネスエンティティが、それぞれの内部ネットワークにおいてさまざまなシステムを運用している。本開示の目的において、ネットワークを、共通のメッセージフォーマットを使用して異なるシステム間の通信を可能にするコンピュータネットワークとして定義することができ、同じネットワーク内の各システムは、メッセージを変換または翻訳を必要とすることなく送信および受信することができる。これらの内部ネットワークは、同じエンティティによって所有および運用されるさまざまなシステムを接続し、通信を可能する。新たな内部システムまたは外部（すなわち、異なる通信形式の独立したネットワークによって接続されたシステムのグループ）システムを、内部ネットワークに追加または接続することが可能であるが、そのようなプロセスは、さまざまなネットワークパラメータの手作業での設定を必要とする。
【０００３】
２つの異なるシステムをインターフェースするために、典型的には、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（ＲＥＳＴ）ベースのＡＰＩ、ファイル転送ＡＰＩ、データベース間転送ＡＰＩ、などのうちの１つなど、特定のＡＰＩを使用する必要がある。しかしながら、ＡＰＩが異なると、２つのシステムを互いに通信可能にするために満たさなければならない構文およびフォーマットの要件も異なる可能性がある。さらに、異なるシステムは、異なる通信プロトコルを利用する可能性があり、送信側のシステムからのメッセージを、受信側のシステムがメッセージを理解できるように、変換しなければならない。
【０００４】
自身の業務の種々の態様を管理するさまざまなシステムを備えたエンティティが、別のエンティティと通信できなければならない場合に、問題が発生する。この場合、２つのエンティティは、共通のＡＰＩおよび通信プロトコル（以下では、まとめて通信スキームと呼ぶ）について合意し、合意した通信スキームを採用するようにすべてのシステムを改修しなければならない。別の方法は、互いに通信する必要があるシステム（各々のエンティティから１つずつ）の各ペアの間に、変換機構を配置することである。しかしながら、どちらの方法も、実装のコストおよび運用のコストの両方に関して高価である。エンティティのうちの１つが異なる通信スキームを使用するさらに別のエンティティとも通信しなければならない場合、この第３のエンティティも同じスキームを採用しなければならず、あるいは各システムに変換機構を備えなければならないため、問題はさらに複雑になる。
【０００５】
したがって、或るエンティティのシステムのグループ（すなわち、内部システム）を、複数の異なるエンティティのシステムのグループ（すなわち、異なる外部システム）と、それぞれの通信スキームにかかわりなくインターフェースする集中型のソリューションについて、ニーズが存在する。
【発明の概要】
【０００６】
本開示の一態様は、１つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムに関する。システムは、命令を格納するメモリと、命令を実行するように構成された少なくとも１つのプロセッサとを備えることができる。命令は、通信ネットワークの組のうちの第１の通信ネットワークから、第１の非標準のメッセージヘッダおよび第１の非標準のメッセージ本体を含む第１のメッセージを受信することと、第１の非標準のメッセージヘッダを解析して、第１の通信ネットワークのアイデンティティに対応する第１の変数および第１の宛先に対応する第２の変数を割り出すことと、事前に構成されたデータ構造を使用して、第１の変数に基づいて第１のメッセージの第１の通信プロトコルを特定することと、特定された第１の通信プロトコルに基づいて、第１の非標準のメッセージ本体を第２の通信ネットワークのための標準化されたフォーマットへと変換することと、標準化された第１のメッセージ本体を第２の変数に基づいて第１の宛先に送信することとを含むことができる。
【０００７】
本開示の別の態様は、１つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実行される方法に関する。この方法は、通信ネットワークの組のうちの第１の通信ネットワークから、第１の非標準のメッセージヘッダおよび第１の非標準のメッセージ本体を含む第１のメッセージを受信することと、第１の非標準のメッセージヘッダを解析して、第１の通信ネットワークのアイデンティティに対応する第１の変数および第１の宛先に対応する第２の変数を割り出すことと、事前に構成されたデータ構造を使用して、第１の変数に基づいて第１のメッセージの第１の通信プロトコルを特定することと、特定された第１の通信プロトコルに基づいて、第１の非標準のメッセージ本体を第２の通信ネットワークのための標準化されたフォーマットへと変換することと、標準化された第１のメッセージ本体を第２の変数に基づいて第１の宛先に送信することとを含むことができる。
【０００８】
さらに、本開示の別の態様は、１つまたは複数の通信ネットワークからなる組と、第２の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムに関する。システムは、通信ネットワークの組のうちの第１の通信ネットワークから、非標準のインバウンドメッセージヘッダおよび非標準のインバウンドメッセージ本体を含むインバウンドメッセージを受信するように構成されたインバウンドエンドポイント層を備えることができる。インバウンドエンドポイント層は、非標準のインバウンドメッセージヘッダを解析して、第１の通信ネットワークのアイデンティティに対応する第１の部分および第２の通信ネットワーク内に位置する第１の宛先に対応する第２の部分を割り出すように構成されたインバウンド解析部をさらに備えることができる。システムは、第１の部分および既知の通信ネットワークの事前に構成されたデータ構造に基づいて、非標準のインバウンドメッセージ本体を標準化されたフォーマットへと変換するように構成されたインバウンド変換層と、標準化されたインバウンドメッセージ本体を第１の宛先に送信するように構成されたルーティング層と、第２の通信ネットワークから、標準のアウトバウンドメッセージ本体と、通信ネットワークの組のうちの第３の通信ネットワーク内に位置する第２の宛先とを含むアウトバウンドメッセージを受信するように構成されたアウトバウンドエンドポイント層と、第２の宛先および既知の通信ネットワークの事前に構成されたデータ構造に基づいて、前記標準のアウトバウンドメッセージ本体を非標準のフォーマットへと変換するように構成されたアウトバウンド変換層とをさらに含むことができる。ルーティング層を、非標準化されたアウトバウンドメッセージ本体を第２の宛先に送信するようにさらに構成することができる。
【０００９】
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【００１０】
【図１Ａ】本開示の実施形態による出荷、輸送、および物流作業を可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。
【図１Ｂ】本開示の実施形態による検索要求を満たす１つまたは複数の検索結果をインタラクティブなユーザインターフェース要素と共に含む一例の検索結果ページ（ＳＲＰ）を示している。
【図１Ｃ】本開示の実施形態による製品および製品についての情報をインタラクティブなユーザインターフェース要素と共に含む一例の単一表示ページ（ＳＤＰ）を示している。
【図１Ｄ】本開示の実施形態による仮想ショッピングカート内のアイテムをインタラクティブなユーザインターフェース要素と共に含む一例のカートページを示している。
【図１Ｅ】本開示の実施形態による仮想ショッピングカートからのアイテムを購入および出荷に関する情報ならびにインタラクティブなユーザインターフェース要素と共に含む一例の注文ページを示している。
【図２】本開示の実施形態による本開示のコンピュータ化されたシステムを利用するように構成された例示的なフルフィルメントセンターの概略図である。
【図３】本開示の実施形態による内部システムと外部システムとの間のインターフェースのためのコンピュータ化されたシステムの例示的な実施形態を示す概略ブロック図である。
【図４】本開示の実施形態による標準化されたフォーマットへの変換後のインバウンドメッセージをルーティングするための例示的なコンピュータ化されたプロセスの流れ図である。
【図５】本開示の実施形態による非標準のフォーマットへの変換後のアウトバウンドメッセージをルーティングするための例示的なコンピュータ化されたプロセスの流れ図である。
【発明を実施するための形態】
【００１１】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応、および他の実装が可能である。例えば、置換、追加、または修正が図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【００１２】
本開示の実施形態は、内部システムを、外部システムのさまざまなグループと、それらの通信スキームにかかわりなくインターフェースするように構成されたシステムおよび方法に関する。
【００１３】
図１Ａを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステムの例示的な実施形態を示す概略ブロック図１００が示されている。図１Ａに示すように、システム１００は様々なシステムを含むことができ、その各々は、１つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術（ＳＡＴ）システム１０１、外部フロントエンドシステム１０３、内部フロントエンドシステム１０５、輸送システム１０７、モバイルデバイス１０７Ａ、１０７Ｂ、１０７Ｃ、売り手ポータル１０９、出荷および注文追跡（ＳＯＴ）システム１１１、フルフィルメント(履行)最適化（ＦＯ）システム１１３、フルフィルメントメッセージングゲートウェイ（ＦＭＧ）１１５、サプライチェーン管理（ＳＣＭ）システム１１７、労働力管理システム１１９、モバイルデバイス１１９Ａ、１１９Ｂ、１１９Ｃ（フルフィルメントセンタ（ＦＣ）２００の内部にあるものとして図示）、第三者パーティフルフィルメントシステム１２１Ａ、１２１Ｂ、１２１Ｃ、フルフィルメントセンタ認証システム（ＦＣ認証）１２３、労働管理システム（ＬＭＳ）１２５を含む。
【００１４】
ＳＡＴシステム１０１は、いくつかの実施形態では注文状態および配送状態を監視するコンピュータシステムとして実装されてもよい。例えば、ＳＡＴ装置１０１は注文がその約束配送日（ＰＤＤ）を過ぎているかどうかを判定し、新しい注文を開始すること、配達されていない注文でアイテムを再出荷すること、配達されていない注文をキャンセルすること、注文カスタマとのコンタクトを開始することなどを含む適切な処置をとることができる。ＳＡＴ装置１０１は、出力（特定の期間中に出荷された荷物の数のよう）及び入力（出荷に使用するために受け取った空のボール紙箱の数のよう）を含む他のデータを監視することもできる。また、ＳＡＴシステム１０１はシステム１００内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム１０３およびＦＯシステム１１３などのデバイス間の通信（例えば、ストアアンドフォワードまたは他の技術を使用する）を可能にしてもよい。
【００１５】
いくつかの実施形態では、外部フロントエンドシステム１０３は外部ユーザがシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム１００がシステムの提示を可能にして、ユーザがアイテムのための注文を配置することを可能にする実施形態では、外部フロントエンドシステム１０３が検索リクエストを受信し、アイテムページを提示し、決済情報を要請するウェブサーバとして実装されてもよい。例えば、外部フロントエンドシステム１０３は、アパッチＨＴＴＰサーバ、マイクロソフトインターネットインフォメーションサービス、ＮＧＩＮＸ等のソフトウェアを実行するコンピュータ又はコンピュータとして実施することができる。他の実施形態では、外部フロントエンドシステム１０３が外部デバイス（例えば、モバイルデバイス１０２Ａまたはコンピュータ１０２Ｂ）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得した情報に基づいて受信した要求に対する応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【００１６】
いくつかの実施形態では、外部フロントエンドシステム１０３がウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの１つまたは複数を含むことができる。一態様では外部フロントエンドシステム１０３がこれらのシステムのうちの１つまたは複数を備えることができ、別の態様では外部フロントエンドシステム１０３がこれらのシステムのうちの１つまたは複数に接続されたインターフェース（例えば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００１７】
図１Ｂ、図１Ｃ、図１Ｄ、および図１Ｅによって示されるステップの例示的な組は、外部フロントエンドシステム１０３のいくつかの動作を説明するのに役立つことができる。外部フロントエンドシステム１０３は提示および／またはディスプレイのために、システム１００内のシステムまたはデバイスから情報を受け取ることができる。例えば、外部フロントエンドシステム１０３は、検索結果を含む１つ以上のウェブページをホスティングまたは提供することができる： ページ(ＳＲＰ)(例えば、図１Ｂ）、単一ディテールページ(ＳＤＰ)(例えば、図１Ｃ）、カードページ（例えば、図１Ｄ）、または注文ページ（例えば、図１Ｅ）。ユーザデバイス（例えば、モバイルデバイス１０２Ａまたはコンピュータ１０２Ｂを使用する）は外部フロントエンドシステム１０３にナビゲートし、サーチボックスに入力することによってサーチをリクエストすることができる。外部フロントエンドシステム１０３は、システム１００内の１つまたは複数のシステムからリクエストすることができる。例えば、外部フロントエンドシステム１０３は、検索要求を満たす情報をＦＯシステム１１３に要求してもよい。また、外部フロントエンドシステム１０３は検索結果に含まれる商品ごとに、約束配送日または「ＰＤＤ」を（ＦＯシステム１１３から）リクエストし、受信することもできる。
ＰＤＤはいくつかの実施形態では、特定の期間内に、例えば、その日の最後（午後１１時５９分）までに注文された場合、製品を含む荷物が、いつユーザの所望の場所に到着するか、または製品がユーザの所望の場所に配送されることを約束される日付かのいずれかの推定値を表すことができる（ＰＤＤはＦＯシステム１１３に関して以下でさらに説明される）。
【００１８】
外部フロントエンドシステム１０３がその情報に基づいてＳＲＰ(例えば、図１Ｂ）を準備することができる。ＳＲＰは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。ＳＲＰはまた、各製品についてのそれぞれの価格、または各製品についての強化された配送オプション、ＰＤＤ、重み、規模、オファー、割引などに関する情報を含んでもよい。外部フロントエンドシステム１０３は（例えば、ネットワークを介して）要求側ユーザデバイスにＳＲＰを送信することができる。
【００１９】
次いで、ユーザデバイスは例えば、ユーザインターフェースをクリックまたはタップすることによって、または別のインプットデバイスを使用して、ＳＲＰから製品を選択して、ＳＲＰ上に表される製品を選択し得る。ユーザデバイスは選択されたプロダクトに関するリクエストを作成し、それを外部フロントエンドシステム１０３に送ることができる。これに応じて、外部フロントエンドシステム１０３は、選択された商品に関する情報をリクエストすることができる。例えば、情報は、それぞれのＳＲＰ上の製品について提示される情報を超える追加の情報を含むことができる。これには、例えば、貯蔵寿命、原産国、体重、大きさ、荷物中のアイテムの個数、取扱説明書、または生成物に関する他の事項が含まれ得る。また、情報は（例えば、この製品および少なくとも１つの他の製品を購入した顧客のビッグデータおよび／または機械学習分析に基づく）類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【００２０】
外部フロントエンドシステム１０３は受信したプロダクトインフォメーションに基づいて、ＳＤＰ(単一ディテールページ）（例えば、図１Ｃ）を準備することができる。ＳＤＰはまた、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量欄、アイテムの写真等のような他の対話型要素を含んでもよい。ＳＤＰは、製品を提供する売り手のリストをさらに含むことができる。リストは各売り手が提供する価格に基づいて注文されてもよく、その結果、最低価格で製品を販売することを提案する売り手は最上位にリストされてもよい。リストは最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて注文されてもよい。売り手ランキングは例えば、約束されたＰＤＤを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム１０３は（例えば、ネットワークを介して）要求側ユーザデバイスにＳＤＰを配信することができる。
【００２１】
依頼元ユーザデバイスは、商品情報を記載したＳＤＰを受け取る場合がある。ＳＤＰを受信すると、ユーザデバイスはＳＤＰと対話することができる。例えば、要求ユーザデバイスのユーザは、ＳＤＰ上の「カートに入れる」ボタンをクリックするか、あるいは他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザデバイスはこのリクエストを送信して、商品をショッピングカートに追加し、外部フロントエンドシステム１０３に送ることができる。
【００２２】
外部フロントエンドシステム１０３はカートページ（例えば、図１Ｄ）を生成することができる。カートページはいくつかの実施形態ではユーザが仮想の「買物かご」に追加した商品をリストし、ユーザデバイスは、ＳＲＰ、ＳＤＰ、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページをリクエストしてもよい。いくつかの実施形態では、カートページがユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品のアイテム当たりの価格、関連する数量に基づく各製品の価格、ＰＤＤに関する情報、配送方法、出荷費用、ショッピングカート内の製品を修正するためのユーザインターフェース要素（例えば、数量の削除または修正）、他の製品を注文するかまたは製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入を進めるためのユーザインターフェース要素などのカート内の製品に関する情報を列挙することができる。ユーザデバイスのユーザはショッピングカート内の商品の購入を開始するために、ユーザインターフェース要素（例えば、「今すぐ買う」と読むボタン）をクリックするか、または他の方法でユーザインターフェース要素と対話することができる。そうすると、ユーザデバイスは、このリクエストを送信して、外部フロントエンドシステム１０３への購入を開始することができる。
【００２３】
外部フロントエンドシステム１０３は購入を開始するためのリクエストの受信に応じて、注文頁（例えば、図１Ｅ）を発生することができる。注文頁はいくつかの実施形態ではショッピングカートからのアイテムを再リストし、支払及び出荷に関するインプットを要求する。例えば、注文ページはショッピングカート内のアイテムの購入者に関する情報（例えば、名前、住所、電子メールアドレス、電話番号）、受取人に関する情報（例えば、名前、住所、電話番号、配送情報）、出荷情報（例えば、配送および／または集荷の速度／方法）、支払情報（例えば、クレジットカード、銀行振込、小切手、記憶クレジット）、現金受領を要求するためのユーザインターフェース要素（例えば、税務目的のための）などを要求する区画を含むことができる。外部フロントエンドシステム１０３は、注文頁をユーザデバイスへ送信することが可能である。
【００２４】
ユーザデバイスは注文頁に情報を入力し、その情報を外部フロントエンドシステム１０３に送信するユーザインターフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム１０３はショッピングカート内の製品との新しい注文の作成および加工を可能にするために、システム１００内の様々なシステムに情報を送信することができる。
【００２５】
いくつかの実施形態では、外部フロントエンドシステム１０３が売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【００２６】
内部フロントエンドシステム１０５はいくつかの実施形態では内部ユーザ（例えば、システム１００を所有し、運営し、またはリースする団体の従業員）がシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、ネットワーク１０１がシステムの提示を可能にして、ユーザが注文のための注文を配置できるようにする実施形態では、内部ユーザが注文に関する診断および統計情報を見たり、アイテム情報を修正したり、またはアイテムに関する統計を見直したりできるようにする、内部フロントエンドシステム１０５をウェブサーバとして実装することができる。例えば、内蔵フロントエンドシステム１０５は、アパッチＨＴＴＰサーバ、マイクロソフトインターネットインフォメーションサービス、ＮＧＩＮＸ等のソフトウェアを実行するコンピュータ又はコンピュータとして実現することができる。他の実施形態では、内蔵フロントエンドシステム１０５がシステム１００に示されるシステムまたはデバイス（ならびに図示されない他のデバイス）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【００２７】
いくつかの実施形態では、内蔵フロントエンドシステム１０５がウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの１つまたは複数を含むことができる。一態様では内部フロントエンドシステム１０５がこれらのシステムのうちの１つまたは複数を備えることができ、別の態様では内部フロントエンドシステム１０５がこれらのシステムのうちの１つまたは複数に接続されたインターフェース（たとえば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００２８】
輸送システム１０７は、いくつかの実施形態ではシステム１００内のシステムまたはデバイスとモバイルデバイス１０７Ａ〜１０７Ｃとの間の通信を可能にするコンピュータシステムとして実施することができる。いくつかの実施形態では、トランスポーテーションシステム１０７が１つまたは複数のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から受信することができる。例えば、いくつかの実施形態では、モバイルデバイス１０７Ａ〜１０７Ｃが配送作業員によって操作されるデバイスを含んでもよい。配送作業員は、正社員、臨時社員、または交替社員であってもよく、モバイルデバイス１０７Ａ〜１０７Ｃを利用して、ユーザによって注文された製品を含む荷物の配送を行うことができる。例えば、荷物を配信するために、配送作業員は、どの荷物を配信すべきか、およびそれをどこに配信すべきかを示す通知をモバイルデバイス上で受信することができる。配送位置に到着すると、配送作業員は荷物を（例えば、トラックの後ろに、または荷物の箱に）配置し、モバイルデバイスを使用して荷物上の識別子に関連するデータ（例えば、バーコード、イメージ、文字列、ＲＦＩＤタグなど）を走査または他の方法で捕捉し、荷物を（例えば、前扉に置いたままにし、警備員を置いたままにし、受信者に渡すなどによって）配信することができる。いくつかの実施形態では、配送作業員が荷物の写真をキャプチャすることができ、および／またはモバイルデバイスを使用してシグネチャを取得することができる。モバイルデバイスは例えば、時刻、日付、ＧＰＳ位置、写真、配送作業員に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む配送に関する情報を含む情報を輸送機関１０７に送信することができる。輸送システム１０７はシステム１００内の他のシステムによるアクセスのために、この情報をデータベース（図示せず）に記憶することができる。輸送システム１０７はいくつかの実施形態ではこの情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
【００２９】
いくつかの実施形態ではあるユーザが１つの種類のモバイルデバイスを使用することができる（例えば、永久作業員はバーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアと共に専用のＰＤＡを使用することができる）が他のユーザは他の種類のモバイルデバイスを使用することができる（例えば、一時的または移動作業員は既製の携帯電話および／またはスマートフォンを利用することができる）。
【００３０】
いくつかの実施形態では、交通機関１０７がユーザをそれぞれのデバイスに関連付けることができる。例えば、輸送システム１０７はユーザ（例えば、ユーザ識別子、従業員識別子、または電話番号）とモバイルデバイス（例えば、国際移動装置アイデンティティ（ＩＭＥＩ）、国際移動加入識別子（ＩＭＳＩ）、電話番号、汎用一意識別子（ＵＵＩＤ）、またはグローバル一意（ＧＵＩＤ）によって表される）との間の関連を記憶することができる。トランスポートシステム１０７はこの関連付けを、配送上で受信されたデータと併せて使用して、とりわけ、作業員の位置、作業員の有効性、または作業員のスピードを決定するために、注文内のデータベースに格納されたデータを分析することができる。
【００３１】
売り手ポータル１０９は、いくつかの実施形態では売り手または他の外部エンティティがシステム１００内の１つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム（図示せず）を利用して、売り手が売り手ポータル１０９を使用してシステム１００を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【００３２】
出荷および注文追跡システム１１１はいくつかの実施形態では（例えば、デバイス１０２Ａ〜１０２Ｂを使用するユーザによって）顧客によって注文された製品を含む荷物の位置に関する情報を受信し、記憶し、転送するコンピュータシステムとして実装されてもよい。いくつかの実施形態では、出荷および注文追跡装置１１１は顧客が注文した製品を含む荷物を配送する出荷会社によって運営されるウェブサーバ（図示せず）からの情報をリクエストまたは記憶することができる。
【００３３】
いくつかの実施形態では、出荷および注文追跡システム１１１がシステム１００に示されたシステムからの情報をリクエストし、記憶することができる。例えば、出荷および注文追跡システム１１１は、輸送システム１０７にリクエストすることができる。上述のように、交通機関１０７はユーザ（例えば、配送作業員）または乗り物（例えば、配送車）のうちの１つまたは複数に関連付けられた１つまたは複数のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から受信することができる。いくつかの実施形態では、出荷および注文追跡装置１１１がフルフィルメントセンタ（例えば、フルフィルメントセンタ２００）内の個々の製品の位置を決定するために、労働力管理システム（ＷＭＳ）１１９にリクエストすることもできる。出荷および注文追跡システム１１１は輸送システム１０７またはＷＭＳ １１９のうちの１つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス（たとえば、ユーザデバイス１０２Ａおよび１０２Ｂ）に提示することができる。
【００３４】
フルフィルメント(履行)最適化（ＦＯ）システム１１３はいくつかの実施形態では他のシステム（例えば、外部フロントエンドシステム１０３および／または出荷および注文追跡システム１１１）からのカスタマ注文のための情報を記憶するコンピュータシステムとして実装されてもよい。また、ＦＯシステム１１３は、特定のアイテムがどこに保持されているか、またはどこに記憶されているかを記述する情報を記憶することもできる。たとえば、特定のアイテムは１つのフルフィルメントセンタにのみ格納でき、他の特定のアイテムは複数のフルフィルメントセンタに格納できる。さらに他の実施形態では、特定のフルフィルメントセンタが特定の組のアイテム（例えば、生鮮食品または冷凍食品）のみを格納するように設計されてもよい。ＦＯシステム１１３はこの情報ならびに関連する情報（例えば、数量、サイズ、受領日、有効期限など）を格納する。
【００３５】
また、ＦＯシステム１１３は、商品毎に対応するＰＤＤ(約束配送日）を計算してもよい。ＰＤＤは、いくつかの実施形態では１つまたは複数の要因に基づくことができる。例えば、ＦＯシステム１１３は製品に対する過去の需要（例えば、その製品がある期間中に何回注文されたか）、製品に対する予想需要（例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか）、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ２００に格納された製品の１つ以上のカウント、その製品に対する各製品、予想または現行注文などに基づいて、製品に対するＰＤＤを計算することができる。
【００３６】
いくつかの実施形態では、ＦＯシステム１１３が定期的に（例えば、１時間ごとに）商品ごとにＰＤＤを決定し、それを検索または他のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）に送信するためにデータベースに格納することができる。他の実施形態では、ＦＯシステム１１３が１つまたは複数のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）から電子要求を受信し、オンデマンドでＰＤＤを計算することができる。
【００３７】
フルフィルメントメッセージングゲートウェイ１１５はいくつかの実施形態ではＦＯシステム１１３などのシステム１００内の１つ以上のシステムから１つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、ＷＭＳ １１９または３パーティフルフィルメントシステム１２１Ａ、１２１Ｂ、または１２１Ｃなどの他のシステムに転送するコンピュータシステムとして実装することができる。
【００３８】
サプライチェーン管理（ＳＣＭ）システム１１７は、いくつかの実施形態では予測機能を実行するコンピュータシステムとして実装することができる。例えば、ＳＣＭシステム１１７は例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ２００に格納された計数製品、各製品に対する予想または現行注文などに基づいて、特定の製品に対する需要の水準を予測することができる。この予測された水準およびすべてのフルフィルメントセンタにわたるそれぞれの製品の量に応じて、ＳＣＭシステム１１７は特定の製品に対する予測された需要を満たすのに充分な量を購入し、ストックするための１つまたは複数の購入注文を生成することができる。
【００３９】
労働力管理システム（ＷＭＳ）１１９は、いくつかの実施形態ではワークフローをモニタするコンピュータシステムとして実装されてもよい。例えば、ＷＭＳ １１９は個別イベントを示す個別デバイス（例えば、デバイス１０７Ａ−１０７Ｃまたは１１９Ａ−１１９Ｃ）からイベントデータを受信することができる。例えば、ＷＭＳ １１９は、荷物を走査するためにこれらのデバイスの１つの使用を示すイベントデータを受信してもよい。フルフィルメントセンタ２００および図２に関して以下で論じるように、フルフィルメントプロセス中に、荷物識別子（例えば、バーコードまたはＲＦＩＤタグデータ）は特定の段階で機械によってスキャンまたは読み取ることができる（例えば、自動またはハンドヘルドバーコードスキャナ、ＲＦＩＤリーダ、高速カメラ、タブレット１１９Ａ、モバイルデバイス／ＰＤＡ １１９Ｂ、コンピュータ１１９Ｃなどのデバイス）。ＷＭＳ １１９は荷物識別子、時刻、日時、位置、ユーザ識別子、または他の情報と共に、荷物識別子の走査または読取りを示す各々の事象を対応するデータベース（図示せず）に記憶することができ、この情報を他のシステム（例えば、出荷および注文追跡システム１１１）に提供することができる。
【００４０】
ＷＭＳ １１９はいくつかの実施形態では１つまたは複数のデバイス（例えば、デバイス１０７Ａ〜１０７Ｃまたは１１９Ａ〜１１９Ｃ）を、システム１００に関連付けられた１つまたは複数のユーザに関連付ける情報を記憶してもよい。例えば、いくつかの状況では、ユーザ（パートまたはフルタイムの従業員など）は、ユーザがモバイルデバイスを所有する（例えば、モバイルデバイスがスマートフォンである）という点で、モバイルデバイスに関連付けられてもよい。他の状況では、ユーザは、ユーザが一時的にモバイルデバイスの管理下にある（例えば、ユーザは日の始めにモバイルデバイスを借り、日中にそれを使用し、日の終わりにそれを返す）という点で、モバイルデバイスに関連付けられてもよい。
【００４１】
ＷＭＳ １１９は、いくつかの実施形態ではシステム１００に関連する各ユーザの作業ログを維持することができる。例えば、ＷＭＳ １１９は任意の割り当てられたプロセス（例えば、トラックのアンローディング、ピックゾーンからのアイテムのピッキング、仕分け装置ワーク、パッキングアイテム）、ユーザ識別子、位置（例えば、フルフィルメントセンタ２００内のフロアまたはゾーン）、従業員によってシステム内を移動されたユニットの数（例えば、ピックされたアイテムの数、パックされたアイテムの数）、デバイスに関連付けられた識別子（例えば、デバイス１１９Ａ〜１１９Ｃ）などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、ＷＭＳ １１９がデバイス１１９Ａ〜１１９Ｃ上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【００４２】
第三者フルフィルメント（３ＰＬ）システム１２１Ａ〜１２１Ｃは、いくつかの実施形態ではロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、（図２に関して以下に説明するように）いくつかの製品がフルフィルメントセンタ２００に格納されている間、他の製品は、オフサイトで格納されてもよく、オンデマンドで生産されてもよく、またはフルフィルメントセンタ２００に格納するために利用できなくてもよい。３ＰＬシステム１２１Ａ〜１２１ＣはＦＯシステム１１３から（例えば、ＦＭＧ １１５を介して）注文を受信するように構成することができ、製品および／またはサービス（例えば、配送または設置）を顧客に直接的に提供することができる。いくつかの実施形態では３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数がシステム１００の一部とすることができ、他の実施形態では３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数がシステム１００の外部（例えば、サードパーティプロバイダによって所有または運営される）とすることができる。
【００４３】
フルフィルメントセンタ自動システム（ＦＣ認証）１２３は、いくつかの実施形態では様々な機能を有するコンピュータシステムとして実装され得る。例えば、いくつかの実施形態では、ＦＣ認証１２３がシステム１００内の１つまたは複数の他のシステムのためのシングルサインオン（ＳＳＯ）サービスとして動作することができる。例えば、ＦＣ認証１２３はユーザが内部フロントエンドシステム１０５を介してログインすることを可能にし、ユーザが出荷および注文追跡系１１１においてリソースにアクセスするための同様の特権を有していることを決定し、ユーザが２回目のログイン処理を必要とせずにそれらの特権にアクセスすることを可能にしてもよい。他の実施形態では、ＦＣ認証１２３は、ユーザ（例えば、従業員）が自分自身を特定の作業に関連付けることを可能にしてもよい。例えば、従業員の中には、電子デバイス（デバイス１１９Ａ〜１１９Ｃなど）を持たない者もいれば、その代わりに、１日の過程中に、フルフィルメントセンタ２００内でタスクからタスクへ、およびゾーンからゾーンへ移動するしてもよい。ＦＣ認証１２３は、それらの従業員は、彼らがどの仕事をしているか、および彼らが様々な時刻にどの区域にいるかを示すことを可能にするように構成されてもよい。
【００４４】
労働管理システム（ＬＭＳ）１２５は、いくつかの実施形態では従業員（フルタイムおよびパートタイムの従業員を含む）のための出勤および残業を記憶するコンピュータシステムとして実装されてもよい。例えば、ＬＭＳ １２５は、ＦＣ認証１２３、ＷＭＡ １１９、デバイス１１９Ａ−１１９Ｃ、輸送装置１０７、及び／又はデバイス１０７Ａ−１０７Ｃから受信することができる。
【００４５】
図１Ａに示される特定の構成は単なる例である。例えば、図１ＡはＦＯシステム１１３に接続されたＦＣ認証システム１２３を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム１００内のシステムがインターネット、イントラネット、ＷＡＮ(ワイドエリアネットワーク）、ＭＡＮ(メトロポリタンエリアネットワーク）、ＩＥＥＥ ８０２．１１ａ／ｂ／ｇ／ｎ規格に準拠する無線ネットワーク、専用線などを含む１つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム１００内のシステムの１つ以上がデータセンター、サーバファームなどに実装された１つ以上の仮想サーバとして実装されてもよい。
【００４６】
図２は、フルフィルメントセンタ２００を示す。フルフィルメントセンタ２００は、注文時に顧客に出荷するためのアイテムを格納する物理的な場所の実例である。フルフィルメントセンタ（ＦＣ）２００は多数のゾーンに分割することができ、その各々を図２に示す。これらの「ゾーン」はいくつかの実施形態ではアイテムを受け取り、アイテムを保管し、アイテムを取り出し、アイテムを出荷する処理の様々な段階の間の仮想分割と考えることができ、したがって、「ゾーン」は図２に示されているが、ゾーンの他の分割も可能であり、いくつかの実施形態では図２のゾーンを省略、複製、または修正することができる。
【００４７】
インバウンドゾーン２０３は、図１Ａの装置１００を使用して製品を販売しようとする売り手からアイテムを受け取るＦＣ ２００の領域を表す。例えば、売り手は、台車２０１を使用してアイテム２０２Ａ及び２０２Ｂを配送することができる。アイテム２０２Ａはそれ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム２０２Ｂは、空間を節約するために同じパレット上に一緒に積み重ねられた１組のアイテムを表すことができる。
【００４８】
作業員はインバウンドゾーン２０３でアイテムを受け取り、コンピュータシステム（図示せず）を使用して、アイテムの破損および正当性を任意選択で検査することができる。例えば、作業員は、コンピュータシステムを使用して、アイテム２０２Ａおよび２０２Ｂの数量をアイテムの注文数量と比較することができる。数量が合致しない場合、その作業員は、アイテム２０２Ａまたは２０２Ｂのうちの１つまたは複数を拒否することができる。数量が一致すれば、作業員はそれらのアイテムを緩衝地帯２０５まで（例えば、１ドル、ハンドトラック、フォークリフト、手動で）移動させることができる。緩衝ゾーン２０５は例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーンにあるため、ピッキングゾーンで現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト２０６が緩衝ゾーン２０５の周り、および入りゾーン２０３と落下ゾーン２０７との間でアイテムを移動させるように動作する。ピッキングゾーンにアイテム２０２Ａまたは２０２Ｂが必要な場合（例えば、予想される需要のため）、フォークリフトは、アイテム２０２Ａまたは２０２Ｂを落下ゾーン２０７に移動させることができる。
【００４９】
ドロップゾーン２０７は、アイテムがピッキングゾーン２０９に移動される前にそれらを保管するＦＣ ２００の領域であってもよい。ピッキングタスクに割り当てられた作業員（「ピッカー」）はピッキングゾーン内のアイテム２０２Ａおよび２０２Ｂに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａおよび２０２Ｂに関連するバーコードをスキャンすることができる。次いで、ピッカーはアイテムをピッキングゾーン２０９まで（例えば、それをカート上に置くか、またはそれを運ぶことによって）取り込むことができる。
【００５０】
ピッキングゾーン２０９は、アイテム２０８が保管ユニット２１０に保管されるＦＣ ２００の領域であってもよい。いくつかの実施形態では、貯蔵ユニット２１０が物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの１つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン２０９が複数のフロアに編成されてもよい。いくつかの実施形態では、作業員または機械が例えば、フォークリフト、エレベータ、コンベアベルト、カート、ハンドトラック、台車、自動ロボットもしくはデバイス、または手動を含む多数の方法で、ピッキングゾーン２０９内にアイテムを移動させることができる。例えば、ピッカーは、アイテム２０２Ａおよび２０２Ｂを降下ゾーン２０７の手押し車または台車に載せ、アイテム２０２Ａおよび２０２Ｂをピッキングゾーン２０９まで歩くことができる。
【００５１】
ピッカーは、保管ユニット２１０上の特定の空間のようなピッキングゾーン２０９内の特定のスポットにアイテムを配置する（又は「収納する」）命令を受け取ることができる。例えば、ピッカーはモバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａを走査することができる。デバイスは例えば、通路、棚、及び位置を示す装置を使用して、ピッカーがアイテム２０２Ａを収納すべき場所を示すことができる。次に、デバイスはアイテム２０２Ａをその位置に格納する前に、その位置でバーコードを走査するようにピッカーを促すことができる。デバイスは（例えば、ワイヤレスネットワークを介して）図１ＡのＷＭＳ １１９のようなコンピュータシステムにデータを送信し、アイテム２０２Ａがデバイス１１９Ｂを使用してユーザによってその位置に格納されたことを示すことができる。
【００５２】
ユーザが注文を置くと、ピッカーは、保管ユニット２１０から１つまたは複数のアイテム２０８を取り出すための命令をデバイス１１９Ｂ上で受け取ることができる。ピッカーはアイテム２０８を取り出し、アイテム２０８上のバーコードを走査し、それを搬送メカニズム２１４上に置くことができる。搬送機構２１４はスライドとして表されているが、いくつかの実施形態では搬送機構がコンベヤーベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの１つまたは複数として実施することができる。次いで、アイテム２０８は、充填領域２１１に到達することができる。
【００５３】
パッキングゾーン２１１は、アイテムがピッキングゾーン２０９から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされる、ＦＣ ２００の領域であってもよい。パッキングゾーン２１１において、受信アイテム（「リビン(ｒｅｂｉｎ)作業員」）に割り当てられた作業員はピッキングゾーン２０９からアイテム２０８を受信し、それがどの注文に対応するかを決定する。例えば、リビン(ｒｅｂｉｎ)作業員はアイテム２０８上のバーコードを走査するために、コンピュータ１１９Ｃなどのデバイスを使用することができる。コンピュータ１１９Ｃはどの注文アイテム２０８が関連付けられているかを視覚的に示すことができる。これは例えば、注文に対応する壁面２１６上の空間または「セル」を含むことができる。注文が完了すると（例えば、セルが注文のためのすべてのアイテムを含むため）、リビン(ｒｅｂｉｎ)作業員は、注文が完了したことをパッキング作業員（または「パッカー」）に示すことができる。梱包業者はセルからアイテムを回収し、輸送のために箱または袋に入れることができる。その後、パッカーは例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン２１３に送ることができる。
【００５４】
ハブゾーン２１３は、パッキングゾーン２１１から全てのボックスまたはバッグ（「荷物」）を受け取るＦＣ ２００の領域であってもよい。ハブゾーン２１３内の作業員および／またはマシンは荷物２１８を検索し、それぞれの荷物が行こうとする配送領域の一部を決定し、荷物を適切なキャンプゾーン２１５にルーティングすることができる。例えば、配送領域が２つのより小さいサブ領域を有する場合、荷物は２つのキャンプゾーン２１５のうちの１つに進む。いくつかの実施形態では、作業員またはマシンが（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）荷物を走査して、その最終的な宛先を決定することができる。荷物をキャンプゾーン２１５にルーティングすることは、例えば、荷物が向けられている地理的エリアの一部を（例えば、郵便番号に基づいて）決定することと、地理的エリアの一部に関連付けられたキャンプゾーン２１５を決定することとを含むことができる。
【００５５】
キャンプゾーン２１５はいくつかの実施形態では１つまたは複数の建物、１つまたは複数の物理的な空間、または１つまたは複数のエリアを備えることができ、荷物は、ルートおよび／またはサブルートに分類するためにハブゾーン２１３から受け取られる。いくつかの実施形態ではキャンプゾーン２１５がＦＣ ２００から物理的に分離されているが、他の実施形態ではキャンプゾーン２１５がＦＣ ２００の一部を形成することができる。
【００５６】
キャンプゾーン２１５内の作業員および／またはマシンは例えば、目的地と現存するルートおよび／またはサブルートとの照合、ルートおよび／またはサブルートごとの作業負荷の算出、時刻、出荷方法、荷物２２０を出荷する費用、荷物２２０内のアイテムに関連付けられたＰＤＤなどに基づいて、荷物２２０がどのルートおよび／またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業員またはマシンが（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）荷物を走査して、その最終的な宛先を決定することができる。荷物２２０が特定のルートおよび／またはサブルートに割り当てられると、作業員および／またはマシンは、出荷される荷物２２０を移動させることができる。例示的な図２において、キャンプゾーン２１５は、トラック２２２、かご２２６、および配送作業員２２４Ａおよび２２４Ｂを含む。いくつかの実施形態では、トラック２２２が配送作業員２２４Ａによって駆動されてもよく、配送作業員２２４ＡはＦＣ ２００の荷物を配信する常勤の従業員であり、トラック２２２はＦＣ ２００を所有し、リースし、または運営する同じ企業によって所有され、リースされ、または運営される。いくつかの実施形態では、自動車２２６が配送作業員２２４Ｂによって駆動されてもよく、ここで、配送作業員２２４Ｂは必要に応じて（例えば、季節的に）送達する「屈曲」または時折の作業員である。自動車２２６は、配送作業員２２４Ｂによって所有され、リースされ、または操作され得る。
【００５７】
図３が、通信インターフェース３０１が内部通信ネットワーク３２３と１つまたは複数の外部通信ネットワーク３３３Ａ〜Ｃとの間のインターフェースとして機能するインターフェース図３００の例示的な実施形態を説明する概略ブロック図を示している。いくつかの実施形態において、内部システム３２１は、サプライチェーン管理システム（ＳＣＭ）３２５、フルフィルメント最適化システム（ＦＯ）３２７、またはフルフィルメントセンター認証システム（ＦＣ  Ａｕｔｈ）３２９など、図１Ａに示されるシステムのうちの１つまたは複数を含むことができる。これに代え、あるいはこれに加えて、内部システム３２１は、図１Ａに関して上述したシステム以外の他のシステムを含むことができる。いくつかの実施形態において、内部システム３２１内の個々のシステムは、内部通信ネットワーク３２３を介して互いに通信することができる。また、いくつかの実施形態において、内部通信ネットワーク３２３および外部通信ネットワーク３３３Ａ〜Ｃは、インターネット、イントラネット、ＷＡＮ（ワイドエリアネットワーク）、ＭＡＮ（メトロポリタンエリアネットワーク）、ＩＥＥＥ  ８０２．１１ａ／ｂ／ｇ／ｎ規格に準拠した無線ネットワーク、専用線、などを含む１つまたは複数の公衆またはプライベートネットワークを含むことができる。
【００５８】
３つの外部システム３３１Ａ〜Ｃが示されているが、通信インターフェース３０１は、当業者にとって明らかであるとおり、任意の数の外部システムとの通信を可能にする。外部システム３３１Ａ〜Ｃの各々は、第三者フルフィルメント３３５Ａ〜Ｃなどのシステムの異なるグループを含むことができる。外部システム３３１Ａ〜Ｃの各々は、図１Ａに関して上述したシステムと同様の追加のシステム、またはそれぞれの必要性に応じた他のシステムを含むことができる。
【００５９】
いくつかの実施形態において、通信インターフェース３０１は、内部システム３２１の複数の外部システム３３１Ａ〜Ｃとの通信を可能にすることができる。それぞれの外部システム３３１Ａ〜Ｃ内のシステムの各グループは、それら自身の個々の内部ネットワーク（以下では、外部通信ネットワーク３３３Ａ〜Ｃと呼ぶ）を介して互いに通信することができる。これに加え、あるいはこれに代えて、それぞれが注文の管理、在庫の管理、労働力の管理、などの異なる機能に専用である複数の通信インターフェースを、内部通信ネットワーク３２３と１つまたは複数の外部通信ネットワーク３３３Ａ〜Ｃとの間に実装してもよい。いくつかの実施形態において、内部システム３２１および外部システム３３１Ａ〜Ｃの各々は、或る１つの通信ネットワーク内の個々のシステムが別の通信ネットワークの一部となることがない独立した重複のないネットワークとして動作することができる。
【００６０】
いくつかの実施形態においては、内部通信ネットワーク３２３および外部通信ネットワーク３３３Ａ〜Ｃを、当技術分野で知られている１つまたは複数のＡＰＩを使用して実装することができる。ＡＰＩは、いくつかの実施形態において、或るシステムが別のシステムの機能またはデータにアクセスすることを可能にする一連の機能および手順を含むことができる。内部通信ネットワーク３２３および外部通信ネットワーク３３３Ａ〜Ｃを、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（ＲＥＳＴ）ＡＰＩ、ＲＥＳＴｆｕｌ  ＡＰＩ、ファイル転送ＡＰＩ、データベース間ＡＰＩ、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）ＡＰＩ、Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ（ＲＰＣ）ＡＰＩ、などのＡＰＩを使用して実装することができる。
【００６１】
いくつかの実施形態において、内部通信ネットワーク３２３および外部通信ネットワーク３３３Ａ〜Ｃは、１つまたは複数の通信プロトコルを使用して信号を送信および受信することができる。通信プロトコルは、データをシリアル化するための一連のルールおよび構文であってよい。いくつかの実施形態において、通信プロトコルは、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、ＹＡＭＬ  Ａｉｎ’ｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＹＡＭＬ）、拡張マークアップ言語（ＸＭＬ）、Ｔｏｍ’ｓ  Ｏｂｖｉｏｕｓ  Ｍｉｎｉｍａｌ  Ｌａｎｇｕａｇｅ（ＴＯＭＬ）、ＣｏｆｆｅｅＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＣＳＯＮ）、ＭｅｓｓａｇｅＰａｃｋ、などのうちの少なくとも１つを含むことができる。
【００６２】
したがって、内部通信ネットワーク３２３および外部通信ネットワーク３３３Ａ〜Ｃを、上述のとおりのＡＰＩおよび通信プロトコルの無数の組み合わせを使用して実装することができる。通信インターフェース３０１を、いくつかの実施形態では、一端からメッセージを受信し、翻訳後のメッセージを他端から送信するコンピュータシステムとして実装することができる。例えば、通信インターフェース３０１は、特定の外部システム（例えば、外部システム３３１Ａ）から、特定の通信スキーム（例えば、ＲＥＳＴ  ＡＰＩを使用するＸＭＬプロトコル）を利用する対応する外部通信ネットワーク３３３Ａを介して、インバウンドメッセージを受信することができる。次いで、通信インターフェース３０１は、メッセージを、内部通信ネットワーク３２３が利用する通信スキーム（例えば、ＳＯＡＰ  ＡＰＩを使用するＪＳＯＮプロトコル）へと変換することができる。上記開示の通信スキームの特定の組み合わせは、あくまでも例示にすぎず、他の組み合わせを必要に応じて使用することができる。さらに、異なる通信ネットワークは、同一または部分的に同一の組み合わせを利用することができる。
【００６３】
いくつかの実施形態において、通信インターフェース３０１は、異なる通信スキーム（例えば、ＲＰＣ  ＡＰＩを使用するＹＡＭＬプロトコル）を利用する別の外部システム（例えば、外部システム３３１Ｂ）からメッセージを受信し、内部通信ネットワーク３２３によって利用される同じ通信スキーム（すなわち、ＳＯＡＰ  ＡＰＩを使用するＪＳＯＮプロトコル）へと変換することもできる。換言すると、通信インターフェース３０１は、異なる外部通信ネットワーク３３３Ａ〜Ｃからの非標準のメッセージを、内部通信ネットワーク３２３によって利用される標準的な通信スキームに標準化することができる。さらに、いくつかの実施形態において、通信インターフェース３０１は、標準的な通信スキームの内部システムからのアウトバウンドメッセージを受信し、特定の外部通信ネットワーク（例えば、外部通信ネットワーク３３３Ｃ）が利用する非標準のフォーマットへと変換した後に、この特定の外部通信ネットワークへと送信することもできる。
【００６４】
いくつかの実施形態において、通信インターフェース３０１は、インバウンドエンドポイント層３０３、インバウンド変換層３０５、ルーティング層３０７、アウトバウンド変換層３０９、およびアウトバウンドエンドポイント層３１１を備えることができる。いくつかの実施形態においては、各層を、専用のシステム、ソフトウェア機能、プログラム可能なサブユニット、などとして実装することができる。
【００６５】
図４が、例示的なコンピュータ化されたインバウンドメッセージルーティングプロセス４００の流れ図を示している。インバウンドメッセージルーティングプロセス４００の種々のステップを、通信インターフェース３０１の種々の層（層３０３〜３１１）によって実行することができる。各々のステップを、図３の種々の要素を参照して以下で説明する。
【００６６】
ステップ４０１において、インバウンドエンドポイント層３０３が、１つまたは複数の外部通信ネットワーク３３３Ａ〜Ｃからインバウンドメッセージを受信することができる。インバウンドメッセージは、外部通信ネットワークにおける使用に適した非標準のフォーマットであってよく、外部通信ネットワークの通信スキームに従って外部通信ネットワークからもたらされるが、必ずしも内部通信ネットワーク３２３にとって読み取り可能ではない。
【００６７】
受信後に、インバウンドエンドポイント層３０３が、ステップ４０３において、インバウンドメッセージをそのコンポーネントへと解析して、メッセージヘッダおよびメッセージ本体を特定することができる。いくつかの実施形態において、メッセージヘッダは、インバウンドメッセージの発信元および宛先に関する情報を含むことができる。例えば、メッセージヘッダは、第１の部分において、発信元である発信元外部システム（例えば、第三者のフルフィルメント３３５Ａ）を特定し、第２の部分において、内部システム３２１内の宛先内部システム（例えば、ＳＣＭ３２５）を宛先として特定することができる。
【００６８】
いくつかの実施形態において、インバウンドエンドポイント層３０３は、メッセージ内の発信元外部システムのネットワークアドレス（例えば、ＩＰアドレス）に基づいて外部通信ネットワーク（例えば、３３３Ａ）を認識することによって、メッセージヘッダを特定および解析することが可能であってよい。例えば、インバウンドエンドポイント層３０３は、ネットワークアドレスを既知の外部通信ネットワーク（すなわち、３３３Ａ〜Ｃ）のリストと照合して、外部通信ネットワークおよび対応する通信プロトコルを特定することができる。次いで、インバウンドエンドポイント層３０３は、この情報を使用して、メッセージヘッダを解析し、上述のように発信元外部システムおよび宛先内部システムを特定することができる。
【００６９】
さらに、通信インターフェース３０１は、外部システム３３１Ａ〜Ｃ、対応する外部通信ネットワーク３３３Ａ〜Ｃ、およびそれらのそれぞれの通信スキームに関する情報を格納するように構成されたメモリまたはデータベース（図示せず）を備えることができる。情報は、内部通信ネットワーク３２３および特定の外部通信ネットワーク（例えば、３３３Ａ）の通信スキームに基づいて、非標準のインバウンドメッセージに含まれるデータを標準化されたフォーマットへと変換するやり方を指定する事前に構成されたインターフェース設定をさらに含むことができる。例えば、事前に構成されたインターフェース設定は、インバウンドメッセージの発信元である外部通信ネットワーク（例えば、３３３Ａ）が使用するＡＰＩおよび通信プロトコルに関する情報を含むことができる。いくつかの実施形態では、事前に構成されたインターフェース設定、その対応する通信プロトコル、およびその関連の外部通信ネットワーク（例えば、３３３Ａ〜Ｃ）の組み合わせを、ルックアップテーブル、アレイのセット、などに格納することができる。
【００７０】
いくつかの実施形態において、事前に構成されたインターフェース設定は、特定の外部通信ネットワークの非標準のフォーマットのインバウンドメッセージのフレームワークまたはファイル構造、インバウンドメッセージが含むべきデータフィールド、インバウンドメッセージのデータフィールドが内部通信ネットワーク３２３の標準化されたフォーマットのデータフィールドにどのように対応するかについての対応情報、インバウンドメッセージ本体を対応する通信プロトコルに基づいてどのように非シリアル化すべきか、などについての情報を含むことができる。いくつかの実施形態において、事前に構成されたインターフェース設定は、標準化されたフォーマットのアウトバウンドメッセージのデータフィールドが非標準のフォーマットのアウトバウンドメッセージのデータフィールドにどのように対応するかに関する対応情報をさらに含むことができる。アウトバウンドメッセージの非標準のフォーマットへの変換の詳細は、アウトバウンド変換層３０９に関して以下でさらに詳しく説明される。
【００７１】
ステップ４０５〜４１１において、インバウンド変換層３０５を、インバウンドエンドポイント層３０３から発信元情報および宛先情報を受信し、インバウンドメッセージを非標準のフォーマットから内部通信ネットワーク３２３の標準化されたフォーマットへと変換するように構成することができる。
【００７２】
インバウンド変換層３０５は、ステップ４０５においてメモリまたはデータベースから特定されて取り出される事前に構成されたインターフェース設定を使用して変換を実行することができる。ステップ４０７において、インバウンド変換層３０５は、インバウンドメッセージの発信元である外部通信ネットワーク（例えば、３３３Ａ）に対応する通信プロトコルに基づいて、インバウンドメッセージ本体を非シリアル化することができる。メッセージ本体の非シリアル化は、例えば、メッセージ本体を個々のデータオブジェクトへと解析すること、オブジェクトに属性を割り当てること、変数間の関係を特定すること、などを含むことができる。この非シリアル化のプロセスは、非シリアル化後のメッセージに含まれる種々のデータフィールド、変数、それぞれの値、および変数のデータ構造を特定することができる。
【００７３】
次いで、ステップ４０９において、インバウンド変換層３０５は、特定されたデータの値を、事前に構成されたインターフェース設定に基づいて、標準化されたフォーマットの対応するデータフィールド、変数、およびデータ構造に個別かつ自動的に割り当てることができる。いくつかの実施形態においては、インバウンドメッセージに含まれるデータのサブセットが、標準化されたフォーマットにおいて対応するデータフィールドを持たない可能性がある。この場合、特定のデータを破棄することができ、あるいは追加情報として標準化されたメッセージに添えることができる。さらに、いくつかの実施形態において、インバウンド変換層３０５は、発信元外部システムおよび宛先内部システムの両方へのエラーメッセージの送信を生じさせることもできる。これに代え、あるいはこれに加えて、インバウンド変換層３０５は、インバウンドメッセージの送信元の外部システムと同じ外部システムへの内部システム３２１からの後の応答に特定のデータを含ませることができるように、特定のデータをアウトバウンド変換層３０８へと送ることができる。
【００７４】
いくつかの実施形態において、標準化されたフォーマットは、特定の外部通信ネットワークからの非標準のインバウンドメッセージに対応しない１つまたは複数のデータフィールドを含み得る。この場合、インバウンド変換層３０５は、単にデータフィールドを無視することができ、あるいはデータフィールドに所定のデフォルト値を割り当てることができる。さらに、いくつかの実施形態において、インバウンド変換層３０５は、発信元外部システムおよび宛先内部システムの両方へのエラーメッセージの送信を生じさせることもできる。
【００７５】
ステップ４１１において、インバウンド変換層３０５を、内部システム３２１の通信プロトコルに従って、標準化されたメッセージ本体を再シリアル化するようにさらに構成することができる。標準化されたメッセージ本体の再シリアル化は、内部通信ネットワーク３２３の通信プロトコルが要求する構文に従って、データフィールドおよびそれらの対応する値をシーケンスに配置することを含むことができる。インバウンドメッセージを非シリアル化し、変換し、再シリアル化するこのプロセスは、中央インターフェースにおいて選択された通信スキームにかかわりなくインバウンドメッセージを再パッケージ化することを可能にし、したがって、内部システム３２１は、個々のシステムにおけるメッセージの変換を必要とせず、あるいは互換性の確保にリソースを費やすことなく、標準化されたインバウンドメッセージを送信および受信することができる。
【００７６】
ステップ４１３において、ルーティング層３０７を、宛先情報および標準化されたインバウンドメッセージ本体を受信し、内部通信ネットワーク３２３を介して内部システム３２１内の対応するシステム（例えば、ＳＣＭ３２５、ＦＯ３２７、またはＦＣ  Ａｕｔｈ３２９）へとメッセージを送信するように構成することができる。メッセージの送信は、内部通信ネットワーク３２３内の対応するシステムのネットワークアドレスを特定することをさらに含むことができる。
【００７７】
内部システム（例えば、ＳＣＭ３２５）から発信されて外部システム（例えば、３３５Ａ）へと送信されるアウトバウンド通信の場合、アウトバウンドエンドポイント層３１１を、アウトバウンドメッセージを受信し、インバウンドエンドポイント層３０３に関して上述した機能と同様の機能を実行するように構成することができる。例えば、ステップ５０１において、アウトバウンドエンドポイント層３１１は、アウトバウンドメッセージ本体と、発信元内部システム（すなわち、ＳＣＭ３２５）および宛先外部システム（すなわち、３３５Ａ）を示す変数とを含むアウトバウンドメッセージを受信することができる。いくつかの場合、アウトバウンドエンドポイント層３１１は、インバウンドエンドポイント層３０３によって実行されるプロセスと同様のプロセスにて発信元および宛先情報を特定するために、アウトバウンドメッセージを解析する必要があるかもしれない。
【００７８】
ステップ５０３において、アウトバウンド変換層３０９は、上述のメモリまたはデータベースから宛先外部システム（すなわち、３３５Ａ）に対応する事前に構成されたインターフェース設定を特定して取り出すことができる。例えば、アウトバウンド変換層３０９は、宛先外部システム（すなわち、３３１Ａ）に対応する外部通信ネットワーク（例えば、３３３Ａ）を特定し、特定された外部通信ネットワーク（例えば、３３３Ａ）の通信スキームを特定し、特定された通信スキームのための事前に構成されたインターフェース設定を取り出すことができる。
【００７９】
ステップ５０５、５０７、および５１１において、アウトバウンド変換層３０９は、特定された通信スキームに基づいて、アウトバウンドメッセージを非シリアル化し、変換し、再シリアル化することができる。いくつかの実施形態において、このプロセスは、インバウンド変換層３０５によって実行されるプロセスと同様であってよいが、逆順であってよく、アウトバウンドメッセージのデータフィールドの値が、非標準のフォーマットの対応するデータフィールドに個別かつ自動的に割り当てられる。
【００８０】
いくつかの実施形態において、アウトバウンドメッセージに含まれるデータのサブセットが、非標準のフォーマットにおいて対応するデータフィールドを持たない可能性がある。この場合、特定のデータを破棄することができ、あるいは追加情報として非標準のメッセージに添えることができる。さらに、いくつかの実施形態において、アウトバウンド変換層３０９は、発信元内部システム（すなわち、ＳＣＭ３２５）および宛先外部システム（すなわち、３３５Ａ）の両方へのエラーメッセージの送信を生じさせることもできる。あるいは、アウトバウンド変換層３０９は、インバウンドメッセージの送信元の内部システムと同じ内部システム（すなわち、ＳＣＭ３２５）への特定の外部システム（すなわち、３３５Ａ）からの後の応答に特定のデータを含ませることができるように、特定のデータをインバウンド変換層３０５へと送ることができる。またさらに、いくつかの実施形態において、非標準のフォーマットは、アウトバウンドメッセージに対応しない１つまたは複数のデータフィールドを含み得る。この場合、アウトバウンド変換層３０９は、単にデータフィールドを無視することができ、あるいはデータフィールドに所定のデフォルト値を割り当てることができる。さらに、アウトバウンド変換層３０９は、発信元内部システム（すなわち、ＳＣＭ３２５）および宛先外部システム（すなわち、３３５Ａ）の両方へのエラーメッセージの送信を生じさせることもできる。
【００８１】
ステップ５０９において、アウトバウンド変換層３０９は、メッセージヘッダおよびメッセージ本体を含む上述のインバウンドメッセージと同様のやり方で、アウトバウンドメッセージにメッセージヘッダを添えることができる。メッセージヘッダは、発信元内部システム（例えば、ＦＯ３２７）および宛先外部システム（例えば、第三者のフルフィルメント３３５Ｃ）に関する情報を含むことができる。
【００８２】
ステップ５１３において、ルーティング層３０７は、標準化されたインバウンドメッセージの内部システムへの送信に関して上述したプロセスと同様のプロセスで、非標準化されたアウトバウンドメッセージを宛先外部システムへと送信することができる。さらに、いくつかの実施形態において、ルーティング層３０７は、内部システム３２１と宛先外部システム（例えば、３３１Ｂ）との間の安全な通信のために、認証データを宛先外部通信ネットワーク（例えば、３３３Ｂ）へと送信することができる。
【００８３】
次に、図１Ａに関して上述したシステムの文脈における通信インターフェース３０１の例示的な応用を説明する。
【００８４】
図１Ａを再び参照すると、システム１００は、ネットワークを介して互いに通信する多数の異なるシステムを備えるエンティティの一例であり得る。さらに、システム１００は、ＦＭＧ１１５を介して３ＰＬシステム１２１Ａ〜Ｃなどの第三者のシステムと通信する必要があるかもしれない。いくつかの実施形態において、ＦＭＧ１１５は、上述の通信インターフェース３０１の一例であってよい。これにより、ＦＯシステム１１３、ＳＣＭシステム１１７、ＦＣ  Ａｕｔｈ１２３などの内部システムが、３ＰＬシステム１２１Ａ〜Ｃなどの外部システムと通信することができ、すべての製品在庫をフルフィルメントセンター２００に保管することを必要とせずに、内部および第三者の倉庫のネットワークを介した注文のフルフィルメントの協調を可能にすることができる。
【００８５】
例えば、システム１００は、内部フロントエンドシステム１０５を介して顧客から注文を受け取ることができる。注文は、フルフィルメントセンター２００に在庫された１つまたは複数のアイテム（例えば、プリンタ、椅子、メモ帳、など）、対応するメーカーの倉庫に在庫された大型のアイテム（例えば、冷蔵庫）、ならびにデザイナーから直接デザインおよび出荷される特注の宝飾品を含むことができる。
【００８６】
したがって、注文を処理するために、システム１００の種々のシステム、メーカーのシステム、およびデザイナーのシステムの間の通信が必要となる可能性があり、ここで、システムが異なる通信スキームを使用して通信を行う可能性がある。この例においては、メーカーのシステムが、システム１００から注文を受信して、大型のアイテムを準備および出荷し、注文ステータスをシステム１００に送り返す必要があるかもしれない。他方で、デザイナーのシステムは、システム１００から注文を特注の詳細と共に受信し、注文ステータス、完成までの予想時間、などをシステム１００に送り返す必要があるかもしれない。したがって、メーカーのシステムとシステム１００との間のメッセージは、３つのシステムの通信スキームの間の違いに加えて、異なるパラメータ、メッセージ構造、などを必要とし得る。
【００８７】
いくつかの実施形態においては、メーカーのシステムを、来たるべきホリデーシーズンに関してシステム１００のサプライチェーン管理システム１１７から予想される注文量を受信するようにさらに構成することができ、これは、上述の注文処理において受信するパラメータとは異なる新たな一連のパラメータを必要とすると考えられる。さらに、３ＰＬシステム１２１Ａ〜Ｃなどの他のシステムが、対応する第三者エンティティの作業員情報をもたらすこともでき、ＦＭＧ１１５、したがってシステム１００が、あたかもシステム１００の一部であるかのように３ＰＬシステム１２１Ａ〜Ｃと通信することができる。
【００８８】
本開示を、本開示の特定の実施形態を参照して提示および説明してきたが、本開示を、修正を必要とせずに、他の環境において実施できることを、理解できるであろう。以上の説明は、例示の目的で提示されている。以上の説明は、すべてを網羅するものではなく、開示された正確な形態または実施形態に限定されない。本明細書を検討し、開示された実施形態を実施することで、修正および調整が当業者にとって明らかであろう。さらに、本開示の実施形態の態様は、メモリに格納されるものとして説明されているが、これらの態様を、例えばハードディスクまたはＣＤ−ＲＯＭなどの二次記憶デバイス、あるいは他の形態のＲＡＭまたはＲＯＭ、ＵＳＢ媒体、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、または他の光ドライブ媒体などの他の種類のコンピュータ可読媒体に格納してもよいことを、当業者であれば理解できるであろう。
【００８９】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。さまざまなプログラムまたはプログラムモジュールが、当業者に知られた技術のいずれかを使用して作成可能であり、あるいは既存のソフトウェアに関連して設計可能である。例えば、プログラム部分またはプログラムモジュールを、．ＮＥＴ  Ｆｒａｍｅｗｏｒｋ、．ＮＥＴ  Ｃｏｍｐａｃｔ  Ｆｒａｍｅｗｏｒｋ（および、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｃ、などの関連の言語）、Ｊａｖａ、Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ＨＴＭＬ、ＨＴＭＬ／ＡＪＡＸの組み合わせ、ＸＭＬ、またはＪａｖａアプレットを埋め込んだＨＴＭＬにて設計でき、あるいはこれらによって設計することができる。
【００９０】
さらに、例示的な実施形態を本明細書において説明してきたが、本開示に基づいて、同等の要素、修正、省略、（例えば、種々の実施形態にまたがる態様の）組み合わせ、調整、および／または変更を有するあらゆるすべての実施形態の範囲を、当業者であれば理解できるであろう。請求項中の限定事項は、請求項中で使用されている文言に基づいて広く解釈されるべきであり、本明細書に記載され、あるいは本出願の審査の最中に説明される実施例に限定されない。実施例を、排他的であると解釈すべきではない。さらに、開示された方法の各ステップは、ステップを並べ替えること、および／またはステップを挿入または削除することを含む任意のやり方で変更可能である。したがって、本明細書および実施例は、あくまでも例示として考慮されるように意図され、真の範囲および精神は、以下の特許請求の範囲およびそれらの均等物の全範囲によって示される。
【図１Ａ】
2021526694.tif 000003
【図１Ｂ】
2021526694.tif 000004
【図１Ｃ】
2021526694.tif 000005
【図１Ｄ】
2021526694.tif 000006
【図１Ｅ】
2021526694.tif 000007
【図２】
2021526694.tif 000008
【図３】
2021526694.tif 000009
【図４】
2021526694.tif 000010
【図５】
2021526694.tif 000011
【国際調査報告】
2021526694.tif 000012
2021526694.tif 000013
2021526694.tif 000014