JP2021526694A - ネットワークを通信スキームにかかわりなくインターフェースするためのシステムおよび方法 - Google Patents

ネットワークを通信スキームにかかわりなくインターフェースするためのシステムおよび方法 Download PDF

Info

Publication number
JP2021526694A
JP2021526694A JP2020569056A JP2020569056A JP2021526694A JP 2021526694 A JP2021526694 A JP 2021526694A JP 2020569056 A JP2020569056 A JP 2020569056A JP 2020569056 A JP2020569056 A JP 2020569056A JP 2021526694 A JP2021526694 A JP 2021526694A
Authority
JP
Japan
Prior art keywords
message
communication network
standard
communication
message body
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
JP2020569056A
Other languages
English (en)
Inventor
シク ユジン ミン,ヒョン
シク ユジン ミン,ヒョン
リ,ヨンヘ
ウ リ,ピョン
ウ リ,ピョン
カン キム,ジン
カン キム,ジン
Original Assignee
クーパン コーポレイション
クーパン コーポレイション
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 クーパン コーポレイション, クーパン コーポレイション filed Critical クーパン コーポレイション
Publication of JP2021526694A publication Critical patent/JP2021526694A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムが開示される。システムは、命令を格納するメモリと、命令を実行するように構成された少なくとも1つのプロセッサとを備えることができる。命令は、第1の通信ネットワークから、第1の非標準のメッセージヘッダおよび第1の非標準のメッセージ本体を含む第1のメッセージを受信することと、第1の非標準のメッセージヘッダを解析して、第1の通信ネットワークのアイデンティティに対応する第1の変数および第1の宛先に対応する第2の変数を割り出すことと、第1の変数に基づいて第1のメッセージの第1の通信プロトコルを特定することと、特定された第1の通信プロトコルに基づいて、第1の非標準のメッセージ本体を第2の通信ネットワークのための標準化されたフォーマットへと変換することと、標準化された第1のメッセージ本体を第2の変数に基づいて第1の宛先に送信することとを含むことができる。

Description

本開示は、広くには、1つまたは複数の外部通信ネットワークを内部通信ネットワークとインターフェースするためのコンピュータ化されたシステムおよび方法に関する。とくには、本開示の実施形態は、通信ネットワークと他の通信ネットワーク(例えば、第三者によって運用される)とのインターフェースを、これら他の通信ネットワークのそれぞれの通信プロトコルまたはアプリケーション・プログラミング・インターフェース(API)にかかわりなく可能にする独創的かつ従来にないシステムに関する。
インターネットとコンピュータネットワークの進歩により、コンピュータネットワークが、現在の世界に遍く存在するようになっている。ほとんどすべての家庭またはオフィスに、プライベートネットワークが備わっている。さらに、大企業、製造工場、または倉庫などといったビジネスエンティティが、それぞれの内部ネットワークにおいてさまざまなシステムを運用している。本開示の目的において、ネットワークを、共通のメッセージフォーマットを使用して異なるシステム間の通信を可能にするコンピュータネットワークとして定義することができ、同じネットワーク内の各システムは、メッセージを変換または翻訳を必要とすることなく送信および受信することができる。これらの内部ネットワークは、同じエンティティによって所有および運用されるさまざまなシステムを接続し、通信を可能する。新たな内部システムまたは外部(すなわち、異なる通信形式の独立したネットワークによって接続されたシステムのグループ)システムを、内部ネットワークに追加または接続することが可能であるが、そのようなプロセスは、さまざまなネットワークパラメータの手作業での設定を必要とする。
2つの異なるシステムをインターフェースするために、典型的には、Representational State Transfer(REST)ベースのAPI、ファイル転送API、データベース間転送API、などのうちの1つなど、特定のAPIを使用する必要がある。しかしながら、APIが異なると、2つのシステムを互いに通信可能にするために満たさなければならない構文およびフォーマットの要件も異なる可能性がある。さらに、異なるシステムは、異なる通信プロトコルを利用する可能性があり、送信側のシステムからのメッセージを、受信側のシステムがメッセージを理解できるように、変換しなければならない。
自身の業務の種々の態様を管理するさまざまなシステムを備えたエンティティが、別のエンティティと通信できなければならない場合に、問題が発生する。この場合、2つのエンティティは、共通のAPIおよび通信プロトコル(以下では、まとめて通信スキームと呼ぶ)について合意し、合意した通信スキームを採用するようにすべてのシステムを改修しなければならない。別の方法は、互いに通信する必要があるシステム(各々のエンティティから1つずつ)の各ペアの間に、変換機構を配置することである。しかしながら、どちらの方法も、実装のコストおよび運用のコストの両方に関して高価である。エンティティのうちの1つが異なる通信スキームを使用するさらに別のエンティティとも通信しなければならない場合、この第3のエンティティも同じスキームを採用しなければならず、あるいは各システムに変換機構を備えなければならないため、問題はさらに複雑になる。
したがって、或るエンティティのシステムのグループ(すなわち、内部システム)を、複数の異なるエンティティのシステムのグループ(すなわち、異なる外部システム)と、それぞれの通信スキームにかかわりなくインターフェースする集中型のソリューションについて、ニーズが存在する。
本開示の一態様は、1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムに関する。システムは、命令を格納するメモリと、命令を実行するように構成された少なくとも1つのプロセッサとを備えることができる。命令は、通信ネットワークの組のうちの第1の通信ネットワークから、第1の非標準のメッセージヘッダおよび第1の非標準のメッセージ本体を含む第1のメッセージを受信することと、第1の非標準のメッセージヘッダを解析して、第1の通信ネットワークのアイデンティティに対応する第1の変数および第1の宛先に対応する第2の変数を割り出すことと、事前に構成されたデータ構造を使用して、第1の変数に基づいて第1のメッセージの第1の通信プロトコルを特定することと、特定された第1の通信プロトコルに基づいて、第1の非標準のメッセージ本体を第2の通信ネットワークのための標準化されたフォーマットへと変換することと、標準化された第1のメッセージ本体を第2の変数に基づいて第1の宛先に送信することとを含むことができる。
本開示の別の態様は、1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実行される方法に関する。この方法は、通信ネットワークの組のうちの第1の通信ネットワークから、第1の非標準のメッセージヘッダおよび第1の非標準のメッセージ本体を含む第1のメッセージを受信することと、第1の非標準のメッセージヘッダを解析して、第1の通信ネットワークのアイデンティティに対応する第1の変数および第1の宛先に対応する第2の変数を割り出すことと、事前に構成されたデータ構造を使用して、第1の変数に基づいて第1のメッセージの第1の通信プロトコルを特定することと、特定された第1の通信プロトコルに基づいて、第1の非標準のメッセージ本体を第2の通信ネットワークのための標準化されたフォーマットへと変換することと、標準化された第1のメッセージ本体を第2の変数に基づいて第1の宛先に送信することとを含むことができる。
さらに、本開示の別の態様は、1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムに関する。システムは、通信ネットワークの組のうちの第1の通信ネットワークから、非標準のインバウンドメッセージヘッダおよび非標準のインバウンドメッセージ本体を含むインバウンドメッセージを受信するように構成されたインバウンドエンドポイント層を備えることができる。インバウンドエンドポイント層は、非標準のインバウンドメッセージヘッダを解析して、第1の通信ネットワークのアイデンティティに対応する第1の部分および第2の通信ネットワーク内に位置する第1の宛先に対応する第2の部分を割り出すように構成されたインバウンド解析部をさらに備えることができる。システムは、第1の部分および既知の通信ネットワークの事前に構成されたデータ構造に基づいて、非標準のインバウンドメッセージ本体を標準化されたフォーマットへと変換するように構成されたインバウンド変換層と、標準化されたインバウンドメッセージ本体を第1の宛先に送信するように構成されたルーティング層と、第2の通信ネットワークから、標準のアウトバウンドメッセージ本体と、通信ネットワークの組のうちの第3の通信ネットワーク内に位置する第2の宛先とを含むアウトバウンドメッセージを受信するように構成されたアウトバウンドエンドポイント層と、第2の宛先および既知の通信ネットワークの事前に構成されたデータ構造に基づいて、前記標準のアウトバウンドメッセージ本体を非標準のフォーマットへと変換するように構成されたアウトバウンド変換層とをさらに含むことができる。ルーティング層を、非標準化されたアウトバウンドメッセージ本体を第2の宛先に送信するようにさらに構成することができる。
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
本開示の実施形態による出荷、輸送、および物流作業を可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。 本開示の実施形態による検索要求を満たす1つまたは複数の検索結果をインタラクティブなユーザインターフェース要素と共に含む一例の検索結果ページ(SRP)を示している。 本開示の実施形態による製品および製品についての情報をインタラクティブなユーザインターフェース要素と共に含む一例の単一表示ページ(SDP)を示している。 本開示の実施形態による仮想ショッピングカート内のアイテムをインタラクティブなユーザインターフェース要素と共に含む一例のカートページを示している。 本開示の実施形態による仮想ショッピングカートからのアイテムを購入および出荷に関する情報ならびにインタラクティブなユーザインターフェース要素と共に含む一例の注文ページを示している。 本開示の実施形態による本開示のコンピュータ化されたシステムを利用するように構成された例示的なフルフィルメントセンターの概略図である。 本開示の実施形態による内部システムと外部システムとの間のインターフェースのためのコンピュータ化されたシステムの例示的な実施形態を示す概略ブロック図である。 本開示の実施形態による標準化されたフォーマットへの変換後のインバウンドメッセージをルーティングするための例示的なコンピュータ化されたプロセスの流れ図である。 本開示の実施形態による非標準のフォーマットへの変換後のアウトバウンドメッセージをルーティングするための例示的なコンピュータ化されたプロセスの流れ図である。
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応、および他の実装が可能である。例えば、置換、追加、または修正が図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
本開示の実施形態は、内部システムを、外部システムのさまざまなグループと、それらの通信スキームにかかわりなくインターフェースするように構成されたシステムおよび方法に関する。
図1Aを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステムの例示的な実施形態を示す概略ブロック図100が示されている。図1Aに示すように、システム100は様々なシステムを含むことができ、その各々は、1つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術(SAT)システム101、外部フロントエンドシステム103、内部フロントエンドシステム105、輸送システム107、モバイルデバイス107A、107B、107C、売り手ポータル109、出荷および注文追跡(SOT)システム111、フルフィルメント(履行)最適化(FO)システム113、フルフィルメントメッセージングゲートウェイ(FMG)115、サプライチェーン管理(SCM)システム117、労働力管理システム119、モバイルデバイス119A、119B、119C(フルフィルメントセンタ(FC)200の内部にあるものとして図示)、第三者パーティフルフィルメントシステム121A、121B、121C、フルフィルメントセンタ認証システム(FC認証)123、労働管理システム(LMS)125を含む。
SATシステム101は、いくつかの実施形態では注文状態および配送状態を監視するコンピュータシステムとして実装されてもよい。例えば、SAT装置101は注文がその約束配送日(PDD)を過ぎているかどうかを判定し、新しい注文を開始すること、配達されていない注文でアイテムを再出荷すること、配達されていない注文をキャンセルすること、注文カスタマとのコンタクトを開始することなどを含む適切な処置をとることができる。SAT装置101は、出力(特定の期間中に出荷された荷物の数のよう)及び入力(出荷に使用するために受け取った空のボール紙箱の数のよう)を含む他のデータを監視することもできる。また、SATシステム101はシステム100内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム103およびFOシステム113などのデバイス間の通信(例えば、ストアアンドフォワードまたは他の技術を使用する)を可能にしてもよい。
いくつかの実施形態では、外部フロントエンドシステム103は外部ユーザがシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム100がシステムの提示を可能にして、ユーザがアイテムのための注文を配置することを可能にする実施形態では、外部フロントエンドシステム103が検索リクエストを受信し、アイテムページを提示し、決済情報を要請するウェブサーバとして実装されてもよい。例えば、外部フロントエンドシステム103は、アパッチHTTPサーバ、マイクロソフトインターネットインフォメーションサービス、NGINX等のソフトウェアを実行するコンピュータ又はコンピュータとして実施することができる。他の実施形態では、外部フロントエンドシステム103が外部デバイス(例えば、モバイルデバイス102Aまたはコンピュータ102B)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得した情報に基づいて受信した要求に対する応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
いくつかの実施形態では、外部フロントエンドシステム103がウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの1つまたは複数を含むことができる。一態様では外部フロントエンドシステム103がこれらのシステムのうちの1つまたは複数を備えることができ、別の態様では外部フロントエンドシステム103がこれらのシステムのうちの1つまたは複数に接続されたインターフェース(例えば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
図1B、図1C、図1D、および図1Eによって示されるステップの例示的な組は、外部フロントエンドシステム103のいくつかの動作を説明するのに役立つことができる。外部フロントエンドシステム103は提示および/またはディスプレイのために、システム100内のシステムまたはデバイスから情報を受け取ることができる。例えば、外部フロントエンドシステム103は、検索結果を含む1つ以上のウェブページをホスティングまたは提供することができる: ページ(SRP)(例えば、図1B)、単一ディテールページ(SDP)(例えば、図1C)、カードページ(例えば、図1D)、または注文ページ(例えば、図1E)。ユーザデバイス(例えば、モバイルデバイス102Aまたはコンピュータ102Bを使用する)は外部フロントエンドシステム103にナビゲートし、サーチボックスに入力することによってサーチをリクエストすることができる。外部フロントエンドシステム103は、システム100内の1つまたは複数のシステムからリクエストすることができる。例えば、外部フロントエンドシステム103は、検索要求を満たす情報をFOシステム113に要求してもよい。また、外部フロントエンドシステム103は検索結果に含まれる商品ごとに、約束配送日または「PDD」を(FOシステム113から)リクエストし、受信することもできる。
PDDはいくつかの実施形態では、特定の期間内に、例えば、その日の最後(午後11時59分)までに注文された場合、製品を含む荷物が、いつユーザの所望の場所に到着するか、または製品がユーザの所望の場所に配送されることを約束される日付かのいずれかの推定値を表すことができる(PDDはFOシステム113に関して以下でさらに説明される)。
外部フロントエンドシステム103がその情報に基づいてSRP(例えば、図1B)を準備することができる。SRPは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。SRPはまた、各製品についてのそれぞれの価格、または各製品についての強化された配送オプション、PDD、重み、規模、オファー、割引などに関する情報を含んでもよい。外部フロントエンドシステム103は(例えば、ネットワークを介して)要求側ユーザデバイスにSRPを送信することができる。
次いで、ユーザデバイスは例えば、ユーザインターフェースをクリックまたはタップすることによって、または別のインプットデバイスを使用して、SRPから製品を選択して、SRP上に表される製品を選択し得る。ユーザデバイスは選択されたプロダクトに関するリクエストを作成し、それを外部フロントエンドシステム103に送ることができる。これに応じて、外部フロントエンドシステム103は、選択された商品に関する情報をリクエストすることができる。例えば、情報は、それぞれのSRP上の製品について提示される情報を超える追加の情報を含むことができる。これには、例えば、貯蔵寿命、原産国、体重、大きさ、荷物中のアイテムの個数、取扱説明書、または生成物に関する他の事項が含まれ得る。また、情報は(例えば、この製品および少なくとも1つの他の製品を購入した顧客のビッグデータおよび/または機械学習分析に基づく)類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
外部フロントエンドシステム103は受信したプロダクトインフォメーションに基づいて、SDP(単一ディテールページ)(例えば、図1C)を準備することができる。SDPはまた、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量欄、アイテムの写真等のような他の対話型要素を含んでもよい。SDPは、製品を提供する売り手のリストをさらに含むことができる。リストは各売り手が提供する価格に基づいて注文されてもよく、その結果、最低価格で製品を販売することを提案する売り手は最上位にリストされてもよい。リストは最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて注文されてもよい。売り手ランキングは例えば、約束されたPDDを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム103は(例えば、ネットワークを介して)要求側ユーザデバイスにSDPを配信することができる。
依頼元ユーザデバイスは、商品情報を記載したSDPを受け取る場合がある。SDPを受信すると、ユーザデバイスはSDPと対話することができる。例えば、要求ユーザデバイスのユーザは、SDP上の「カートに入れる」ボタンをクリックするか、あるいは他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザデバイスはこのリクエストを送信して、商品をショッピングカートに追加し、外部フロントエンドシステム103に送ることができる。
外部フロントエンドシステム103はカートページ(例えば、図1D)を生成することができる。カートページはいくつかの実施形態ではユーザが仮想の「買物かご」に追加した商品をリストし、ユーザデバイスは、SRP、SDP、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページをリクエストしてもよい。いくつかの実施形態では、カートページがユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品のアイテム当たりの価格、関連する数量に基づく各製品の価格、PDDに関する情報、配送方法、出荷費用、ショッピングカート内の製品を修正するためのユーザインターフェース要素(例えば、数量の削除または修正)、他の製品を注文するかまたは製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入を進めるためのユーザインターフェース要素などのカート内の製品に関する情報を列挙することができる。ユーザデバイスのユーザはショッピングカート内の商品の購入を開始するために、ユーザインターフェース要素(例えば、「今すぐ買う」と読むボタン)をクリックするか、または他の方法でユーザインターフェース要素と対話することができる。そうすると、ユーザデバイスは、このリクエストを送信して、外部フロントエンドシステム103への購入を開始することができる。
外部フロントエンドシステム103は購入を開始するためのリクエストの受信に応じて、注文頁(例えば、図1E)を発生することができる。注文頁はいくつかの実施形態ではショッピングカートからのアイテムを再リストし、支払及び出荷に関するインプットを要求する。例えば、注文ページはショッピングカート内のアイテムの購入者に関する情報(例えば、名前、住所、電子メールアドレス、電話番号)、受取人に関する情報(例えば、名前、住所、電話番号、配送情報)、出荷情報(例えば、配送および/または集荷の速度/方法)、支払情報(例えば、クレジットカード、銀行振込、小切手、記憶クレジット)、現金受領を要求するためのユーザインターフェース要素(例えば、税務目的のための)などを要求する区画を含むことができる。外部フロントエンドシステム103は、注文頁をユーザデバイスへ送信することが可能である。
ユーザデバイスは注文頁に情報を入力し、その情報を外部フロントエンドシステム103に送信するユーザインターフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム103はショッピングカート内の製品との新しい注文の作成および加工を可能にするために、システム100内の様々なシステムに情報を送信することができる。
いくつかの実施形態では、外部フロントエンドシステム103が売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
内部フロントエンドシステム105はいくつかの実施形態では内部ユーザ(例えば、システム100を所有し、運営し、またはリースする団体の従業員)がシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、ネットワーク101がシステムの提示を可能にして、ユーザが注文のための注文を配置できるようにする実施形態では、内部ユーザが注文に関する診断および統計情報を見たり、アイテム情報を修正したり、またはアイテムに関する統計を見直したりできるようにする、内部フロントエンドシステム105をウェブサーバとして実装することができる。例えば、内蔵フロントエンドシステム105は、アパッチHTTPサーバ、マイクロソフトインターネットインフォメーションサービス、NGINX等のソフトウェアを実行するコンピュータ又はコンピュータとして実現することができる。他の実施形態では、内蔵フロントエンドシステム105がシステム100に示されるシステムまたはデバイス(ならびに図示されない他のデバイス)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
いくつかの実施形態では、内蔵フロントエンドシステム105がウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの1つまたは複数を含むことができる。一態様では内部フロントエンドシステム105がこれらのシステムのうちの1つまたは複数を備えることができ、別の態様では内部フロントエンドシステム105がこれらのシステムのうちの1つまたは複数に接続されたインターフェース(たとえば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
輸送システム107は、いくつかの実施形態ではシステム100内のシステムまたはデバイスとモバイルデバイス107A〜107Cとの間の通信を可能にするコンピュータシステムとして実施することができる。いくつかの実施形態では、トランスポーテーションシステム107が1つまたは複数のモバイルデバイス107A〜107C(例えば、携帯電話、スマートフォン、PDAなど)から受信することができる。例えば、いくつかの実施形態では、モバイルデバイス107A〜107Cが配送作業員によって操作されるデバイスを含んでもよい。配送作業員は、正社員、臨時社員、または交替社員であってもよく、モバイルデバイス107A〜107Cを利用して、ユーザによって注文された製品を含む荷物の配送を行うことができる。例えば、荷物を配信するために、配送作業員は、どの荷物を配信すべきか、およびそれをどこに配信すべきかを示す通知をモバイルデバイス上で受信することができる。配送位置に到着すると、配送作業員は荷物を(例えば、トラックの後ろに、または荷物の箱に)配置し、モバイルデバイスを使用して荷物上の識別子に関連するデータ(例えば、バーコード、イメージ、文字列、RFIDタグなど)を走査または他の方法で捕捉し、荷物を(例えば、前扉に置いたままにし、警備員を置いたままにし、受信者に渡すなどによって)配信することができる。いくつかの実施形態では、配送作業員が荷物の写真をキャプチャすることができ、および/またはモバイルデバイスを使用してシグネチャを取得することができる。モバイルデバイスは例えば、時刻、日付、GPS位置、写真、配送作業員に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む配送に関する情報を含む情報を輸送機関107に送信することができる。輸送システム107はシステム100内の他のシステムによるアクセスのために、この情報をデータベース(図示せず)に記憶することができる。輸送システム107はいくつかの実施形態ではこの情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
いくつかの実施形態ではあるユーザが1つの種類のモバイルデバイスを使用することができる(例えば、永久作業員はバーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアと共に専用のPDAを使用することができる)が他のユーザは他の種類のモバイルデバイスを使用することができる(例えば、一時的または移動作業員は既製の携帯電話および/またはスマートフォンを利用することができる)。
いくつかの実施形態では、交通機関107がユーザをそれぞれのデバイスに関連付けることができる。例えば、輸送システム107はユーザ(例えば、ユーザ識別子、従業員識別子、または電話番号)とモバイルデバイス(例えば、国際移動装置アイデンティティ(IMEI)、国際移動加入識別子(IMSI)、電話番号、汎用一意識別子(UUID)、またはグローバル一意(GUID)によって表される)との間の関連を記憶することができる。トランスポートシステム107はこの関連付けを、配送上で受信されたデータと併せて使用して、とりわけ、作業員の位置、作業員の有効性、または作業員のスピードを決定するために、注文内のデータベースに格納されたデータを分析することができる。
売り手ポータル109は、いくつかの実施形態では売り手または他の外部エンティティがシステム100内の1つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム(図示せず)を利用して、売り手が売り手ポータル109を使用してシステム100を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
出荷および注文追跡システム111はいくつかの実施形態では(例えば、デバイス102A〜102Bを使用するユーザによって)顧客によって注文された製品を含む荷物の位置に関する情報を受信し、記憶し、転送するコンピュータシステムとして実装されてもよい。いくつかの実施形態では、出荷および注文追跡装置111は顧客が注文した製品を含む荷物を配送する出荷会社によって運営されるウェブサーバ(図示せず)からの情報をリクエストまたは記憶することができる。
いくつかの実施形態では、出荷および注文追跡システム111がシステム100に示されたシステムからの情報をリクエストし、記憶することができる。例えば、出荷および注文追跡システム111は、輸送システム107にリクエストすることができる。上述のように、交通機関107はユーザ(例えば、配送作業員)または乗り物(例えば、配送車)のうちの1つまたは複数に関連付けられた1つまたは複数のモバイルデバイス107A〜107C(例えば、携帯電話、スマートフォン、PDAなど)から受信することができる。いくつかの実施形態では、出荷および注文追跡装置111がフルフィルメントセンタ(例えば、フルフィルメントセンタ200)内の個々の製品の位置を決定するために、労働力管理システム(WMS)119にリクエストすることもできる。出荷および注文追跡システム111は輸送システム107またはWMS 119のうちの1つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス(たとえば、ユーザデバイス102Aおよび102B)に提示することができる。
フルフィルメント(履行)最適化(FO)システム113はいくつかの実施形態では他のシステム(例えば、外部フロントエンドシステム103および/または出荷および注文追跡システム111)からのカスタマ注文のための情報を記憶するコンピュータシステムとして実装されてもよい。また、FOシステム113は、特定のアイテムがどこに保持されているか、またはどこに記憶されているかを記述する情報を記憶することもできる。たとえば、特定のアイテムは1つのフルフィルメントセンタにのみ格納でき、他の特定のアイテムは複数のフルフィルメントセンタに格納できる。さらに他の実施形態では、特定のフルフィルメントセンタが特定の組のアイテム(例えば、生鮮食品または冷凍食品)のみを格納するように設計されてもよい。FOシステム113はこの情報ならびに関連する情報(例えば、数量、サイズ、受領日、有効期限など)を格納する。
また、FOシステム113は、商品毎に対応するPDD(約束配送日)を計算してもよい。PDDは、いくつかの実施形態では1つまたは複数の要因に基づくことができる。例えば、FOシステム113は製品に対する過去の需要(例えば、その製品がある期間中に何回注文されたか)、製品に対する予想需要(例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか)、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ200に格納された製品の1つ以上のカウント、その製品に対する各製品、予想または現行注文などに基づいて、製品に対するPDDを計算することができる。
いくつかの実施形態では、FOシステム113が定期的に(例えば、1時間ごとに)商品ごとにPDDを決定し、それを検索または他のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)に送信するためにデータベースに格納することができる。他の実施形態では、FOシステム113が1つまたは複数のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)から電子要求を受信し、オンデマンドでPDDを計算することができる。
フルフィルメントメッセージングゲートウェイ115はいくつかの実施形態ではFOシステム113などのシステム100内の1つ以上のシステムから1つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、WMS 119または3パーティフルフィルメントシステム121A、121B、または121Cなどの他のシステムに転送するコンピュータシステムとして実装することができる。
サプライチェーン管理(SCM)システム117は、いくつかの実施形態では予測機能を実行するコンピュータシステムとして実装することができる。例えば、SCMシステム117は例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ200に格納された計数製品、各製品に対する予想または現行注文などに基づいて、特定の製品に対する需要の水準を予測することができる。この予測された水準およびすべてのフルフィルメントセンタにわたるそれぞれの製品の量に応じて、SCMシステム117は特定の製品に対する予測された需要を満たすのに充分な量を購入し、ストックするための1つまたは複数の購入注文を生成することができる。
労働力管理システム(WMS)119は、いくつかの実施形態ではワークフローをモニタするコンピュータシステムとして実装されてもよい。例えば、WMS 119は個別イベントを示す個別デバイス(例えば、デバイス107A−107Cまたは119A−119C)からイベントデータを受信することができる。例えば、WMS 119は、荷物を走査するためにこれらのデバイスの1つの使用を示すイベントデータを受信してもよい。フルフィルメントセンタ200および図2に関して以下で論じるように、フルフィルメントプロセス中に、荷物識別子(例えば、バーコードまたはRFIDタグデータ)は特定の段階で機械によってスキャンまたは読み取ることができる(例えば、自動またはハンドヘルドバーコードスキャナ、RFIDリーダ、高速カメラ、タブレット119A、モバイルデバイス/PDA 119B、コンピュータ119Cなどのデバイス)。WMS 119は荷物識別子、時刻、日時、位置、ユーザ識別子、または他の情報と共に、荷物識別子の走査または読取りを示す各々の事象を対応するデータベース(図示せず)に記憶することができ、この情報を他のシステム(例えば、出荷および注文追跡システム111)に提供することができる。
WMS 119はいくつかの実施形態では1つまたは複数のデバイス(例えば、デバイス107A〜107Cまたは119A〜119C)を、システム100に関連付けられた1つまたは複数のユーザに関連付ける情報を記憶してもよい。例えば、いくつかの状況では、ユーザ(パートまたはフルタイムの従業員など)は、ユーザがモバイルデバイスを所有する(例えば、モバイルデバイスがスマートフォンである)という点で、モバイルデバイスに関連付けられてもよい。他の状況では、ユーザは、ユーザが一時的にモバイルデバイスの管理下にある(例えば、ユーザは日の始めにモバイルデバイスを借り、日中にそれを使用し、日の終わりにそれを返す)という点で、モバイルデバイスに関連付けられてもよい。
WMS 119は、いくつかの実施形態ではシステム100に関連する各ユーザの作業ログを維持することができる。例えば、WMS 119は任意の割り当てられたプロセス(例えば、トラックのアンローディング、ピックゾーンからのアイテムのピッキング、仕分け装置ワーク、パッキングアイテム)、ユーザ識別子、位置(例えば、フルフィルメントセンタ200内のフロアまたはゾーン)、従業員によってシステム内を移動されたユニットの数(例えば、ピックされたアイテムの数、パックされたアイテムの数)、デバイスに関連付けられた識別子(例えば、デバイス119A〜119C)などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、WMS 119がデバイス119A〜119C上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
第三者フルフィルメント(3PL)システム121A〜121Cは、いくつかの実施形態ではロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、(図2に関して以下に説明するように)いくつかの製品がフルフィルメントセンタ200に格納されている間、他の製品は、オフサイトで格納されてもよく、オンデマンドで生産されてもよく、またはフルフィルメントセンタ200に格納するために利用できなくてもよい。3PLシステム121A〜121CはFOシステム113から(例えば、FMG 115を介して)注文を受信するように構成することができ、製品および/またはサービス(例えば、配送または設置)を顧客に直接的に提供することができる。いくつかの実施形態では3PLシステム121A〜121Cのうちの1つまたは複数がシステム100の一部とすることができ、他の実施形態では3PLシステム121A〜121Cのうちの1つまたは複数がシステム100の外部(例えば、サードパーティプロバイダによって所有または運営される)とすることができる。
フルフィルメントセンタ自動システム(FC認証)123は、いくつかの実施形態では様々な機能を有するコンピュータシステムとして実装され得る。例えば、いくつかの実施形態では、FC認証123がシステム100内の1つまたは複数の他のシステムのためのシングルサインオン(SSO)サービスとして動作することができる。例えば、FC認証123はユーザが内部フロントエンドシステム105を介してログインすることを可能にし、ユーザが出荷および注文追跡系111においてリソースにアクセスするための同様の特権を有していることを決定し、ユーザが2回目のログイン処理を必要とせずにそれらの特権にアクセスすることを可能にしてもよい。他の実施形態では、FC認証123は、ユーザ(例えば、従業員)が自分自身を特定の作業に関連付けることを可能にしてもよい。例えば、従業員の中には、電子デバイス(デバイス119A〜119Cなど)を持たない者もいれば、その代わりに、1日の過程中に、フルフィルメントセンタ200内でタスクからタスクへ、およびゾーンからゾーンへ移動するしてもよい。FC認証123は、それらの従業員は、彼らがどの仕事をしているか、および彼らが様々な時刻にどの区域にいるかを示すことを可能にするように構成されてもよい。
労働管理システム(LMS)125は、いくつかの実施形態では従業員(フルタイムおよびパートタイムの従業員を含む)のための出勤および残業を記憶するコンピュータシステムとして実装されてもよい。例えば、LMS 125は、FC認証123、WMA 119、デバイス119A−119C、輸送装置107、及び/又はデバイス107A−107Cから受信することができる。
図1Aに示される特定の構成は単なる例である。例えば、図1AはFOシステム113に接続されたFC認証システム123を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム100内のシステムがインターネット、イントラネット、WAN(ワイドエリアネットワーク)、MAN(メトロポリタンエリアネットワーク)、IEEE 802.11a/b/g/n規格に準拠する無線ネットワーク、専用線などを含む1つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム100内のシステムの1つ以上がデータセンター、サーバファームなどに実装された1つ以上の仮想サーバとして実装されてもよい。
図2は、フルフィルメントセンタ200を示す。フルフィルメントセンタ200は、注文時に顧客に出荷するためのアイテムを格納する物理的な場所の実例である。フルフィルメントセンタ(FC)200は多数のゾーンに分割することができ、その各々を図2に示す。これらの「ゾーン」はいくつかの実施形態ではアイテムを受け取り、アイテムを保管し、アイテムを取り出し、アイテムを出荷する処理の様々な段階の間の仮想分割と考えることができ、したがって、「ゾーン」は図2に示されているが、ゾーンの他の分割も可能であり、いくつかの実施形態では図2のゾーンを省略、複製、または修正することができる。
インバウンドゾーン203は、図1Aの装置100を使用して製品を販売しようとする売り手からアイテムを受け取るFC 200の領域を表す。例えば、売り手は、台車201を使用してアイテム202A及び202Bを配送することができる。アイテム202Aはそれ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム202Bは、空間を節約するために同じパレット上に一緒に積み重ねられた1組のアイテムを表すことができる。
作業員はインバウンドゾーン203でアイテムを受け取り、コンピュータシステム(図示せず)を使用して、アイテムの破損および正当性を任意選択で検査することができる。例えば、作業員は、コンピュータシステムを使用して、アイテム202Aおよび202Bの数量をアイテムの注文数量と比較することができる。数量が合致しない場合、その作業員は、アイテム202Aまたは202Bのうちの1つまたは複数を拒否することができる。数量が一致すれば、作業員はそれらのアイテムを緩衝地帯205まで(例えば、1ドル、ハンドトラック、フォークリフト、手動で)移動させることができる。緩衝ゾーン205は例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーンにあるため、ピッキングゾーンで現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト206が緩衝ゾーン205の周り、および入りゾーン203と落下ゾーン207との間でアイテムを移動させるように動作する。ピッキングゾーンにアイテム202Aまたは202Bが必要な場合(例えば、予想される需要のため)、フォークリフトは、アイテム202Aまたは202Bを落下ゾーン207に移動させることができる。
ドロップゾーン207は、アイテムがピッキングゾーン209に移動される前にそれらを保管するFC 200の領域であってもよい。ピッキングタスクに割り当てられた作業員(「ピッカー」)はピッキングゾーン内のアイテム202Aおよび202Bに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス(例えば、デバイス119B)を使用してアイテム202Aおよび202Bに関連するバーコードをスキャンすることができる。次いで、ピッカーはアイテムをピッキングゾーン209まで(例えば、それをカート上に置くか、またはそれを運ぶことによって)取り込むことができる。
ピッキングゾーン209は、アイテム208が保管ユニット210に保管されるFC 200の領域であってもよい。いくつかの実施形態では、貯蔵ユニット210が物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの1つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン209が複数のフロアに編成されてもよい。いくつかの実施形態では、作業員または機械が例えば、フォークリフト、エレベータ、コンベアベルト、カート、ハンドトラック、台車、自動ロボットもしくはデバイス、または手動を含む多数の方法で、ピッキングゾーン209内にアイテムを移動させることができる。例えば、ピッカーは、アイテム202Aおよび202Bを降下ゾーン207の手押し車または台車に載せ、アイテム202Aおよび202Bをピッキングゾーン209まで歩くことができる。
ピッカーは、保管ユニット210上の特定の空間のようなピッキングゾーン209内の特定のスポットにアイテムを配置する(又は「収納する」)命令を受け取ることができる。例えば、ピッカーはモバイルデバイス(例えば、デバイス119B)を使用してアイテム202Aを走査することができる。デバイスは例えば、通路、棚、及び位置を示す装置を使用して、ピッカーがアイテム202Aを収納すべき場所を示すことができる。次に、デバイスはアイテム202Aをその位置に格納する前に、その位置でバーコードを走査するようにピッカーを促すことができる。デバイスは(例えば、ワイヤレスネットワークを介して)図1AのWMS 119のようなコンピュータシステムにデータを送信し、アイテム202Aがデバイス119Bを使用してユーザによってその位置に格納されたことを示すことができる。
ユーザが注文を置くと、ピッカーは、保管ユニット210から1つまたは複数のアイテム208を取り出すための命令をデバイス119B上で受け取ることができる。ピッカーはアイテム208を取り出し、アイテム208上のバーコードを走査し、それを搬送メカニズム214上に置くことができる。搬送機構214はスライドとして表されているが、いくつかの実施形態では搬送機構がコンベヤーベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの1つまたは複数として実施することができる。次いで、アイテム208は、充填領域211に到達することができる。
パッキングゾーン211は、アイテムがピッキングゾーン209から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされる、FC 200の領域であってもよい。パッキングゾーン211において、受信アイテム(「リビン(rebin)作業員」)に割り当てられた作業員はピッキングゾーン209からアイテム208を受信し、それがどの注文に対応するかを決定する。例えば、リビン(rebin)作業員はアイテム208上のバーコードを走査するために、コンピュータ119Cなどのデバイスを使用することができる。コンピュータ119Cはどの注文アイテム208が関連付けられているかを視覚的に示すことができる。これは例えば、注文に対応する壁面216上の空間または「セル」を含むことができる。注文が完了すると(例えば、セルが注文のためのすべてのアイテムを含むため)、リビン(rebin)作業員は、注文が完了したことをパッキング作業員(または「パッカー」)に示すことができる。梱包業者はセルからアイテムを回収し、輸送のために箱または袋に入れることができる。その後、パッカーは例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン213に送ることができる。
ハブゾーン213は、パッキングゾーン211から全てのボックスまたはバッグ(「荷物」)を受け取るFC 200の領域であってもよい。ハブゾーン213内の作業員および/またはマシンは荷物218を検索し、それぞれの荷物が行こうとする配送領域の一部を決定し、荷物を適切なキャンプゾーン215にルーティングすることができる。例えば、配送領域が2つのより小さいサブ領域を有する場合、荷物は2つのキャンプゾーン215のうちの1つに進む。いくつかの実施形態では、作業員またはマシンが(例えば、デバイス119A〜119Cのうちの1つを使用して)荷物を走査して、その最終的な宛先を決定することができる。荷物をキャンプゾーン215にルーティングすることは、例えば、荷物が向けられている地理的エリアの一部を(例えば、郵便番号に基づいて)決定することと、地理的エリアの一部に関連付けられたキャンプゾーン215を決定することとを含むことができる。
キャンプゾーン215はいくつかの実施形態では1つまたは複数の建物、1つまたは複数の物理的な空間、または1つまたは複数のエリアを備えることができ、荷物は、ルートおよび/またはサブルートに分類するためにハブゾーン213から受け取られる。いくつかの実施形態ではキャンプゾーン215がFC 200から物理的に分離されているが、他の実施形態ではキャンプゾーン215がFC 200の一部を形成することができる。
キャンプゾーン215内の作業員および/またはマシンは例えば、目的地と現存するルートおよび/またはサブルートとの照合、ルートおよび/またはサブルートごとの作業負荷の算出、時刻、出荷方法、荷物220を出荷する費用、荷物220内のアイテムに関連付けられたPDDなどに基づいて、荷物220がどのルートおよび/またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業員またはマシンが(例えば、デバイス119A〜119Cのうちの1つを使用して)荷物を走査して、その最終的な宛先を決定することができる。荷物220が特定のルートおよび/またはサブルートに割り当てられると、作業員および/またはマシンは、出荷される荷物220を移動させることができる。例示的な図2において、キャンプゾーン215は、トラック222、かご226、および配送作業員224Aおよび224Bを含む。いくつかの実施形態では、トラック222が配送作業員224Aによって駆動されてもよく、配送作業員224AはFC 200の荷物を配信する常勤の従業員であり、トラック222はFC 200を所有し、リースし、または運営する同じ企業によって所有され、リースされ、または運営される。いくつかの実施形態では、自動車226が配送作業員224Bによって駆動されてもよく、ここで、配送作業員224Bは必要に応じて(例えば、季節的に)送達する「屈曲」または時折の作業員である。自動車226は、配送作業員224Bによって所有され、リースされ、または操作され得る。
図3が、通信インターフェース301が内部通信ネットワーク323と1つまたは複数の外部通信ネットワーク333A〜Cとの間のインターフェースとして機能するインターフェース図300の例示的な実施形態を説明する概略ブロック図を示している。いくつかの実施形態において、内部システム321は、サプライチェーン管理システム(SCM)325、フルフィルメント最適化システム(FO)327、またはフルフィルメントセンター認証システム(FC Auth)329など、図1Aに示されるシステムのうちの1つまたは複数を含むことができる。これに代え、あるいはこれに加えて、内部システム321は、図1Aに関して上述したシステム以外の他のシステムを含むことができる。いくつかの実施形態において、内部システム321内の個々のシステムは、内部通信ネットワーク323を介して互いに通信することができる。また、いくつかの実施形態において、内部通信ネットワーク323および外部通信ネットワーク333A〜Cは、インターネット、イントラネット、WAN(ワイドエリアネットワーク)、MAN(メトロポリタンエリアネットワーク)、IEEE 802.11a/b/g/n規格に準拠した無線ネットワーク、専用線、などを含む1つまたは複数の公衆またはプライベートネットワークを含むことができる。
3つの外部システム331A〜Cが示されているが、通信インターフェース301は、当業者にとって明らかであるとおり、任意の数の外部システムとの通信を可能にする。外部システム331A〜Cの各々は、第三者フルフィルメント335A〜Cなどのシステムの異なるグループを含むことができる。外部システム331A〜Cの各々は、図1Aに関して上述したシステムと同様の追加のシステム、またはそれぞれの必要性に応じた他のシステムを含むことができる。
いくつかの実施形態において、通信インターフェース301は、内部システム321の複数の外部システム331A〜Cとの通信を可能にすることができる。それぞれの外部システム331A〜C内のシステムの各グループは、それら自身の個々の内部ネットワーク(以下では、外部通信ネットワーク333A〜Cと呼ぶ)を介して互いに通信することができる。これに加え、あるいはこれに代えて、それぞれが注文の管理、在庫の管理、労働力の管理、などの異なる機能に専用である複数の通信インターフェースを、内部通信ネットワーク323と1つまたは複数の外部通信ネットワーク333A〜Cとの間に実装してもよい。いくつかの実施形態において、内部システム321および外部システム331A〜Cの各々は、或る1つの通信ネットワーク内の個々のシステムが別の通信ネットワークの一部となることがない独立した重複のないネットワークとして動作することができる。
いくつかの実施形態においては、内部通信ネットワーク323および外部通信ネットワーク333A〜Cを、当技術分野で知られている1つまたは複数のAPIを使用して実装することができる。APIは、いくつかの実施形態において、或るシステムが別のシステムの機能またはデータにアクセスすることを可能にする一連の機能および手順を含むことができる。内部通信ネットワーク323および外部通信ネットワーク333A〜Cを、Representational State Transfer(REST)API、RESTful API、ファイル転送API、データベース間API、Simple Object Access Protocol(SOAP)API、Remote Procedure Call(RPC)API、などのAPIを使用して実装することができる。
いくつかの実施形態において、内部通信ネットワーク323および外部通信ネットワーク333A〜Cは、1つまたは複数の通信プロトコルを使用して信号を送信および受信することができる。通信プロトコルは、データをシリアル化するための一連のルールおよび構文であってよい。いくつかの実施形態において、通信プロトコルは、JavaScript Object Notation(JSON)、YAML Ain’t Markup Language(YAML)、拡張マークアップ言語(XML)、Tom’s Obvious Minimal Language(TOML)、CoffeeScript Object Notation(CSON)、MessagePack、などのうちの少なくとも1つを含むことができる。
したがって、内部通信ネットワーク323および外部通信ネットワーク333A〜Cを、上述のとおりのAPIおよび通信プロトコルの無数の組み合わせを使用して実装することができる。通信インターフェース301を、いくつかの実施形態では、一端からメッセージを受信し、翻訳後のメッセージを他端から送信するコンピュータシステムとして実装することができる。例えば、通信インターフェース301は、特定の外部システム(例えば、外部システム331A)から、特定の通信スキーム(例えば、REST APIを使用するXMLプロトコル)を利用する対応する外部通信ネットワーク333Aを介して、インバウンドメッセージを受信することができる。次いで、通信インターフェース301は、メッセージを、内部通信ネットワーク323が利用する通信スキーム(例えば、SOAP APIを使用するJSONプロトコル)へと変換することができる。上記開示の通信スキームの特定の組み合わせは、あくまでも例示にすぎず、他の組み合わせを必要に応じて使用することができる。さらに、異なる通信ネットワークは、同一または部分的に同一の組み合わせを利用することができる。
いくつかの実施形態において、通信インターフェース301は、異なる通信スキーム(例えば、RPC APIを使用するYAMLプロトコル)を利用する別の外部システム(例えば、外部システム331B)からメッセージを受信し、内部通信ネットワーク323によって利用される同じ通信スキーム(すなわち、SOAP APIを使用するJSONプロトコル)へと変換することもできる。換言すると、通信インターフェース301は、異なる外部通信ネットワーク333A〜Cからの非標準のメッセージを、内部通信ネットワーク323によって利用される標準的な通信スキームに標準化することができる。さらに、いくつかの実施形態において、通信インターフェース301は、標準的な通信スキームの内部システムからのアウトバウンドメッセージを受信し、特定の外部通信ネットワーク(例えば、外部通信ネットワーク333C)が利用する非標準のフォーマットへと変換した後に、この特定の外部通信ネットワークへと送信することもできる。
いくつかの実施形態において、通信インターフェース301は、インバウンドエンドポイント層303、インバウンド変換層305、ルーティング層307、アウトバウンド変換層309、およびアウトバウンドエンドポイント層311を備えることができる。いくつかの実施形態においては、各層を、専用のシステム、ソフトウェア機能、プログラム可能なサブユニット、などとして実装することができる。
図4が、例示的なコンピュータ化されたインバウンドメッセージルーティングプロセス400の流れ図を示している。インバウンドメッセージルーティングプロセス400の種々のステップを、通信インターフェース301の種々の層(層303〜311)によって実行することができる。各々のステップを、図3の種々の要素を参照して以下で説明する。
ステップ401において、インバウンドエンドポイント層303が、1つまたは複数の外部通信ネットワーク333A〜Cからインバウンドメッセージを受信することができる。インバウンドメッセージは、外部通信ネットワークにおける使用に適した非標準のフォーマットであってよく、外部通信ネットワークの通信スキームに従って外部通信ネットワークからもたらされるが、必ずしも内部通信ネットワーク323にとって読み取り可能ではない。
受信後に、インバウンドエンドポイント層303が、ステップ403において、インバウンドメッセージをそのコンポーネントへと解析して、メッセージヘッダおよびメッセージ本体を特定することができる。いくつかの実施形態において、メッセージヘッダは、インバウンドメッセージの発信元および宛先に関する情報を含むことができる。例えば、メッセージヘッダは、第1の部分において、発信元である発信元外部システム(例えば、第三者のフルフィルメント335A)を特定し、第2の部分において、内部システム321内の宛先内部システム(例えば、SCM325)を宛先として特定することができる。
いくつかの実施形態において、インバウンドエンドポイント層303は、メッセージ内の発信元外部システムのネットワークアドレス(例えば、IPアドレス)に基づいて外部通信ネットワーク(例えば、333A)を認識することによって、メッセージヘッダを特定および解析することが可能であってよい。例えば、インバウンドエンドポイント層303は、ネットワークアドレスを既知の外部通信ネットワーク(すなわち、333A〜C)のリストと照合して、外部通信ネットワークおよび対応する通信プロトコルを特定することができる。次いで、インバウンドエンドポイント層303は、この情報を使用して、メッセージヘッダを解析し、上述のように発信元外部システムおよび宛先内部システムを特定することができる。
さらに、通信インターフェース301は、外部システム331A〜C、対応する外部通信ネットワーク333A〜C、およびそれらのそれぞれの通信スキームに関する情報を格納するように構成されたメモリまたはデータベース(図示せず)を備えることができる。情報は、内部通信ネットワーク323および特定の外部通信ネットワーク(例えば、333A)の通信スキームに基づいて、非標準のインバウンドメッセージに含まれるデータを標準化されたフォーマットへと変換するやり方を指定する事前に構成されたインターフェース設定をさらに含むことができる。例えば、事前に構成されたインターフェース設定は、インバウンドメッセージの発信元である外部通信ネットワーク(例えば、333A)が使用するAPIおよび通信プロトコルに関する情報を含むことができる。いくつかの実施形態では、事前に構成されたインターフェース設定、その対応する通信プロトコル、およびその関連の外部通信ネットワーク(例えば、333A〜C)の組み合わせを、ルックアップテーブル、アレイのセット、などに格納することができる。
いくつかの実施形態において、事前に構成されたインターフェース設定は、特定の外部通信ネットワークの非標準のフォーマットのインバウンドメッセージのフレームワークまたはファイル構造、インバウンドメッセージが含むべきデータフィールド、インバウンドメッセージのデータフィールドが内部通信ネットワーク323の標準化されたフォーマットのデータフィールドにどのように対応するかについての対応情報、インバウンドメッセージ本体を対応する通信プロトコルに基づいてどのように非シリアル化すべきか、などについての情報を含むことができる。いくつかの実施形態において、事前に構成されたインターフェース設定は、標準化されたフォーマットのアウトバウンドメッセージのデータフィールドが非標準のフォーマットのアウトバウンドメッセージのデータフィールドにどのように対応するかに関する対応情報をさらに含むことができる。アウトバウンドメッセージの非標準のフォーマットへの変換の詳細は、アウトバウンド変換層309に関して以下でさらに詳しく説明される。
ステップ405〜411において、インバウンド変換層305を、インバウンドエンドポイント層303から発信元情報および宛先情報を受信し、インバウンドメッセージを非標準のフォーマットから内部通信ネットワーク323の標準化されたフォーマットへと変換するように構成することができる。
インバウンド変換層305は、ステップ405においてメモリまたはデータベースから特定されて取り出される事前に構成されたインターフェース設定を使用して変換を実行することができる。ステップ407において、インバウンド変換層305は、インバウンドメッセージの発信元である外部通信ネットワーク(例えば、333A)に対応する通信プロトコルに基づいて、インバウンドメッセージ本体を非シリアル化することができる。メッセージ本体の非シリアル化は、例えば、メッセージ本体を個々のデータオブジェクトへと解析すること、オブジェクトに属性を割り当てること、変数間の関係を特定すること、などを含むことができる。この非シリアル化のプロセスは、非シリアル化後のメッセージに含まれる種々のデータフィールド、変数、それぞれの値、および変数のデータ構造を特定することができる。
次いで、ステップ409において、インバウンド変換層305は、特定されたデータの値を、事前に構成されたインターフェース設定に基づいて、標準化されたフォーマットの対応するデータフィールド、変数、およびデータ構造に個別かつ自動的に割り当てることができる。いくつかの実施形態においては、インバウンドメッセージに含まれるデータのサブセットが、標準化されたフォーマットにおいて対応するデータフィールドを持たない可能性がある。この場合、特定のデータを破棄することができ、あるいは追加情報として標準化されたメッセージに添えることができる。さらに、いくつかの実施形態において、インバウンド変換層305は、発信元外部システムおよび宛先内部システムの両方へのエラーメッセージの送信を生じさせることもできる。これに代え、あるいはこれに加えて、インバウンド変換層305は、インバウンドメッセージの送信元の外部システムと同じ外部システムへの内部システム321からの後の応答に特定のデータを含ませることができるように、特定のデータをアウトバウンド変換層308へと送ることができる。
いくつかの実施形態において、標準化されたフォーマットは、特定の外部通信ネットワークからの非標準のインバウンドメッセージに対応しない1つまたは複数のデータフィールドを含み得る。この場合、インバウンド変換層305は、単にデータフィールドを無視することができ、あるいはデータフィールドに所定のデフォルト値を割り当てることができる。さらに、いくつかの実施形態において、インバウンド変換層305は、発信元外部システムおよび宛先内部システムの両方へのエラーメッセージの送信を生じさせることもできる。
ステップ411において、インバウンド変換層305を、内部システム321の通信プロトコルに従って、標準化されたメッセージ本体を再シリアル化するようにさらに構成することができる。標準化されたメッセージ本体の再シリアル化は、内部通信ネットワーク323の通信プロトコルが要求する構文に従って、データフィールドおよびそれらの対応する値をシーケンスに配置することを含むことができる。インバウンドメッセージを非シリアル化し、変換し、再シリアル化するこのプロセスは、中央インターフェースにおいて選択された通信スキームにかかわりなくインバウンドメッセージを再パッケージ化することを可能にし、したがって、内部システム321は、個々のシステムにおけるメッセージの変換を必要とせず、あるいは互換性の確保にリソースを費やすことなく、標準化されたインバウンドメッセージを送信および受信することができる。
ステップ413において、ルーティング層307を、宛先情報および標準化されたインバウンドメッセージ本体を受信し、内部通信ネットワーク323を介して内部システム321内の対応するシステム(例えば、SCM325、FO327、またはFC Auth329)へとメッセージを送信するように構成することができる。メッセージの送信は、内部通信ネットワーク323内の対応するシステムのネットワークアドレスを特定することをさらに含むことができる。
内部システム(例えば、SCM325)から発信されて外部システム(例えば、335A)へと送信されるアウトバウンド通信の場合、アウトバウンドエンドポイント層311を、アウトバウンドメッセージを受信し、インバウンドエンドポイント層303に関して上述した機能と同様の機能を実行するように構成することができる。例えば、ステップ501において、アウトバウンドエンドポイント層311は、アウトバウンドメッセージ本体と、発信元内部システム(すなわち、SCM325)および宛先外部システム(すなわち、335A)を示す変数とを含むアウトバウンドメッセージを受信することができる。いくつかの場合、アウトバウンドエンドポイント層311は、インバウンドエンドポイント層303によって実行されるプロセスと同様のプロセスにて発信元および宛先情報を特定するために、アウトバウンドメッセージを解析する必要があるかもしれない。
ステップ503において、アウトバウンド変換層309は、上述のメモリまたはデータベースから宛先外部システム(すなわち、335A)に対応する事前に構成されたインターフェース設定を特定して取り出すことができる。例えば、アウトバウンド変換層309は、宛先外部システム(すなわち、331A)に対応する外部通信ネットワーク(例えば、333A)を特定し、特定された外部通信ネットワーク(例えば、333A)の通信スキームを特定し、特定された通信スキームのための事前に構成されたインターフェース設定を取り出すことができる。
ステップ505、507、および511において、アウトバウンド変換層309は、特定された通信スキームに基づいて、アウトバウンドメッセージを非シリアル化し、変換し、再シリアル化することができる。いくつかの実施形態において、このプロセスは、インバウンド変換層305によって実行されるプロセスと同様であってよいが、逆順であってよく、アウトバウンドメッセージのデータフィールドの値が、非標準のフォーマットの対応するデータフィールドに個別かつ自動的に割り当てられる。
いくつかの実施形態において、アウトバウンドメッセージに含まれるデータのサブセットが、非標準のフォーマットにおいて対応するデータフィールドを持たない可能性がある。この場合、特定のデータを破棄することができ、あるいは追加情報として非標準のメッセージに添えることができる。さらに、いくつかの実施形態において、アウトバウンド変換層309は、発信元内部システム(すなわち、SCM325)および宛先外部システム(すなわち、335A)の両方へのエラーメッセージの送信を生じさせることもできる。あるいは、アウトバウンド変換層309は、インバウンドメッセージの送信元の内部システムと同じ内部システム(すなわち、SCM325)への特定の外部システム(すなわち、335A)からの後の応答に特定のデータを含ませることができるように、特定のデータをインバウンド変換層305へと送ることができる。またさらに、いくつかの実施形態において、非標準のフォーマットは、アウトバウンドメッセージに対応しない1つまたは複数のデータフィールドを含み得る。この場合、アウトバウンド変換層309は、単にデータフィールドを無視することができ、あるいはデータフィールドに所定のデフォルト値を割り当てることができる。さらに、アウトバウンド変換層309は、発信元内部システム(すなわち、SCM325)および宛先外部システム(すなわち、335A)の両方へのエラーメッセージの送信を生じさせることもできる。
ステップ509において、アウトバウンド変換層309は、メッセージヘッダおよびメッセージ本体を含む上述のインバウンドメッセージと同様のやり方で、アウトバウンドメッセージにメッセージヘッダを添えることができる。メッセージヘッダは、発信元内部システム(例えば、FO327)および宛先外部システム(例えば、第三者のフルフィルメント335C)に関する情報を含むことができる。
ステップ513において、ルーティング層307は、標準化されたインバウンドメッセージの内部システムへの送信に関して上述したプロセスと同様のプロセスで、非標準化されたアウトバウンドメッセージを宛先外部システムへと送信することができる。さらに、いくつかの実施形態において、ルーティング層307は、内部システム321と宛先外部システム(例えば、331B)との間の安全な通信のために、認証データを宛先外部通信ネットワーク(例えば、333B)へと送信することができる。
次に、図1Aに関して上述したシステムの文脈における通信インターフェース301の例示的な応用を説明する。
図1Aを再び参照すると、システム100は、ネットワークを介して互いに通信する多数の異なるシステムを備えるエンティティの一例であり得る。さらに、システム100は、FMG115を介して3PLシステム121A〜Cなどの第三者のシステムと通信する必要があるかもしれない。いくつかの実施形態において、FMG115は、上述の通信インターフェース301の一例であってよい。これにより、FOシステム113、SCMシステム117、FC Auth123などの内部システムが、3PLシステム121A〜Cなどの外部システムと通信することができ、すべての製品在庫をフルフィルメントセンター200に保管することを必要とせずに、内部および第三者の倉庫のネットワークを介した注文のフルフィルメントの協調を可能にすることができる。
例えば、システム100は、内部フロントエンドシステム105を介して顧客から注文を受け取ることができる。注文は、フルフィルメントセンター200に在庫された1つまたは複数のアイテム(例えば、プリンタ、椅子、メモ帳、など)、対応するメーカーの倉庫に在庫された大型のアイテム(例えば、冷蔵庫)、ならびにデザイナーから直接デザインおよび出荷される特注の宝飾品を含むことができる。
したがって、注文を処理するために、システム100の種々のシステム、メーカーのシステム、およびデザイナーのシステムの間の通信が必要となる可能性があり、ここで、システムが異なる通信スキームを使用して通信を行う可能性がある。この例においては、メーカーのシステムが、システム100から注文を受信して、大型のアイテムを準備および出荷し、注文ステータスをシステム100に送り返す必要があるかもしれない。他方で、デザイナーのシステムは、システム100から注文を特注の詳細と共に受信し、注文ステータス、完成までの予想時間、などをシステム100に送り返す必要があるかもしれない。したがって、メーカーのシステムとシステム100との間のメッセージは、3つのシステムの通信スキームの間の違いに加えて、異なるパラメータ、メッセージ構造、などを必要とし得る。
いくつかの実施形態においては、メーカーのシステムを、来たるべきホリデーシーズンに関してシステム100のサプライチェーン管理システム117から予想される注文量を受信するようにさらに構成することができ、これは、上述の注文処理において受信するパラメータとは異なる新たな一連のパラメータを必要とすると考えられる。さらに、3PLシステム121A〜Cなどの他のシステムが、対応する第三者エンティティの作業員情報をもたらすこともでき、FMG115、したがってシステム100が、あたかもシステム100の一部であるかのように3PLシステム121A〜Cと通信することができる。
本開示を、本開示の特定の実施形態を参照して提示および説明してきたが、本開示を、修正を必要とせずに、他の環境において実施できることを、理解できるであろう。以上の説明は、例示の目的で提示されている。以上の説明は、すべてを網羅するものではなく、開示された正確な形態または実施形態に限定されない。本明細書を検討し、開示された実施形態を実施することで、修正および調整が当業者にとって明らかであろう。さらに、本開示の実施形態の態様は、メモリに格納されるものとして説明されているが、これらの態様を、例えばハードディスクまたはCD−ROMなどの二次記憶デバイス、あるいは他の形態のRAMまたはROM、USB媒体、DVD、Blu−ray(登録商標)、または他の光ドライブ媒体などの他の種類のコンピュータ可読媒体に格納してもよいことを、当業者であれば理解できるであろう。
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。さまざまなプログラムまたはプログラムモジュールが、当業者に知られた技術のいずれかを使用して作成可能であり、あるいは既存のソフトウェアに関連して設計可能である。例えば、プログラム部分またはプログラムモジュールを、.NET Framework、.NET Compact Framework(および、Visual Basic、C、などの関連の言語)、Java、C++、Objective−C、HTML、HTML/AJAXの組み合わせ、XML、またはJavaアプレットを埋め込んだHTMLにて設計でき、あるいはこれらによって設計することができる。
さらに、例示的な実施形態を本明細書において説明してきたが、本開示に基づいて、同等の要素、修正、省略、(例えば、種々の実施形態にまたがる態様の)組み合わせ、調整、および/または変更を有するあらゆるすべての実施形態の範囲を、当業者であれば理解できるであろう。請求項中の限定事項は、請求項中で使用されている文言に基づいて広く解釈されるべきであり、本明細書に記載され、あるいは本出願の審査の最中に説明される実施例に限定されない。実施例を、排他的であると解釈すべきではない。さらに、開示された方法の各ステップは、ステップを並べ替えること、および/またはステップを挿入または削除することを含む任意のやり方で変更可能である。したがって、本明細書および実施例は、あくまでも例示として考慮されるように意図され、真の範囲および精神は、以下の特許請求の範囲およびそれらの均等物の全範囲によって示される。

Claims (20)

  1. 1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムであって、
    命令を格納するメモリと、
    前記命令を実行するように構成された少なくとも1つのプロセッサと、
    を備え、
    前記少なくとも1つのプロセッサは、
    前記通信ネットワークの組のうちの第1の通信ネットワークから、第1の非標準のメッセージヘッダおよび第1の非標準のメッセージ本体を含む第1のメッセージを受信することと、
    前記第1の非標準のメッセージヘッダを解析して、前記第1の通信ネットワークのアイデンティティに対応する第1の変数および第1の宛先に対応する第2の変数を割り出すことと、
    事前に構成されたデータ構造を使用して、前記第1の変数に基づいて前記第1のメッセージの第1の通信プロトコルを特定することと、
    前記特定された第1の通信プロトコルに基づいて、前記第1の非標準のメッセージ本体を前記第2の通信ネットワークのための標準化されたフォーマットへと変換することと、
    前記標準化された第1のメッセージ本体を前記第2の変数に基づいて前記第1の宛先に送信することと、
    を実行するように構成される、コンピュータによって実現されるシステム。
  2. 前記命令は、
    第2の標準化されたメッセージ本体と、第2の宛先とを含む第2のメッセージを、前記第2の通信ネットワークから受信することと、
    前記第2のメッセージの第2の通信プロトコル、および前記通信ネットワークの組のうちの第3の通信ネットワークを特定することと、
    前記第2の標準化されたメッセージ本体を、前記特定された第2の通信プロトコルに基づいて、前記第3の通信ネットワークのための非標準のフォーマットへと変換することと、
    前記非標準化された第2のメッセージを前記第2の宛先に送信することと、
    をさらに含む、請求項1に記載のコンピュータによって実現されるシステム。
  3. 前記第2の標準化されたメッセージを変換することは、前記非標準化された第2のメッセージに第2の非標準のメッセージヘッダを添えることを含み、前記第2の非標準のメッセージヘッダは、前記第2の宛先に対応する第3の変数を含む、請求項2に記載のコンピュータによって実現されるシステム。
  4. 前記第1のメッセージは、Representational State Transfer(REST)API、RESTful API、ファイル転送API、データベース間API、Simple Object Access Protocol(SOAP)API、またはRemote Procedure Call(RPC)APIのうちの少なくとも1つを使用して受信される、請求項1に記載のコンピュータによって実現されるシステム。
  5. 前記第1の通信プロトコルは、JavaScript Object Notation(JSON)、YAML Ain’t Markup Language(YAML)、拡張マークアップ言語(XML)、Tom’s Obvious Minimal Language(TOML)、CoffeeScript Object Notation(CSON)、またはMessagePackのうちの少なくとも1つを含む、請求項1に記載のコンピュータによって実現されるシステム。
  6. 前記事前に構成されたデータ構造は、1つまたは複数の既知の通信ネットワークを1つまたは複数の通信プロトコルに対応付ける、請求項1に記載のコンピュータによって実現されるシステム。
  7. 前記通信ネットワークの組の個々の通信ネットワークは、前記第2の通信ネットワークとの重なり合いがなく、前記個々の通信ネットワーク間の重なり合いもない、請求項1に記載のコンピュータによって実現されるシステム。
  8. 前記第1の非標準のメッセージ本体は、1つまたは複数の変数を含み、
    前記第1の非標準のメッセージ本体を標準化されたフォーマットへと変換することは、
    前記第1の非標準のメッセージ本体を解析して、前記変数を特定することと、
    前記第1の通信プロトコルと前記第2の通信ネットワークの前記標準化されたフォーマットとの間のインターフェースマップを、前記ルックアップテーブルにもとづいて決定することと、
    前記インターフェースマップに基づいて、前記第1の非標準のメッセージ本体の前記変数の値を、前記標準化されたフォーマットの対応する変数に割り当てることと、
    を含む、請求項1に記載のコンピュータによって実現されるシステム。
  9. 前記第1の非標準のメッセージ本体のうちの少なくとも1つが、前記標準化されたフォーマットに対応する変数が存在しない変数を含み、あるいは前記標準化されたフォーマットが、前記非標準のメッセージ本体に対応する変数が存在しない変数を含む、請求項8に記載のコンピュータによって実現されるシステム。
  10. 1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実行される方法であって、
    前記通信ネットワークの組のうちの第1の通信ネットワークから、第1の非標準のメッセージヘッダおよび第1の非標準のメッセージ本体を含む第1のメッセージを受信することと、
    前記第1の非標準のメッセージヘッダを解析して、前記第1の通信ネットワークのアイデンティティに対応する第1の変数および第1の宛先に対応する第2の変数を割り出すことと、
    事前に構成されたデータ構造を使用して、前記第1の変数に基づいて前記第1のメッセージの第1の通信プロトコルを特定することと、
    前記特定された第1の通信プロトコルに基づいて、前記第1の非標準のメッセージ本体を前記第2の通信ネットワークのための標準化されたフォーマットへと変換することと、
    前記標準化された第1のメッセージ本体を前記第2の変数に基づいて前記第1の宛先に送信することと、
    を含む、コンピュータによって実行される方法。
  11. 第2の標準化されたメッセージ本体と、第2の宛先とを含む第2のメッセージを、前記第2の通信ネットワークから受信することと、
    前記第2のメッセージの第2の通信プロトコル、および前記通信ネットワークの組のうちの第3の通信ネットワークを特定することと、
    前記第2の標準化されたメッセージ本体を、前記特定された第2の通信プロトコルに基づいて、前記第3の通信ネットワークのための非標準のフォーマットへと変換することと、
    前記非標準化された第2のメッセージ本体を前記第2の宛先に送信することと、
    をさらに含む、請求項10に記載のコンピュータによって実行される方法。
  12. 前記非標準化された第2のメッセージ本体を前記第2の宛先に送信することは、
    前記非標準化された第2のメッセージ本体に、前記第2の宛先に対応する第3の変数を含む第2の非標準のメッセージヘッダを添えて、第2の非標準のメッセージを生成することと、
    前記第2の非標準のメッセージを、前記第2の外部通信ネットワークを使用して、前記第2の宛先に送信することと、
    を含む、請求項11に記載のコンピュータによって実行される方法。
  13. 前記第1のメッセージは、Representational State Transfer(REST)API、RESTful API、ファイル転送API、データベース間API、Simple Object Access Protocol(SOAP)API、またはRemote Procedure Call(RPC)APIのうちの少なくとも1つを使用して受信される、請求項10に記載のコンピュータによって実行される方法。
  14. 前記第1の通信プロトコルは、JavaScript Object Notation(JSON)、YAML Ain’t Markup Language(YAML)、拡張マークアップ言語(XML)、Tom’s Obvious Minimal Language(TOML)、CoffeeScript Object Notation(CSON)、またはMessagePackのうちの少なくとも1つを含む、請求項10に記載のコンピュータによって実行される方法。
  15. 前記事前に構成されたデータ構造は、1つまたは複数の既知の通信ネットワークを1つまたは複数の通信プロトコルに対応付ける、請求項10に記載のコンピュータによって実行される方法。
  16. 前記通信ネットワークの組の個々の通信ネットワークは、前記第2の通信ネットワークとの重なり合いがなく、前記個々の通信ネットワーク間の重なり合いもない、請求項10に記載のコンピュータによって実行される方法。
  17. 前記第1の非標準のメッセージ本体は、1つまたは複数の変数を含み、
    前記第1の非標準のメッセージ本体を標準化されたフォーマットへと変換することは、
    前記第1の非標準のメッセージ本体を解析して、前記変数を特定することと、
    前記第1の通信プロトコルと前記第2の通信ネットワークの前記標準化されたフォーマットとの間のインターフェースマップを、前記ルックアップテーブルに基づいて決定することと、
    前記インターフェースマップに基づいて、前記第1の非標準のメッセージ本体の前記変数の値を、前記標準化されたフォーマットの対応する変数に割り当てることと、
    を含む、請求項10に記載のコンピュータによって実行される方法。
  18. 前記第1の非標準のメッセージ本体のうちの少なくとも1つが、前記標準化されたフォーマットに対応する変数が存在しない変数を含み、あるいは前記標準化されたフォーマットが、前記非標準のメッセージ本体に対応する変数が存在しない変数を含む、請求項17に記載のコンピュータによって実行される方法。
  19. 1つまたは複数の通信ネットワークからなる組と、第2の通信ネットワークとをインターフェースするためのコンピュータによって実現されるシステムであって、
    前記システムは、
    前記通信ネットワークの組のうちの第1の通信ネットワークから、非標準のインバウンドメッセージヘッダおよび非標準のインバウンドメッセージ本体を含むインバウンドメッセージを受信するように構成されており、前記非標準のインバウンドメッセージヘッダを解析して、前記第1の通信ネットワークのアイデンティティに対応する第1の部分および前記第2の通信ネットワーク内に位置する第1の宛先に対応する第2の部分を割り出すように構成されたインバウンド解析部をさらに備えているインバウンドエンドポイント層と、
    前記第1の部分および既知の通信ネットワークの事前に構成されたデータ構造に基づいて、前記非標準のインバウンドメッセージ本体を標準化されたフォーマットへと変換するように構成されたインバウンド変換層と、
    前記標準化されたインバウンドメッセージ本体を前記第1の宛先に送信するように構成されたルーティング層と、
    前記第2の通信ネットワークから、標準のアウトバウンドメッセージ本体と、前記通信ネットワークの組のうちの第3の通信ネットワーク内に位置する第2の宛先とを含むアウトバウンドメッセージを受信するように構成されたアウトバウンドエンドポイント層と、
    前記第2の宛先および前記事前に構成されたデータ構造に基づいて、前記標準のアウトバウンドメッセージ本体を非標準のフォーマットへと変換するように構成されたアウトバウンド変換層と、
    を備え、
    前記ルーティング層は、前記非標準化されたアウトバウンドメッセージ本体を前記第2の宛先に送信するようにさらに構成されている、コンピュータによって実現されるシステム。
  20. 前記アウトバウンド変換層は、さらに、
    前記事前に構成されたデータ構造に基づいて、前記第2の宛先に対応する前記第3の通信ネットワークを特定することと、
    前記第2の宛先に対応する第1のデータフィールドを含むアウトバウンドメッセージヘッダを前記非標準化されたアウトバウンドメッセージ本体に添えることで、非標準化されたアウトバウンドメッセージを生成することと、
    によって、前記標準のアウトバウンドメッセージ本体を変換するように構成されている、請求項19に記載のコンピュータによって実現されるシステム。
JP2020569056A 2019-07-12 2020-06-30 ネットワークを通信スキームにかかわりなくインターフェースするためのシステムおよび方法 Pending JP2021526694A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/510,372 2019-07-12
US16/510,372 US10574794B1 (en) 2019-07-12 2019-07-12 Systems and methods for interfacing networks regardless of communication scheme
PCT/IB2020/056168 WO2021009593A1 (en) 2019-07-12 2020-06-30 Systems and methods for interfacing networks regardless of communication scheme

Publications (1)

Publication Number Publication Date
JP2021526694A true JP2021526694A (ja) 2021-10-07

Family

ID=69590639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020569056A Pending JP2021526694A (ja) 2019-07-12 2020-06-30 ネットワークを通信スキームにかかわりなくインターフェースするためのシステムおよび方法

Country Status (6)

Country Link
US (2) US10574794B1 (ja)
JP (1) JP2021526694A (ja)
KR (2) KR102297720B1 (ja)
SG (1) SG11202011755XA (ja)
TW (2) TWI757079B (ja)
WO (1) WO2021009593A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018218032A1 (en) 2017-05-24 2018-11-29 Taco Marketing Llc Consumer purchasing and inventory control assistant apparatus, system and methods
US10574794B1 (en) 2019-07-12 2020-02-25 Coupang Corp. Systems and methods for interfacing networks regardless of communication scheme
US20210019813A1 (en) * 2019-07-18 2021-01-21 Taco Marketing Llc Consumer purchasing and inventory control assistant apparatus, system and methods
CN113422760B (zh) * 2021-06-10 2023-04-07 杭州安恒信息技术股份有限公司 数据传输方法、装置、电子装置和存储介质
CN114095585B (zh) * 2022-01-21 2022-05-20 武汉中科通达高新技术股份有限公司 数据传输方法、装置、存储介质及电子设备
US12014226B2 (en) 2022-06-30 2024-06-18 Mastercard International Incorporated Microservice platform message management system
KR102625714B1 (ko) * 2022-12-29 2024-01-16 한화시스템 주식회사 메시지 처리장치, 이를 구비하는 무인항공기 시스템, 및 메시지 처리방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187626A (ja) * 1998-10-16 2000-07-04 Mitsubishi Electric Corp アプリケ―ション間デ―タ送受信システム及びアプリケ―ション間デ―タ送受信方式及びアプリケ―ション間デ―タ送受信方法及びプログラムを記録したコンピュ―タ読取可能な記録媒体
JP2001216226A (ja) * 1999-11-26 2001-08-10 Mitsubishi Electric Corp アプリケーション間データ送受信方式及びアプリケーション間データ送受信方法及びアプリケーション間データ送受信方法をコンピュータに動作させるプログラムを記録したコンピュータで読取可能な記録媒体
JP2002175274A (ja) * 2000-12-06 2002-06-21 Sony Corp 情報処理装置及び情報処理方法、ネットワーク・システム、記憶媒体、並びにコンピュータ・プログラム
JP2003099298A (ja) * 2001-09-21 2003-04-04 Nippon Telegr & Teleph Corp <Ntt> データ変換方法およびデータ変換装置
JP2006155081A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd 電子データ交換プログラム、電子データ交換装置および情報処理プログラム
JP2007140611A (ja) * 2005-11-14 2007-06-07 Fuji Electric Systems Co Ltd データ連携方式
JP2009527849A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Edi交換のスケーラブルな変換および構成
JP2017529793A (ja) * 2014-09-24 2017-10-05 オラクル・インターナショナル・コーポレイション コンピュータサブネットワーク内のプロキシサーバ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111893A (en) 1997-07-31 2000-08-29 Cisco Technology, Inc. Universal protocol conversion
US6785730B1 (en) 1999-02-16 2004-08-31 Rebecca S. Taylor Generic communications protocol translator
US7412539B2 (en) * 2002-12-18 2008-08-12 Sonicwall, Inc. Method and apparatus for resource locator identifier rewrite
US7444620B2 (en) * 2003-02-28 2008-10-28 Bea Systems, Inc. Systems and methods for a common runtime container framework
US7633929B1 (en) * 2003-04-09 2009-12-15 Cisco Technology, Inc. Arrangement for providing ISUP transparency across voice over packet networks based on determined exchange type
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US20070198731A1 (en) * 2006-02-21 2007-08-23 Mediatek Inc. System and method for processing multimedia messages
KR100798926B1 (ko) 2006-12-04 2008-01-29 한국전자통신연구원 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법
CN101141419B (zh) 2007-10-19 2010-09-29 广州市聚晖电子科技有限公司 基于异构型网络协议的数字家庭设备间的通讯方法
US8763008B2 (en) * 2008-09-30 2014-06-24 Ebay Inc. System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture
US8918488B2 (en) * 2009-02-04 2014-12-23 Citrix Systems, Inc. Methods and systems for automated management of virtual resources in a cloud computing environment
US20110246978A1 (en) * 2010-04-01 2011-10-06 Research In Motion Limited Application portability and transfer of device management for mobile devices
US8843645B2 (en) * 2010-06-24 2014-09-23 Citrix Systems, Inc. Systems and methods for detecting incomplete requests, TCP timeouts and application timeouts
CN103179027B (zh) 2011-12-22 2016-09-28 中兴通讯股份有限公司 一种实现电器设备兼容的方法和系统、通用外设接入网关
US9571404B2 (en) * 2012-11-09 2017-02-14 Aruba Networks, Inc. Method and system for prioritizing network packets
US10904144B2 (en) * 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10313410B2 (en) * 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9455888B2 (en) * 2014-09-19 2016-09-27 International Business Machines Corporation Application topology based on network traffic
US20160232043A1 (en) * 2015-02-10 2016-08-11 Unisys Corporation Global cache for automation variables
KR101664734B1 (ko) 2015-08-12 2016-10-12 현대자동차주식회사 차량 제어기와 외부 리소스의 연동 시스템 및 방법
US20170072876A1 (en) 2015-09-14 2017-03-16 Broadcom Corporation Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller
US10574794B1 (en) 2019-07-12 2020-02-25 Coupang Corp. Systems and methods for interfacing networks regardless of communication scheme

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187626A (ja) * 1998-10-16 2000-07-04 Mitsubishi Electric Corp アプリケ―ション間デ―タ送受信システム及びアプリケ―ション間デ―タ送受信方式及びアプリケ―ション間デ―タ送受信方法及びプログラムを記録したコンピュ―タ読取可能な記録媒体
JP2001216226A (ja) * 1999-11-26 2001-08-10 Mitsubishi Electric Corp アプリケーション間データ送受信方式及びアプリケーション間データ送受信方法及びアプリケーション間データ送受信方法をコンピュータに動作させるプログラムを記録したコンピュータで読取可能な記録媒体
JP2002175274A (ja) * 2000-12-06 2002-06-21 Sony Corp 情報処理装置及び情報処理方法、ネットワーク・システム、記憶媒体、並びにコンピュータ・プログラム
JP2003099298A (ja) * 2001-09-21 2003-04-04 Nippon Telegr & Teleph Corp <Ntt> データ変換方法およびデータ変換装置
JP2006155081A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd 電子データ交換プログラム、電子データ交換装置および情報処理プログラム
JP2007140611A (ja) * 2005-11-14 2007-06-07 Fuji Electric Systems Co Ltd データ連携方式
JP2009527849A (ja) * 2006-02-24 2009-07-30 マイクロソフト コーポレーション Edi交換のスケーラブルな変換および構成
JP2017529793A (ja) * 2014-09-24 2017-10-05 オラクル・インターナショナル・コーポレイション コンピュータサブネットワーク内のプロキシサーバ

Also Published As

Publication number Publication date
SG11202011755XA (en) 2021-02-25
US11115503B2 (en) 2021-09-07
WO2021009593A1 (en) 2021-01-21
TW202105976A (zh) 2021-02-01
KR20210111211A (ko) 2021-09-10
KR20210007780A (ko) 2021-01-20
KR102297720B1 (ko) 2021-09-03
TWI721921B (zh) 2021-03-11
US20210014336A1 (en) 2021-01-14
TWI757079B (zh) 2022-03-01
KR102430703B1 (ko) 2022-08-09
US10574794B1 (en) 2020-02-25
TW202121878A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
KR102430703B1 (ko) 통신 방식에 상관없이 네트워크를 인터페이싱 하기 위한 시스템 및 방법
KR102378606B1 (ko) 전자적 재고 추적 시스템 및 연관된 사용자 인터페이스
JP7036951B2 (ja) インバウンド製品をスケジュールし、インバウンド製品を収納し、インバウンドエラーを監視するためのシステムおよび方法
KR102380144B1 (ko) 통합된 통신 방식을 사용하여 네트워크들을 인터페이싱하기 위한 시스템들 및 방법들
JP7022835B2 (ja) バッチフレームワークを使用して在庫補充通知を提供するためのシステムおよび方法
KR102382581B1 (ko) 재고 이동의 전자 모니터링을 위한 시스템 및 방법
JP2021530768A (ja) 荷物の再配達を円滑化するためのコンピュータ化されたシステムおよびコンピュータ化された方法
KR102647845B1 (ko) 패키지 배달 촉진을 위한 컴퓨터 시스템 및 방법
KR102392032B1 (ko) 풀필먼트 센터 우선순위 값에 기초한 아웃바운드 예측을 위한 시스템 및 방법
KR102524919B1 (ko) 보장된 배달 시간 선택의 표시 및 결정을 위한 컴퓨터 시스템 및 방법
JP7123183B2 (ja) 統合された通信スキームを使用してネットワークをインターフェースするためのシステムおよび方法
AU2020264387A1 (en) Systems and methods for interfacing networks regardless of communication scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210128

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220125