KR102505811B1 - 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들 - Google Patents

미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들 Download PDF

Info

Publication number
KR102505811B1
KR102505811B1 KR1020210085891A KR20210085891A KR102505811B1 KR 102505811 B1 KR102505811 B1 KR 102505811B1 KR 1020210085891 A KR1020210085891 A KR 1020210085891A KR 20210085891 A KR20210085891 A KR 20210085891A KR 102505811 B1 KR102505811 B1 KR 102505811B1
Authority
KR
South Korea
Prior art keywords
product
data structure
location
delivery
scheduling system
Prior art date
Application number
KR1020210085891A
Other languages
English (en)
Other versions
KR20210087907A (ko
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
Priority claimed from US16/733,442 external-priority patent/US10997550B1/en
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of KR20210087907A publication Critical patent/KR20210087907A/ko
Application granted granted Critical
Publication of KR102505811B1 publication Critical patent/KR102505811B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06314Calendaring for a resource
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0832Special goods or special handling procedures, e.g. handling of hazardous or fragile goods

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

풀필먼트 센터로부터 배송 스케줄링을 위한 컴퓨터-구현된 시스템이다. 시스템은 명령어들을 저장하는 메모리, 및 명령어들을 실행하여 동작들을 수행하도록 구성되는 하나 이상의 프로세서를 포함한다. 동작들은 풀필먼트 센터를 나타내는 제1 데이터 구조를 유지하는 것을 포함할 수 있고, 데이터 구조는 풀필먼트 센터의 부분들을 나타내는 요소들을 갖고, 부분들은 복수의 물리적 위치 및 마감 시간과 연관된다. 동작들은 또한, 물리적 위치들과 제품 식별자들 사이의 매핑을 포함하는 제2 데이터 구조를 유지하는 것, 배송 시간 추정을 제공하라는 요청을 수신하는 것, 요청된 제품과 연관된 적어도 하나의 물리적 위치를 식별하기 위해 제2 데이터 구조를 검색하는 것, 적어도 하나의 물리적 위치 각각과 연관된 마감 시간들을 결정하기 위해 제1 데이터 구조를 검색하는 것, 및 요청에 응답하여, 마감 시간들로부터 선택된 빠른 마감 시간을 반환하는 것을 포함할 수 있다.

Description

미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들{ITEM TRACKING SYSTEMS AND METHODS FOR FINE TUNED DELIVERY SCHEDULING}
본 개시는 일반적으로 배송 스케줄링을 위한 컴퓨터화된 시스템 및 방법에 관한 것이다. 특히, 본 개시의 실시예들은, 풀필먼트 센터 가상화에 기초한 미세 조정 배송 스케줄링을 위한 진보하고 비관습적인 물품 추적 시스템 및 방법에 관한 것이다.
풀필먼트 센터(Fulfillment Center, FC)들은 창고 저장(warehousing), 포장(packing) 및 선적 주문(shipping order)들을 전문적으로 취급하는 창고들이다. 여러 유형의 FC들이 있다. 예를 들어, 풀필먼트 센터는 소매업자나 유통업자에 대해 대규모 상업적 주문들을 이행하는 대규모 창고일 수 있다. 그러나 또한, FC는 소비자에게 직접 전달되는(direct-to-consumers, DTC) 소화물의 선적에 엄격히 집중하는 센터들을 아우를 수도 있다. 부가적으로, 일부의 FC들은 작거나 큰 제품, (스포츠 상품과 같이) 특정 유형의 제품, 또는 소정 수의 스톡 키핑 유닛(SKU: stock keeping unit)과 같은, 틈새(niche)에 집중한다. 또한, FC들은 벤더들 및/또는 제조자들과 직접 계약함으로써 반품들 및 교환품들을 취급할 수 있으며 재고(inventory)를 관리할 수도 있다. 이러한 상황들에서, FC들은 (주문을 이행하기 위해 잘못된 제품이 선택되는) "미스픽(mispick)" 및 (소비자에게 잘못된 물품을 보내는 "미스쉽(misship)"과 같이 재고 문제들에 대해 책임을 지게 될 수 있다. 많은 경우, FC들이 실수의 비용을 흡수해야만 한다.
최근, FC들, 및 FC 운영들이 현저히 보다 복잡해져 왔다. 현재의 FC들 중 일부는 매우 크며, 많은 제품(선적을 위한 특정한 조건들 및 레이블링을 갖는 각각의 제품)을 취급하며, 소비자들에게 보다 많은 옵션을 제공하기 위해 다수의 배송 옵션을 제공해야만 한다. 또한, 일부 FC들은 짧은 기간에 매우 많은 개수의 주문들을 이행할 것이 요구되며 매우 신속한 약속된 배송 날짜들을 만족시켜야 해서, 법적 책임을 최소화하기 위해 FC들이 배송들을 엄격하게 조화시킬 것을 요구하고 있다. 따라서, FC들은 그들의 배송 시간을 개선하고, 실수를 최소화하며, 비용을 줄이도록 압력을 받고 있다.
서비스의 보다 고도의 개인화를 요구하는 신규 고객의 기대에 의해 FC 운영의 복잡성의 증가가 심화되어, 매우 저비용으로 매우 신속한 턴어라운드(turnaround)들을 달성하도록 FC들에게 무거운 부담을 지우고 있다. 예를 들어, 고객들은 이제 (수 시간 내의 배송들이라 할지라도) 매우 신속한 배송들을 기대하며 무료이거나 매우 적은 선적 및 취급 비용을 지불하기를 기대한다. 이들 고객 요구들을 충족시키기 위해, FC들은 최소 비용으로 촉진된 선적을 허용하는 효율적인 워크플로우를 개발하려 시도하고 있다. 그러나, 일반적으로 복잡한 FC의 워크플로우들은 관리하기 복잡하거나 실행하기 곤란하다. 나아가, 일부 FC들에 있어서는, 표준 절차로부터의 변경을 요구할 수 있기 때문에, 독립적인 워크플로우들을 창출하기 곤란하다. 예를 들어, 어떤 FC들은 저렴하게 실행될 수 있는 표준 절차들을 이용하여 선적 프라이스를 낮게 유지하려 시도할 수 있다. 그러나, 이러한 표준 절차들은 개인화되고 신속한 선적이라는 고객 요구들을 충족시킬 수 없으며, 효율과 고객 만족 사이의 긴장 상태를 만들어 낸다.
개시하는 미세 조정된 배송 스케줄링을 위한 컴퓨터화된 물품 추적 시스템 및 방법은 위에 제시된 과제들 중 하나 이상 및/또는 종래 기술에서의 다른 과제들을 해결한다.
본 개시의 일 측면은, 풀필먼트 센터로부터 배송 스케줄링을 위한 컴퓨터-구현된 시스템에 관한 것이다. 시스템은 명령어들을 저장하는 메모리, 및 명령어들을 실행하여 동작들을 수행하도록 구성되는 적어도 하나의 프로세서를 포함한다. 동작들은 풀필먼트 센터를 나타내는 제1 데이터 구조를 유지하는 것을 포함할 수 있고, 데이터 구조는 풀필먼트 센터의 부분들을 나타내는 요소들을 저장하고, 부분들 각각은 각 부분에서의 복수의 물리적 위치 및 물리적 위치들에서의 제품들의, 제1 기간 전의, 배송을 위한 마감 시간과 연관된다. 동작들은 또한, 물리적 위치들과 제품 식별자들 사이의 매핑을 포함하는 제2 데이터 구조를 유지하는 것, 요청된 제품과 연관된 배송 시간 추정을 제공하라는 요청을 수신하는 것, 요청된 제품과 연관된 적어도 하나의 물리적 위치를 식별하기 위해 제2 데이터 구조를 검색하는 것을 포함할 수 있다. 또한 동작들은, 적어도 하나의 물리적 위치 각각과 연관된 마감 시간들을 결정하기 위해 제1 데이터 구조를 검색하는 것, 및 요청에 응답하여, 선택된 마감 시간을 반환하는 것을 포함할 수 있다.
본 개시의 다른 측면은, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법에 관한 것이다. 방법은, 풀필먼트 센터를 나타내는 제1 데이터 구조를 유지하는 것을 포함하고, 데이터 구조는 풀필먼트 센터의 부분들을 나타내는 요소들을 포함하고, 부분들 각각은, 각각의 부분에서의 복수의 물리적 위치들, 및 물리적 위치들에서의 제품의, 제1 기간 전의, 배송을 위한 마감 시간과 연관된다. 또한 방법은, 물리적 위치들과 제품 식별자들 사이의 매핑을 포함하는 제2 데이터 구조를 유지하는 것, 요청된 제품과 연관된 배송 시간 추정을 제공하라는 요청을 수신하는 것, 요청된 제품과 연관된 적어도 하나의 물리적 위치를 식별하기 위해 제2 데이터 구조를 검색하는 것을 포함할 수 있다. 방법은 또한, 적어도 하나의 물리적 위치 각각과 연관된 마감 시간을 결정하기 위해 상기 제1 데이터 구조를 검색하는 것, 및 요청에 응답하여, 선택된 마감 시간을 반환하는 것을 포함할 수 있다.
본 개시의 또 다른 측면은, 프로세서에 의해 실행될 때, 풀필먼트 센터로부터의 배송 스케줄링을 위한 동작들을 수행하는 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 매체에 관한 것이다. 동작들은, 풀필먼트 센터를 나타내는 제1 데이터 구조를 유지하는 것을 포함할 수 있으며, 데이터 구조는 풀필먼트 센터의 부분들을 나타내는 요소들을 포함하고, 부분들 각각은, 각각의 부분에서의 복수의 물리적 위치들, 및 물리적 위치들에서의 제품들의, 제1 기간 전의, 배송을 위한 마감 시간과 연관된다. 동작들은 또한, 물리적 위치들과 제품 식별자들 사이의 매핑을 포함하는 제2 데이터 구조를 유지하는 것, 요청된 제품과 연관된 배송 시간 추정을 제공하라는 요청을 수신하는 것, 요청된 제품과 연관된 적어도 하나의 물리적 위치를 식별하도록 고객 디바이스(customer device)에 기초하여 제2 데이터 구조에서 물리적 위치들을 필터링하는 것, 및 필터링된 물리적 위치들과 연관된 풀필먼트 센터들로부터 이용 가능한 재고를 요청하는 것을 포함할 수 있다. 또한 동작들은, 고객 디바이스와 연관된 위치와 상기 풀필먼트 센터들 사이의 거리에 기초하여 풀필먼트 센터들로부터 하나의 풀필먼트 센터를 선택하는 것, 복수의 마감 시간들을 결정하도록 복수의 물리적 위치들 각각에 대해 제1 데이터 구조를 검색하는 것, 현재 시간과 각각의 마감 시간들 사이의 비교에 기초하여 물리적 위치들 중 하나를 선택하는 것, 및 (요청에 응답하여) 선택된 마감 시간을 반환하는 것을 포함할 수 있다.
다른 시스템, 방법 및 컴퓨터 판독 가능 매체가 또한 본 명세서에서 논의된다.
도 1a는, 개시된 실시예들에 일치하는, 운송, 수송 및 물류 작업(logistics operations)을 가능하게 하는 통신을 위한 컴퓨터화된 시스템(computerized systems)을 포함하는 네트워크의 예시적인 실시예를 도시하는 개략적인 블록도이다.
도 1b는, 개시된 실시예들에 일치하는, 대화형 사용자 인터페이스 요소들(interactive user interface elements)과 함께, 검색 요청을 만족시키는 하나 이상의 검색 결과를 포함하는 샘플 검색 결과 페이지(Search Result Page)(SRP)를 도시한다.
도 1c는, 개시된 실시예들에 일치하는, 대화형 사용자 인터페이스 요소들과 함께, 제품 및 제품에 관한 정보를 포함하는 샘플 단일 디스플레이 페이지(Single Display Page)(SDP)를 도시한다.
도 1d는, 개시된 실시예들에 일치하는, 대화형 사용자 인터페이스 요소들과 함께, 물품들을 가상의 쇼핑 카트(virtual shopping cart)에 포함하는 샘플 카트 페이지(Cart page)를 도시한다.
도 1e는, 개시된 실시예들에 일치하는, 대화형 사용자 인터페이스 요소들과 함께, 구매 및 운송에 관한 정보와 함께 가상의 쇼핑 카트로부터의 물품들을 포함하는 샘플 주문 페이지(Order page)를 도시한다.
도 2는, 개시된 실시예들에 일치하는, 개시된 컴퓨터화된 시스템을 활용하도록 구성되는 예시적인 풀필먼트 센터의 개략도(diagrammatic illustration)이다.
도 3은, 개시된 실시예들에 일치하는, 예시적인 시스템의 개략적인 블록도이다.
도 4는, 개시된 실시예들에 일치하는, 예시적인 클라이언트(client) 디바이스의 블록도이다.
도 5는, 개시된 실시예들에 일치하는, 예시적인 데이터베이스의 블록도이다.
도 6은, 개시된 실시예들에 일치하는, 온라인 모듈들로의 예시적인 배송 추정 배포의 프로세스 흐름도(process flow diagram)이다.
도 7은, 개시된 실시예들에 일치하는, 제품 배송 추정을 위한 요청(request for product delivery estimate)을 처리하기 위한 예시적인 프로세스의 흐름도이다.
도 8은, 개시된 실시예들에 일치하는, 제3 자에 의해 이행되는(fulfilled) 제품들에 대한 추정 요청을 처리하기 위한 예시적인 프로세스의 흐름도이다.
도 9는, 개시된 실시예들에 일치하는, 소매 웹사이트 수정 프로세스의 흐름도이다.
도 10은, 개시된 실시예들에 일치하는, 예시적인 제품 위치 식별 프로세스의 프로세스 흐름도이다.
도 11은, 개시된 실시예들에 일치하는, 배치 안내 생성 프로세스의 흐름도이다.
도 12는, 개시된 실시예들에 일치하는, 거리 스코어 계산 프로세스의 흐름도이다.
도 13은, 개시된 실시예들에 일치하는, 예시적인 마감 시간 결정 프로세스의 흐름도이다.
도 14는, 개시된 실시예들에 일치하는, 특정한 마감 시간들을 갖는 가상의 구역에 있어 분할된 예시적인 FC의 그래픽 묘사이다.
도 15는, 개시된 실시예들에 일치하는, 모바일 디바이스에서의 일련의 단일 디스플레이 페이지의 예시적인 그래픽 사용자 인터페이스들의 정면도이다.
도 16은 배송 날짜 추정 및/또는 이용 가능한 배송 옵션들을 갖는 웹페이지를 생성하거나 수정하도록 구성 가능한 스크립트의 예시적인 소스 코드이다.
다음의 상세한 설명은 첨부 도면들을 참조한다. 어디서든 가능하다면, 도면들과 다음의 설명에서 동일한 참조 번호가 동일하거나 유사한 부분들을 지칭하기 위해 사용된다. 수개의 예시적 실시예들이 본 명세서에 설명되어 있지만, 수정, 개조 및 다른 구현예가 가능하다. 예를 들어, 도면들에 도시된 구성 요소들 및 단계들에 대한 대체, 추가 또는 수정이 이루어질 수 있고, 본 명세서에 설명된 예시적인 방법은 개시된 방법에서 단계들을 대체하거나, 재정렬하거나, 제거하거나 추가함으로써 수정될 수 있다. 따라서, 다음의 상세한 설명은 개시된 실시예들 및 예시들에 제한되지 않는다. 대신에, 본 발명의 적절한 범주는 첨부된 청구항들에 의해 정의된다.
본 개시의 실시예들은 풀필먼트 센터(FC)를 위한 배송 스케줄링을 위한 시스템 및 방법에 관한 것이다. 개시된 시스템 및 방법은 풀필먼트 센터에서 물품들 또는 제품들의 위치를 결정하는 것을 허용하는 물품의 추적 시스템을 채용할 수 있다. FC 컴퓨터 시스템은, FC 내에서의 위치에 기초하여, 각각의 제품 또는 물품에 대한 특정 배송 날짜들 또는 마감 시간들을 결정할 수 있다. 따라서, 개시된 시스템 및 방법은 FC 선적 워크플로우의 효율을 향상시키며 각각의 제품에 대한 배송 날짜들, 시간들 및 옵션들을 특정함으로써 배송 시간들 또는 옵션들의 보다 큰 개인화를 가능하게 한다. 예를 들어, 어느 한 FC에 있어서의 각각의 물품 또는 제품은 당해 제품의 위치에 기초하여 특정한 마감 시간을 가질 수 있다. 마감 시간은 약속된 배송 날짜(promised delivery date, PDD)를 만족시키기 위해 주문이 처리되어야 하는 가장 늦은 시간을 나타낼 수 있다. 따라서, 개시된 시스템 및 방법은 FC 내에서의 물품 위치들, 및/또는 FC의 포장 및 선적 센터까지의 제품 거리에 기초하여 제품 또는 위치 특정의 마감 시간들을 결정하는 것을 허용할 수 있다.
또한, 개시된 시스템 및 방법은 FC 내에서의 제품 포지션 또는 위치의 자동화된 추적을 가능하게 할 수 있다. 예를 들어, 개시된 시스템 및 방법은 FC 내에서의 제품들의 위치를 추적하기 위해 유선 또는 무선 센서들을 사용할 수 있다. 이러한 실시예들에서, 개시된 시스템은, 당해 개시된 시스템이 FC 내에서의 제품들 또는 물품들의 위치를 결정하는 것을 허용하는 센서들 및/또는 추적 스테이션들의 네트워크를 포함할 수 있다. 이러한 시스템 및 방법은, 물품 위치들에 기초하여 맞춤 배송 스케줄(tailored delivery schedule)들을 생성하도록 FC에서 물품들의 포지셔닝을 저장하는 데이터 구조들의 생성을 가능하게 할 수 있다. FC 내의 물품들의 이러한 대 세분화(granularization)는, 개시된 시스템 및 방법이, 시스템이 미세 조정된 배송 스케줄들을 제공하도록 허용하는 개인화된 선적 플로우를 생성할 수 있게 한다.
게다가, 배송 스케줄링을 위한 개시된 시스템 및 방법은, 이용 가능한 배송 옵션들을 지정하는 고도로 개인화된 웹사이트들을 생성하는 것을 가능하게 할 수 있다. 예를 들어, 개시된 시스템 및 방법은 각각의 제품에 대해 그리고 각각의 클라이언트 디바이스에 대해 이용 가능한 배송 옵션들을 지정하는 개인화된 웹사이트들을 생성할 수 있다. 이러한 실시예들에서, 개시된 시스템 및 방법은 웹페이지들을 생성하거나 업데이트 하도록 HTML 또는 자바스크립트(JavaScript) 파일을 구성(configure)할 수 있다. 또한, 개시된 시스템 및 방법은, 배송을 위한 패키지와 배송 주소의 양쪽을 준비하기 위한 특정 날짜를 수집하고 분석함으로써 배송 날짜 추정 계산의 정확도를 향상시킬 수 있다.
또한, 개시된 시스템 및 방법은 FC에 있어서의 컴퓨터 동작 개선에 관한 것일 수 있다. 특히, 개시된 시스템 및 방법은, 개인화된 웹사이트들을 생성하도록 FC 시스템으로부터의 정보, 배송 주소들로부터의 정보, 및 사용자 선호도들로부터의 정보를 사용하는, 동적으로 생성되는 다중-소스 하이브리드 웹페이지들을 가져올 수 있다. 예를 들어, 개시된 시스템은 소매업자로부터의 정보(예컨대, 제품들의 입수가능성 및 위치)와, FC로부터의 정보(예컨대, FC에서 특정 물품들의 위치 및 선적을 위한 추정 시간)와, 선적 대리인으로부터의 정보(예컨대, 선적 루트 및 스케줄들), 및 소비자로부터의 정보(예컨대, 선적 선호도들 및 우편번호)를 조합하는 동적 하이브리드 웹페이지들을 생성할 수 있다. 이러한 정보의 다중-소스형 배열은 제품들, 맞춤 배송 옵션들, 특정 배송 날짜 추정들, 약속된 배송 날짜들 및 구매 옵션들을 보여주는 다중-소스형 웹페이지들을 생성하도록 사용될 수 있다.
또한, 개시된 시스템 및 방법은 FC 내에서의 제품 포지션 또는 위치를 추적하는 실시간 탐색 시스템을 사용한 배송 스케줄링에 사용되는 프로세스들을 자동화할 수 있다. 이 FC 내에서의 자동화된 제품 추적의 시스템은 배송 스케줄들을 동적으로 조정하는 것 및 이용 가능한 배송 옵션들의 제공을 허용할 수 있다. 예를 들어, 개시된 시스템 및 방법은, 배송 스케줄들을 미세 조정하고 배송 옵션들의 보다 큰 이용 가능성을 제공하거나 보다 빠른 턴어라운드들을 가질 수 있도록 실내 실시간 포지셔닝 시스템을 사용할 수 있다. 개시된 시스템 및 방법은, 실시간 탐색 시스템을 자동화하고 유지하기 위해 NFC, BLE 또는 바코드 스캐닝과 같은 기술을 이용하면, FC 시스템이 개인화된 웹사이트들을 생성하고 선적 및 포장 워크플로우를 개선하도록 허용할 수 있다.
개시된 실시예들이 이제 상세히 참조될 것이고, 이들의 예시는 첨부 도면들에 도시되어 있다.
도 1a는 운송, 수송 및 물류 작업을 가능하게 하는 통신을 위한 컴퓨터화된 시스템을 포함하는 시스템의 예시적인 실시예를 도시한 시스템(100)의 개략적인 블록도를 도시한다. 도 1a에 도시된 바와 같이, 시스템(100)은 다양한 시스템을 포함할 수 있고, 이들 시스템 각각은 하나 이상의 네트워크를 통해 서로 연결될 수 있다. 시스템은 또한, 예를 들어, 케이블을 사용하여 직접 연결을 통해 서로 연결될 수 있다. 도시된 시스템은, 선적 권한 기술(shipment authority technology)(SAT) 시스템(101), 외부-프론트 엔드 시스템(external front end system)(103), 내부 프론트-엔드 시스템(internal front end system)(105), 수송 시스템(transportation system)(107), 모바일 디바이스(107A, 107B 및 107C), 판매자 포털(109), 선적 및 주문 추적(shipment and order tracking)(SOT) 시스템(111), 풀필먼트 최적화(fulfillment optimization)(FO) 시스템(113), 풀필먼트 메시징 게이트웨이(fulfillment messaging gateway)(FMG)(115), 공급 체인 관리(supply chain management)(SCM) 시스템(117), 인력 관리 시스템(workforce management system)(119), 모바일 디바이스(119A, 119B 및 119C)(풀필먼트 센터(FC)(200)의 내부에 있는 것으로 도시됨), 제3 자의 풀필먼트 시스템(121A, 121B 및 121C), 풀필먼트 센터 인증 시스템(fulfillment center authorization system)(FC Auth)(123) 및 노동 관리 시스템(labor management system)(LMS)(125)을 포함한다.
일부 실시예에서, SAT 시스템(101)은 주문 상태(order status) 및 배송 상태(delivery status)를 모니터링하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, SAT 시스템(101)은 주문이 그 약속된 배송 날짜(Promised Delivery Date)(PDD)를 경과한 것인지를 결정할 수 있고, 새로운 주문을 개시하는 것, 미배송의 주문의 물품들을 재운송하는 것, 미배송의 주문을 취소하는 것, 주문한 고객과의 연락(contact)을 개시하는 것 등을 포함하여, 적절한 액션을 취할 수 있다. SAT 시스템(101)은 또한, (특정 기간 동안 운송된 다수의 패키지와 같은) 출력 및 (운송에 사용하기 위해 수신된 빈 판지 박스(empty cardboard boxes)의 수와 같은) 입력을 포함하는, 기타 데이터를 모니터링할 수 있다. SAT 시스템(101)은 또한, 시스템(100)에서 상이한 디바이스들 간에 게이트웨이로서 동작하여, (예를 들어, 저장-및-포워딩(store-and-forward) 또는 다른 기술들을 사용하여) 외부 프론트-엔드 시스템(103) 및 FO 시스템(113)과 같은 디바이스들 사이의 통신을 가능하게 한다.
또한, 일부 실시예에서 SAT 시스템(101)은 FC에 입고된 제품들을 추적 및/또는 저장하는 물품 포지셔닝 시스템과 통신하여 제어할 수 있다. 예를 들어, SAT 시스템(101)은, 도 14와 관련하여 더 설명하는 바와 같이, FC의 다수의 가상의 위치들에서의 제품들의 위치를 추적하는 시스템을 제어할 수 있다.
일부 실시예에서, 외부 프론트-엔드 시스템(103)은 외부 사용자들이 시스템(100) 내의 하나 이상의 시스템과 상호 작용할 수 있게 하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, 시스템(100)이 시스템에 대한 프리젠테이션을 가능하게 하여 사용자들이 물품을 주문할 수 있게 하는 실시예들에서, 외부 프론트-엔드 시스템(103)은 검색 요청을 수신하고, 물품 페이지들을 제시하고, 결제 정보를 요구(solicit)하는 웹 서버로서 구현될 수 있다. 예를 들어, 외부 프론트-엔드 시스템(103)은 Apache HTTP 서버, 마이크로소프트 인터넷 정보 서비스(Microsoft Internet Information Services)(IIS), NGINX 등과 같은 소프트웨어를 실행하는 컴퓨터 또는 컴퓨터들로서 구현될 수 있다. 다른 실시예들에서, 외부 프론트-엔드 시스템(103)은 외부 디바이스들(예를 들어, 모바일 디바이스(102A) 또는 컴퓨터(102B))로부터 요청을 수신하고 처리하도록 설계된 고객 웹 서버 소프트웨어를 실행하고, 이들 요청에 기초하여 데이터베이스들 및 기타 데이터 저장소들로부터 정보를 획득하고, 획득된 정보에 기초하여 수신된 요청에 대한 응답들을 제공할 수 있다.
일부 실시예에서, 외부 프론트-엔드 시스템(103)은 웹 캐싱 시스템(web caching system), 데이터베이스, 검색 시스템 또는 지불 시스템 중 하나 이상을 포함할 수 있다. 일 양상에서, 외부 프론트-엔드 시스템(103)은 이들 시스템 중 하나 이상을 포함할 수 있고, 반면에 다른 양상에서, 외부 프론트-엔드 시스템(103)은 이들 시스템 중 하나 이상에 연결된 인터페이스들(예를 들어, 서버-대-서버, 데이터베이스-대-데이터베이스, 또는 다른 네트워크 연결들)을 포함할 수 있다.
도 1b, 도 1c, 도 1d 및 도 1e에 의해 도시된 단계들의 예시적인 세트는 외부 프론트-엔드 시스템(103)의 일부 동작을 설명하는 데에 도움이 될 것이다. 외부 프론트-엔드 시스템(103)은 프리젠테이션 및/또는 디스플레이를 위해 시스템(100) 내의 시스템 또는 디바이스들로부터 정보를 수신할 수 있다. 예를 들어, 외부 프론트-엔드 시스템(103)은 검색 결과 페이지(SRP)(예를 들어, 도 1b), 단일 상세 페이지(Single Detail Page)(SDP)(예를 들어, 도 1c), 카트 페이지(예를 들어, 도 1d) 또는 주문 페이지(예를 들어, 도 1e)를 포함하여, 하나 이상의 웹 페이지를 호스팅하거나 제공할 수 있다. 사용자 디바이스(예를 들어, 모바일 디바이스(102A) 또는 컴퓨터(102B)를 사용함)는, 외부 프론트-엔드 시스템(103)을 탐색하고, 검색 박스에 정보를 입력함으로써 검색을 요청할 수 있다. 외부 프론트-엔드 시스템(103)은 시스템(100) 내의 하나 이상의 시스템으로부터 정보를 요청할 수 있다. 예를 들어, 외부 프론트-엔드 시스템(103)은 검색 요청을 만족시키는 FO 시스템(113)으로부터 정보를 요청할 수 있다. 외부 프론트-엔드 시스템(103)은 또한, 검색 결과에 포함된 각 제품에 대한 약속된 배송 날짜 즉 "PDD"를 (FO 시스템(113)으로부터) 요청하고 수신할 수 있다. 일부 실시예에서, PDD는, 특정 기간 내에, 예를 들어, 하루가 끝날 때까지(오후 11시 59분), 주문된 경우, 제품을 포함하는 패키지가 사용자의 원하는 위치에 도착할 때, 또는 제품이 사용자의 원하는 위치에 배송될 것으로 약속된 날짜에 대한 추정(estimate)을 나타낼 수 있다. (PDD는 FO 시스템(113)과 관련하여 아래에 더 논의된다.)
일부 실시예에서 FO 시스템(113)들은 FC들의 제품 포지션 시스템과 통신할 수 있다. 이러한 실시예에서, FO 시스템(113)들은 제품, 잠정적인 배송 날짜, 이용 가능한 배송 옵션들, 및 배송 옵션들 각 하나에 대한 마감 시간들의 정확한 정보를 가질 수 있다.
외부 프론트-엔드 시스템(103)은 정보에 기초하여 SRP(예를 들어, 도 1b)를 준비할 수 있다. SRP는 검색 요청을 만족시키는 정보를 포함할 수 있다. 예를 들어, 이는 검색 요청을 만족시키는 제품들의 사진(pictures of products)을 포함할 수 있다. SRP는 또한, 각 제품의 각각의 가격, 또는 각 제품에 대한 향상된 배송 옵션, PDD, 무게, 크기, 제안(offers), 할인 등에 관한 정보를 포함할 수 있다. 외부 프론트-엔드 시스템(103)은 (예를 들어, 네트워크를 통해) 요청측 사용자 디바이스(requesting user device)에 SRP를 전송할 수 있다.
그 후, 사용자 디바이스는, 예를 들어, 사용자 인터페이스를 클릭(clicking) 또는 탭(tapping)하거나, 다른 입력 디바이스를 사용함으로써, SRP 상에 나타내어진 제품을 선택하여, SRP로부터 제품을 선택할 수 있다. 사용자 디바이스는 선택된 제품에 관한 정보에 대한 요청을 정식화하여(formulate) 그것을 외부 프론트-엔드 시스템(103)에 전송할 수 있다. 이에 응답하여, 외부 프론트-엔드 시스템(103)은 선택된 제품과 관련된 정보를 요청할 수 있다. 예를 들어, 정보는 각각의 SRP 상에 제품에 대해 제시된 것 이외의 추가 정보를 포함할 수 있다. 또한, 정보는 FC 내에서의 제품의 위치와, 선적 및 배송을 위한 추정 요구 시간을 포함할 수 있다. 이는, 예를 들어, 선반(shelf) 또는 팔레트 포지션, 유통 기한(shelf life), 원산지(country of origin), 무게, 크기, 포장된 물품의 수(number of items in package), 취급 지시(handling instructions), 또는 제품에 관한 기타 정보를 포함할 수 있다. 이 정보는 (예를 들어, 이 제품 및 적어도 하나의 다른 제품을 구매한 고객들에 대한 빅 데이터 및/또는 기계 학습 분석에 기초하여) 유사한 제품들에 대한 추천사항(recommendations), 자주 묻는 질문에 대한 답변, 고객으로부터의 리뷰, 제조자 정보, 사진 등을 포함할 수 있다.
외부 프론트-엔드 시스템(103)은, 수신된 제품 정보에 기초하여, SDP(Single Detail Page)(예를 들어, 도 1c)를 준비할 수 있다. SDP는 또한, "바로 구매(Buy Now)" 버튼, "카트에 추가(Add to Cart)" 버튼, 수량 필드, 물품의 사진 등과 같은 기타 대화형 요소들을 포함할 수 있다. SDP는 제품을 제안하는 판매자들의 목록을 더 포함할 수 있다. 목록은 각 판매자가 제안하는 가격에 기초하여 순서화될(ordered) 수 있어, 최저 가격으로 제품을 판매하겠다고 제안한 판매자가 맨 위(the top)에 나열될 수 있다. 목록은 또한, 최고 랭킹의 판매자(highest ranked seller)가 맨 위에 나열될 수 있도록 판매자 랭킹에 기초하여 순서화될 수 있다. 판매자 랭킹은, 예를 들어, 약속된 PDD를 충족한 판매자의 과거 추적 기록을 포함하여, 다수의 인자(factor)에 기초하여 공식화될 수 있다. 외부 프론트-엔드 시스템(103)은 (예를 들어, 네트워크를 통해) 요청측 사용자 디바이스(requesting user device)에 SRP를 전달할 수 있다.
요청측 사용자 디바이스는 제품 정보를 나열한 SDP를 수신할 수 있다. SDP를 수신하면, 사용자 디바이스는 SDP와 상호 작용할 수 있다. 예를 들어, 요청측 사용자 디바이스의 사용자는 SDP 상의 "카트에 담기(Place in Cart)" 버튼을 클릭하거나 다른 방식으로 상호 작용할 수 있다. 이로써 그 제품이 사용자와 연관된 쇼핑 카트(shopping cart)에 추가된다. 사용자 디바이스는 제품을 쇼핑 카트에 추가하라는 이 요청을 외부 프론트-엔드 시스템(103)에 송신할 수 있다.
외부 프론트-엔드 시스템(103)은 카트 페이지(예를 들어, 도 1d)를 생성할 수 있다. 일부 실시예에서, 카트 페이지는, 사용자가 가상의 "쇼핑 카트"에 추가한 제품들을 나열한다. 사용자 디바이스는 SRP, SDP 또는 기타 페이지들 상의 아이콘을 클릭하거나 다른 방식으로 상호 작용함으로써 카트 페이지를 요청할 수 있다. 일부 실시예에서, 카트 페이지는, 사용자가 쇼핑 카트에 추가한 모든 제품을 나열할 뿐만 아니라, 각 제품의 수량, 각 제품의 물품당 가격, 각 제품의 관련 수량에 기초한 가격, PDD에 관한 정보, 배송 방법, 운송비(shipping cost), 쇼핑 카트 내의 제품들을 수정하기 위한 사용자 인터페이스 요소들(예를 들어, 수량 삭제 또는 수정), 다른 제품을 주문하거나 제품들의 정기 배송(periodic delivery)을 설정하기 위한 옵션들, 이자 결제(interest payment)를 설정하기 위한 옵션들, 구매를 진행하기 위한 사용자 인터페이스 요소들 등과 같이 카트에 있는 제품들에 관한 정보를 나열할 수 있다. 사용자 디바이스에서 사용자는, 쇼핑 카트에서 제품의 구매를 개시하기 위해 사용자 인터페이스 요소(예를 들어, "바로 구매"를 판독하는 버튼)를 클릭하거나 다른 방식으로 상호 작용할 수 있다. 그렇게 하면, 사용자 디바이스는 구매를 개시하라는 이 요청을 외부 프론트-엔드 시스템(103)에 송신할 수 있다.
외부 프론트-엔드 시스템(103)은 구매를 개시하라는 요청을 수신한 것에 응답하여 주문 페이지(예를 들어, 도 1e)를 생성할 수 있다. 일부 실시예에서, 주문 페이지는, 쇼핑 카트로부터 물품들을 재나열하고(re-list), 결제 및 운송 정보의 입력을 요청한다. 예를 들어, 주문 페이지는, 쇼핑 카트에 있는 물품들의 구매자에 관한 정보를 요청하는 섹션(예를 들어, 이름, 주소, 이메일 주소, 전화 번호), 받는 사람에 관한 정보(예를 들어, 이름, 주소, 전화 번호, 배송 정보), 운송 정보(예를 들어, 배송 속도/방법 및/또는 픽업(pickup), 결제 정보(예를 들어, 신용 카드, 은행 송금, 수표, 저장된 신용카드(stored credit)), 현금 영수증을 요청하기 위한 사용자 인터페이스 요소(예를 들어, 세금 목적으로) 등을 포함할 수 있다. 외부 프론트-엔드 시스템(103)은 주문 페이지를 사용자 디바이스에 전송할 수 있다.
사용자 디바이스는, 주문 페이지 상에 정보를 입력하고, 정보를 외부 프론트-엔드 시스템(103)에 전송하는 사용자 인터페이스 요소를 클릭하거나 다른 방식으로 상호 작용할 수 있다. 거기서부터, 외부 프론트-엔드 시스템(103)은 정보를 시스템(100) 내의 상이한 시스템에 전송하여 쇼핑 카트에 있는 제품들을 갖는 새로운 주문의 생성 및 처리를 가능하게 할 수 있다.
일부 실시예에서, 외부 프론트-엔드 시스템(103)은, 판매자들이 주문들에 관한 정보를 송신하고 수신할 수 있도록 더 구성될 수 있다. 예를 들어, 외부 프론트-엔드 시스템(103)은, 판매자들이 특정 제품들에 대한 추정된 포장 시간 및/또는 이용 가능한 배송 옵션들을 송신하는 것을 허용할 수 있다.
일부 실시예에서, 내부 프론트-엔드 시스템(105)은 내부 사용자들(예를 들어, 시스템(100)을 소유, 운영 또는 임대하는 조직의 직원들)이 시스템(100) 내의 하나 이상의 시스템과 상호 작용할 수 있게 하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, SAT 네트워크(101)가 사용자들이 물품을 주문할 수 있게 하는 시스템의 프리젠테이션을 가능하게 하는 실시예들에서, 내부 프론트-엔드 시스템(105)은 내부 사용자들이 주문들에 대한 진단 및 통계 정보를 보거나(view), 물품 정보를 수정하거나, 주문들에 관한 통계를 검토(review)할 수 있게 하는 웹 서버로서 구현될 수 있다. 예를 들어, 내부 프론트-엔드 시스템(105)은 Apache HTTP 서버, 마이크로소프트 인터넷 정보 서비스(IIS), NGINX 등과 같은 소프트웨어를 실행하는 컴퓨터 또는 컴퓨터들로서 구현될 수 있다. 다른 실시예들에서, 내부 프론트-엔드 시스템(105)은 시스템(100)에 도시된 시스템 또는 디바이스들(도시되지 않은 다른 디바이스들뿐만 아니라)로부터 요청을 수신하고 처리하도록 설계된 고객 웹 서버 소프트웨어를 실행할 수 있고, 이들 요청에 기초하여 데이터베이스들 및 기타 데이터 저장소들로부터 정보를 획득하고, 획득된 정보에 기초하여 수신된 요청에 대한 응답들을 제공할 수 있다.
일부 실시예에서, 내부 프론트-엔드 시스템(105)은 웹 캐싱 시스템, 데이터베이스, 검색 시스템, 결제 시스템, 분석 시스템, 주문 모니터링 시스템 등 중 하나 이상을 포함할 수 있다. 일 양상에서, 외부 프론트-엔드 시스템(103)은 이들 시스템 중 하나 이상을 포함할 수 있고, 반면에 다른 양상에서, 외부 프론트-엔드 시스템(103)은 이들 시스템 중 하나 이상에 연결된 인터페이스들(예를 들어, 서버-대-서버, 데이터베이스-대-데이터베이스, 또는 다른 네트워크 연결들)을 포함할 수 있다. 일부 실시예에서, 내부 프론트-엔드 시스템(105)은 특정 위치들에 물품들을 두도록 FC에 대한 작업자들에게 지시하도록 구성될 수 있다. 예를 들어, 일부 실시예에서, SAT 시스템(101)은, 특별한 배송 옵션으로 요청될 가능성이 보다 큰 제품들을 식별하도록 예측 알고리즘을 수행하도록 구성될 수 있다. 예를 들어, SAT 시스템(101)은 새벽 배송 또는 제1 시간 배송이 요청될 가능성이 가장 큰 제품들을 식별하도록 구성될 수 있다. 이러한 실시예에서, 내부 프론트-엔드 시스템(105)은, 배송 시간들을 향상시키며 새벽, 프레시 또는 제1 시간 배송에 대해 이용 가능한 제품들의 수를 최대화하려는 목적으로, SAT 시스템(101)과 통신하고 FC 내에서의 제품 배치를 가이드하는, 작업자를 위한 유저 인터페이스들 및/또는 웹사이트들을 만들어 낼 수 있다.
일부 실시예에서, 수송 시스템(107)은 시스템(100) 내의 시스템 또는 디바이스들과 모바일 디바이스(107A 내지 107C) 사이의 통신을 가능하게 하는 컴퓨터 시스템으로서 구현될 수 있다. 일부 실시예에서, 수송 시스템(107)은 하나 이상의 모바일 디바이스(107A 내지 107C)(예를 들어, 모바일 폰, 스마트 폰, PDA 등)로부터 정보를 수신할 수 있다. 예를 들어, 일부 실시예에서, 모바일 디바이스(107A 내지 107C)는 배송 작업자(delivery worker)들에 의해 운영되는 디바이스들을 포함할 수 있다. 정규직(permanent) 직원, 임시(temporary) 직원 또는 교대(shift) 직원일 수 있는 배송 작업자들은 모바일 디바이스(107A 내지 107C)를 활용하여 사용자들에 의해 주문된 제품들을 포함하는 패키지들의 배송을 행할 수 있다. 예를 들어, 패키지를 배송하기 위해, 배송 작업자는 어느 패키지를 배송할 것인지와 그 패키지를 어디로 배송할 것인지를 나타내는 통지를 모바일 디바이스 상에 수신할 수 있다. 배송 위치에 도착하면, 배송 작업자는 패키지를 (예를 들어, 트럭의 후면에, 혹은 패키지들의 상자(crate)에) 위치시키거나, 모바일 디바이스를 사용하여 패키지 상의 식별자(identifier)(예를 들어, 바코드, 이미지, 텍스트 스트링(text string), RFID 태그 등)와 연관된 데이터를 스캔하거나 다른 방식으로 포착하고, 패키지를 (예를 들어, 문 앞에 두거나, 경비원에게 맡겨 두거나, 받는 사람에게 건네주는 등으로써) 전달한다. 일부 실시예에서, 배송 작업자는 모바일 디바이스를 사용하여 패키지의 사진(들)을 포착하고, 및/또는 서명을 얻을 수 있다. 모바일 디바이스는, 예를 들어, 시간, 날짜, GPS 위치, 사진(들), 배송 작업자와 관련된 식별자, 모바일 디바이스와 관련된 식별자 등을 포함하는 배송에 관한 정보를 포함하는 정보를 수송 시스템(107)에 전송할 수 있다. 수송 시스템(107)은 시스템(100) 내의 다른 시스템에 의해 액세스되도록 이 정보를 데이터베이스(도시되지 않음)에 저장할 수 있다. 일부 실시예에서, 수송 시스템(107)은 이 정보를 사용하여 특정 패키지의 위치를 나타내는 추적 데이터를 준비하여 다른 시스템에 전송할 수 있다.
일부 실시예에서, 특정 사용자들은 한 종류의 모바일 디바이스를 사용할 수 있으며(예를 들어, 정규직 작업자들은 바코드 스캐너, 스타일러스 및 기타 디바이스들과 같은 맞춤형 하드웨어(custom hardware)를 갖는 전용 PDA(specialized PDA)를 사용할 수 있고), 반면에 다른 사용자들은 다른 종류의 모바일 디바이스들을 사용할 수 있다(예를 들어, 임시 또는 교대 작업자들은 기성품의(off-the-shelf) 모바일 폰 및/또는 스마트 폰을 활용할 수 있다).
일부 실시예에서, 수송 시스템(107)은 사용자를 각 디바이스와 연관시킬 수 있다. 예를 들어, 수송 시스템(107)은, 사용자(예를 들어, 사용자 식별자, 직원 식별자 또는 전화 번호로 나타내어짐)와 모바일 디바이스(예를 들어, IMEI(International Mobile Equipment Identity), IMSI(International Mobile Subscription Identifier), 전화 번호, UUID(Universal Unique Identifier) 또는 GUID(Globally Unique Identifier)로 나타내어짐) 사이의 연관성을 저장할 수 있다. 수송 시스템(107)은, 무엇보다도, 작업자의 위치, 작업자의 효율성 또는 작업자의 속도를 결정하기 위해, 배송시 수신된 데이터와 함께 이 연관성을 사용하여 데이터베이스에 저장된 데이터를 분석할 수 있다.
일부 실시예에서, 판매자 포털(109)은, 판매자들 또는 다른 외부 개체들이 시스템(100) 내의 하나 이상의 시스템과 전자적으로 통신할 수 있게 하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, 판매자는, 판매자 포털(109)을 사용하여, 판매자가 시스템(100)을 통해 판매하고 싶어하는 제품들에 대한 제품 정보, 주문 정보, 연락처 정보 등을 업로드하거나 제공하기 위해 컴퓨터 시스템(도시되지 않음)을 활용할 수 있다.
일부 실시예에서, 선적 및 주문 추적 시스템(111)은, 고객들에 의해(예를 들어, 디바이스(102A 및 102B)를 사용하는 사용자에 의해) 주문된 제품들을 포함하는 패키지들의 위치에 관한 정보를 수신하고, 저장하고, 전달하는 컴퓨터 시스템으로서 구현될 수 있다. 일부 실시예에서, 선적 및 주문 추적 시스템(111)은, 고객들에 의해 주문된 제품들을 포함하는 패키지들을 배송하는 운송 회사들에 의해 운영되는 웹 서버들(도시되지 않음)로부터, 정보를 요청하거나 저장할 수 있다.
일부 실시예에서, 선적 및 주문 추적 시스템(111)은 시스템(100) 내에 도시된 시스템으로부터 정보를 요청하고 저장할 수 있다. 예를 들어, 선적 및 주문 추적 시스템(111)은 수송 시스템(107)으로부터 정보를 요청할 수 있다. 위에서 논의된 바와 같이, 수송 시스템(107)은, 하나 이상의 사용자(예를 들어, 배송 작업자) 또는 차량(예를 들어, 배송 트럭)과 연관된 하나 이상의 모바일 디바이스(107A 내지 107C)(예를 들어, 모바일 폰, 스마트 폰, PDA 등)로부터 정보를 수신할 수 있다. 일부 실시예에서, 선적 및 주문 추적 시스템(111)은 또한, 풀필먼트 센터(예를 들어, 풀필먼트 센터(200)) 내부의 개별 제품의 위치를 결정하기 위해, 인력 관리 시스템(WMS)(119)으로부터 정보를 요청할 수 있다. 선적 및 주문 추적 시스템(111)은, 수송 시스템(107) 또는 WMS(119) 중 하나 이상으로부터 데이터를 요청하고, 데이터를 처리하고, 요청 시 데이터를 디바이스(예를 들어, 사용자 디바이스(102A 및 102B))에 제시할 수 있다.
일부 실시예에서, 풀필먼트 최적화(FO) 시스템(113)은, 다른 시스템(예를 들어, 외부 프론트-엔드 시스템(103) 및/또는 선적 및 주문 추적 시스템(111))으로부터의 고객 주문들에 관한 정보를 저장하는 컴퓨터 시스템으로서 구현될 수 있다. FO 시스템(113)은 또한, 특정 물품들이 어디에 보유되거나 저장되는지를 설명하는 정보를 저장할 수 있다. 예를 들어, 특정 물품들은 하나의 풀필먼트 센터에만 저장될 수 있고, 반면에 특정 다른 물품들은 다수의 풀필먼트 센터에 저장될 수 있다. 또 다른 실시예에서, 특정 풀필먼트 센터들은 특정 세트의 물품들(예를 들어, 신선 제품 또는 냉동 제품)만을 저장하도록 설계될 수 있다. FO 시스템(113)은, 이 정보뿐만 아니라 관련 정보(예를 들어, 수량, 크기, 영수증의 날짜, 만료일 등)를 저장한다.
FO 시스템(113)은 또한, 각 제품의 대응하는 마감 시간(특정 배송 시간에 대한 최대 시간) 및/또는 PDD(promised delivery date)를 계산할 수 있다. 일부 실시예에서, 마감 시간 및 PDD는 하나 이상의 인자에 기초할 수 있다. 예를 들어, FO 시스템(113)은, 제품에 대한 과거 수요(예를 들어, 한 기간 동안 제품이 얼마나 자주 주문되었는지), 제품에 대한 예상 수요(다가오는 기간 동안 얼마나 많은 고객들이 해당 제품을 주문할 것으로 예측되는지), 한 기간 동안 얼마나 많은 제품들이 주문되었는지를 나타내는 네트워크-전역(network-wide) 과거 수요, 다가오는 기간 동안 얼마나 많은 제품들이 주문될 것인지 예상되는 것을 나타내는 네트워크-전역 예상 수요, 각 풀필먼트 센터(200)에 저장되는 제품에 대한, 풀필먼트 센터가 각 제품마다 저장하는 하나 이상의 카운트, 해당 제품에 대한 예상 주문 또는 현재 주문 등에 기초하여, 제품에 대한 PDD를 계산할 수 있다. 또한, FO 시스템(113)은, 특히 무엇보다도, 과거의 배송들, 제품 위치와 선적 센터 사이의 물리적 거리, 및 FC의 위치에서 이용 가능한 인원(personnel)에 기초하여 마감 시간을 계산할 수 있다.
일부 실시예에서, FO 시스템(113)은, 주기적으로(예를 들어, 시간마다) 각 제품에 대한 마감 시간 및 PDD를 결정하고, 이를 검색(retrieval)을 위해 데이터 베이스에 저장하거나, 다른 시스템(예를 들어, 외부 프론트-엔드 시스템(103), SAT 시스템(101), 선적 및 주문 추적 시스템(111))에 전송할 수 있다. 다른 실시예에서, FO 시스템(113)은, 하나 이상의 시스템(예를 들어, 외부 프론트-엔드 시스템(103), SAT 시스템(101), 선적 및 주문 추적 시스템(111))으로부터 전자식 요청(electronic requests)을 수신하고, 요구 시(on demand) PDD 또는 마감 시간을 계산할 수 있다. 또 다른 실시예들에서, FO 시스템(113)은 사용이 웹페이지들 중 하나를 통해 탐색함에 따라 PDD 및 마감 시간들을 결정할 수 있다. FO 시스템(113)에 의한 PDD 또는 마감 시간들의 계산 및 송신을 위한 프로세스들은 도 7과 관련하여 더 설명된다.
일부 실시예에서, 풀필먼트 메시징 게이트웨이(FMG)(115)는, 시스템(100) 내의 하나 이상의 시스템, 예를 들어, FO 시스템(113), 으로부터 하나의 포맷 또는 프로토콜로 요청 또는 응답을 수신하고, 요청 또는 응답을 다른 포맷 또는 프로토콜로 변환하고, 변환된 포맷 또는 프로토콜로 요청 또는 응답을 다른 시스템, 예를 들어, WMS(119) 또는 제3 자의 풀필먼트 시스템(121A, 121B 또는 121C), 에 전달하거나, 그 반대도 성립하는 컴퓨터 시스템으로서 구현될 수 있다.
일부 실시예에서, 공급 체인 관리(SCM) 시스템(117)은 예측 기능들을 수행하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, SCM 시스템(117)은, 예를 들어, 제품들에 대한 과거 수요, 제품에 대한 예상 수요, 네트워크-전역 과거 수요, 네트워크-전역 예상 수요, 각 풀필먼트 센터(200)에 저장되는 제품들 카운트(count products), 각 제품에 대한 예상 주문 또는 현재 주문 등에 기초하여 특정 제품에 대한 수요 레벨(level of demand)을 예측할 수 있다. 모든 풀필먼트 센터에 걸쳐 각 제품에 대한 이 예측된 레벨 및 양에 응답하여, SCM 시스템(117)은, 특정 제품에 대한 예측된 수요를 만족시키기에 충분한 수량을 구매하고 비축(stock)하기 위해서 하나 이상의 구매 주문을 생성할 수 있다.
일부 실시예에서, 인력 관리 시스템(WMS)(119)은 작업 흐름을 모니터링하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, WMS(119)는 개별 이벤트(discrete events)를 나타내는 개별 디바이스(예를 들어, 디바이스(107A 내지 107C 또는 119A 내지 119C))로부터 이벤트 데이터를 수신할 수 있다. 예를 들어, WMS(119)는 패키지를 스캔하기 위해 이들 디바이스 중 하나의 사용을 나타내거나 포지셔닝 시스템의 센서가 트리거되어 있음을 나타내는 이벤트 데이터를 수신할 수 있다. 풀필먼트 센터(200) 및 도 2에 관련하여 아래에 논의되는 바와 같이, 풀필먼트 프로세스 동안, 패키지 식별자(예를 들어, 바코드 또는 RFID 태그 데이터)는 특정 단계에서 기계들(예를 들어, 자동화되거나 휴대형의 바코드 스캐너, RFID 판독기, 고속 카메라, 태블릿(119A), 모바일 디바이스/PDA(119B), 컴퓨터(119C) 등과 같은 디바이스)에 의해 스캐닝되거나 판독될 수 있다. 대안적으로는, 무선 센서는 제품이 선반으로 반입되었거나 또는 선반으로부터 반출되었는지를 결정할 수 있다. WMS(119)는, 패키지 식별자, 시간, 날짜, 위치, 사용자 식별자 또는 기타 정보와 함께 대응하는 데이터베이스(도시되지 않음)에 패키지 식별자의 스캔, 판독, 또는 센서 이벤트를 나타내는 각 이벤트를 저장할 수 있고, 이 정보를 다른 시스템(예를 들어, 선적 및 주문 추적 시스템(111))에 제공할 수 있다.
일부 실시예에서, WMS(119)는 하나 이상의 디바이스(예를 들어, 디바이스(107A 내지 107C 또는 119A 내지 119C))를 시스템(100)과 연관된 하나 이상의 사용자와 관련시킨 정보를 저장할 수 있다. 예를 들어, 일부 상황에서, 사용자(예를 들어, 시간제 또는 전일제 직원)는, 사용자가 모바일 디바이스(예를 들어, 모바일 디바이스는 스마트 폰임)를 소유한다는 점에서, 모바일 디바이스와 연관될 수 있다. 다른 상황에서, 사용자는, 사용자가 일시적으로 모바일 디바이스를 소유하고 있다(예를 들어, 사용자는 하루의 시작 시에 모바일 디바이스를 체크 아웃하고, 하루 동안 사용할 것이고, 하루가 끝나면 반환할 것이다)는 점에서, 모바일 디바이스와 연관될 수 있다.
일부 실시예에서, WMS(119)는 시스템(100)과 연관된 각 사용자에 대한 작업 로그(work log)를 유지할 수 있다. 예를 들어, WMS(119)는, 임의의 할당된 프로세스(예를 들어, 트럭 하역하기(unloading trucks), 픽 구역(pick zone)으로부터 물품 픽킹하기, 리빈 월 작업(rebin wall work), 물품 포장하기), 사용자 식별자, 위치(예를 들어, 풀필먼트 센터(200) 내의 층 또는 구역), 직원에 의해 시스템을 통해 이동된 다수의 유닛(예를 들어, 피킹된 물품의 수, 포장된 물품의 수), 디바이스(예를 들어, 디바이스(119A 내지 119C))와 관련된 식별자 등을 포함하여, 각 직원과 연관된 정보를 저장할 수 있다. 일부 실시예에서, WMS(119)는 디바이스(119A 내지 119C)상에서 운영되는 시간 기록 시스템(timekeeping system)과 같은 시간 기록 시스템으로부터 체크 인 및 체크 아웃 정보를 수신할 수 있다.
일부 실시예에서, 제3 자의 풀필먼트(3PL) 시스템(121A 내지 121C)은 물류 및 제품의 제3자 제공자와 연관된 컴퓨터 시스템을 나타낸다. 예를 들어, 일부 제품은 (도 2와 관련하여 후술되는 바와 같이) 풀필먼트 센터(200)에 저장되지만, 다른 제품들은 장외(off-site)에 저장될 수 있거나, 요구 시 생산될 수 있거나, 달리 풀필먼트 센터(200)에 저장되어 이용 가능하지 않을 수 있다. 3PL 시스템(121A 내지 121C)은, (예를 들어, FMG(115)를 통해) FO 시스템(113)으로부터 주문을 수신하도록 구성될 수 있고, 제품 및/또는 서비스(예를 들어, 배송 또는 설치)를 고객들에게 직접 제공할 수 있다. 일부 실시예에서, 3PL 시스템(121A 내지 121C) 중 하나 이상은 시스템(100)의 일부일 수 있고, 반면에 다른 실시예들에서, 3PL 시스템(121A 내지 121C) 중 하나 이상은 시스템(100) 외부에 있을 수 있다(예를 들어, 제3 자 제공자에 의해 소유되거나 운영된다).
일부 실시예에서, 풀필먼트 센터 인증 시스템(FC Auth)(123)은 다양한 기능들을 갖는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, 일부 실시예에서, FC Auth(123)은 시스템(100) 내의 하나 이상의 다른 시스템에 대한 SSO(single-sign on) 서비스로서 작용할 수 있다. 또한, FC Auth(123)은, 사용자가 내부 프론트-엔드 시스템(105)을 통해 로그인할 수 있게 하고, 사용자가 선적 및 주문 추적 시스템(111)에서 리소스들에 액세스할 수 있는 유사한 권한들(privileges)을 가지고 있다고 결정하고, 사용자가 제2 로그 인 프로세스(second log in process)를 필요로 하지 않고 이들 권한에 액세스할 수 있게 한다. 다른 실시예들에서, FC Auth(123)은 사용자들(예를 들어, 직원들)이 그들 자신을 특정 작업과 연관시킬 수 있게 한다. 예를 들어, 일부 직원은 전자 디바이스(예를 들어, 디바이스(119A 내지 119C))를 갖지 않을 수 있고, 대신에 하루의 일과에서(during the course of a day), 풀필먼트 센터(200) 내에서, 작업별로, 그리고 구역별로, 이동할 수 있다. FC Auth(123)은 이들 직원이 어떤 작업을 행하고 있는지와, 그들이 하루 중 서로 다른 시각에 어느 구역에 있는지를 나타낼 수 있도록 구성될 수 있다.
일부 실시예에서, 노동 관리 시스템(LMS)(125)은 직원들(전일제 및 시간제 직원들을 포함)에 대한 출근 및 초과 근무 정보(attendance and overtime information)를 저장하는 컴퓨터 시스템으로서 구현될 수 있다. 예를 들어, LMS(125)는 FC Auth(123), WMA(119), 디바이스(119A 내지 119C), 수송 시스템(107) 및/또는 디바이스(107A 내지 107C)로부터 정보를 수신할 수 있다.
도 1a에 도시된 특정 구성은 단지 예시이다. 예를 들어, 도 1a는 FO 시스템(113)에 연결된 FC Auth 시스템(123)을 도시하지만, 모든 실시예들이 이 특정 구성을 요구하는 것은 아니다. 실제로, 일부 실시예에서, 시스템(100) 내의 시스템은, 인터넷, 인트라넷, WAN(Wide-Area Network), MAN(Metropolitan-Area Network), IEEE 802.11a/b/g/n 표준과 호환되는 무선 네트워크, 전용 회선(leased line) 등을 포함하는 하나 이상의 공개 또는 비공개 네트워크를 통해 서로 연결될 수 있다. 일부 실시예에서, 시스템(100) 내의 시스템 중 하나 이상은 데이터 센터, 서버 팜(server farm) 등에 구현되는 하나 이상의 가상 서버로서 구현될 수 있다.
도 2는 풀필먼트 센터(200)를 도시한다. 풀필먼트 센터(FC; 200)는 주문 시 고객들에게 운송되기 위한 물품들을 저장하는 물리적 위치의 예이다. 풀필먼트 센터(FC)(200)는 다수의 구역(zone)으로 분할될 수 있고, 그들 각각은 도 2에 도시되어 있다. 일부 실시예에서, 이들 "구역"은 물품들을 수신하고, 물품들을 저장하고, 물품들을 검색하고(retrieving), 물품들을 운송하는 프로세스의 상이한 단계들 사이의 가상 분할(virtual divisions)로 여겨질 수 있다. 따라서, "구역들"이 도 2에 도시되어 있지만, 구역들에 대한 다른 분할이 가능하고, 일부 실시예에서, 도 2의 구역들이 생략되거나, 복제되거나, 수정될 수 있다.
인바운드 구역(203)은 시스템(100)(도 1a)을 사용하여 제품들을 판매하고 싶어하는 판매자들로부터 물품들이 수신되는 FC(200)의 영역을 나타낸다. 예를 들어, 판매자는 트럭(201)을 사용하여 물품(202A 및 202B)을 배송할 수 있다. 물품(202A)은 그 자체의 운송 팔레트(shipping pallet)를 점유하기에 충분히 큰 단일 물품을 나타낼 수 있고, 반면에 물품(202B)은 공간을 절약하기 위해 동일한 팔레트 상에 함께 적재된 물품들의 세트를 나타낼 수 있다.
작업자는 인바운드 구역(203)에서 물품을 수신하고, 선택적으로 컴퓨터 시스템(도시되지 않음)을 사용하여 물품들의 손상 및 정확성에 대해 체크할 수 있다. 예를 들어, 작업자는 컴퓨터 시스템을 사용하여 물품(202A 및 202B)의 수량을 물품의 주문 수량과 비교할 수 있다. 수량이 매칭되지(match) 않으면, 그 작업자는 물품(202A 또는 202B) 중 하나 이상을 거부할 수 있다. 수량이 매칭되면, 작업자는 (예를 들어, 돌리(dolly), 핸드 트럭, 지게차(forklift)를 이용하거나 수동으로) 이들 물품을 버퍼 구역(205)으로 이동시킬 수 있다. 버퍼 구역(205)은, 예를 들어, 피킹 구역에 예측된 수요를 충족시키기에 매우 충분한 수량의 해당 물품이 있기 때문에, 피킹 구역에서 현재 필요하지 않은 물품들에 대한 임시 저장 영역일 수 있다. 일부 실시예에서, 지게차(206)는 버퍼 구역(205) 주위에서, 그리고 인바운드 구역(203)과 드롭 구역(207) 사이에서 물품들을 이동시키도록 동작된다. 피킹 구역에서 물품(202A 또는 202B)이 필요하다면(예를 들어, 예측된 수요로 인함), 지게차는 물품(202A 또는 202B)을 드롭 구역(207)으로 이동시킬 수 있다.
드롭 구역(207)은, 물품들이 피킹 구역(209)으로 이동되기 전에 물품들을 저장하는 FC(200)의 영역일 수 있다. 피킹 작업에 할당된 작업자("피커(picker)")는, 피킹 구역에서 물품(202A 및 202B)에 접근하고, 피킹 구역에 대한 바코드를 스캔하고, 모바일 디바이스(예를 들어, 디바이스 (119B))를 사용하여 물품(202A 및 202B)과 연관된 바코드를 스캔할 수 있다. 이러한 이벤트는 FC 내로 물품이 이동되었는지를 지정하도록 데이터베이스를 업데이트하는 실시간 위치 시스템을 업데이트할 수 있다. 그 후, 피커는 (예를 들어, 물품을 카트에 담거나 운반함으로써) 물품을 피킹 구역(209)으로 가져갈 수 있으며, 실시간 위치 시스템은 신규 물품을 위한 스토리지의 위치를 요청할 수 있다.
피킹 구역(209)은 물품(208)이 저장 유닛(210) 상에 저장되는 FC(200)의 영역일 수 있다. 일부 실시예에서, 저장 유닛(210)은 물리적 선반, 책장, 박스, 토트(totes), 냉장고, 냉동고, 냉장 창고(cold stores) 등 중 하나 이상을 포함할 수 있다. 일부 실시예에서, 피킹 구역(209)은 다수의 층으로 구성될 수 있다. 일부 실시예에서, 작업자 또는 기계는, 예를 들어, 지게차, 엘리베이터, 컨베이어 벨트, 카트, 핸드 트럭, 돌리, 자동화된 로봇 또는 디바이스를 포함하여 여러 방식으로, 또는 수동으로 물품을 피킹 구역(209)으로 이동시킬 수 있다. 예를 들어, 피커는 드롭 구역(207)에서 핸드 트럭 또는 카트 상에 물품(202A 및 202B)을 담고, 물품(202A 및 202B)을 피킹 구역(209)까지 걸어서 운반할 수 있다.
피커는, 저장 유닛(210)상의 특정 공간과 같이, 피킹 구역(209)의 특정 지점(particular spots)에 물품을 배치(또는 "수납")하라는 명령어(instruction)를 수신할 수 있다. 예를 들어, 피커는 모바일 디바이스(예를 들어, 디바이스(119B))를 사용하여 물품(202A)을 스캔할 수 있다. 디바이스는, 예를 들어, 통로(aisle), 선반 및 위치를 나타내는 시스템을 사용하여 피커가 물품(202A)을 수납해야 하는 위치를 나타낼 수 있다. 일부 실시예에서, 새벽 배송과 같은 특별 배송 옵션들의 이용 가능성을 최대화하도록 시도하는 예측 알고리즘에 기초하여 물품(202A)을 수납하는 위치가 결정될 수 있다. 그 후, 디바이스는 그 위치에 물품(202A)을 수납하기 전에 피커가 그 위치에서 바코드를 스캔하도록 촉구할 수 있다. 대안으로서는, 화상 인식과 결합된 카메라 또는 무선 센서가 시간의 위치를 저장할 수 있다. 일부 실시예에서, 디바이스는, 디바이스(119B)를 사용하는 사용자에 의해 그 위치에 물품(202A)이 수납되었음을 나타내는 데이터를, (예를 들어, 무선 네트워크를 통해) 도 1a의 WMS(119)와 같은 컴퓨터 시스템에 전송할 수 있다.
사용자가 주문을 하면, 피커는 저장 유닛(210)으로부터 하나 이상의 물품(208)을 검색하라는 명령어를 디바이스(119B) 상에서 수신할 수 있다. 일부 실시예에서는, 도 11과 관련하여 더 설명하는 바와 같이, 피커는 제품들을 수납하도록 배치 또는 저장(storing) 가이드를 통해 명령어를 수신할 수 있다. 피커는, 물품(208)을 검색하고, 물품(208) 상의 바코드를 스캔하고, 물품을 수송 메커니즘(transport mechanism)(214) 상에 배치할 수 있다. 수송 메커니즘(214)은, 슬라이드로 나타내어져 있지만, 일부 실시예에서, 수송 메커니즘은 컨베이어 벨트, 엘리베이터, 카트, 지게차, 핸드 트럭, 돌리, 카트 등 중 하나 이상으로서 구현될 수 있다. 그 후, 물품(208)은 포장 구역(packing zone)(211)에 도착할 수 있다.
포장 구역(211)은, 물품이 피킹 구역(209)으로부터 수신되어 고객에게 최종 운송되기 위해 박스 또는 백(bags)에 포장되는 FC(200)의 영역일 수 있다. 포장 구역(211)에서, 물품 수신에 할당된 작업자("리빈 작업자")는 피킹 구역(209)으로부터 물품(208)을 수신하고 그것이 어느 주문에 대응하는지를 결정할 것이다. 예를 들어, 리빈 작업자는 컴퓨터(119C)와 같은 디바이스를 사용하여 물품(208)상의 바코드를 스캔할 수 있다. 컴퓨터(119C)는 물품(208)이 어느 주문과 연관되는지를 시각적으로 나타낼 수 있다. 이는, 예를 들어, 주문에 대응하는 공간 또는 벽(216)의 "셀"을 포함할 수 있다. 일단 주문이 완료되면 (예를 들어, 셀은 주문에 대한 모든 물품을 포함하기 때문에), 리빈 작업자는 주문이 완료된 것을 포장 작업자(packing worker)(또는 "패커(packer)")에게 나타낼 수 있다. 패커는 셀로부터 물품들을 검색하여 운송을 위해 박스 또는 백에 담을 수 있다. 그 후, 패커는 예를 들어, 지게차, 카트, 돌리, 핸드 트럭, 컨베이어 벨트를 통해, 박스 또는 백을 허브 구역(213)으로 수동으로 또는 다른 방식으로 전송할 수 있다.
허브 구역(213)은 포장 구역(211)으로부터 모든 박스 또는 백("패키지")을 수신하는 FC(200)의 영역일 수 있다. 허브 구역(213)의 작업자 및/또는 기계는, 패키지(218)를 검색하고, 각 패키지가 배송 지역 중 어느 부분으로 가고자 의도되는지를 결정하고, 패키지를 적절한 캠프 구역(215)으로 라우팅할 수 있다. 예를 들어, 배송 지역이 2개의 더 작은 하위-지역(sub-areas)을 갖는 경우, 패키지는 2개의 캠프 구역(215) 중 하나로 갈 것이다. 일부 실시예에서, 작업자 또는 기계는 (예를 들어, 디바이스(119A 내지 119C) 중 하나를 사용하여) 패키지를 스캔하여 그 최종 목적지를 결정할 수 있다. 패키지를 캠프 구역(215)으로 라우팅하는 것은, 예를 들어, (예를 들어, 우편 번호에 기초하여) 패키지가 예정되어 있는 지리적 지역의 일부를 결정하는 것, 및 지리적 지역의 일부와 연관된 캠프 구역(215)을 결정하는 것을 포함할 수 있다.
일부 실시예에서, 캠프 구역(215)은 하나 이상의 건물, 하나 이상의 물리적 공간 또는 하나 이상의 지역을 포함할 수 있고, 여기서 패키지는 루트 및/또는 서브-루트로 분류되기 위해 허브 구역(213)으로부터 수신된다. 일부 실시예에서, 캠프 구역(215)은 FC(200)로부터 물리적으로 분리되고, 반면에 다른 실시예에서, 캠프 구역(215)은 FC(200)의 일부를 형성할 수 있다.
캠프 구역(215) 내의 작업자 및/또는 기계는, 예를 들어, 목적지를 기존의 루트 및/또는 서브-루트와 비교하는 것, 각 루트 및/또는 서브-루트에 대한 작업 부하를 계산하는 것, 하루 중 시각(the time of day), 운송 방법, 패키지(220)를 운송하기 위한 비용, 패키지(220) 내의 물품과 연관된 PDD, 배송 옵션 등에 기초하여, 패키지(220)가 어느 루트 및/또는 서브-루트와 연관되어야 하는지를 결정할 수 있다. 일부 실시예에서, 작업자 또는 기계는 (예를 들어, 디바이스(119A 내지 119C) 중 하나를 사용하여) 패키지를 스캔하여 그 최종 목적지를 결정할 수 있다. 일단 패키지(220)가 특정 루트 및/또는 서브-루트에 할당되면, 작업자 및/또는 기계는, 운송될 패키지(220)를 이동시킬 수 있다. 예시적인 도 2에서, 캠프 구역(215)은 트럭(222), 자동차(226) 및 배송 작업자(224A 및 224B)를 포함한다. 일부 실시예에서, 트럭(222)은 배송 작업자(224A)에 의해 구동될 수 있고, 여기서 배송 작업자(224A)는 FC(200)를 위한 패키지를 배달하는 전일제 직원이고, 트럭(222)은, FC(200)를 소유하거나, 임대하거나, 운영하는 동일한 회사에 의해 소유되거나, 임대되거나, 운영된다. 일부 실시예에서, 자동차(226)는 배송 작업자(224B)에 의해 운전될 수 있고, 여기서 배송 작업자(224B)는 필요에 따라(on an as-needed basis)(예를 들어, 계절에 따라) "가변적인(flex)" 또는 비정기적인 작업자(occasional worker)이다. 자동차(226)는 배송 작업자(224B)에 의해 소유되거나, 임대되거나, 운영될 수 있다.
일부 실시예에서, 도 2에 나타낸 바와 같이, FC(200)의 섹션들 중 하나 이상이 포지셔닝 시스템(217)을 포함할 수 있다. 포지셔닝 시스템(217)은 FC 내에서의 제품들의 위치를 결정하고 FC를 통한 그들의 이동을 추적하기 위해 사용될 수 있는 복수의 센서들을 포함할 수 있다. 이러한 실시예에서, 포지셔닝 시스템(217)의 센서들은, FC 내에서의 제품들의 위치를 추적하는 것, 및 서로 다른 섹션들 사이에서의 이동을 또한 추정하는 것 양쪽을 위해 사용될 수 있다. 예를 들어, 포지셔닝 시스템(217)의 센서들은 FC(200)의 다른 영역들 사이에서 경과된 시간의 이력 데이터를 저장하기 위해 사용될 수 있다. 이 정보는 이어서, 저장 구역들과 포장 구역들 사이의 거리 또는 추정된 시간들을 결정하는데 사용될 수 있다.
도 2에 나타낸 바와 같이, 포지셔닝 시스템(217)은 포장 구역(211)에서의 센서(217A)들과, 피킹 구역(209)에서의 센서(217B)들과, 드랍 구역(205)에서의 센서(217C)들을 포함할 수 있다. 그러나, FC(200)에서 물품들의 위치를 추적하고 포착하기 위한 목적으로 FC(200)의 다른 영역들에 보다 많은 센서들이 배치되어서 추정된 배송들의 정확도를 향상시키거나 배송 옵션들의 이용 가능성을 최대화할 수 있다.
도 3은, 개시된 실시예들에 일치하는, 예시적인 시스템(300)의 블록도이다. 시스템(300)에서 스케줄링 시스템(320)은, 예를 들어, 제품에 대한 새벽 배송, PDD, 또는 추정 배송이 이용 가능한지를 결정하기 위해, 실시간 클라이언트 디바이스의 데이터 스트림(data streams)으로부터 제품 요청들(product requests)을 처리할 수 있다. 시스템은 또한, 추정 배송 데이터를 포함하도록 웹페이지를 표시하거나 수정하기 위한 명령어들을 생성할 수 있다. 시스템(300)은 스케줄링 시스템(320), 온라인 리소스들(340), 클라이언트 디바이스들(350), 제3 자 시스템(360), 물품 포지셔닝 시스템(390) 및 데이터베이스(380)를 포함할 수 있다. 일부 실시예에서, 도 3에 도시된 바와 같이, 시스템(300)의 구성 요소들은 네트워크(370)에 연결될 수 있다. 그러나, 다른 실시예들에서, 시스템(300)의 구성 요소들은 네트워크(370) 없이 서로 직접 연결될 수 있다. 예를 들어, 데이터베이스(380)는 스케줄링 시스템(320)에 직접 결합될 수 있다.
일부 실시예에서, 스케줄링 시스템(320)은 시스템(100)(도 1a)의 구성 요소들 중 하나 이상으로 구현될 수 있다. 예를 들어, 스케줄링 시스템(320)은 SAT 시스템(101), 외부 프론트-엔드 시스템(103), FO 시스템(113), SCM 시스템(117) 및/또는 WMS(119)(도 1a)를 포함할 수 있다. 다른 실시예들에서, 스케줄링 시스템(320)은 배송 날짜를 추정하고, PDD를 생성하고, 및/또는 클라이언트 디바이스들(350)을 위해 웹페이지들을 업데이트하거나 생성하기 위한 동작들을 수행하도록 구성되는 하나 이상의 독립된 서버(independent server)로 구현될 수 있다.
온라인 리소스들(340)는 웹페이지 호스팅, 네트워킹, 클라우드 또는 백업 서비스들의 제공자와 같은 개체에 의해 제공되는 하나 이상의 서버 또는 스토리지 서비스를 포함할 수 있다. 일부 실시예에서, 온라인 리소스들(340)는 인증 서비스를 위한 웹 페이지들, 도메인명 시스템(Domain Name System)(DNS) 또는 방문 페이지들(landing pages)을 저장하는 호스팅 서비스 또는 서버와 연관될 수 있다. 다른 실시예들에서, 온라인 리소스들(340)은 클라우드 컴퓨팅 서비스와 연관될 수 있다. 또 다른 실시예들에서, 온라인 리소스들(340)은, 예를 들어, 애플 푸시 통지 서비스(Apple Push Notification Service), 애저 모바일 서비스(Azure Mobile Services) 또는 구글 클라우드 메시징(Google Cloud Messaging)과 같은 메시징 서비스와 연관될 수 있다. 이러한 실시예들에서, 온라인 리소스들(340)은 디지털 권한 관리를 취급하는 것과 같은 개시된 실시예들의 기능들과 관련된 통지 및 메시지의 전달을 처리할 수 있다.
클라이언트 디바이스들(350)은, 개시된 실시예들에 일치하는, 하나 이상의 동작을 수행하도록 구성되는 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 클라이언트 디바이스들(350)은, 데스크탑 컴퓨터, 랩톱, 서버, 모바일 디바이스(예를 들어, 태블릿, 스마트 폰 등), 셋톱 박스, 게임 디바이스, 착용식 컴퓨팅 디바이스 또는 다른 타입의 컴퓨팅 디바이스를 포함할 수 있다. 일부 실시예에서, 클라이언트 디바이스들(350)은 사용자 디바이스들(102)(도 1a)를 포함하고 시스템(100)의 일부로서 운영될 수 있다. 그러나, 다른 실시예에서, 클라이언트 디바이스들(350)은 시스템(100)으로부터 독립될 수 있다. 클라이언트 디바이스들(350)은, 클라이언트 디바이스들(350)에 포함된 메모리와 같은 메모리에 저장되는 소프트웨어 명령어들을 실행하여, 아래에 설명되는 기능들을 구현하기 위한 동작들을 수행하도록 구성되는 하나 이상의 프로세서를 포함할 수 있다. 예를 들어, 클라이언트 디바이스들(350)은, 스케줄링 시스템(320)에 의해 생성된 배송 날짜 추정을 포함하는 웹페이지들에 그래픽 사용자 인터페이스들을 표시하도록 구성될 수 있다. 또한, 클라이언트 디바이스들(350)은 유선 및/또는 무선 통신을 위해 구성될 수 있고, 프로세서에 의해 실행될 때, 인터넷-관련 통신(예를 들어, TCP/IP) 및 콘텐츠 표시 프로세스들(content display processes)을 수행하는 소프트웨어를 포함할 수 있다. 예를 들어, 클라이언트 디바이스들(350)은 제품 정보를 갖는 인터페이스를 생성하고 표시하는 브라우저 소프트웨어를 실행할 수 있다. 따라서, 클라이언트 디바이스들(350)은, 클라이언트 디바이스들(350)로 하여금 네트워크(370)에 걸쳐 구성 요소들과 통신할 수 있게 하고 클라이언트 디바이스들(350)에 포함된 디스플레이 디바이스를 통해 인터페이스에 콘텐츠를 표시할 수 있게 하는 애플리케이션들을 실행할 수 있다.
일부 실시예에서, 도 4에 관련하여 더 개시된 바와 같이, 클라이언트 디바이스들(350)은 스케줄링 시스템(320)과 상호 작용하도록 구체적으로 구성되는 애플리케이션들을 실행할 수 있다. 또한, 클라이언트 디바이스들(350)은 하나 이상의 계정을 저장할 수 있다. 예를 들어, 클라이언트 디바이스들(350)은 고객의 배송 선호도(delivery preference), 고객의 위치, 고객 계정 및 고객 식별에 관한 정보를 저장할 수 있다.
개시된 실시예들은 클라이언트 디바이스들(350)의 임의의 특정 구성에 제한되지 않는다. 예를 들어, 클라이언트 디바이스(350)는, 스케줄링 시스템(320) 및/또는 온라인 리소스들(340)에 의해 제공되는 기능들을 제공하는 동작들을 수행하기 위해 모바일 애플리케이션들을 저장하고 실행하는 모바일 디바이스일 수 있다. 특정 실시예들에서, 클라이언트 디바이스들(350)은 GPS 위치와 같은 위치 서비스에 관한 소프트웨어 명령어들을 실행하도록 구성될 수 있다. 예를 들어, 클라이언트 디바이스들(350)은, 지리적 위치를 결정하고, 위치 데이터와 이 위치 데이터에 대응하는 타임 스탬프(time stamp) 데이터를 제공하도록 구성될 수 있다. 클라이언트 디바이스들(350)은 도 4와 관련하여 더 설명된다.
데이터베이스(380)는 추정된 배송 날짜 및 그들 각각의 마감 시간들을 계산하고/하거나 검색하기 위해 데이터를 스케줄링 시스템(320)에 제공하는 것과 일치하는 동작들을 수행하는 적절한 소프트웨어로 구성된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 데이터베이스(380)는, 예를 들어, Oracle™ 데이터베이스, Sybase™ 데이터베이스, 또는 다른 관계형 데이터베이스, 또는 Hadoop™ 시퀀스 파일, HBase™ 또는 Cassandra™과 같은 비관계형 데이터베이스를 포함할 수 있다. 데이터베이스(380)는, 데이터베이스(들)의 메모리 디바이스에 저장된 데이터에 대한 요청을 수신하여 처리하고, 데이터베이스(들)로부터의 데이터를 제공하도록 구성되는 컴퓨팅 구성 요소들(예를 들어, 데이터베이스 관리 시스템, 데이터베이스 서버 등)을 포함할 수 있다.
데이터베이스(380)가 개별적으로(separately) 도시되어 있지만, 일부 실시예에서, 데이터베이스(380)는 스케줄링 시스템(320) 또는 온라인 리소스들(340)에 포함되거나 다른 방식으로 관련될 수 있다.
데이터베이스(380)는 배송 날짜 또는 PDD 추정을 용이하게 하기 위해 사용자 계정 또는 제품과 연관된 데이터를 수집하고/하거나 유지하도록 구성될 수 있다. 예를 들어, 데이터베이스(380)는 시스템(300)의 사용자에 대한 사용자 프로파일에 관한 정보를 저장할 수 있다. 데이터베이스(380)는 또한, FC 내에서의 제품들의 위치, 추정 포장 시간, 새벽 배송을 위한 마감 시간과 같이 특정 배송을 위한 마감 시간을 지정하는 데이터 구조를 저장할 수 있다. 데이터베이스(380)는 또한, 유사한 제품 및 우편 번호 쌍(similar product and postal code pair)을 갖는 배송 날짜 추정 요청에 신속하게 응답하기 위해, 특정 제품 및 해당 우편 번호에 대해 이전에 계산된 배송 날짜에 대한 위치에 관한 다른 정보를 저장할 수 있다. 데이터베이스(380)는, 예를 들어, 온라인 리소스들(340) 또는 제3 자 시스템(360)을 포함하여 다양한 소스로부터 데이터를 수집할 수 있다. 또한, 데이터베이스(380)는 클라이언트 디바이스들(350) 운영 체제에 관한 정보를 포함할 수 있다. 데이터베이스(380)는 도 5와 관련하여 아래에 더 설명된다.
일부 실시예에서, 제3 자 시스템(360)은 시스템(100)의 하나 이상의 요소를 포함할 수 있다. 예를 들어, 제3 자 시스템(360)은 3PL 시스템(121A 내지 121C)을 포함할 수 있다. 추가적으로 또는 대안적으로, 제3 자 시스템(360)은 서비스 제공자 또는 풀필먼트 센터와 같은 스케줄링 시스템(320)과 관련된 개체에 의해 제공되는 하나 이상의 서버 또는 스토리지 서비스를 포함할 수 있다. 제3 자 시스템(360)은 또한, 네트워크(370)를 통해 시스템(300)에 연결될 수 있지만, 다른 실시예들에서, 제3 자 시스템(360)은 시스템(300)의 일부 요소와의 직접 연결을 포함할 수 있다. 예를 들어, 지연 또는 네트워크 혼잡을 최소화하기 위해, 제3 자 시스템(360)은 스케줄링 시스템(320)과 비공개 네트워크로 연결될 수 있다. 또한, 제3 자 시스템(360)은, 스케줄링 시스템(320)으로부터, 또는 시스템(300)의 다른 요소들로부터 정보를 제공하고/하거나 요청하도록 구성될 수 있다. 일부 실시예에서, 제3 자 시스템(360)이 네트워크(370)에 결합될 수도 있지만, 그들은 스케줄링 시스템(320)의 클라이언트가 아닐 수 있다. 대신에, 제3 자 시스템(360)은 스케줄링 시스템(320)의 사용자들 또는 클라이언트들의 정보를 포함하는 시스템을 포함할 수 있다. 예를 들어, 제3 자 시스템(360)은 FedEx®와 같은 배송 계약자의 서버를 포함할 수 있고, 이는 제품 배송이 제3 자 계약자를 수반할 때 스케줄링 시스템(320)에 의해 사용될 수 있다. 유사하게, 시스템(100)(도 1)에서 풀필먼트 센터들 내에서 제품을 사용할 수 없다면, 제3 자 시스템(360)은 그들 자신의 계산들을 수행하고 잠정적인 배송 날짜 또는 PDD에 관해 스케줄링 시스템(320)에 통지한다.
물품 포지셔닝 시스템(390)은 FC 내에서의 제품들의 위치를 결정 및/또는 저장하기 위한 센서들 및 프로세서들을 포함할 수 있다. 예를 들어, 물품 포지셔닝 시스템(390)은 센서들(217A 내지 217C)을 포함할 수 있다(도 2). 대안으로서 또는 추가적으로, 물품 포지셔닝 시스템(390)은 제품들을 식별하고 FC 내에서의 제품들의 위치를 결정하기 위해 선반들의 화상을 캡처하고 화상 인식 방법을 이용하는 카메라들을 포함할 수 있다. 또한, 물품 포지셔닝 시스템(390)은 스캔 디바이스들에 연결되어 제품들의 스캐닝 이벤트들을 모니터링함으로써 FC에서의 제품들의 위치를 추적할 수 있다. 또한, 물품 포지셔닝 시스템(390)은, 특정 배송 시간들에 대해 마감 시간들을 추정하는 것을 촉진하는 정보를 제공하기 위해서, 또는 보다 정확한 PDD들을 제공하기 위해서 스케줄링 시스템(320)과 통신할 수 있다.
네트워크(370)는 시스템(300)의 구성 요소들 사이의 통신을 제공하도록 구성되는 임의의 타입의 네트워크일 수 있다. 예를 들어, 네트워크(370)는, 인터넷, 근거리 통신망, 근거리 통신(NFC), 광학 코드 스캐너 또는 시스템(300)의 구성 요소들 사이에서 정보의 송수신을 가능하게 하는 다른 적절한 연결(들)과 같이, 통신을 제공하고, 정보를 교환하고, 및/또는 정보의 교환을 용이하게 하는 임의의 타입의 네트워크(하부구조(infrastructure)를 포함함)일 수 있다. 다른 실시예들에서, 시스템(300)의 하나 이상의 구성 요소는 전용 통신 링크(들)를 통해 직접 통신할 수 있다. 또 다른 실시예들에서, 네트워크(370)는, 예를 들어, 네트워크 또는 네트워크들을 조직하는(organizing) 다수의 네트워크를 포함할 수 있다.
본 명세서에서, 시스템(300)의 기능적 건물 블록의 구성 및 경계는 설명의 편의를 위해 정의되어 있다는 것이 이해될 것이다. 지정된 기능들 및 그들의 관계가 적절하게 수행되는 한, 대안의 경계가 정의될 수 있다. 대안(본 명세서에 기술된 것들의 등가, 확장, 변형, 편차 등을 포함함)이 명백할 것이다. 이러한 대안은 개시된 실시예들의 범주 내에 속한다.
이제 도 4를 참조하여, 개시된 실시예들에 일치하는, 예시적인 클라이언트 디바이스(350)(도 3)의 블록도가 도시되어 있다. 일부 실시예에서, 클라이언트 디바이스들(350)은 사용자 디바이스들(102)(도 1a)을 구현할 수 있다.
일 실시예에서, 클라이언트 디바이스들(350)은 하나 이상의 프로세서(402), 하나 이상의 입/출력(I/O) 디바이스(404) 및 하나 이상의 메모리(410)를 포함할 수 있다. 일부 실시예에서, 클라이언트 디바이스들(350)은 스마트 폰 또는 태블릿, 범용 컴퓨터, 또는 이들 구성 요소의 임의의 조합과 같은 모바일 컴퓨팅 디바이스의 형태를 취할 수 있다. 대안적으로, 클라이언트 디바이스들(350)(또는 클라이언트 디바이스들(350)을 포함하는 시스템)는 개시된 실시예들에 일치하는 하나 이상의 동작들을 수행하는 소프트웨어 명령어들의 저장, 실행 및/또는 구현에 기초하여 특정 장치, 내장형 시스템, 전용 회로 등으로 구성될 수 있다. 일부 실시예에 따라, 클라이언트 디바이스들(350)은, 개시된 실시예들에 일치하는, 웹사이트에 액세스하는 웹 브라우저들 또는 유사한 컴퓨팅 디바이스들을 포함할 수 있다.
프로세서(402)는 lntel™, NVIDIA™에 의해 제조된 모바일 디바이스 마이크로프로세서들 또는 다른 제조자의 다양한 프로세서들과 같은 하나 이상의 알려진 처리 디바이스를 포함할 수 있다. 개시된 실시예들은 클라이언트 디바이스들(350)에 구성되는 임의의 특정 타입의 프로세서에 제한되지 않는다.
메모리(410)는 개시된 실시예와 관련된 기능들을 수행하기 위해 프로세서(402)에 의해 사용되는 명령어들을 저장하도록 구성되는 하나 이상의 저장 디바이스를 포함할 수 있다. 예를 들어, 메모리(410)는 프로세서(402)에 의해 실행될 때 동작들을 수행할 수 있는 프로그램(412)과 같은 하나 이상의 소프트웨어 명령어들로 구성될 수 있다. 개시된 실시예들은 전용 작업들을 수행하도록 구성되는 개별 프로그램들 또는 컴퓨터들에 제한되지 않는다. 예를 들어, 메모리(410)는 클라이언트 디바이스들(350)의 기능들을 수행하는 단일 프로그램(412)을 포함할 수 있거나, 프로그램(412)은 다수의 프로그램을 포함할 수 있다. 메모리(410)는 또한, 시스템(300)의 다른 요소들과 상호 작용하기 위해 동작들을 수행하거나 통신하도록 클라이언트 디바이스들(350)을 구성할 수 있는 클라이언트 애플리케이션(414)을 포함할 수 있다. 예를 들어, 클라이언트 애플리케이션(414)은 도 7과 관련하여 더 설명된 바와 같이, 스케줄링 시스템(320)과 통신하고/하거나 제품 정보 요청들을 생성하기 위한 명령어들을 지정할 수 있다. 또한, 클라이언트 애플리케이션(414)은 클라이언트 디바이스들(350)에서 그래픽 사용자인터페이스(GUI)를 생성하거나 표시된 GUI를 수정하기 위한 명령어들을 해석할 수 있다. 메모리(410)는 또한, 배송 추정 또는 PDD를 클라이언트 디바이스에 할당하기 위해 스케줄링 시스템(320)에 의해 사용될 수 있는 데이터(416)를 저장할 수 있다.
특정 실시예들에서, 메모리(410)는 요청에 액세스하거나 요청을 스케줄링 시스템(320)에 전송하기 위한 명령어들을 저장할 수 있다. 예를 들어, 메모리(410)는 TCP/IP를 통해 스케줄링 시스템(320)과 통신하는 애플리케이션을 포함할 수 있다. 또한, 다른 소프트웨어 구성 요소들은 스케줄링 시스템(320)으로부터 정보를 요청하거나, 또는 클라이언트 디바이스들(350)의 위치를 결정하도록 구성될 수 있다. 예를 들어, 이들 소프트웨어 명령어는, 프로세서(들)(402)에 의해 실행될 때, 제품에 대한 이용 가능한 배송 옵션들 또는 PDD를 웹페이지에 표시하기 위해 정보를 처리할 수 있다. 소프트웨어 명령어들은 또한, 클라이언트 디바이스들(350)에 표시 중인 웹페이지들을 수정하기 위한 스크립트들을 구현할 수 있다.
I/O 디바이스(404)는, 클라이언트 디바이스들(350)에 의해 데이터가 수신 및/또는 송신되게 하고 클라이언트 디바이스들(350)이 시스템(300)의 다른 구성 요소들과 같은 다른 기계 및 디바이스와 통신할 수 있게 구성되는 하나 이상의 디바이스를 포함할 수 있다. 예를 들어, I/O 디바이스(404)는 소포의 배송을 확인하거나 사용자에게 정보를 제공하기 위한 스크린을 포함할 수 있다. I/O 디바이스(404)는 또한, NFC 통신을 위한 구성 요소들을 포함할 수 있다. l/O 디바이스(404)는 또한, 사용자로 하여금 터치 감지 영역, 버튼 또는 마이크로폰과 같이, 클라이언트 디바이스들(350)과 상호 작용할 수 있게 하는 하나 이상의 디지털 및/또는 아날로그 디바이스를 포함할 수 있다. I/O 디바이스(404)는 또한, 클라이언트 디바이스들(350)의 배향 및 관성(orientation and inertia)을 검출하기 위한 하나 이상의 가속도계를 포함할 수 있다. I/O 디바이스(404)는 또한, 스케줄링 시스템(320)과 상호 작용하기 위해 본 분야에 알려진 다른 구성 요소들을 포함할 수 있다.
일부 실시예에서, 클라이언트 디바이스(350)는 이미지들을 포착하고 사용자가 원하는 제품의 식별을 위해 사용될 수 있는 카메라(420)를 포함할 수 있다. 이러한 식별은 배송 날짜 추정 또는 PDD 계산을 촉발(trigger)할 수 있다. 추가적으로 또는 대안적으로, 클라이언트 디바이스들(350)은 사용자로 하여금 클라이언트 디바이스들(350)을 잠금 해제하여 그들의 계정에 액세스하고, 정보에 대한 요청을 전송하고, 물품들을 구매할 수 있게 하는 지문 센서(430)를 포함할 수 있다. 카메라(420) 및 지문 센서(430)는, 프로세서(402)에 의해 작동될 수 있고, 암호화 보안을 사용하여 사용자가 지문 또는 카메라 정보에 외부적으로 액세스하는 것을 불가능하게 한다.
클라이언트 디바이스들(350)의 구성 요소들은, 본 기술분야의 통상의 기술자에게 명백한 바와 같이, 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
이제 도 5를 참조하여, 개시된 실시예들에 일치하는, 예시적인 데이터베이스(380)(도 3)의 블록도가 도시되어 있다. 일부 실시예에서, 데이터베이스(380)는 시스템(100)의 요소들에 포함될 수 있다. 예를 들어, 데이터베이스(380)는 FO 시스템(113) 또는 WMS(119)(도 1a)의 일부일 수 있다.
데이터베이스(380)는, 통신 디바이스(502), 하나 이상의 데이터베이스 프로세서(504), 및 하나 이상의 데이터베이스 프로그램(512) 및 데이터(514)를 포함하는 데이터베이스 메모리(510)를 포함할 수 있다. 데이터베이스(380)는 HBase, MongoDB™ 또는 Cassandra™와 같은 NoSQL 데이터베이스를 포함할 수 있다. 대안적으로, 데이터베이스(380)는 Oracle, MySQL 및 Microsoft SQL 서버와 같은 관계형 데이터베이스를 포함할 수 있다.
일부 실시예에서, 데이터베이스(380)는 서버, 범용 컴퓨터, 메인 프레임 컴퓨터, 또는 이들 구성 요소의 임의의 조합의 형태를 취할 수 있다. 일부 실시예에서, 데이터베이스(380)는 스케줄링 시스템(320)과 같은 시스템(300)의 다른 요소들 내에 포함된다. 개시된 실시예들에 일치하는 다른 구현들이 물론 가능하다.
일부 실시예에서, 데이터베이스(380)는 비관계형 및 내장형 데이터베이스 둘 다를 포함할 수 있다. 예를 들어, 데이터베이스(380)는, Hbase와 같은 비관계형 데이터베이스, 및 RocksDB(예를 들어, 키-값 저장소(key-value store) 데이터베이스)와 같은 내장형 데이터베이스를 포함할 수 있다.
통신 디바이스(502)는, 온라인 리소스들(340), 스케줄링 시스템(320) 또는 SCM 시스템(117)과 같은 시스템(300) 또는 시스템(100)의 하나 이상의 구성 요소와 통신하도록 구성될 수 있다. 특히, 통신 디바이스(502)는, 스케줄링 시스템(320) 주문 정보, 사용자 선호도(user preferences) 및 권한, FC 내에서의 제품들의 위치, 및/또는 유사한 우편 번호 및 제품 문의에 대한 이전의 이력 추정(historic previous estimations)을 제공하도록 구성될 수 있다.
데이터베이스(380)의 구성 요소들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 데이터베이스(380)의 하나 이상의 구성 요소가 컴퓨터 처리 명령어 모듈로서 구현될 수 있지만, 전부 또는 일부의 데이터베이스(380)의 기능성(functionality)이 전용의 전자 하드웨어로 구현될 수 있다.
데이터베이스 메모리(510)는, 스케줄링 시스템(320)에 의해 수신되거나 생성된 PDD, 배송 추정, 또는 FC 내에서의 다른 구역들과 연관된 마감 시간들에 기초하여 웹페이지들을 업데이트하기 위한 명령어들을 포함할 수 있는 프로그램(512)을 포함할 수 있다. 또한, 데이터베이스 메모리(510)는 시스템(300)의 요소들 사이의 통신을 위한 명령어들을 포함할 수 있다. 예를 들어, 데이터베이스 메모리(510)는 클라이언트 디바이스들(350)과 스케줄링 시스템(320) 사이의 통신을 위한 명령어들을 포함할 수 있다. 또한, 프로그램(512)은 스케줄링 시스템(320)에 의해 처리될 때 실시간으로 정보를 저장하기 위한 명령어들을 포함할 수 있다.
데이터(514)는 온라인 리소스들(340)과 같은 웹페이지들 또는 클라이언트 디바이스들(350)로부터의 사용자 계정들과 연관된 데이터일 수도 있다. 데이터(514)는, 예를 들어, 우편 번호와 연관된 이전 PDD, FC 내에서의 제품들에 대한 이용 가능한 배송 옵션들, 또는 이전 배송 추정 계산에 관한 정보를 포함할 수 있다. 또한, 데이터(314)는 배송 주소들에 대한 분류를 포함할 수 있다. 데이터(514)는 또한, 풀필먼트 센터들의 용량(capacity) 및 주문 가용성(order availability)을 평가하기 위해 콘텐츠 파일 및 축적 변수를 포함할 수 있다.
도 6은, 개시된 실시예들에 일치하는, 예시적인 배송 추정 배포의 프로세스 흐름도이다. 일부 실시예에서, 시스템(100) 또는 시스템(100)의 부분은 추정된 배송을 결정하기 위해 계산을 수행할 수 있다. 그 후, 시스템(100)은 클라이언트 상호 작용을 위한 웹페이지들을 생성하는 온라인 모듈(600)에 PDD 정보를 송신할 수 있다.
일부 실시예에서, 도 6에 도시된 바와 같이, 시스템(100)의 요소들은 서로 통신하여 추정된 배송 날짜를 생성하거나 이용 가능한 배송 옵션들을 식별할 수 있다. 예를 들어, 외부 프론트-엔드 시스템(103)은 사용자 디바이스(102A 및 102B)(도 1a)로부터 배송 추정에 대한 요청을 수신할 수 있다. 그 후, 요청은, 도 9와 관련하여 더 설명되는 바와 같이, 선택된 풀필먼트 센터 및 추정된 배송 시간을 결정할 수 있는 FO 시스템(113)에 송신될 수 있다. 그 후, FO 시스템(113)은 선택된 풀필먼트 센터 및 추정된 배송 날짜를 풀필먼트 메시징 게이트웨이(115)에 전송할 수 있다. 차례로, 풀필먼트 메시징 게이트웨이(115)는 정보를 온라인 모듈(600)에 전송할 수 있다.
온라인 모듈(600)은 검색 결과 페이지(SRP) 모듈(604), 단일 디스플레이 페이지(SDP) 모듈(606), 주문 관리 모듈(608) 및 쇼핑 카트 모듈(610)을 포함할 수 있다. 모듈들 각각은 소비자들에게 표시하기 위해 상이한 웹페이지들을 생성할 수 있다. 예를 들어, SRP 모듈(604)은, 사용자 디바이스들(102)에 대한 결과 페이지(도 1b와 관련하여 설명된 것과 마찬가지임)를 생성할 수 있고, 반면에 SDP 모듈(606)은 사용자 디바이스들(102)에 대한 단일 제품 웹페이지(도 1c와 관련하여 설명된 것과 마찬가지임)를 생성할 수 있다. 유사하게, 주문 관리 모듈(608)은 주문 페이지(도 1e와 관련하여 설명된 것과 마찬가지임)를 생성하거나 업데이트할 수 있고, 반면에 쇼핑 카트 모듈(610)은 카트 페이지(도 1d와 관련하여 설명된 것과 마찬가지임)를 생성하거나 업데이트할 수 있다. 따라서, 온라인 모듈(600) 각각은, 배송 옵션들과 연관된 마감 시간들, 시스템(100)으로부터 수신된 PDD, 배송 옵션들, 추정된 배송 날짜를 표시하기 위한 웹페이지들에 하이퍼미디어(hypermedia) 요소들을 통합할 수 있다.
또한, 온라인 모듈(600) 각각은 추정된 배송 날짜를 수신할 때 상이한 동작들을 수행할 수 있다. 예를 들어, PDD를 수신한 후에, SRP 모듈(604)은, 캐시 메모리에서 향후 검색을 위해, 유사한 제품들 및/또는 유사한 위치들에 대해 PDD들 및/또는 배송 마감 시간들을 저장할 수 있다. 그 후, SRP 모듈(604)이 동일하거나 유사한 우편 번호 및 제품을 갖는 검색 요청을 - PDD 또는 추정된 배송과 연관된 마감 시간 내에 - 수신할 때, SRP 모듈(604)은 시스템(100)에 질의할 필요가 없다. 대신에, SRP 모듈(604)은 이전 정보에 기초하여 검색 웹페이지를 즉시 업데이트할 수 있다. 반대로, SDP 모듈(606)은, PDD 또는 배송 추정을 수신할 때, 제품 웹페이지들을 업데이트하기 위한 파일들을 생성할 수 있다. 예를 들어, SDP 모듈(606)은, 제품 웹페이지를 업데이트하는 JavaScript 또는 HTML 파일을 생성할 수 있다. 또한, SDP 모듈(606)은 배송 날짜 추정이 만료되었는지를 결정하기 위해 클럭 또는 타이머를 개시할 수 있다. 이러한 실시예들에서, SDP 모듈(606)은, 필요한 경우(예를 들어, 추정된 배송 시간이 만료된 경우) 단일 제품 웹페이지를 업데이트하기 위해 제2 파일을 생성할 수 있다.
또한, 주문 관리 모듈(608)은 시스템(100)으로부터 추정된 배송 날짜 또는 PDD를 수신하는 것에 반응(react)할 수도 있다. 예를 들어, 추정된 배송 날짜를 수신한 것에 응답하여, 주문 관리 모듈(608)은 선택된 풀필먼트 센터에 대한 전자 메시지를 준비할 수 있다. 이 준비 메시지(preparatory message)는, 주문이 수신되면, 사용되도록(deployed) 구성될 수 있다. 이러한 방식으로, 온라인 모듈(600)은 주문과 풀필먼트 센터들로의 송신 사이의 지연을 최소화함으로써 잠재적인 주문들을 준비하고 PDD 충족시키는 것을 용이하게 할 수 있다. 일부 실시예에서, 주문 관리 모듈(608)은 SAT 시스템(101)(도 1a)에 결합될 수 있고, 주문이 수신되자마자, 준비 메시지가 SAT 시스템(101)에 포워딩될 수 있다. 또한, 쇼핑 카트 모듈(610)은 배송 날짜 정보를 사용하여 카트 웹페이지들을 업데이트하기 위한 스크립트를 생성할 수 있다. 예를 들어, 쇼핑 카트 모듈(610)은, 추정된 배송 날짜의 만료 시간에 기초하여, 타이머 및/또는 카운터를 포함하도록 카트 웹페이지를 수정할 수 있다. 대안으로서, 또는 추가적으로, 쇼핑 카트 모듈(610)은 FC 내에서의 제품 위치들에 기초하여 다수의 배송 옵션들에 대한 마감 시간들을 나타내도록 웹사이트들을 수정할 수 있다.
도 7은, 개시된 실시예들에 일치하는, 제품 배송 추정에 대한 요청을 처리하기 위한 예시적인 프로세스(700)의 흐름도이다. 일부 실시예에서, 시스템(300)의 요소들은 프로세스(700)를 수행할 수 있다. 예를 들어, 아래의 설명에 개시된 바와 같이, 스케줄링 시스템(320)은 프로세스(700)를 수행할 수 있다. 이것은 프로세스(700)의 예시적인 예시일 뿐이지만, 다른 실시예들에서, 시스템(100) 또는 시스템(100)의 일부가 프로세스(700)를 수행할 수 있다. 예를 들어, 선적 권한 기술 시스템(101), FO 시스템(113) 및/또는 주문 추적 시스템(111)(도 1a)은 프로세스(700)의 단계들 중 하나 이상을 수행할 수 있다.
단계 702에서, 스케줄링 시스템(320)은 원격 디바이스로부터 제품 정보에 대한 요청을 수신할 수 있다. 예를 들어, 클라이언트 디바이스들(350)의 사용자가 웹페이지를 탐색함에 따라, 클라이언트 디바이스들(350)은 제품 정보에 대한 요청을 스케줄링 시스템(320)에 전송할 수 있다. 또한, 요청은 사용자명, 우편 번호, 및 물리적 위치를 포함할 수 있다. 대안적으로 또는 추가적으로, 스케줄링 시스템(320)은 온라인 리소스들(340)로부터 요청을 수신할 수 있다. 온라인 리소스들(340)은 제품 및 추정된 배송 정보를 요청하여 웹페이지들을 준비하기 위해 스케줄링 시스템(320)과 통신할 수 있다. 또한, 온라인 모듈(600)은 제품 정보, 추정된 배송 및/또는 제품 가용성(product availability)에 대한 요청들을 전송할 수 있다.
단계 704에서, 스케줄링 시스템(320)은 단계 702에서의 요청으로부터 수신된 정보에 기초하여 배송 추정에 대한 요청을 전송할 수 있다. 스케줄링 시스템(320)은 요청을 준비하여 이 요청을 시스템(300)의 다른 요소들 또는 시스템(100)에 전송할 수 있다. 예를 들어, 스케줄링 시스템(320)은, FO 시스템(113)을 위해, 추정된 배송 및 PDD에 대한 요청을 준비할 수 있다. 이러한 실시예들에서, FO 시스템(113)은, 이전에 계산되었던 상이한 제품들에 대한 다수의 배송 날짜를 포함하는 메모리 내 저장소(in-memory storage)를 포함하는 제2 시스템으로서 동작할 수 있다. 대안적으로 또는 추가적으로, FO 시스템(113)은 또한, 제품 위치의 레코드 및 배송 옵션들에 대한 연관된 마감 시간들을 포함할 수 있다. 또한, 스케줄링 시스템(320)은 프론트-엔드 및 백-엔드 부분을 포함할 수 있다. 이러한 실시예들에서, 프론트-엔드는 요청을 수신하고 처리하도록 구성될 수 있고, 반면에 백-엔드는 PDD를 계산하거나 배송 마감 시간들을 추정하도록 구성될 수 있다. FO 시스템(113)과 마찬가지로, 스케줄링 시스템(320)의 백-엔드 부분은, 한 요청이 만료되지 않은 이전 요청과 유사할 때마다, 계산을 최소화하기 위해 상이한 제품들에 대한 다수의 배송 날짜를 포함할 수 있다.
일부 실시예에서, 단계 704의 배송 추정에 대한 요청은 특정 타입의 풀필먼트 센터로 향하게 될 수 있다. 예를 들어, 단계 702에서 요청과 함께 수신된 제품 정보는 신선 제품(예를 들어, 과일, 야채, 다른 유형의 농산물 및/또는 다른 부패하기 쉬운 물품)과 연관될 수 있다. 제품 정보에 대한 요청이 신선 제품과 연관되는 경우, 스케줄링 시스템(320)은 신선 제품에 대한 배송 추정에 대한 요청을 맞춤화하여(tailor) 그것을 특정 풀필먼트 센터에 전송할 수 있다. 예를 들어, 스케줄링 시스템(320)이 클라이언트가 신선 제품에 관한 정보를 요청하고 있다고 결정할 때, 스케줄링 시스템(320)은 고객 지역을 원격 디바이스와 연관시킬 수 있고, 고객 지역을 서비스하는 프레시 풀필먼트 센터(즉, 신선 제품을 보유하는 풀필먼트 센터)를 결정할 수 있다. 그 후, 스케줄링 시스템(320)은, 배송 추정에 대한 요청을, 프레시 풀필먼트 센터에, 송신할 수 있다.
또한, 일부 실시예에서, 단계 704의 배송 추정에 대한 요청은 풀필먼트 센터 위치 또는 용량에 기초하여 특정 풀필먼트 센터로 향하게 될 수 있다. 예를 들어, 일부 요청은 특정 배송 타입과 연관될 수 있다. 특정 배송 타입은, 빠르게 만료될 수 있는 제품들에 대한 "프레시" 배송, 또는 "새벽" 배송을 포함할 수 있다. 프레시 및 새벽 배송은, 사용자가 부패하기 쉬운 제품을 얻거나, 또는 다음 날 새벽까지 물품을 수신하는 것이 허용되는 특정 고객 계정에 대한 서비스일 수 있다. 예를 들어, 사용자에 대해 새벽 배송이 이용 가능할 때, 오전 7시와 같은 미리 규정된 시간까지 배송이 보장될 수 있다. 따라서, 제품 정보에 대한 요청이 새벽 배송 서비스와 연관되는 경우, 스케줄링 시스템(320)은 위치에 기초하여 풀필먼트 센터로 향하게 되는 특정 요청을 생성할 수 있다.
프레시 또는 새벽 배송과 같은 특정 배송 타입은, 비특정(nonspecific) 배송 타입과는 상이한 배송 프로세스 또는 메커니즘을 촉발할 수 있다. 예를 들어, 새벽 배송을 위해, 스케줄링 시스템(320)은, 새벽 마감 시간에 기초하여 시스템(300) 내의 풀필먼트 센터들을 선택할 수 있다. 이러한 실시예들에서, 스케줄링 시스템(320)은, 새벽 마감 시간 전에 풀필먼트 센터로부터 주문된 제품들이 다음 날 새벽까지 배송될 수 있다고 결정할 수 있다. 또한, 스케줄링 시스템(320)은, 각 제품에 대한 특정 마감 시간들을 제품 시간 및 FC 내에서의 그의 위치에 기초하여 결정하도록 추적 시스템을 이용할 수 있다. 그러나, 스케줄링 시스템(320)은 제품의 또는 FC 위치 마감 시간 후에 풀필먼트 센터로부터 주문된 제품들은 새벽까지 배송될 수 없다고 결정할 수 있다. 또한, 시스템(300)의 풀필먼트 센터는 설계된 커버리지 영역(coverage area)을 가질 수 있다. 풀필먼트 센터의 새벽 마감 시간 및 커버리지 영역에 기초하여, 스케줄링 시스템(320)은 단계 704에서 제품 정보에 대한 요청을 특정 풀필먼트 센터로 라우팅할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 풀필먼트 센터와 원격 디바이스 사이의 거리에 기초하여 새벽 배송 요청을 수락할 수 있는 풀필먼트 센터들을 식별할 수 있다. 멀리 떨어져 있는 풀필먼트 센터들은 조기 마감을 가질 수 있지만, 근접해 있는 풀필먼트 센터들은 나중 마감을 가질 수 있다. 따라서, 스케줄링 시스템(320)은, 단계 704에서 새벽까지 주문을 완료할 수 있는 풀필먼트 센터들로만 배송 추정에 대한 요청을 향하게 할 수 있다.
새벽 배송에 대한 서비스 지역 및 마감 시간을 갖는 풀필먼트 센터들을 배치하는 것은, 스케줄링 시스템(320)으로 하여금 새벽 배송 요청을 해결할 때 네트워크 혼잡을 최소화할 수 있게 한다. 요청을 풀필먼트 센터 브로커에 송신하기 전에 결정을 행함으로써, 스케줄링 시스템(320)은, 새벽 배송을 처리할 때, 시간에 매우 민감할 수 있는 통신의 수를 최소화할 수 있다. 또한, FC에서 특정 영역들에 대해 및/또는 특정 제품들에 대해 마감 시간들을 갖는 것은, 전체 FC 워크플로우에 영향을 끼치지 않고서 보다 높은 수준의 선적 커스터마이제이션 또는 미세 조정을 허용한다.
단계 706에서, 스케줄링 시스템(320)은 배송 추정, PDD 또는 배송 마감을 수신할 수 있다. 예를 들어, 스케줄링 시스템(320)은 FO 시스템(113)으로부터 새벽 배송에 대한 마감 시간을 수신할 수 있다. 대안적으로, 스케줄링 시스템(320)은 데이터베이스(380)로부터 또는 FO 시스템(113)으로부터 PDD를 수신할 수 있다. 또한, 스케줄링 시스템(320)이 백-엔드 계산기 및 프론트-엔드 게이트웨이를 갖는 실시예들에서, 스케줄링 시스템(320)의 프론트-엔드 부분은, 백-엔드 부분으로부터 계산된 추정된 배송을 수신할 수 있다. 단계 706에서 수신된 배송 추정 또는 PDD는, PDD를 충족시키거나 유효한 예측된 배송 날짜를 갖기 위해 주문이 수신되어야 하는 때를 지정하는 마감 시간 또는 만료 시간을 포함할 수 있다. 이 마감 시간은, 예를 들어 물품 포지셔닝 시스템(390)(도 3)에 의해 결정되는 것처럼, FC 내에서 이 제품의 위치에 기초하여 결정될 수 있다. 따라서, 추정된 배송은 제품의 배송을 보장하는 데드라인(deadline)이 언제인지를 지정하는, 각 제품에 대한 조건부 만료 또는 마감 시간(conditional expiration or cutoff time)을 포함할 수 있다.
단계 708에서, 스케줄링 시스템(320)은 추정된 배송 날짜 또는 배송 옵션에 대한 마감 시간을 포함하는 전자 메시지를 생성할 수 있다. 전자 메시지는 단계 702에서 질의를 생성한 원격 시스템에 대해 구체적으로 포맷될 수 있다. 예를 들어, 스케줄링 시스템(320)은, 클라이언트 디바이스들이 제품 정보를 요청할 때, 클라이언트 디바이스들(350)에 대해 전자 메시지를 생성할 수 있다. 전자 메시지는 TCP/IP 메시지, SMS 메시지 또는 다른 유사한 전자 통신을 포함할 수 있다. 단계 708에서 생성된 전자 메시지는, 도 16과 관련하여 더 설명된 바와 같이, 제품 정보 및 배송 정보를 갖는 HTML 파일 또는 JavaScript를 포함할 수 있다. 일부 실시예에서, HTML 파일은 제품 정보, 배송 날짜 추정 및 웹페이지를 수정하기 위한 명령어들을 포함할 수 있다. 이러한 실시예들에서, 수정 명령어들은 웹페이지의 타입(웹페이지 타입은 검색 결과 페이지, 단일 상세 페이지, 카트 페이지 또는 주문 페이지 중 하나임)을 식별하는 단계, 및 웹페이지의 타입에 기초하여 웹페이지를 수정하는 단계를 포함할 수 있다.
또한, 단계 708의 전자 메시지는 원격 디바이스에서 웹페이지를 생성하거나 수정하기 위한 명령어들을 지정할 수 있다. 일부 실시예에서, HTML 파일 또는 JavaScript는, 새로운 하나의 웹페이지를 생성하는 것 대신에 웹페이지들을 수정하도록 구성 가능하다. 예를 들어, 클라이언트 디바이스들(350)의 사용자가, 도 1b에 설명된 것과 같은, 제품들을 표시하는 웹페이지를 브라우징할 때, 전자 메시지는, 추정된 배송이 계산됨에 따라 웹페이지들의 업데이트된 버전을 전송하는 것 대신에; 웹페이지를 수정하기 위한 명령어들을 포함할 수 있다. 이러한 실시예들은 네트워크 혼잡을 최소화함으로써 동적 웹페이지들을 생성하는 기술 분야를 개선할 수 있다. 또한, 일부 실시예에서 웹사이트를 수정하기 위한 명령어들은, 제품 정보에 기초하여 프레시, 새벽, 제1 시간 배송, 또는 넌-프레시(non-fresh) 새벽 인디케이터(indicator)들을 포함하도록 제품 아이콘들을 수정하는 것을 포함할 수 있다.
단계 710에서, 스케줄링 시스템(320)은 단계 708의 전자 메시지를 원격 디바이스에 송신할 수 있다. 예를 들어, 클라이언트 디바이스들(350)이 제품 정보를 요청할 때, 단계 708에서 생성된 HTML 또는 JavaScript 파일은 클라이언트 디바이스들(350)에 송신될 수 있다. 새벽 배송 옵션을 이용하는 실시예들에서, 스케줄링 시스템(320)은 단계 710에서 사용자들과 통신하기 위해 특정 명령어들을 수행할 수 있다. 예를 들어, 클라이언트 디바이스들(350)의 사용자가 새벽 배송을 수신하도록 설정될 때, 스케줄링 시스템(320)은 2개의 설정을 활성화할 수 있다. 첫째로, 스케줄링 시스템(320)은 새벽까지 배송될 제품을 식별하고 새벽 배송의 약속, 예를 들어, 오전 7시까지 배송을 발행할 수 있다. 또한, 스케줄링 시스템(320)은 도 12와 관련하여 더 설명된 바와 같이, 새벽 배송 약속을 나타내도록 그래픽 사용자 인터페이스를 수정할 수 있다. 둘째로, 새벽 배송을 이행할 때, 스케줄링 시스템(320)은, 사전 정의된 시간에 푸시 통지를 고객들에게 전송하기 위해, 메시징 서비스(예컨대, 구글 클라우드 메시징(GCM) 또는 애플 푸시 통지 서비스(APNs))를 프로그래밍할 수 있다. 이러한 실시예들에서, 스케줄링 시스템(320)은 배송 정보, 배송된 패키지의 사진 및/또는 배송과 연관된 데이터를 포함하도록 푸시 통지를 프로그래밍할 수 있다. 또한, 스케줄링 시스템(320)은 체크 아웃 동안 설정될 수 있는 사용자 선호도(user preference)에 기초하여 푸시/텍스트 통지를 프로그래밍하여 생성할 수 있다. 예를 들어, 사용자는, 푸시 통지의 시간, 또는 당해 푸시 통지에 추가하여 당해 사용자가 SMS를 원하는지를 선택할 수 있다. 대안의 사용자 선택은, 예를 들어 오전 4시에 배송이 예정되어(scheduled) 있더라도, 패키지가 배송된 직후에 푸시 통지와 SMS의 양쪽을 수신하는 것을 포함할 수 있다.
단계 712에서, 스케줄링 시스템(320)은 수취확인(acknowledgement)을 수신할 수 있다. 예를 들어, 스케줄링 시스템(320)은 전자 메시지가 수신되었다는 수취확인(acknowledgement)을 클라이언트 디바이스들(350)로부터 수신할 수 있다. 또한, 수취확인을 수신하는 것에 기초하여, 스케줄링 시스템(320)은 제품 시간과 연관된 마감 시간에 기초하여 타이머를 개시할 수 있다. 이러한 구성으로, 스케줄링 시스템(320)은 추정된 배송 날짜의 만료를 모니터링하기 위해 이용될 필요가 있는 타이머 수의 리소스를 절약할 수 있다. 추정된 배송 날짜 또는 PDD에 대한 타이머를 즉시 시작하는 대신에, 스케줄링 시스템(320)은, 클라이언트 디바이스들(350)이, 그들이 추정된 배송을 수신하고/하거나 표시했다는 것을 수취확인할 때, 단지 타이머를 개시함으로써 계산 리소스의 활용도(utilization of computational resources)을 최소화할 수 있다.
단계 714에서, 스케줄링 시스템(320)은 제품에 대한 주문이 수신되었는지를 결정할 수 있다. 예를 들어, 스케줄링 시스템(320)은 원격 디바이스와 연관된 고객이 주문을 완료했는지를 결정하기 위해 주문 데이터 스트림들에서 순서대로 주문 요청을 검토할 수 있다. 스케줄링 시스템(320)이 주문이 수신되었다고 결정하면(단계 714: 예), 스케줄링 시스템(320)은 단계 716로 계속 진행하여 풀필먼트 프로세스를 개시할 수 있다. 따라서, 스케줄링 시스템(320)은 제품을 운송하거나 주문을 이행하기 위한 프로세스를 개시하기 위해 명령어들을 하나 이상의 FC들 선적 구역에 전송할 수 있다. 예를 들어, 스케줄링 시스템(320)은 주문 처리를 시작하기 위해 SAT 시스템(101)과 관련될(engage with) 수 있다.
그러나, 스케줄링 시스템(320)이 주문이 수신되지 않았다고 결정하면(단계 714: 아니오), 스케줄링 시스템(320)은 단계 718로 계속 진행할 수 있다. 단계 718에서, 스케줄링 시스템(320)은 시간이 만료되었는지 또는 마감이 도과하였는지를 결정할 수 있다. 예를 들어, 단계 706에서 수신된 배송 추정이 한 시간의 만료 시간과 연관되었다면, 단계 718에서 스케줄링 시스템(320)은 배송 추정이 수신된 후에 한 시간이 경과했는지를 결정할 수 있다. 유사하게, FC에서 제품에 대해 할당된 마감이 오후 4시이면, 단계 718에서 스케줄링 시스템(320)은 오후 4시 이후에 주문이 접수되었는지를 결정할 수 있다. 스케줄링 시스템(320)이 만료 시간이 경과되지 않았다고 결정하면(단계 718: 아니오), 스케줄링 시스템(320)은 단계 714로 되돌아가서, 제품에 대한 주문이 수신되었는지를 모니터링하고, 단계 714와 단계 718 사이의 사이클을 계속할 수 있다. 그러나, 스케줄링 시스템(320)이 만료 시간이 경과되었다고 결정하면(단계 718: 예), 스케줄링 시스템(320)은 단계 720으로 계속 진행하여 업데이트된 배송 추정에 대한 새로운 요청을 전송할 수 있다. 예를 들어, 스케줄링 시스템(320)은 업데이트된 배송 추정에 대한 요청을, 풀필먼트 센터들에, 또는 스케줄링 시스템(320)의 백-엔드 부분에, 전송할 수 있다.
일부 실시예에서, 단계 720에서 업데이트된 PDD 또는 마감 시간 추정을 요청하는 것은, 원격 디바이스 정보에 기초하여 FC들을 식별하는 것, 식별된 FC들로부터 이용 가능한 재고를 요청하는 것, 및 대응하는 이용 가능한 재고와 제품 식별 사이의 매치에 기초하여 식별된 풀필먼트 센터들로부터 FC를 선택하는 것을 포함할 수 있다.
단계 722에서, 스케줄링 시스템(320)은 시스템의 풀필먼트 센터 또는 백-엔드 계산기 부분으로부터 업데이트된 배송 추정을 수신할 수 있다. 예를 들어, 마감 시간이 경과되었거나 PDD 추정이 만료되었기 때문에, 스케줄링 시스템(320)은 단계 706에서 수신된 제1 배송 추정보다 더 늦은 업데이트된 상이한 배송 유형에 대한 마감 시간 또는 PDD를 수신할 수 있다. 최초 배송 추정이 "월요일 20:00"인 경우, 제2 배송 추정은 "화요일 10:00"일 수 있다. 가장 이른 마감 시간이 "새벽 배송에 대해 오후 4시"였다면, 나중 마감 시간은 "점심 전 배송에 대해 오후 8시"일 수 있다. 이 제2 배송 또는 마감은 만료 시간도 포함할 수 있다. 그렇기는 하지만, 어떤 상황에서는, 단계 722에서 수신된 제2 배송 추정은 동일할 수도 있으나 업데이트된 만료 시간을 포함한다.
일부 실시예에서, 단계 720 및 722는 제1 배송 추정에 대한 추정 만료(estimate expiration)가 경과되었다고 결정하고, 제2 배송 날짜 추정에 대한 제3 요청을 (FO 시스템(113)과 같은 제2 시스템에) 제공하고, (제2 시스템으로부터) 제2 배송 날짜 추정을 수신하고, 및 제1 배송 날짜 추정을 제2 배송 날짜 추정으로 대체함으로써 웹페이지를 수정하기 위한 명령어들을 갖는 제2 전자 메시지를 생성하는 동작들을 수행함으로써 실행될 수 있다.
단계 724에서, 단계 712에서와 마찬가지로, 스케줄링 시스템(320)은 수취확인을 수신하고 새로운 만료 시간에 기초하여 타이머를 개시할 수 있다. 또한, 스케줄링 시스템(320)은, 주문, 특정 제품들에 대한 마감 시간들 및 배송 날짜 추정을 모니터링하여 풀필먼트 프로세스를 개시하거나 또는 만료가 경과될 때 배송 추정에 대한 업데이트를 다시 요청하기 위해 단계 714로 되돌아갈 수 있다.
도 8은, 개시된 실시예들에 일치하는, 제3 자에 의해 이행되는(fulfill) 제품들의 추정 요청을 처리하기 위한 예시적인 프로세스(800)의 흐름도이다. 일부 실시예에서, 시스템(300)의 요소들은 프로세스(1000)를 수행할 수 있다. 예를 들어, 이하의 단계들 설명에 개시된 바와 같이, 스케줄링 시스템(320)은 프로세스(800)를 수행할 수 있다. 대안적으로 또는 추가적으로, 제3 자 시스템(360)은 프로세스(800) 또는 프로세스(800)의 일부를 수행할 수 있다. 또한, 다른 실시예들에서, 시스템(100) 또는 시스템(100)의 일부는 프로세스(800)를 수행할 수 있다. 예를 들어, FO 시스템(113) 및 3PL 시스템(121)은 프로세스(800)를 수행할 수 있다.
프로세스(800)의 단계 802에서, 스케줄링 시스템(320)은 제품, 고객 및 타임 스탬프 정보를 포함하는 제품 정보에 대한 요청을 수신할 수 있다. 예를 들어, 스케줄링 시스템(320)은 클라이언트 디바이스들(350)로부터 제품 정보에 대한 요청을 수신할 수 있다. 요청은 또한, 우편 번호와 같은 고객 정보, 및 요청이 생성되었을 때의 타임 스탬프를 포함할 수 있다.
단계 804에서, 스케줄링 시스템(320)은 제품이 제3 자에 의해 이행될지를 결정할 수 있다. 예를 들어, 스케줄링 시스템(320)은 제품이 로컬 재고(local inventory)에서 이용 가능하지 않고 제3 자에 의해 이행될 필요가 있다고 결정할 수 있다. 대안적으로 스케줄링 시스템(320)은 재고 질의를 요구하지 않고, 디폴트로, 제3 자에 의해 제품이 통상적으로 이행되는 것으로 결정할 수 있다.
스케줄링 시스템(320)이, 제3 자에 의해 제품이 이행되지 않을 것으로 결정하면(단계 804: 아니오), 스케줄링 시스템(320)은 단계 806로 계속 진행하여 선택된 풀필먼트 센터를 결정하는 프로세스를 개시할 수 있다. 예를 들어, 도 9와 연관하여 더 설명하는 것처럼, 고객의 우편 번호, 제품 가용성 및 풀필먼트 센터 용량에 기초하여, 스케줄링 시스템(320)은 주문을 완료할 우선 순위를 갖는 풀필먼트 센터를 식별할 수 있다. 단계 808에서, 스케줄링 시스템(320)은 선택된 FC에 기초하여 추정된 배송 및 마감 시간을 전송할 수 있다. 예를 들어, 일단 단계 806에서 FC가 식별되면, 스케줄링 시스템(320)은 FC 내에서의 제품 위치를 요청하고, 배송 날짜 추정을 결정하고 그것을 고객들에게 표시하기 위해 클라이언트 디바이스들(350)에 전송할 수 있다.
그러나, 스케줄링 시스템(320)이, 제3 자에 의해 제품이 이행될 것으로 결정하면(단계 804: 예), 스케줄링 시스템(320)은 단계 810로 계속 진행하여 제3 자로부터의 추정 배송 또는 PDD에 대한 요청을 준비할 수 있다. 예를 들어, 단계 810에서, 스케줄링 시스템(320)은 PDD에 대한 요청을 준비하여 제3 자 시스템(360) 또는 3PL 시스템(121)에 전송할 수 있다. 제3 자에게 전송된 요청은 제품 정보 및 고객 정보(예를 들어, 고객의 우편 번호)를 포함할 수 있다.
단계 812에서, 스케줄링 시스템(320)은 단계 802에서 요청된 제품에 대한 주문을 이행할 수 있는 제3 자로부터 추정된 배송 날짜를 수신할 수 있다. 예를 들어, 스케줄링 시스템(320)은 제3 자 시스템(360) 중 하나로부터 PDD 및 배송 추정 정보를 수신할 수 있다. 또한, 단계 812에서 스케줄링 시스템(320)은 제3 자 시설 내에서 요청된 물품의 포지셔닝에 의존하는 마감 시간을 수신할 수 있다.
단계 814에서, 스케줄링 시스템(320)은, 추정된 배송 날짜 및/또는 시간을 포함하여, 웹페이지들을 업데이트하거나 생성하기 위해 JavaScript 또는 HTML 파일을 포함하는 전자 메시지를 준비할 수 있다. 그 후, 전자 메시지는 단계 802에서의 제품 정보의 요청자에게 제출될 수 있다.
프로세스(800)의 단계들은, 스케줄링 시스템(320)의 메모리 디바이스에 저장될 수 있고, 데이터베이스(예컨대, 데이터베이스들(180))를 참조함(consulting)으로써, 제품의 배송이 제3 자에 의해 이행될(fulfilled) 것인지를 결정하는 명령어들을 포함할 수 있다. 스케줄링 시스템(320)은 또한, 제품의 배송이 제3 자에 의해 이행될 것이라는 결정에 기초하여, 배송 날짜 추정에 대한 요청을 제3 자와 연관된 시스템에 제공할 수 있다. 또한, 제품의 배송이 제3 자에 의해 이행되지 않을 것이라는 결정에 기초하여, 스케줄링 시스템(320)은 복수의 배송 날짜 추정을 메모리에 사전 저장한 시스템에 배송 날짜 추정에 대한 요청을 제공할 수 있다.
도 9는, 개시된 실시예들에 일치하는, 소매업자(retail) 웹사이트 수정 프로세스(900)의 흐름도이다. 일부 실시예에서, 시스템(300)의 요소들은 프로세스(900)를 수행할 수 있다. 예를 들어, 이하의 단계들 설명에 개시된 바와 같이, 스케줄링 시스템(320)은 프로세스(900)를 수행할 수 있다. 그러나, 다른 실시예에서 시스템(100) 또는 시스템(100)의 일부는 프로세스(900)를 수행할 수 있다. 예를 들어, FO 시스템(113) 및/또는 FC Auth(123)(도 1a)는 프로세스(900)의 단계들 중 하나 이상을 수행할 수 있다.
단계 902에서, 스케줄링 시스템(320)은 클라이언트 디바이스로부터 제품 정보에 대한 요청을 수신할 수 있다. 요청은 제품, 시간 및 우편 번호 정보를 포함할 수 있다. 요청 시 정보에 기초하여, 스케줄링 시스템(320)은 클라이언트의 디바이스 ID 및 제품에 기초하여 적어도 하나의 풀필먼트 센터와 연관짓도록 단계 904에서 관련(relevant) 지리학적 지역을 식별할 수 있다. 예를 들어, 스케줄링 시스템(320)은 고객의 우편 번호에 기초하여 제품에 대한 잠재적인 주문을 이행할 수 있는 지역들을 식별할 수 있다. 대안으로서 또는 추가적으로, 스케줄링 시스템(320)은, 새벽 배송과 같이 특정 배송 옵션 하에서의 주문을 이행할 수 있는 FC들을 식별할 수 있다.
단계 906에서, 스케줄링 시스템(320)은 FC들 내에서의 위치들 및 제품 위치들을 나타내는 제1 데이터 구조를 검색할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 단계 904에서 식별된 FC 내에서 요청된 제품들의 특정 포지션 또는 위치의 정보를 포함하는 데이터 구조를 검색하기 위해 FC 정보를 포함하는 서버 또는 데이터베이스에 문의할 수 있다. 데이터 구조는 매트릭스들, 어레이들, 테이블들, 또는 맵들을 포함할 수 있다. 또한 데이터 구조는 멀티-타입 변수들의 크기 조정가능한(resizable) 어레이들로 구현될 수 있다(언어에 따라, 개별 요소들은 모두가 동일 유형이 되도록 강제되거나 또는 거의 임의의 유형이 될 수 있음). 또한, 데이터 구조는 노드들(nodes) - 각각의 노드는 그 자체가 값을 가지며, 링크된 리스트(linked lists)에서 다음 노드를 가리킴 - 이라 불리는, 임의의 유형의 데이터 요소들의 리니어 집합을 갖는 링크된 리스트들을 포함할 수 있다. 데이터 구조는 또한, 레코드(records)(튜플(tuples) 또는 구조체(structs)라고도 부름), 유니언(unions)(다수의 허용된 원시 자료형(primitive types) 중 어느 것이 그 인스턴스에 저장될 수 있는지를 지정하는 데이터 구조), 또는 태그드 유니언(tagged union)(변종(variant)이라고도 부름)을 포함할 수 있다. 또한, 데이터 구조는 오브젝트, 택소노미(taxonomy)로부터 등급(class)의 인-메모리 인스턴스(instance)를 포함할 수 있다.
단계 908에서, 스케줄링 시스템(320)은, FC들 위치들에 대한 마감 시간들을 나타낼 수 있는, 하나 이상의 제2 데이터 구조를 검색할 수 있다. 제2 데이터 구조는 제1 데이터 구조처럼 구현될 수 있다. 즉, 제2 데이터 구조 또한, 예를 들어, 어레이, 매트릭스, 리스트 또는 유니언으로 구현될 수 있다. 그러나, 제2 데이터 구조는, 제1 데이터 구조와는 달리, FC에서 제품에 관한 정보를 갖는 것이 아니라, FC에서 위치들에 기초하여 배송들에 대한 마감 시간들에 관한 정보를 가질 수 있다. 예를 들어, 도 14와 관련하여 더 설명하는 바와 같이, FC들은 가상의 지역 - 각각의 지역은 소정의 배송 방법에 대해 그 자신의 마감 시간을 갖음 - 들로 분할될 수 있다. 예를 들어, FC들은 새벽 배송들에 대해 상이한 마감 시간들을 갖는 다수의 구역들로 분할될 수 있다. 단계 908의 제2 데이터 구조가 이 정보를 지정할 수 있다.
단계 910에서, 스케줄링 시스템(320)은 제1 데이터 구조에 기초하여 제품의 위치들을 식별할 수 있다. 예를 들어, 스케줄링 시스템(320)은 요청된 위치와 매칭되는 제1 데이터 구조에서의 엔트리들을 검색함으로써 요청된 제품의 위치를 결정할 수 있다. 단계 912에서, 스케줄링 시스템(320)은 제품 위치를 제2 데이터 구조에 저장된 마감 시간들과 연관지음으로써 제품들의 위치에 기초하여 마감 시간들을 결정할 수 있다. 예를 들어, 스케줄링 시스템(320)은 당해 위치를 제2 데이터 구조에서의 마감 시간과 연관지음으로써 제1 데이터 구조로부터 검색된 위치에 기초하여 제1 시간 배송 마감 시간들을 결정할 수 있다.
단계 914에서, 스케줄링 시스템(320)은 단계 902의 요청이 특정 배송에 대한 마감 시간 내에 수신되었는지를 결정할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 제2 데이터 구조로부터 검색된 마감 시간과 수신된 주문의 타임 스탬프를 비교함으로써 제1 시간 배송에 대한 마감 시간 전에 제품 요청이 수신되었는지를 결정할 수 있다.
스케줄링 시스템(320)이 마감 시간 전에 요청이 전달되었다고 결정하면(단계 914: 예), 스케줄링 시스템(320)은 단계 916으로 계속 진행한다. 단계 916에서, 스케줄링 시스템(320)은 마감 전까지 남아있는 시간을 계산할 수 있다. 예를 들어, 마감 시간이 오후 4시이고 오후 2시에 요청이 수신되었다면, 스케줄링 시스템(320)은 2시간의 마감 전까지 남아있는 시간을 계산할 수 있다. 또한, 스케줄링 시스템(320)은 단계 918로 계속 진행하여 제1 시간 배송에 대한 상호작용 아이콘을 생성할 수 있다. 단계 918에서 스케줄링 시스템(320)은 또한, 웹사이트에서 마감 전까지 남아있는 시간을 포함하도록 명령어들을 생성할 수 있다. 예를 들어, 클라이언트 디바이스들에 의해 요청이 생성되었을 경우, 스케줄링 시스템(320)은, 풀필먼트 센터 및 제품에 대한 연관된 물리적 위치를 결정하고 웹페이지들을 표시하기 위한 시스템에 물리적 위치와 연관된 마감 시간들을 전송할 수 있다. 그러므로, 일부 실시예에서, 각각의 마감 시간은 연관된 물리적 위치들 각각에 대해 계산된 거리의 각 하나에 대해 반비례(inversely proportional)할 수 있다.
그러나, 스케줄링 시스템(320)이 마감 시간 전까지 요청이 수신되지 않았다고 결정한다면(단계 914: 아니오), 스케줄링 시스템(320)은 단계 920으로 계속 진행한다. 단계 920에서, 스케줄링 시스템(320)은 표준 배송에 대해 추정된 배송을 계산할 수 있다. 예를 들어, PDD 결정 프로세스를 이용하여, 도 7과 관련하여 더 설명하는 바와 같이, 스케줄링 시스템(320)은 표준 선적 하의 제품에 대해 추정된 배송을 계산할 수 있다. 또한, 스케줄링 시스템(320)은 또한, 단계 922에서 추정된 배송을 나타내는 웹사이트를 수정하도록 명령어들을 생성할 수 있다. 예를 들어, 스케줄링 시스템(320)은 이용 가능한 배송 옵션들, 각 마감 시간들, 및 배송 유형에 대한 개별 아이콘들을 표시하도록 HTML 또는 JavaScript를 생성할 수 있다.
도 10은, 개시된 실시예들에 일치하는, 예시적인 제품 위치 식별 프로세스(1000)의 프로세스 흐름도이다. 프로세스(1000)는 시스템(300) 또는 시스템(300)의 일부에 의해 수행될 수 있다. 예를 들어, 이하에 설명되는 바와 같이, 스케줄링 시스템(320)은 프로세스(1000)를 수행할 수 있다. 그러나, 이것은 프로세스(1000)의 설명을 위한 예시일 뿐이며, 다른 실시예에서 시스템(100) 또는 시스템(100)의 일부가 프로세스(1000)를 수행할 수 있다. 예를 들어, 선적 권한 기술 시스템(101), FO 시스템(113) 및/또는 주문 추적 시스템(111)(도 1a)이 프로세스(1000)의 단계들 중 하나 이상을 수행할 수 있다.
단계 1002에서, 스케줄링 시스템(320)은 스캔 또는 센서 이벤트를 수신할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 제품이 선반에 놓여졌거나 선반으로부터 제거되었는지를 나타내는, 센서들(217A-217C)(도 2)로부터의 신호를 수신할 수 있다. 대안으로서 또는 추가적으로, 스케줄링 시스템(320)은, 제품 포지셔닝 시스템을 트리거링 하는 피킹 구역에서 제품이 스캔되었다고 하는 통지를 수신할 수 있다. 또한, 단계 1002에서 스케줄링 시스템(320)은, FC 내에서 제품이 이전되었음(relocated)을 나타내는, 물품 포지셔닝 시스템(390)(도 3)으로부터의 전자 메시지를 수신할 수 있다. 전자 메시지는 스캔 이벤트 및/또는 센서 이벤트와 함께 생성될 수 있다.
단계 1004에서, 스케줄링 시스템(320)은 스캔 또는 센서 이벤트가 제품의 선반배치와 연관되는지를 결정할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 선반에 제품이 놓여졌기 때문에 또는 피킹 구역에 새로운 팔레트가 놓여졌기 때문에 센서가 트리거되었는지를 결정할 수 있다. 스케줄링 시스템(320)이 스캔 또는 센서 이벤트가 제품을 선반에 놓는 것과 연관된다고 결정하면(단계 1004: 예), 스케줄링 시스템(320)은 단계 1006으로 계속 진행하여, 스케줄링 시스템(320)은 포장 센터(packing center)까지의 제품의 거리를 계산할 수 있다. 단계 1006에서 계산된 거리는 물리적 거리(제품의 위치로부터 포장 센터까지의 미터 단위 거리)일 수 있다. 그러나, 계산된 거리 또는 거리 스코어는 길이와는 상이한 단위로 측정된 등가의 거리일 수 있다. 예를 들어, 계산된 거리는 시간으로 표현될 수도 있으며, 단계 1006에서 스케줄링 시스템(320)은 제품으로부터 포장 센터까지 분(minute)으로 거리를 계산할 수도 있다. 대안으로서 또는 추가적으로, 제품과 포장 센터 사이의 거리는, 예를 들어 물리적 거리와 이동 시간을 조합한 단위를 포함하는 임의의 단위로 결정될 수 있다. 제품과 포장 센터 사이의 거리를 계산할 경우에, 스케줄링 시스템(320)은, 다른 팩터들 중에서, 제품이 위치되어 있는 층, 엘리베이터 또는 컨베이어 벨트의 이용 가능성, 제품의 위치에서의 종업원의 수를 고려할 수 있다.
단계 1008에서, 스케줄링 시스템(320)은 거리에 기초하여 제1 시간 배송에 대한 마감을 추정할 수 있다. 예를 들어, 계산된 거리가 길 경우, 당해 거리는 제품이 포장 센터로부터 멀리 떨어져 있거나, 또는 선반으로부터 포장 센터까지 제품을 갖고 가기 곤란함을 나타낼 수 있다(예컨대, 충분한 종업원이 없으며, 포장 센터까지 제품을 갖고 오는 데 지연이 있음). 따라서, 제1 시간 배송에 대한 마감 시간은, 포장 센터까지 제품이 제시간에 전달되는 것을 보장하기 위해 조기가 되어야할지도 모른다. 다르게는, 계산된 거리가 짧다면, 당해 거리는 제품이 포장 센터에 가까이 있음을 나타내며, FC는 제1 시간 배송들을 위해 나중까지 기다릴 여유가 있을 수 있다(즉, 늦은 마감 시간을 갖음). FC에서의 위치 또는 각 제품에 대한 마감 시간들을 결정하기 위해 포장 센터까지의 거리를 이용하는 것은, 보다 길고 나중의 마감들에 대한 제1 시간 배송들을 제공하는 것을 가능하게 하는 보다 높은 수준의 특별함을 허용한다. 따라서, 포장 센터들에 대한 거리의 결정은 선적을 위한 워크플로우의 생성을 촉진시키고 컴퓨터화된 스케줄링을 향상시킨다.
단계 1010에서, 스케줄링 시스템(320)은 데이터베이스 및/또는 데이터 구조를 업데이트할 수 있다. 예를 들어, 스케줄링 시스템(320)은 단계 1008에서 식별된 위치에 대해 계산된 마감을 저장하도록 데이터베이스(380)를 업데이트할 수 있다. 또한, 스케줄링 시스템(320)은 단계 1006 내지 1008에서 수신된 정보에 기초하여 재고 및 제품 위치들의 데이터베이스를 업데이트할 수 있다. 일부 실시예에서, 스케줄링 시스템(320)은 FC 내에서 제품 위치들 및 FC 가상 구역들을 포함하는 단계 906의 제1 데이터 구조를 업데이트할 수 있다.
단계 1004에서 스케줄링 시스템(320)이 스캔 또는 센서 이벤트가 제품을 선반에 놓는 것과 연관되지 않는다고 결정하면(단계 1004: 아니오), 스케줄링 시스템(320)은 당해 이벤트가 제거된 물품에 의해 트리거되었다고 추론하고 단계 1012로 계속 진행한다.
단계 1012에서, 스케줄링 시스템(320)은 동일 선반에 추가적인 물품들이 남아있는지 결정할 수 있다. 예를 들어, 센서 데이터 또는 화상 인식 기술들을 이용하여, 스케줄링 시스템(320)은 선반에 동일 제품의 추가적인 물품들이 남아있는지를 결정할 수 있다. 대안으로서 또는 추가적으로, 단계 1012에서 스케줄링 시스템(320)은 FC 서버로부터 재고 정보를 검색하여 선반에 추가적인 요소들이 남아있는지를 결정할 수 있다. 또한, 스케줄링 시스템(320)은 무선 BLE 센서들, 중량 센서들, 및/또는 RFID 태그들과 같은 센서들을 이용하여 선반에 추가적인 물품들이 남아있는지를 결정할 수 있다.
스케줄링 시스템(320)이 동일 선반에 추가적인 물품들이 남아있지 않다고 결정하면(단계 1012: 아니오), 스케줄링 시스템(320)은 단계 1014로 계속 진행하여 FC 재고를 업데이트할 수 있다. 일부 실시예에서, FC 재고를 업데이트하는 것은 제품과 연관된 제1 시간 배송에 대한 마감 시간을 재결정하는 것을 포함할 수 있다. 마감 시간 결정에 이용되었던 위치에서 더 이상 제품이 입수 가능하지 않기 때문에, 단계 1014에서 스케줄링 시스템(1014)은 (이전의 저장 위치에서 제품이 더 이상 입수 가능하지 않음을 나타내도록) 제1 데이터 구조를 업데이트하고, (제품이 이전에 연산된 마감 시간과 더 이상 연관되지 않음을 나타내도록) 제2 데이터 구조를 업데이트 할 수 있다.
그러나, 스케줄링 시스템(320)이 동일 선반에 추가적인 물품들이 남아있다고 결정하면(단계 1012: 예), 스케줄링 시스템(320)은 단계 1016으로 계속 진행할 수 있다.
단계 1016에서, 스케줄링 시스템(320)은 포장 타이머를 초기화할 수 있다. 선반들과 포장 센터들 사이의 이동 시간들에 관한 보다 정확한 정보를 가지려는 목적으로, 스케줄링 시스템(320)은 선반으로부터 제품이 일단 제거되면 타이머를 초기화할 수 있다. 이 정보는 단계 1008에서 설명된 거리를 결정하는 예측 알고리즘을 트레이닝하기 위해 이용될 수 있다. 예를 들어, 선반들과 포장 센터들 사이의 시간들은, 선반들과 포장 센터들 사이의 이동 시간들을 추정하기 위해 그리고, 차례로, 마감 시간들을 미세 조정하기 위해 이용되는 거리를 결정하거나 조정하도록 랜덤 포레스트(Random Forest) 또는 비선형회귀(Non-Linear Regressions)를 이용하는 머신-러닝 알고리즘을 트레이닝 하기 위해 이용될 수 있다.
단계 1018에서, 스케줄링 시스템(320)은 포장 센터에서 스캔 이벤트를 수신할 수 있다. 이것은, 단계 1002에서 이벤트를 트리거한 제품이 포장 센터에서 배송될 때 일어날 수 있다. 따라서, 단계 1020에서, 스케줄링 시스템(320)은 타이머를 정지하고 경과된 시간을 저장할 수 있다. 이 경과된 시간은 선반과 포장 센터 사이의 실제 이동 시간이며, 위치 및 제품에 대한 마감 시간을 미세 조정하기 위해 이용될 수 있다.
일부 실시예에서, 단계 1020에서 타이머를 정지시킨 후, 스케줄링 시스템(320)은 단계 1010으로 돌아와 데이터베이스 및/또는 데이터 구조를 업데이트할 수 있다. 예를 들어, 스케줄링 시스템(320)은 측정된 이동 시간에 기초하여 지역과 연관된 마감 시간을 업데이트하도록 제2 데이터 구조를 업데이트할 수 있다.
도 11은, 개시된 실시예들에 일치하는, 배치 가이드 생성 프로세스(1100)의 흐름도이다. 일부 실시예에서, 시스템(300)의 요소들은 프로세스(1100)를 수행할 수 있다. 예를 들어, 이하의 단계들 설명에 개시된 바와 같이, 스케줄링 시스템(320)은 프로세스(1100)를 수행할 수 있다. 그러나, 다른 실시예에서 시스템(100) 또는 시스템(100)의 일부가 프로세스(1100)를 수행할 수 있다. 예를 들어, FO 시스템(113) 및/또는 FC Auth(123)(도 1a)는 프로세스(1100)의 단계들 중 하나 이상을 수행할 수 있다.
단계 1102에서, 스케줄링 시스템(320)은 FC에 의한 제1 시간 배송들의 레코드들을 검색할 수 있다. 예를 들어, 스케줄링 시스템(320)은 FC에 의한 제1 시간 배송들의 레코드들을 취득하기 위해 데이터베이스(380)에 문의할 수 있다. 레코드들은 주문 시간, 물품 설명, 포장 센터까지의 시간, 및 성공 또는 비성공의 제1 시간 배송을 포함할 수 있다.
단계 1104에서, 스케줄링 시스템(320)은 FC에 의한 제1 시간 배송들의 통계적 분석을 수행할 수 있다. 통계적 분석은, 데이터와 기초 모집단(underlying population), 평균 분석, 예측 분석, 및/또는 이벤트 빈도 분석 사이의 관계들을 요약하는 모델을 포함할 수 있다. 예를 들어, 스케줄링 시스템(320)은 제1 시간 배송에 대해 가장 흔히 주문되는 제품들 또는 비성공의 제1 시간 배송들을 보통 갖는 제품들을 결정할 수 있다. 또한, 통계적 분석은 선반으로부터 포장 센터까지 가는데 어떤 제품들이 보다 오래 걸리는지 결정할 수 있다.
단계 1106에서, 스케줄링 시스템(320)은 성공 및 비성공의 제1 시간 배송들의 수에 기초하여 제품들을 분류할 수 있다. 예를 들어, 단계 1104의 통계적 분석에 기초하여, 스케줄링 시스템(320)은 제1 시간 배송에 대해 보다 빈번히 요청되는 제품을 식별할 수 있다. 또한, 통계적 분석에 기초하여, 스케줄링 시스템(320)은 제1 시간 배송에 대해 빈번히 요청되지만 마감을 충족시킬 수 없기 때문에 성공적으로 배달되지 않는 제품들을 식별할 수 있다.
단계 1108에서, 스케줄링 시스템(320)은 우선순위가 매겨진(prioritized) 제품들 및 제2 우선순위의 제품들을 식별할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 장래의 비성공의 배송들을 방지하기 위해, 다수의 비성공의 배송들과 연관된 단계 1106의 카테고리들이 우선순위 매김되어야 한다고 결정할 수 있다. 대안으로서 또는 추가적으로, 스케줄링 시스템(320)은 제1 시간 배송에 대해 빈번히 요청되는 제품들을 제1 시간 배송들에 대해 FC에서 워크플로우를 촉진시키도록 우선순위 매김된 제품들로서 식별할 수 있다. 이에 반해, 제1 시간 배송에 대해 빈번히 요청되지 않는 제품들은 낮은 우선순위로서 분류될 수 있다.
단계 1110에서, 스케줄링 시스템(320)은 우선순위 매김을 이용하여 선반배치(shelving) 또는 배치(placement) 가이드들을 생성한다. 예를 들어, 스케줄링 시스템(320)은, 낮은 우선순위로 분류된 제품들은 높은 우선순위로 분류된 제품들보다 포장 센터로부터 보다 멀리 떨어져 배치될 수 있는 선반배치 가이드를 생성할 수 있다. 선반배치 또는 배치 가이드는, 우선순위에 기초하여 FC에서 제품들이 수납되어야 하는 위치의 선택을 가이드하기 위해 단계 1006(도 10)의 계산된 거리를 이용할 수 있다. 따라서, 일부 실시예에서, 스케줄링 시스템(320)은 포장 센터와의 FC의 위치들의 거리를 결정하기 위해 제1 및 제2 데이터 구조를 검색할 수 있다. 예를 들어, 제1 데이터 구조로부터 스케줄링 시스템(320)은 FC 내에서 제품들의 위치를 결정할 수 있다. 이어서, 제2 데이터 구조로부터 스케줄링 시스템(320)은 위치들로부터 포장 센터까지 거리를 결정할 수 있다. 제1 및 제2 데이터 구조로부터의 상관 정보로부터, 스케줄링 시스템은 포장 센터까지 FC 위치들의 거리들을 결정할 수 있다. 이 정보에 의해, 스케줄링 시스템(320)은 FC의 작업자들을 위한 선반배치 또는 배치 가이드를 생성할 수 있다. 이 가이드는 허브 구역(213)(도 2)에서 작업자 및/또는 기계들의 디바이스들에 표시되도록 구성가능할 수 있다.
도 12는, 개시된 실시예들에 일치하는, 거리 스코어 계산 프로세스(1200)의 흐름도이다. 일부 실시예에서, 시스템(300)의 요소들은 프로세스(1200)를 수행할 수 있다. 예를 들어, 이하에 설명된 바와 같이, 스케줄링 시스템(320)은 프로세스(1200)를 수행할 수 있다. 그러나, 다른 실시예들에서 시스템(100) 또는 시스템(100)의 일부가 프로세스(1200)를 수행할 수 있다. 예를 들어, FO 시스템(113) 및/또는 FC Auth(123)(도 1a)는 프로세스(1200)의 단계들 중 하나 이상을 수행할 수 있다.
일부 실시예에서, 프로세스(1200)는, FC의 특정 위치들로부터 포장 센터로 패키지들을 수송하기 위한 이동 시간(travel time), 물리적 거리, 및/또는 전체 요구되는 시간을 나타내는 거리 스코어를 시스템(100 또는 300)이 결정하도록 허용할 수 있다.
단계 1202에서, 스케줄링 시스템(320)은 포장 센터까지의 물리적 거리에 기초하여 거리 스코어를 할당함으로써 프로세스(1200)를 초기화할 수 있다. 예를 들어, 현재의 FC는 다수의 층과 대규모의 레이아웃을 보통 갖는다. 특히 인구밀도가 높은 지역에 위치된 FC들은 FC 내에서 수개의 위치들 및 레벨에 다수의 제품들을 분산시킬 수 있다. 따라서, 단계 1202에서 스케줄링 시스템(320)은 FC에 있어서 포장 센터까지의 물리적 거리에 기초하여 거리 스코어를 할당할 수 있다. 예를 들어, 스케줄링 시스템(320)은 1 스코어 포인트가 포장 센터까지 물리적 거리 사이의 거리의 1 미터를 나타내는 스코어를 할당할 수 있다. 대안적으로 또는 추가적으로, 스케줄링 시스템(320)은, 물리적 위치가 포장 센터와 상이한 레벨(level)일 경우에, 거리 스코어에 다수의 포인트(예컨대, 10 포인트)를 할당할 수 있다. 전반적으로, 물리적 거리가 길다면, 스케줄링 시스템(320)은 FC에서의 위치로부터 포장 지역까지 제품을 수송하는 데 오랜 시간이 걸릴 것임을 나타내는 높은 거리 스코어를 할당할 수 있다. 그러나, 물리적 거리가 짧다면(예컨대, 제품이 포장 센터 가까운 위치에 있음), 스케줄링 시스템(320)은 FC에서의 위치로부터 포장 지역까지 제품을 수송하는 데 오랜 시간이 걸리지 않음을 나타내는 낮은 거리 스코어를 할당할 수 있다.
단계 1204에서, 스케줄링 시스템(320)은 이용 가능한 수송 방법에 기초하여 추정된 거리 스코어를 수정할 수 있다. 예를 들어, 제품의 위치와 포장 센터 사이에 컨베이어 벨트들이 이용 가능하다면, 포장 센터로부터 그 위치가 멀리 떨어져 있더라도, 그럼에도 불구하고 제품 또는 물품이 컨베이어 벨트를 통해 포장 센터까지 신속히 도달할 수 있음을 나타내는 보다 낮은 스코어로 스코어가 감소될 수 있다. 예를 들어, 단계 1202에서 할당된 거리 스코어는 수송 시스템의 이용 가능성을 고려하도록 1/2x, 1/3x, 및/또는 5/6x가 곱해질 수 있다. 그러나, 제품이 작업자에 의해서만 수송될 수 있다면, 거리 스코어는 수송 방법이 지연(delay)을 초래할 수 있음을 나타내도록 증가될 수 있다. 예를 들어, 단계 1202에서 할당된 거리 스코어는 수송 시스템의 이용 불가능성을 고려하여 2x, 3x, 및/또는 5x가 곱해질 수 있다. 유사하게, 스케줄링 시스템(320)은, 단계 1204에서 추정된 거리 스코어를 수정할 때, 엘리베이터들, 자동화된 패키지들 배송의 이용 가능성, 또는 수송 방법 체증(congestion)을 포함할 수 있다.
단계 1206에서, 스케줄링 시스템(320)은 FC의 부분들에서의 인원 이용 가능성에 기초하여 추정된 거리 스코어를 수정할 수 있다. 제품의 위치에서의 인원 이용 가능성에 의해 제품들의 배송이 제한될 수 있다. 위치와 포장 센터 사이의 거리 또는 수송 속도에 관계없이, 제품을 선택하고 배분하기 위한 이용 가능한 작업자가 없다면, 제품 또는 물품을 포장 센터까지 수송하기 위해 요구되는 시간이 길 수 있다. 따라서, 단계 1206에서 스케줄링 시스템(320)은 인원 이용 가능성에 기초하여 거리 스코어를 수정할 수 있다. 예를 들어, 스케줄링 시스템(320)은 소정 구역에서 그리고 소정 시간에 종업원의 이용 가능성을 결정하도록 LMB(115)(도 1) 레코드들을 검토할 수 있다. 스케줄링 시스템(320)이 제품의 구역에서 소수의 종업원만이 이용 가능하다고 결정한다면, 제품이 포장 센터까지 도달하는 데 오래 시간이 걸릴 가능성이 높기 때문에 스케줄링 시스템(320)은 거리 스코어를 증가시킬 수 있다. 일부 실시예에서, 스케줄링 시스템(320)은 작업자의 수에 역인 포인트들의 스코어 넘버를 증가시킬 수 있다. 예를 들어, 스케줄링 시스템(320)은 FC에서 10명의 종업원 미만 각 종업원에 대해 10 포인트만큼 스코어를 증가시킬 수 있다. 그러나, 스케줄링 시스템(320)이 제품의 구역에서 다수의 종업원들이 이용 가능하다고 결정한다면, 스케줄링 시스템(320)은 거리 스코어를 감소시킬 수 있다. 예를 들어, 스케줄링 시스템(320)은 FC에서 20명의 종업원 초과의 각 종업원에 대해 10 포인트만큼 스코어를 감소시킬 수 있다.
단계 1208에서, 스케줄링 시스템(320)은 주문의 날짜 및 시간에 기초하여 거리 스코어를 수정할 수 있다. 일부 실시예에서, 스케줄링 시스템(320)은 거리 스코어의 연산에 있어 주문의 날짜 및 시간을 포함할 수 있다. 예를 들어 SAT(101)로부터 검색된, 주문 밀도의 이력에 기초하여, 스케줄링 시스템(320)은 FC가 바쁠 때(즉, 다수의 주문들을 이행하는 중일 때)의 날짜들 및 시간들과, FC가 바쁘지 않을 때(즉, 주문이 낮은 밀도일 때)의 날짜들 및 시간들을 예측할 수 있다. 이러한 실시예들에서, 스케줄링 시스템(320)은 날짜 및 시간을 설명하기 위해 주문 배송을 조정할 수 있다. 일부 실시예에서, 스케줄링 시스템(320)은 특정 날짜에서의 주문들의 밀도와 비례해서 포인트의 스코어 넘버를 증가시킬 수 있다. 예를 들어, 스케줄링 시스템(320)은 분당 100개의 주문마다 1 포인트씩 스코어를 증가시킬 수 있다. 따라서, 날짜 및 시간에 대해 분당 1000개의 주문이 있다면, 스케줄링 시스템(320)은 스코어에 10 포인트를 가산할 수 있다. 예를 들어, 날짜들 및 시간들에 대해 FC가 높은 주문 밀도로 일반적으로 바쁠 경우, 스케줄링 시스템(320)은, 바쁜 FC에서 지연의 가능성이 보다 높기 때문에, 거리 스코어를 증가시킬 수 있다. 이에 반해, 날짜들 및 시간들에 대해 FC가 일반적으로 바쁘지 않을 경우, 스케줄링 시스템(320)은 거리 스코어를 감소시킬 수 있다. 일부 실시예에서, 주문의 밀도가 FC 통상 용량(capacity) 미만이면 스코어가 하향 조정될 수도 있다. 예를 들어, FC가 분당 100개의 주문을 처리 가능한 용량을 갖는다면, 스케줄링 시스템(320)은 FC가 분당 100개의 주문 미만의 주문 밀도를 가질 때 스코어를 감소시킬 수 있다.
단계 1210에서, 스케줄링 시스템(320)은 FC에 있어서 포장 센터로의 이전 배송들의 이력 분석에 기초하여 거리 스코어를 조정할 수 있다. 프로세스(1200) 동안에 스케줄링 시스템(320)은 제품 위치들과 포장 센터들 사이의 이동 시간의 평균들 또는 이력 추세를 결정하도록 데이터베이스에 문의할 수 있다. 예를 들어, 스케줄링 시스템(320)은 이전 배송들에 기초하여 위치의 거리 스코어를 조정하도록 단계 1016의 타이머들의 정보를 검색할 수 있다. 이력 정보에 기초하여, 스케줄링 시스템(320)은 스코어를 조정할 수 있다. 예를 들어, 스케줄링 시스템(320)은 상이한 위치들의 스코어와 이력 레코드들에서의 그들의 측정된 이동 시간들을 비교할 수 있다. 이러한 실시예에서, 스케줄링 시스템(320)은, 이동 시간의 이력 정보가 당해 위치가 그들의 피어(peers)(즉, 유사 거리이격된 위치)보다 빠르게 빈번히 배송한다는 것을 나타내면, 거리 스코어를 감소시킬 수 있다. 대안으로서, 이력 정보가, 당해 위치가 피어보다 늦게 배송한다는 것을 나타낸다면, 스케줄링 시스템(320)은 스코어를 상향 조정할 수 있다.
프로세스(1200)는 초기 할당 및 다수의 스코어 수정들과 조정들을 갖는 프로세스를 설명한다. 이는 예시적인 실시예이며 단계 1204 내지 1210은 선택사항이다. 따라서, 일부 실시예에서는, 프로세스(1200)의 일부의 수정들만이 수행될 수 있다. 예를 들어, 일부 실시예들은 단계 1204 및/또는 1206을 수행하지 않을 수 있다. 대안으로서 또는 추가적으로, 프로세스(1200)는 단계 1202 및 1204에만 제한될 수 있다.
일부 실시예에서, 스케줄링 시스템(320)은 종업원 디바이스들로부터의 스캔 이벤트들을 이용하여 프로세스(1200)를 수행한다. 예를 들어, 스케줄링 시스템(320)은, 제1 종업원 디바이스로부터, 제1 데이터 구조에 저장된 제1 물리적 위치와 연관된 식별자를 포함하는 제1 스캔 이벤트를 수신할 수 있다. 또한, 프로세스(1200)의 부분으로서, 스케줄링 시스템(320)은, 제2 디바이스로부터, 요청된 제품과 연관된 제품 식별자를 지정하는 제2 스캔 이벤트를 수신하고, 제1 스캔 이벤트 및 제2 스캔 이벤트에 기초하여 기간을 결정할 수 있다. 이러한 실시예에서, 스케줄링 시스템(320)은, 결정된 기간에 기초하여, 제1 데이터 구조에서 제1 물리적 위치를 포함하는 부분과 연관된 마감 시간을 수정할 수 있다.
추가적으로 또는 대안으로서, 스케줄링 시스템(320)은 프로세스(1200) 동안에 복수의 제1 스캔 이벤트들 및 복수의 제2 스캔 이벤트들을 분석할 수 있다. 이러한 실시예에서, 스케줄링 시스템(320)은 (제품을 선반으로부터 제거함(de-shelving)과 같은) 복수의 제1 스캔 이벤트들 및 (패키징 센터에서의 스캐닝과 같은) 복수의 제2 스캔 이벤트들에 기초하여 거리 스코어를 계산 또는 수정할 수 있다.
도 13은, 개시된 실시예들에 일치하는, 예시적인 마감 시간 결정 프로세스(1300)의 흐름도이다. 일부 실시예에서, 시스템(300)의 요소들은 프로세스(1300)를 수행할 수 있다. 예를 들어, 이하의 설명에 개시된 바와 같이, 스케줄링 시스템(320)은 프로세스(1300)를 수행할 수 있다. 이는 프로세스(1300)의 설명을 위한 예시일 뿐이지만, 다른 실시예에서 시스템(100) 또는 시스템(100)의 일부가 프로세스(1300)를 수행할 수 있다. 예를 들어, 선적 권한 기술 시스템(101), FO 시스템(113) 및/또는 주문 추적 시스템(111)(도 1a)이 프로세스(1300)의 단계들 중 하나 이상을 수행할 수 있다.
단계 1302에서, 스케줄링 시스템(320)은 풀필먼트 센터를 나타내는 제1 데이터 구조를 유지할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 풀필먼트 센터의 구역들 및 풀필먼트 센터의 구역들에 대한 제품 위치를 포함하는 제1 데이터 구조를 저장 및 업데이트할 수 있다.
단계 1304에서, 스케줄링 시스템(320)은 물리적 위치들과 제품 식별자들 사이의 매핑을 포함하는 제2 데이터 구조를 유지할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 거리 스코어들, 물리적 거리, 루트들, 및 물리적 위치들(포장 센터 등)과 제품들 사이의 수송 시스템을 포함하는 제2 데이터 구조를 저장하고 업데이트하는 데이터베이스를 관리할 수 있다. 일부 실시예에서, 제1 데이터 구조는 제1 데이터베이스에 저장되고, 제2 데이터 구조는 제1 데이터베이스와 상이한 제2 데이터베이스에 저장되며, 제2 데이터베이스는 풀필먼트 센터 내의 서버에 저장된다.
단계 1306에서, 스케줄링 시스템(320)은 요청된 제품과 연관된 배송 시간 추정을 제공하라는 요청을 수신할 수 있다. 예를 들어, 사용자가 제품 웹사이트에서 돌아다닐(navigate) 때 클라이언트 디바이스들(350) 중 하나가 배송 추정을 제공하라는 요청을 전송할 수 있다. 대안으로서 또는 추가적으로, 사용자가 제품을 선택하였을 때 모바일 디바이스가 배송 시간 추정에 대한 요청을 생성할 수 있다.
단계 1308에서, 스케줄링 시스템(320)은 요청된 제품과 연관된 적어도 하나의 물리적 위치를 식별하도록 제2 데이터 구조를 검색 및 필터링할 수 있다. 단계 1310에서, 스케줄링 시스템(320)은 필터링된 물리적 위치들과 연관된 풀필먼트 센터들로부터의 이용 가능한 재고를 요청할 수 있다. 예를 들어, 스케줄링 시스템(320)은 FC의 재고를 요청하기 위해 내부 프론트-엔드 시스템(105)(도 1)을 접촉할 수 있다.
단계 1312에서, 스케줄링 시스템(320)은 제품의 이용 가능성 및 클라이언트 디바이스와 FC 사이의 거리에 기초하여 풀필먼트 센터들로부터 하나의 풀필먼트 센터를 선택할 수 있다. 단계 1314에서, 스케줄링 시스템(320)은, FC에서의 적어도 하나의 물리적 위치들 각각과 연관된 마감 시간들을 결정하기 위해, 단계 1302에서 유지된 제1 데이터 구조를 검색할 수 있다.
단계 1316에서, 스케줄링 시스템(320)은 현재 시간과 각 마감 시간들 사이의 비교에 기초하여 물리적 위치들 중 하나를 선택할 수 있다. 예를 들어, 스케줄링 시스템(320)은 주문을 이행하도록 물리적 위치를 선택하기 위해 상이한 위치들 사이의 거리 스코어들을 비교할 수 있다. 선택은, 가장 늦은 마감 시간과 상관지을 수 있는(correlate with), 최저 거리 스코어를 갖는 위치를 식별하는 것에 기초할 수 있다. 단계 1318에서, 스케줄링 시스템(320)은, 요청에 응답하여, 마감 시간들 중에서 선택된 제1 마감 시간을 반환할 수 있다. 일부 실시예에서, 제1 마감 시간은, 물리적 위치들 각각에 있어서 다른 마감 시간들보다 빠른 배송 추정과 연관되어질 수 있다. 그러한 마감 시간이 관련된 위치들에서 보다 빠른 배송 추정을 가지면, 예를 들어, 스케줄링 시스템(320)은 단계 1306에서 요청된 제품에 대해 오후 4시의 선택된 마감 시간을 반환할 수 있다. 더 나중의 배송 날짜 또는 시간을 갖는 것에 기초하여, 위치와 연관된 오후 5시 또는 오후 6시의 다른 마감 시간들은 폐기될 수 있다. 이러한 실시예에서, 스케줄링 시스템(320)은 이용 가능한 마감 시간들 중에서 가장 빠른 가능한 배송 시간을 찾도록 구성될 수 있다. 예를 들어, 스케줄링 시스템(320)은 각각의 마감 시간을 배송 날짜 및 시간과 연관짓도록 제1 데이터 구조에 문의할 수 있다.
프로세스(1300)는, 온라인 주문들을 행할 때, 스케줄링 시스템(320)이 향상된 소비자 경험을 제공하도록 허용할 수 있다. 예를 들어, 프로세스(1300)를 통해, 스케줄링 시스템(320)은 이용 가능한 배송 옵션들을 결정할 뿐만 아니라 보다 빠른 배송 날짜들 및 시간들을 가져올 수 있는 배송 옵션들을 선택할 수 있다. 따라서, 마감 및 그들 각각의 추정된 배송들을 이해하는 것은, 스케줄링 시스템(320)이 가장 빠른 배송 시간을 위해 소비자에게 제공될 수 있는 이상적인 배송 시간을 알아낼 수 있도록 허용할 수 있다. 다른 실시예에서는, 그러나, 스케줄링 시스템(320)은, 가장 빠른 가능한 배송 시간이 아닌 다른 최적화에 기초하여 마감 시간들의 선택을 행할 수 있다. 예를 들어, 스케줄링 시스템(320)은, 제1 시간에 배송될 수 있는 패키지들의 수를 최적하는 것에 기초하여 또는 선적 비용을 최소화하도록 선적물을 그룹화하는 것에 기초하여 마감 시간들을 선택할 수 있다.
도 14는 특정 마감 시간들을 갖는 가상의 구역으로 분할된 예시적인 FC(1400)의 그래픽 묘사이다. 도 14에 나타낸 바와 같이, FC(1400)은 다수의 레벨들을 포함할 수 있으며, 각각의 레벨은 특정 마감 시간들을 갖는 가상의 구역들로 분할될 수 있다. 또한, FC(1400)는 패키징 센터(1430)를 포함할 수 있으며, 이것은 수송 시스템(107)과 유사하거나 수송 시스템(107)의 부분일 수 있다(도 1).
FC(1400)는 다수의 가상의 구역들을 포함할 수 있다. 가상의 구역들 각각은 관련된 FC 내부의 선반 위치들 및 팔레트 위치들과 연관지어질 수 있다. 예를 들어, FC(1400)는, FC의 최상층에 있을 수 있는 제1 가상의 구역(1401)을 포함할 수 있다. 제1 가상의 구역(1401)이 패키징 센터(1430)로부터 멀리 떨어져 있기 때문에, 제1 가상의 구역(1401)은 제1 시간 배송에 대해 오후 7시의 이른 마감 시간을 수신한다. 제1 가상의 구역(1401) 내의 제품들은 패키징 센터(1430)로부터 멀리 떨어져 있기 때문에, 제1 시간 배송을 충족시킬 수 있기 위해서는 주문을 일찍 시작하는 것이 필요할 수 있다. 유사하게, 가상의 구역들(1402, 1414, 및 1412) 또한, 그들이 패키징 센터(1430)로부터 멀리 떨어져 있기 때문에 이른 마감 시간들을 가질 수 있다.
가상의 구역들(1404, 1406, 1418 및 1416)과 같이, 포장 센터(1430)에 보다 가까워지기 시작하는 가상의 구역들은, 보다 늦은 마감 시간들(예컨대, 오후 8시 30분)을 갖기 시작할 수 있다. 그들은 포장 센터(1430)에 물리적으로 보다 가깝기 때문에, FC들은 보다 늦은 마감 시간들을 가질 여유가 있으며 제1 시간 배송 옵션을 여전히 충족시킬 수 있다. 그렇기는 하지만, 도 14에 나타낸 바와 같이, 가상의 구역들은 FC의 동일 레벨에 있더라도 거리, 인원 이용 가능성, 및/또는 수송 방법에 기초하여 상이한 마감 시간들을 가질 수 있다.
도 14에 나타낸 바와 같이, 포장 센터(1430)와 가깝거나 동일 레벨에 있는 가상의 구역들은 가장 늦은 마감 시간들을 수신할 수 있다. 이들 구역들 내의 제품들은 패키징 센터에 신속히 배송될 수 있기 때문에, 가상의 구역들(1408 및 1420)에는 보다 늦은 마감 시간들이 할당될 수 있다.
FC의 가상화는 시스템 FC(1400)가 보다 오랫동안 제1 시간 배송들을 제공하도록 허용한다. 특히 패키징 센터에 보다 가까운 제품들에 대해, 특정 마감 할당들을 갖는 다른 구역들은 FC(1400)로 하여금 보다 늦은 마감들을 갖는 제1 시간, 새벽 또는 프레시 배송들을 제공할 수 있게 한다.
도 14에 나타낸 바와 같이, FC(1400)는 가상의 구역들 각 하나에 센서들(1450)을 포함할 수 있다. 도 2 및 도 10과 관련하여 전에 개시된 바와 같이, 센서들은 제품이 가상의 구역들 중 하나에 있는지를 결정하고 제1 및 제2 데이터 구조를 업데이트하도록 물품 포지셔닝 시스템의 부분으로서 이용될 수 있다. 센서들(1450)은 센서들(217A 내지 217C)(도 2)로 구현될 수 있으며, FC 내에서 물품들의 위치를 결정하도록 무선, 이미지, 스캔 또는 중량 센서들을 포함할 수 있다. 따라서, 어떤 실시예에서는, 가상의 구역들 또는 물리적 위치들은 광학 또는 무선 태그(tag)들이 부착될 수 있으며, 센서들(1450), 및 광학 또는 무선 태그들은 도 9와 관련하여 설명된 제1 데이터 구조와 같은 데이터 구조에 저장된 물리적 위치 식별자와 연관지어질 수 있다.
도 15는, 개시된 실시예들에 일치하는, 모바일 디바이스에서의 일련의 단일 디스플레이 페이지의 예시적인 그래픽 사용자 인터페이스들의 정면도이다. 도 15는 클라이언트 디바이스들(350) 및/또는 사용자 디바이스들(102)에 표시될 수 있는 3개의 그래픽 사용자 인터페이스(GUI)를 나타낸다.
GUI(1510)은 그래픽 설명, 텍스트 설명, 주문 정보 및 동적 텍스트 박스를 갖는 단일 제품을 나타낸다. GUI(1510)의 동적 텍스트 박스(1512)가 빈 상태이다. 일부 실시예에서, 동적 텍스트 박스(1512)는 스케줄링 시스템(320)에 의한 계산을 대기하면서 빈 상태일 수 있다.
GUI(1520)는 동일한 단일 제품 정보를 나타내지만, 동적 텍스트 박스(1512)는 동적 텍스트 박스(1522)로 대체되었고, 추정된 배송 날짜와 만료의 양쪽을 이제 지정하여, "10분 내에 주문되면, 오후 1시까지 도착"을 표시한다. 일부 실시예에서, 스케줄링 시스템(320)에 의해 생성된 전자 메시지들은 동적 텍스트 박스(1512)를 동적 텍스트 박스(1522)로 업데이트하기 위한 명령어들을 포함할 수 있다. 또한, GUI(1520)에서, 제품 디스플레이는, 이용 가능한 배송 서비스를 나타내는 추가 아이콘들을 포함하도록 수정될 수 있다. 예를 들어, GUI(1520)에 표시된 제품은 제1 시간 배송 아이콘(1524)을 나타내도록 업데이트되어, 마감(cutoff) 및 풀필먼트 센터들과의 근접성에 기초하여 제품이 새벽 배송에 이용 가능함을 나타낼 수 있다. 일부 실시예에서, 제1 시간 배송 아이콘(1524)은 제품 또는 잠정적인 배송 날짜/시간에 특정한 정보를 포함할 수 있다. 예를 들어, 제1 시간 배송 아이콘(1524)은, 스케줄링 시스템(320)으로부터의 결정에 기초하여, "저녁 식사 전에"와 같은 메시지를 포함할 수 있다.
GUI(1530)는 단일 제품 정보를 나타내지만, 동적 텍스트 박스(1522)는 동적 텍스트 박스(1532)로 업데이트되었다. 예를 들어, 10분의 만료 시간은 GUI(1520)에서 GUI(1530)로 경과했을 수 있다. 따라서, 스케줄링 시스템(320)은 배송 추정을 오후 1시에서 오후 8시로 업데이트하기 위한 명령어들을 전송했을 수 있다. 또한, GUI(1530)는 또한, 다음 날 새벽까지 배송될 수 있는 제품들 상에 표시된 새벽 배송 아이콘(1534)을 나타낼 수 있다.
도 16은 배송 날짜 추정 및/또는 이용 가능한 배송 옵션을 갖는 웹페이지를 생성하거나 수정하도록 구성 가능한 스크립트의 예시적인 소스 코드이다. 소스 코드(1600)는, 도 9 및 도 11과 관련하여 설명된 바와 같이, 이용 가능한 배송 옵션 및 추정된 배송 시간을 표시하도록 웹페이지를 생성하거나 수정하는 데에 이용될 수 있는 예시적인 명령어들 및 함수들을 나타낸다. 예를 들어, 스케줄링 시스템(320)에 의해 생성되고 송신된 전자 메시지들은 예시적인 소스 코드(1600)를 포함할 수 있다. 소스 코드(1600)에 사용된 신택스 및 명령어들은 예시적이고, 다른 신택스 및 함수들이 또한, 이용되고/되거나 대체될 수 있다.
예시적인 소스 코드(1600)는 웹페이지를 식별하고/하거나 수정하기 위해 html 헤더들을 포함하는 헤더들(1601)을 포함할 수 있다. 헤더들(1601)은 사용될 수 있는 헤더 및 동작의 예시이다. 예시적인 소스 코드(1600)는 또한, 문서 타입 식별 부분(1602)을 포함할 수 있다. 부분(1602)은 웹페이지가 카트 페이지, 주문 페이지, 검색 페이지 또는 단일 제품 페이지인지를 평가하는 함수들을 포함할 수 있다. 부분(1602)에 상세화된 함수들은 예시적인 함수를 나타낸다.
예시적인 소스 코드(1600)는 또한, 동적 텍스트 박스 생성 부분(1604)을 포함할 수 있다. 부분(1604)에서 함수들 및 루틴들은, 도 9 및 도 11과 관련하여 논의된 바와 같이, 메시지들 및 수정 명령어들을 지정할 수 있다. 또한, 예시적인 소스 코드(1600)는 상이한 웹페이지들의 수정을 위한 옵션들을 포함하는 수정 부분(1606)을 포함할 수 있다. 또한, 예시적인 소스 코드(1600)는 타이머 부분(1608)을 포함할 수 있고, 이는 제품들에 대한 추정된 배송 시간의 만료 시간, 또는 남아있는 시간과 상관되는 타이머를 웹페이지 상에 표시하기 위한 명령어들을 포함할 수 있다.
부분(1604)에서의 루틴, 수정 부분(1606) 및 타이머 부분(1608)은 예시적인 구현예를 설명하며, 다른 또는 대안적인 구현예들이 가능하다.
본 개시의 다른 양상은, 실행될 때, 하나 이상의 프로세서로 하여금 위에서 논의된 바와 같이 방법을 수행하게 하는 명령어들을 저장하고 있는 비일시적(non-transitory) 컴퓨터 판독 가능 매체에 관한 것이다. 컴퓨터 판독 가능 매체는 휘발성 또는 비휘발성, 자기식, 반도체의, 테이프식, 광학식, 착탈식, 비착탈식, 또는 다른 타입의 컴퓨터 판독 가능 매체 또는 컴퓨터 판독 가능 저장 디바이스를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 개시된 바와 같이, 컴퓨터 명령어들이 저장되어 있는 저장 유닛 또는 메모리 모듈일 수 있다. 일부 실시예에서, 컴퓨터 판독 가능 매체는 컴퓨터 명령어들이 저장되어 있는 디스크 또는 플래시 드라이브일 수 있다.
본 분야의 통상의 기술자에게는, 개시된 시스템 및 관련 방법에 대한 수정 및 변형이 행해질 수 있다는 것이 명백할 것이다. 명세서 및 개시된 시스템 및 관련 방법의 실시를 고려하여 본 분야의 통상의 기술자에게는, 다른 실시예들이 명백할 것이다. 본 명세서 및 예시들은 단지 예시적인 것으로 간주되고, 진정한 범주는 다음의 청구항들 및 그들의 등가물에 의해 나타내어진다.
본 개시는 그의 특정 실시예들을 참조하여 도시되고 설명되었지만, 본 개시는 다른 환경에서 수정없이 실시될 수 있음이 이해될 것이다. 전술한 설명은 예시 목적으로 제시되었다. 이는 총망라하는(exhaustive) 것이 아니며, 개시된 정확한 형태들 또는 실시예들에 제한되는 것이 아니다. 개시된 실시예들의 명세서 및 실시를 고려하여 본 분야의 통상의 기술자에게 수정 및 개조가 명백할 것이다. 추가적으로, 개시된 실시예들의 양상들이 메모리에 저장되는 것으로 설명되어 있지만, 본 분야의 통상의 기술자는, 이러한 양상들이 보조 저장 디바이스, 예를 들어, 하드 디스크 또는 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에, 또는 이들에 의해 설계될 수 있다.
또한, 예시적인 실시예들이 본 명세서에 설명되었지만, (예를 들어, 다양한 실시예들에 걸친 양상들의) 동등한 요소들, 수정들, 생략들, 조합들, 개조들 및/또는 변경들을 갖는 임의의 및 모든 실시예들의 범주는 본 개시에 기초하여 본 분야의 통상의 기술자에 의해 인식될 것이다. 청구항들에서 제한사항은, 청구항들에 사용된 언어에 기초하여 광범위하게 해석되어야 하고, 출원의 절차 동안 또는 본 명세서에 설명된 예시들에 제한되는 것은 아니다. 예시들은 비배타적인 것으로 해석될 것이다. 또한, 개시된 방법의 단계들은 단계들을 재순서화하고, 및/또는 단계들을 삽입하거나 삭제하는 것을 포함하여 임의의 방식으로 수정될 수 있다. 그러므로, 본 명세서 및 예시들은 단지 예시적인 것으로 간주되고, 진정한 범주 및 사상은 다음의 청구항들 및 그들의 등가물의 전체 범주에 의해 나타내어진다.
따라서, 전술한 설명은 예시의 목적으로만 제시되었다. 이는 총망라하는(exhaustive) 것이 아니며, 개시된 정확한 형태들 또는 실시예들에 제한되는 것이 아니다. 개시된 실시예들의 명세서 및 실시를 고려하여 본 분야의 통상의 기술자에게 수정 및 개조가 명백할 것이다.
청구항들은 청구항들에 사용된 언어에 기초하여 광범위하게 해석되어야 하고, 본 명세서에 기재된 예시들에 제한되지 않고, 이들 예시는 비배타적인(non-exclusive) 것으로 해석될 것이다. 또한, 개시된 방법의 단계들은, 단계들을 재순서화하는 것, 및/또는 단계들을 삽입하거나 삭제하는 것을 포함하여, 임의의 방식으로 수정될 수 있다.

Claims (20)

  1. 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템으로서, 상기 시스템은:
    상기 풀필먼트 센터에 분포된 복수의 센서 - 상기 복수의 센서는 상기 풀필먼트 센터 내의 제품 위치의 추적 정보를 자동으로 수집하도록 구성됨 -;
    명령어들을 저장하는 메모리; 및
    상기 명령어들을 실행하여 동작들을 수행하도록 구성되는 적어도 하나의 프로세서를 포함하고, 상기 동작들은:
    상기 풀필먼트 센터 내의 물리적 위치들을 제1 시간 배송을 위한 주문에 대한 마감 시간들과 연관시키는 제1 데이터 구조를 유지하는 것 - 상기 마감 시간들은 상기 물리적 위치들 및 상기 풀필먼트 센터의 포장 센터 사이의 거리에 기초함 -;
    상기 복수의 센서로부터 상기 추적 정보를 수신하는 것에 응답하여, 제2 데이터 구조를 업데이트하는 것 - 상기 제2 데이터 구조는 상기 풀필먼트 센터의 제품들을 상기 물리적 위치들 중 하나 이상과 연관시킴 -;
    상기 물리적 위치들 중 적어도 하나를 제품 위치로서 식별하기 위해 상기 제2 데이터 구조를 검색하는 것 - 상기 제품 위치는 요청된 제품과 연관됨 -; 및
    상기 마감 시간들로부터 상기 제품 위치와 연관된 제1 마감 시간을 결정하기 위해 상기 제1 데이터 구조를 검색하는 것 - 상기 제1 마감 시간은 상기 제품 위치와 상기 포장 센터 사이의 거리에 기초하여 배송 추정을 계산함으로써 선택됨 -을 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  2. 제1항에 있어서,
    상기 제2 데이터 구조를 검색하는 것은 상기 제2 데이터 구조에서 상기 물리적 위치들을 필터링하는 것을 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  3. 제1항에 있어서,
    상기 물리적 위치들 중 상기 적어도 하나는 상기 물리적 위치들 중 둘 이상을 포함하고;
    상기 동작들은,
    현재 시간과 상기 제1 데이터 구조에 저장된 각각의 마감 시간들 사이의 비교에 기초하여 상기 둘 이상의 물리적 위치들 중 하나를 선택하는 것을 더 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  4. 제1항에 있어서, 상기 동작들은:
    웹페이지들을 표시하기 위한 시스템에 상기 제품 위치와 연관된 상기 제1 마감 시간을 전송하는 것을 더 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  5. 제1항에 있어서,
    상기 복수의 센서는 제1 디바이스 및 제2 디바이스를 포함하고,
    상기 동작들은,
    상기 제1 디바이스로부터, 제1 타임 스탬프 및 위치 식별자를 포함하는 제1 스캔 이벤트를 수신하는 것 - 상기 위치 식별자는 상기 제1 데이터 구조에 저장된 상기 물리적 위치들로부터의 제1 물리적 위치와 연관됨 -;
    상기 제2 디바이스로부터, 제2 타임 스탬프 및 제품 식별자를 포함하는 제2 스캔 이벤트를 수신하는 것 - 상기 제품 식별자는 상기 요청된 제품과 연관됨 -;
    상기 제1 스캔 이벤트 및 상기 제2 스캔 이벤트 사이의 기간에 대응하는 기간을 결정하는 것; 및
    상기 결정된 기간에 기초하여, 상기 제1 데이터 구조에서 상기 제1 물리적 위치와 연관된 상기 제1 마감 시간을 수정하는 것을 더 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  6. 제5항에 있어서, 상기 제1 마감 시간을 수정하는 것은,
    복수의 제3 스캔 이벤트들 및 복수의 제4 스캔 이벤트들을 분석하는 것; 및
    상기 복수의 제3 스캔 이벤트들 및 상기 복수의 제4 스캔 이벤트들에 기초하여 상기 포장 센터와 상기 제1 물리적 위치 사이의 거리를 계산하는 것을 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  7. 제6항에 있어서,
    상기 제1 마감 시간은, 상기 제1 물리적 위치로부터 상기 포장 센터까지의 상기 거리에 대해 반비례하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  8. 제1항에 있어서,
    상기 물리적 위치들은, 상기 풀필먼트 센터 내부의 선반(shelf) 위치들 또는 팔레트(pallet) 위치들과 연관된, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  9. 제8항에 있어서,
    상기 복수의 센서는 광학 또는 무선 태그(tag)를 포함하고,
    상기 물리적 위치들은 상기 광학 또는 무선 태그와 연관되고,
    상기 광학 또는 무선 태그는 상기 제1 데이터 구조에 저장된 위치 식별자와 연관되는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  10. 제1항에 있어서,
    상기 제1 데이터 구조는 제1 데이터베이스에 저장되고,
    상기 제2 데이터 구조는 상기 제1 데이터베이스와 상이한 제2 데이터베이스에 저장되고,
    상기 제2 데이터베이스는 상기 풀필먼트 센터 내의 서버에 저장되는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 시스템.
  11. 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법으로서, 상기 방법은:
    상기 풀필먼트 센터 내의 물리적 위치들을 제1 시간 배송을 위한 주문에 대한 마감 시간들과 연관시키는 제1 데이터 구조를 유지하는 것 - 상기 마감 시간들은 상기 물리적 위치들 및 상기 풀필먼트 센터의 포장 센터 사이의 거리에 기초함 -;
    복수의 센서 중 적어도 하나로부터 추적 정보를 수신하는 것에 응답하여 제2 데이터 구조를 업데이트하는 것 - 상기 제2 데이터 구조는 상기 풀필먼트 센터의 제품들을 상기 물리적 위치들 중 하나 이상과 연관시키고, 상기 복수의 센서는 상기 풀필먼트 센터에 분포되고, 상기 복수의 센서는 상기 풀필먼트 센터 내의 제품 위치의 상기 추적 정보를 자동으로 수집하도록 구성됨 -;
    상기 물리적 위치들 중 적어도 하나를 제품 위치로서 식별하기 위해 상기 제2 데이터 구조를 검색하는 것 - 상기 제품 위치는 요청된 제품과 연관됨 -; 및
    상기 마감 시간들로부터 상기 제품 위치와 연관된 제1 마감 시간을 결정하기 위해 상기 제1 데이터 구조를 검색하는 것 - 상기 제1 마감 시간은 상기 제품 위치와 상기 포장 센터 사이의 거리에 기초하여 배송 추정을 계산함으로써 선택됨 -을 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  12. 제11항에 있어서,
    상기 제2 데이터 구조를 검색하는 것은 상기 제2 데이터 구조에서의 상기 물리적 위치들을 필터링하는 것을 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  13. 제11항에 있어서,
    상기 물리적 위치들 중 상기 적어도 하나는 상기 물리적 위치들 중 둘 이상을 포함하고;
    상기 방법은
    현재 시간과 상기 제1 데이터 구조에 저장된 각각의 마감 시간들 사이의 비교에 기초하여 상기 둘 이상의 물리적 위치들 중 하나를 선택하는 것을 더 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  14. 제11항에 있어서,
    웹페이지들을 표시하기 위한 시스템에 상기 제품 위치와 연관된 상기 제1 마감 시간을 전송하는 것을 더 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  15. 제11항에 있어서,
    상기 복수의 센서는 제1 디바이스 및 제2 디바이스를 포함하고,
    상기 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법은:
    상기 제1 디바이스로부터, 제1 타임 스탬프 및 위치 식별자를 포함하는 제1 스캔 이벤트를 수신하는 것 - 상기 위치 식별자는 상기 제1 데이터 구조에 저장된 상기 물리적 위치들로부터의 제1 물리적 위치와 연관됨 -;
    상기 제2 디바이스로부터, 제2 타임 스탬프 및 제품 식별자를 포함하는 제2 스캔 이벤트를 수신하는 것 - 상기 제품 식별자는 상기 요청된 제품과 연관됨 -;
    상기 제1 스캔 이벤트 및 상기 제2 스캔 이벤트 사이의 기간에 대응하는 기간을 결정하는 것; 및
    상기 결정된 기간에 기초하여, 상기 제1 데이터 구조에서 상기 제1 물리적 위치와 연관된 상기 제1 마감 시간을 수정하는 것을 더 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  16. 제15항에 있어서,
    상기 제1 마감 시간을 수정하는 것은,
    복수의 제3 스캔 이벤트들 및 복수의 제4 스캔 이벤트들을 분석하는 것; 및
    상기 복수의 제3 스캔 이벤트들 및 상기 복수의 제4 스캔 이벤트들에 기초하여 상기 포장 센터와 상기 제1 물리적 위치 사이의 거리를 계산하는 것을 포함하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  17. 제16항에 있어서,
    상기 제1 마감 시간은, 상기 제1 물리적 위치로부터 상기 포장 센터까지의 상기 거리에 대해 반비례하는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  18. 제11항에 있어서,
    상기 물리적 위치들은, 상기 풀필먼트 센터 내부의 선반 위치들 또는 팔레트 위치들과 연관된, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  19. 제18항에 있어서,
    상기 복수의 센서는 광학 또는 무슨 태그를 포함하고,
    상기 물리적 위치들은 상기 광학 또는 무선 태그와 연관되고,
    상기 광학 또는 무선 태그는 상기 제1 데이터 구조에 저장된 위치 식별자와 연관되는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
  20. 제11항에 있어서,
    상기 제1 데이터 구조는 제1 데이터베이스에 저장되고;
    상기 제2 데이터 구조는 상기 제1 데이터베이스와 상이한 제2 데이터베이스에 저장되고;
    상기 제2 데이터베이스는 상기 풀필먼트 센터 내의 서버에 저장되는, 풀필먼트 센터로부터의 배송 스케줄링을 위한 컴퓨터-구현된 방법.
KR1020210085891A 2020-01-03 2021-06-30 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들 KR102505811B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/733,442 2020-01-03
US16/733,442 US10997550B1 (en) 2020-01-03 2020-01-03 Item tracking systems and methods for fine tuned delivery scheduling
KR1020200016355A KR102273845B1 (ko) 2020-01-03 2020-02-11 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200016355A Division KR102273845B1 (ko) 2020-01-03 2020-02-11 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들

Publications (2)

Publication Number Publication Date
KR20210087907A KR20210087907A (ko) 2021-07-13
KR102505811B1 true KR102505811B1 (ko) 2023-03-06

Family

ID=76858739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210085891A KR102505811B1 (ko) 2020-01-03 2021-06-30 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들

Country Status (1)

Country Link
KR (1) KR102505811B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240013452A (ko) * 2022-07-22 2024-01-30 쿠팡 주식회사 전자 장치 및 그의 정보 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004067356A (ja) * 2002-08-09 2004-03-04 Ffc:Kk 出荷変更指示方法および出荷変更指示プログラム
JP2005206281A (ja) * 2004-01-20 2005-08-04 Hitachi Ltd オーダー統合制御システム、オーダー統合制御方法、およびオーダー統合制御プログラム
JP2016528597A (ja) * 2013-06-19 2016-09-15 ユナイテッド ステイツ ポスタル サービス 配送網内のアイテムのリアルタイム追跡を実施するためのシステム及び方法
KR101735018B1 (ko) * 2015-11-09 2017-05-12 쿠팡 주식회사 배송 서비스 제공 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004067356A (ja) * 2002-08-09 2004-03-04 Ffc:Kk 出荷変更指示方法および出荷変更指示プログラム
JP2005206281A (ja) * 2004-01-20 2005-08-04 Hitachi Ltd オーダー統合制御システム、オーダー統合制御方法、およびオーダー統合制御プログラム
JP2016528597A (ja) * 2013-06-19 2016-09-15 ユナイテッド ステイツ ポスタル サービス 配送網内のアイテムのリアルタイム追跡を実施するためのシステム及び方法
KR101735018B1 (ko) * 2015-11-09 2017-05-12 쿠팡 주식회사 배송 서비스 제공 장치 및 방법

Also Published As

Publication number Publication date
KR20210087907A (ko) 2021-07-13

Similar Documents

Publication Publication Date Title
TWI767347B (zh) 用於遞送排期的電腦化系統及電腦化系統及方法、以及非暫時性電腦可讀取媒體
KR102273845B1 (ko) 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들
KR102515007B1 (ko) 배송 날짜 추정을 이용하여 웹페이지들을 수정하기 위한 시스템들 및 방법들
KR102408794B1 (ko) 하이퍼미디어 요소들을 갖는 동적 웹사이트들을 생성하기 위한 시스템들 및 방법들
KR102505811B1 (ko) 미세 조정된 배송 스케줄링을 위한 물품 추적 시스템들 및 방법들
KR102479958B1 (ko) 요청된 분리된 정보를 통합하기 위한 웹-브라우저 플러그인
US11507988B1 (en) Computerized systems and methods for providing a dynamic pricing system
KR20210028032A (ko) 보장된 배달 시간 선택의 표시 및 결정을 위한 컴퓨터 시스템 및 방법
AU2021107581A4 (en) Systems and methods for generating dynamic websites with hypermedia elements

Legal Events

Date Code Title Description
A107 Divisional application of patent
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant