KR102223537B1 - 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법 - Google Patents

타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102223537B1
KR102223537B1 KR1020200016426A KR20200016426A KR102223537B1 KR 102223537 B1 KR102223537 B1 KR 102223537B1 KR 1020200016426 A KR1020200016426 A KR 1020200016426A KR 20200016426 A KR20200016426 A KR 20200016426A KR 102223537 B1 KR102223537 B1 KR 102223537B1
Authority
KR
South Korea
Prior art keywords
timer
event
request
triggering
data store
Prior art date
Application number
KR1020200016426A
Other languages
English (en)
Inventor
야오 윤
호우 유
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020210018666A priority Critical patent/KR102575001B1/ko
Application granted granted Critical
Publication of KR102223537B1 publication Critical patent/KR102223537B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Fuzzy Systems (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Electric Clocks (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템은 네트워크를 통해 제1 시스템으로부터 타이머를 인스턴스화하기 위한 요청을 수신하도록 구성된 하나 이상의 프로세서를 포함하며, 요청은 타이머에 대한 종료 시간 및 종료 시간에 트리거하기 위한 이벤트를 포함한다. 프로세서는 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하고, 요청과 연관된 타이머에 대한 종료 시간에 도달할 때 이벤트를 트리거하며, 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 요청과 연관된 이벤트를 송신하도록 더 구성된다.

Description

타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법{SYSTEMS AND METHODS FOR PROPAGATING TIMER MANAGEMENT AND EVENT TRIGGERING}
본 개시의 실시예는 타이머 관리 및 이벤트 트리거링(event triggering)을 전파하기 위한 시스템 및 방법에 관한 것이다. 보다 구체적으로, 본 개시의 실시예는 온라인 주문에 대한 타이머 관리 및 이벤트 트리거링을 전파함으로써, 사용자가 물품을 온라인으로 주문하고 물품을 배송하는 것을 가능케 하는 것에 관한 것이다.
사용자(예를 들어, 온라인 고객, 온라인 판매자(online merchants), 배송 직원)는 종종, 물품을 주문하기 위해(예를 들어, 음식, 식료품을 주문하기 위해) 온라인 웹사이트 포털 또는 모바일 애플리케이션을 사용한다. 예시로서, 사용자는 온라인 웹 사이트에서 사용자 정보(예를 들어, 위치 정보, 메뉴, 이름)를 포함하는 프로필을 유지한다. 온라인 주문 프로세스는 주문이 된(placed) 시점으로부터 주문이 배송된 시점까지 다수의 단계의 온라인 주문 처리를 요구한다.
사용자가 음식이 배송되도록 요청하는 온라인 주문을 하는 상황에서, 다수의 단계에서 제1 단계는 판매자(예를 들어, 식당)가 주문을 처리하기 위한 그의 이용 가능성을 기초로 주문을 확인하거나 또는 주문을 거부하는 것이다. 때때로, 주문이 된 시점으로부터 판매자에 의해 주문이 확인된 시점까지 상당한 시간 지연이 있으며, 이는 그 시간 동안 온라인 주문이 보류 상태에 있도록 초래할 것이다. 다른 단계는 배송 직원에게 그의 이용 가능성을 기초로 판매자로부터 주문의 픽업(pickup)을 확인하거나 거부하기 위한 요청을 전송하는 것일 것이다. 때때로, 요청이 배송 직원에게 전송된 시점으로부터 배송 직원에 의한 주문의 확인 또는 거부 시점까지 다시 시간 지연이 있을 수 있으며, 이는 온라인 주문이 심지어 더욱 지연되게 하고 따라서, 사용자가 주문을 받는데 상당한 지연을 초래할 것이다. 유사하게, 온라인 주문의 처리의 다양한 단계를 통해 사용자에게 불편함을 초래하며, 따라서 사용자 경험에 부정적인 영향을 미치는 다양한 지연이 있다.
온라인 주문을 관리하기 위한 현재의 솔루션은 일반적으로, 주문이 된 시간으로부터 사용자가 주문을 받은 시간까지의 지연을 감소시키고 관리하는데 효율적이지 않다. 현재 시장에서, 온라인 주문의 처리는 다수의 네트워크를 통한 다양한 네트워크 디바이스에 의해 수행되지만, 다수의 네트워크 디바이스에 걸친 주문의 처리 사이의 시간 지연을 줄일 체계적인 방법은 없다. 따라서, 온라인 주문 처리를 관리하기 위한 현재의 솔루션은 시간 지연을 통합하거나(consolidate), 추적하거나 또는 분석하기 위한 능력을 갖지 않아서, 비효율적이거나, 유연하지 않거나 및/또는 비효율적이며, 감소된 네트워크 처리 효율을 초래한다. 또한, 각 요청을 처리하는 번거롭고 수동적인 특성의 결과로서, 판매자 및 배송 직원에 의해 발생된 시간 지연을 모니터링하고 감소시키는 시스템에 대한 요구가 있다.
본 개시의 실시예에 따라, 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템이 제공되며, 시스템은: 명령어를 저장하는 메모리; 및 적어도 하나의 프로세서로서, 명령어를 실행하여: 제1 시스템으로부터 네트워크를 통해 타이머를 인스턴스화(instantiate) 하기 위한 요청을 수신하는 것 - 요청은: 타이머에 대한 종료 시간, 및 종료 시간에 트리거하기 위한 이벤트를 포함함 -; 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하는 것; 요청과 연관된 타이머에 대한 종료 시간에 도달할 시 이벤트를 트리거하는 것; 및 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 요청과 연관된 이벤트를 전송하는 것을 하도록 구성되는, 적어도 하나의 프로세서를 포함한다.
본 개시의 실시예에 따라, 제1 시스템으로부터 네트워크를 통해 타이머를 인스턴스화 하기 위한 요청을 수신하는 것 - 요청은: 타이머에 대한 종료 시간, 및 종료 시간에 트리거하기 위한 이벤트를 포함함 -; 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하는 것; 요청과 연관된 타이머에 대한 종료 시간에 도달할 시 이벤트를 트리거하는 것; 및 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 요청과 연관된 이벤트를 전송하기 위한 컴퓨터 구현된 방법이 또한, 제공된다.
본 개시의 실시예에 따라, 타이머 관리 및 이벤트 트리거링을 전파하기 위한 컴퓨터-구현된 시스템이 제공되고, 시스템은: 명령어를 저장하는 메모리; 및 적어도 하나의 프로세서로서, 명령어를 실행하여: 제1 시스템으로부터 네트워크를 통해, 타이머를 인스턴스화 하기 위한 요청을 수신하는 것 - 요청은: 타이머에 대한 종료 시간, 및 종료 시간에 트리거하기 위한 이벤트를 포함함 -; 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하는 것; 요청과 연관된 타이머에 대한 종료 시간에 도달할 시 이벤트를 트리거하는 것; 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 요청과 연관된 이벤트를 전송하는 것을 포함한다.
본 명세서에 포함되고 그의 일부를 구성하는 첨부 도면은 개시된 실시예를 도시하고, 서술과 함께, 개시된 실시예를 설명하는 역할을 한다. 도면에서:
도 1은 개시된 실시예와 일치하는, 예시적인 시스템의 블록도이고;
도 2는 개시된 실시예와 일치하는, 예시적인 서버 시스템의 블록도이고;
도 3은 개시된 실시예와 일치하는, 예시적인 사용자 디바이스의 블록도이고;
도 4는 개시된 실시예와 일치하는, 타이머 관리 및 이벤트 트리거링을 전파하는 예시적인 프로세스의 상세한 흐름도를 포함하며;
도 5는 개시된 실시예와 일치하는, 도 4의 예시적인 프로세스를 도시하는 흐름도를 포함한다.
이제, 개시된 실시예에 대한 참조가 상세히 이루어질 것이며, 이의 예시는 첨부 도면에 도시된다. 어디서든 편리하다면, 동일하거나 유사한 부분을 지칭하기 위해 도면 전체에 걸쳐 동일한 참조 부호가 사용될 것이다.
다음의 서술이 타이머 관리 및 이벤트 트리거링을 전파하는 것에 관련되지만, 이들 실시예는 단지 예시만으로 이루어진다. 본 개시가 특정한 개시된 실시예 및 세부사항으로 제한되지 않음이 인식되어야 한다. 알려진 시스템 및 방법에 비추어 통상의 기술자에게, 특정한 설계 및 다른 요구에 의존하여, 임의의 수의 대안적인 실시예에서 그의 의도된 목적 및 이익을 위해 본 개시의 실시예의 사용을 인식할 것이라는 점이 더 이해된다.
도 1은 개시된 실시예와 일치하는 하나 이상의 동작을 수행하기 위한 예시적인 시스템(100)의 블록도이다. 일부 실시예에서, 시스템(100)은 각각 대응하는 고객 위치(104(1), ... 104(n))에 위치된 하나 이상의 고객 디바이스(102(1), ... 102(n)), 각각 대응하는 배송 수송 수단(108(1), ... 108(n))에 위치된 하나 이상의 물품 배송 제공자 디바이스(106(1), .... 106(n)), 대응하는 판매자 상점(112(1), ... 112(n))에 위치된 하나 이상의 물품 서비스 제공자 디바이스(110(1), ... 110(n))를 포함하고, 클라이언트 서버 디바이스(118(1)), ... 클라이언트 서버 디바이스(118(n))는 클라이언트 서버 디바이스의 풀(pool)을 형성하고, 응답 서버 디바이스(120(1)), ... 응답 서버 디바이스(120(n))는 응답 서버 디바이스의 풀을 형성한다. 또한, 시스템(100)은 타이머 서버 시스템(116), 원격 데이터베이스(122) 및 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 포함한다. 시스템(100)은 또한, 서로 직접적으로 통신하고, 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n))와 네트워크(114a)를 통해 더 통신하는 복수의 타이머 서버 시스템(116)(도면에 도시되지 않음) 및 복수의 원격 데이터베이스(122)(도면에 도시되지 않음)를 포함한다. 클라이언트 서버 디바이스(118(1)-118(n))의 풀은 네트워크(114b)를 통해 타이머 서버 시스템(116)과 통신한다. 응답 서버 디바이스(120(1)-120(n))의 풀은 네트워크(114c)를 통해 타이머 서버 시스템(116)과 통신한다. 다른 예시에서, 클라이언트 서버 디바이스(118(1)-118(n))의 풀 및 응답 서버 디바이스(120(1)-120(n))의 풀은 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 통해, 타이머 서버 시스템(116), 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)) 및 물품 서비스 제공자 디바이스(110(1)-110(n)) 및 원격 데이터베이스(122)와 통신한다.
시스템(100)에 포함된 구성요소 및 구성요소의 배열은 다양할 수 있다. 따라서, 시스템(100)은 개시된 실시예와 일치하는 하나 이상의 동작을 수행하거나 이의 수행을 보조하는 다른 구성요소를 포함할 수 있다.
이하에 더 상세히 서술되는 바와 같이, 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n)), 타이머 서버 시스템(116), 클라이언트 서버 디바이스(118(1)-118(n))의 풀, 응답 서버 디바이스(120(1)-120(n))의 풀 및 원격 데이터베이스(122)는 하나 이상의 컴퓨팅 디바이스(예를 들어, 컴퓨터(들), 서버(들) 등), 데이터 및/또는 소프트웨어 명령어를 저장하는 메모리(예를 들어, 데이터베이스(들), 메모리 디바이스 등), 및 다른 알려진 컴퓨팅 구성요소를 포함할 수 있다. 일부 실시예에서, 하나 이상의 컴퓨팅 디바이스는 개시된 실시예와 일치하는 하나 이상의 동작을 수행하기 위해 메모리에 저장된 소프트웨어 명령어를 실행하도록 구성될 수 있다. 고객 디바이스(들)(102(1)-102(n)), 물품 배송 제공자 디바이스(들)(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n)), 타이머 서버 시스템(116), 클라이언트 서버 디바이스(118(1)-118(n))의 풀, 응답 서버 디바이스(120(1)-120(n))의 풀 및 원격 데이터베이스(122)는 예를 들어, 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 통해 시스템(100)의 하나 이상의 다른 구성요소와 통신하도록 구성될 수 있다. 특정한 양상에서, 개시된 실시예와 일치하는 통신을 전송하고 수신하거나, 동작을 개시하거나, 및/또는 하나 이상의 동작에 대한 입력을 제공함으로써 시스템(100)의 하나 이상의 구성요소와 상호작용하기 위해, 고객 위치(104(1)-104(n))와 연관된 고객은 고객 디바이스(102(1)-102(n))와 각각 연관되고 이를 동작시키고, 배송 수송 수단(108(1)-108(n))과 연관된 운전자는 물품 배송 제공자 디바이스(106(1)-106(n))와 각각 연관되고 이를 동작시키며, 판매자 상점(112(1)-112(n))과 연관된 판매자는 물품 서비스 제공자 디바이스(110(1)-110(n))와 각각 연관되고 이를 동작시킨다.
타이머 서버 시스템(116)은 물품에 대한 주문 서비스를 수신하거나, 처리하거나, 관리하거나 또는 다른 방식으로 제공하는 온라인 주문 엔티티와 연관될 수 있다. 예를 들어, 온라인 주문 엔티티를 통해 주문될 수 있는 물품은 음식, 식료품, 가구, 서적, 컴퓨터 및/또는 의류를 포함할 수 있지만, 임의의 다른 타입의 물품도 또한, 주문될 수 있다. 예를 들어, 타이머 서버 시스템(116)은 고객 디바이스(102(1)-102(n))를 사용하여 고객으로부터 주문 요청을 수신하고, 주문될 물품을 제공할 판매자 상점(112(1)-112(n))과 연관된 물품 서비스 제공자 디바이스(110(1)-110(n))에 요청을 송신한다. 타이머 서버 시스템(116)은 물품 서비스 제공자 디바이스(110(1)-110(n))로부터 주문 확인을 수신한다. 물품 서비스 제공자 디바이스(110(1)-110(n))로부터 주문 확인을 수신할 시, 타이머 서버 시스템(116)은 판매자 상점(112(1)-112(n))으로부터 주문을 수집하고 주문을 고객 거주지(104(1)-104(n))에 배송하기 위한 요청을 물품 배송 제공자 디바이스(106(1)-106(n))에 송신한다. 물품 배송 제공자 디바이스(106(1)-106(n))는 요청을 수락하고 요청된 물품을 수집하며, 이를 고객 거주지(104(1)-104(n))로 배송한다.
시스템(100)의 원격 데이터베이스(122)는 직접적으로 또는 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)를 통해 타이머 서버 시스템(116)에 통신 가능하게 결합될 수 있다. 또한, 시스템(100)의 원격 데이터베이스(122)는 통신 네트워크(114a)를 통해 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)) 및 물품 서비스 제공자 디바이스(110(1)-110(n))에 통신 가능하게 결합될 수 있다. 원격 데이터베이스(122)는 정보를 저장하고 시스템(100)의 하나 이상의 구성요소에 의해 액세스되거나 및/또는 관리되는 하나 이상의 메모리 디바이스를 포함할 수 있다. 예시로서, 원격 데이터베이스(122)는 OracleTM 데이터베이스, SybaseTM 데이터베이스, 또는 다른 관계형 데이터베이스 또는 하둡(Hadoop) 시퀀스 파일, HBase 또는 Cassandra와 같은 비관계형 데이터베이스를 포함할 수 있다. 원격 데이터베이스(122)는 원격 데이터베이스(122)의 메모리 디바이스에 저장된 데이터에 대한 요청을 수신하고 처리하며, 원격 데이터베이스(122)로부터 데이터를 제공하도록 구성된 컴퓨팅 구성요소(예를 들어, 데이터베이스 관리 시스템, 데이터베이스 서버 등)를 포함할 수 있다.
원격 데이터베이스(122)는 다른 것 중, 판매자 상점(112(1)-112(n))에 위치된 물품 서비스 제공자 디바이스(110(1)-110(n))와 연관된 판매자에 대한 판매자 프로파일 정보, 고객 거주지(104(1)-104(n))에 위치된 고객 디바이스(102(1)-102(n))와 연관된 고객에 대한 고객 프로파일 정보 및 물품 배송 제공자 디바이스(106(1)-106(n))와 연관된 운전자에 대한 운전자 프로파일 정보를 저장하도록 구성된다. 판매자 프로파일 정보, 고객 프로파일 정보 및 운전자 프로파일 정보는 원격 데이터베이스(122)에 데이터 엔트리로서 저장된다.
판매자 상점(112(1)-112(n))은 레스토랑, 커피숍, 서점, 의류 상점을 포함할 수 있지만, 임의의 다른 타입의 상점도 또한 포함될 수 있다. 또한, 판매자 프로파일 정보는 판매자와 연관된 서비스 레벨 협약을 포함하지만, 판매자와 연관된 임의의 다른 타입의 정보도 또한 포함될 수 있다. 서비스 레벨 협약은 고객으로부터의 요청에 응답하여 판매자 상점(112(1)-112(n))이 주문을 확인할 기간을 포함할 수 있지만, 서비스 레벨 협약과 연관된 임의의 다른 타입의 정보도 또한 포함될 수 있다. 고객 위치(104(1)-104(n))는 주거 위치, 사무실 건물, 아파트를 포함할 수 있지만, 임의의 다른 타입의 거주지도 또한 포함될 수 있다. 또한, 고객 프로파일 정보는 고객 디바이스(102(1)-102(n))를 이용함으로써 고객에 의해 된 주문이 판매자 상점(112(1)-112(n))에 의해 확인될 기간을 포함하지만, 서비스 레벨 협약과 연관된 임의의 다른 타입의 정보도 또한 포함될 수 있다. 배송 수송 수단(108(1)-108(n))은 자동차, 자전거, 트럭 또는 버스를 포함할 수 있지만, 임의의 다른 타입의 수송 수단도 또한 포함될 수 있다. 또한, 운전자 프로파일 정보는 배송 직원이 판매자 상점(112(1)-112(n))으로부터 수신된 픽업 요청을 많이 확인하는 기간을 포함하지만, 서비스 레벨 협약과 연관된 다른 타입의 정보도 또한 포함될 수 있다.
일부 실시예에서, 원격 데이터베이스(122)는 키-값 데이터 구조를 저장한다. 키-값 데이터 구조는 데이터를 그 안에 상이한 필드를 갖는 레코드로서 저장한다. 이들 레코드는 레코드를 고유하게 식별하는 키를 사용하여 저장되고 및 검색되며, 데이터베이스 내에서 데이터를 빠르게 찾는데 더 사용된다. 예시로서, 요청에 대한 종료 시간은 키로서 저장될 수 있으며, 종료 시간과 연관된 대응하는 이벤트는 값으로서 저장될 수 있다. 요청에 대한 종료 시간은 이벤트를 수행하기 위해 타이머가 트리거된 이후의 기간이다. 이 예시에서, 종료 시간은 20분일 수 있고 대응하는 이벤트는 20분의 완료 시 있을 수 있으며, 확인 응답이 수신되지 않은 것으로 결정되면, 요청에 연관된 응답 서버 디바이스(120(1)-120(n))에 취소 주문 요청을 송신한다.
일 양상에서, 타이머 서버 시스템(116)은 도 4 및 도 5에 관련하여 아래에 더욱 상세히 서술된 바와 같이 개시된 실시예와 일치하는 하나 이상의 동작을 수행하도록 구성된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 일 양상에서, 타이머 서버 시스템(116)은 하나 이상의 서버 또는 서버 시스템을 포함할 수 있다. 타이머 서버 시스템(116)은 메모리 또는 다른 저장 디바이스에 저장된 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 하나 이상의 프로세서는 인터넷 관련된 통신, 온라인 주문 기반 프로세스, 및 타이머 관리 및 이벤트 트리거링을 전파하는 것을 수행하기 위해 저장된 소프트웨어 명령어를 실행하도록 구성될 수 있다. 타이머 서버 시스템(116)의 하나 이상의 컴퓨팅 디바이스는 요청의 송신과 요청의 확인을 수신하는 것 사이의 시간 지연을 추적 및 저장하고, 시간 지연의 추적에 기초하여 요청과 연관된 이벤트를 트리거하도록 구성될 수 있다. 타이머 서버 시스템(116)의 하나 이상의 컴퓨팅 디바이스는 또한, 타이머 관리 및 이벤트 트리거링을 전파하기 위해 시스템(100)의 다른 구성요소와 통신하도록 구성될 수 있다. 일부 실시예에서, 타이머 서버 시스템(116)은 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 통해 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n)), 클라이언트 서버 디바이스(118(1)-118(n))의 풀 및 응답 서버 디바이스(120(1)-120(n))에 의해 액세스 가능한 하나 이상의 모바일 애플리케이션, 웹 사이트 또는 온라인 포털을 제공할 수 있다. 개시된 실시예는 타이머 서버 시스템(116)의 임의의 특정한 구성으로 제한되지 않는다.
일 양상에서, 클라이언트 서버 디바이스(118(1)-118(n))의 풀은 도 4 및 도 5에 관련하여 아래에 더 상세히 서술되는 바와 같이 개시된 실시예와 일치하는 하나 이상의 동작을 수행하도록 구성된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 일 양상에서, 클라이언트 서버 디바이스(118(1)-118(n))의 각각은 하나 이상의 서버 또는 서버 시스템을 포함할 수 있다. 클라이언트 서버 디바이스(118(1)-118(n))는 메모리 또는 다른 저장 디바이스에 저장된 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 하나 이상의 프로세서는 인터넷 관련된 통신, 온라인 주문 기반 프로세스, 및 타이머 관리 및 이벤트 트리거링을 전파하는 것을 수행하기 위해 저장된 소프트웨어 명령어를 실행하도록 구성될 수 있다. 클라이언트 서버 디바이스(118(1)-118(n))의 하나 이상의 컴퓨팅 디바이스는 네트워크(114b)를 통해 타이머 서버 시스템(116)과 통신할 수 있다. 클라이언트 서버 디바이스(118(1)-118(n))의 하나 이상의 컴퓨팅 디바이스는 또한, 타이머 관리 및 이벤트 트리거링을 전파하기 위해 시스템(100)의 다른 구성요소와 통신하도록 구성될 수 있다. 일부 실시예에서, 클라이언트 서버 디바이스(118(1)-118(n))는 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n)) 및 응답 서버 디바이스(120(1)-120(n))에 의해 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 통해 액세스 가능한 하나 이상의 모바일 애플리케이션, 웹 사이트 또는 온라인 포털을 제공할 수 있다. 개시된 실시예는 클라이언트 서버 디바이스(118(1)-118(n))의 임의의 특정한 구성으로 제한되지 않는다.
일 양상에서, 응답 서버 디바이스(120(1)-120(n))의 풀은 도 4 및 도 5에 관련하여 아래에 더 상세히 서술된 바와 같이 개시된 실시예와 일치하는 하나 이상의 동작을 수행하도록 구성된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 일 양상에서, 응답 서버 디바이스(120(1)-120(n))의 각각은 하나 이상의 서버 또는 서버 시스템을 포함할 수 있다. 응답 서버 디바이스(120(1)-120(n))는 메모리 또는 다른 저장 디바이스에 저장된 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 하나 이상의 프로세서는 인터넷 관련된 통신, 온라인 주문 기반 프로세스, 및 타이머 관리 및 이벤트 트리거링을 전파하는 것을 수행하기 위해 저장된 소프트웨어 명령어를 실행하도록 구성될 수 있다. 응답 서버 디바이스(120(1)-120(n))의 하나 이상의 컴퓨팅 디바이스는 네트워크(114c)를 통해 타이머 서버 시스템(116)과 통신할 수 있다. 응답 서버 디바이스(120(1)-120(n))의 하나 이상의 컴퓨팅 디바이스는 또한, 타이머 관리 및 이벤트 트리거링을 전파하기 위해 시스템(100)의 다른 구성요소와 통신하도록 구성될 수 있다. 일부 실시예에서, 응답 서버 디바이스(120(1)-120(n))는 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n)) 및 클라이언트 서버 디바이스(118(1)-118(n))에 의해 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 통해 액세스 가능한 하나 이상의 모바일 애플리케이션, 웹 사이트 또는 온라인 포털을 제공할 수 있다. 개시된 실시예는 응답 서버 디바이스(120(1)-120(n))의 임의의 특정한 구성으로 제한되지 않는다.
네트워크(114a), 네트워크(114b) 및 네트워크(114c)는 시스템(100)의 구성요소 사이에서 통신을 제공하거나 또는 데이터를 교환하거나 또는 이들 양자를 위해 구성된 임의의 타입의 컴퓨터 네트워킹 배열을 포함할 수 있다. 예를 들어, 네트워크(114a), 네트워크(114b) 및 네트워크(114c)는 시스템(100)의 다양한 구성요소 중 정보 교환을 가능하게 할 수 있는 인터넷, 개인용 데이터 네트워크, 공용 네트워크를 이용한 가상 개인용 네트워크, LAN 또는 WAN 네트워크, Wi-FiTM 네트워크 및/또는 다른 적절한 연결과 같이, 통신을 제공하거나, 정보를 교환하거나 및/또는 정보의 교환을 용이하게 하는 (인프라구조를 포함하는) 임의의 타입의 네트워크를 포함할 수 있다. 네트워크(114a), 네트워크(114b) 및 네트워크(114c)는 또한, 공중 전화 교환망("public switched telephone network, PSTN") 및/또는 무선 셀룰러 네트워크를 포함할 수 있다. 네트워크(114a), 네트워크(114b) 및 네트워크(114c)는 또한, 보안 네트워크 또는 비보안 네트워크일 수 있다. 일부 실시예에서, 시스템(100)의 하나 이상의 구성요소는 전용 통신 링크(들)를 통해 직접적으로 통신할 수 있다.
고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n))는 도 2에 관련하여 아래에서 더욱 상세히 서술되는 바와 같이, 개시된 실시예와 일치하는 하나 이상의 동작을 수행하도록 구성된 하나 이상의 컴퓨팅 디바이스일 수 있다. 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)), 물품 서비스 제공자 디바이스(110(1)-110(n))는 고객 디바이스(102(1)-102(n))에 포함되거나 이에 연결된 디스플레이 상에, 물품의 배송을 위한 온라인 주문을 하고, 주문을 받으며, 주문된 물품을 배송하기 위한 온라인 포털을 디스플레이하는 브라우저 또는 관련된 모바일 디스플레이 소프트웨어를 실행할 수 있다. 고객 디바이스(102(1)-102(n))는 또한 고객, 판매자 및/또는 운전자가 타이머 서버 시스템(116)에 의해 제공되는 온라인 포털과 상호 작용할 수 있게 하는 다른 모바일 애플리케이션을 저장하고 실행할 수 있다.
시스템(100)의 기능 블록의 구성은 서술의 편의를 위해 본원에서 정의되었다는 것이 이해될 것이다. 시스템(100)에 포함된 구성요소 및 구성요소의 배열은 다양할 수 있다. 예를 들어, 일부 실시예에서, 시스템(100)은 개시된 방법과 일치하는 하나 이상의 프로세스를 수행하거나 또는 이의 수행을 보조하는 다른 구성요소를 포함할 수 있다. 시스템(100)은 일반적으로 컴퓨팅 디바이스로서 서술된 다수의 구성요소를 포함한다. 컴퓨팅 디바이스의 각각은 본원에 개시된 기능을 수행하기 위해 특수 목적 컴퓨팅 디바이스(special purpose computing device)로서 특히 구성된 임의의 수의 컴퓨팅 구성요소를 포함할 수 있다. (본원에 서술된 것의 등가물, 확장, 변형, 편차 등을 포함하는) 대안은 본원에 포함된 교시를 기초로 관련 기술(들)에서의 기술자에게 명백할 것이다. 이러한 대안은 개시된 실시예의 범주 및 사상 내에 속한다.
도 2는 개시된 실시예와 일치하는 예시적인 서버 디바이스(200)를 도시한다. 예시적인 서버 디바이스(200)의 변형은 타이머 서버 시스템(116)의 하나 이상의 구성요소를 구성할 수 있다. 일 실시예에서, 서버 디바이스(200)는 하나 이상의 메모리(202), 하나 이상의 I/O 디바이스(206) 및 하나 이상의 프로세서(208)를 포함한다. 일부 실시예에서, 서버 디바이스(200)는 타이머 서버 시스템(116)의 일부일 수 있다. 일부 실시예에서, 서버 디바이스(200)는 타이머 서버 시스템(116)의 완전한 기능을 수행하기 위해 타이머 서버 시스템(116)에 의해 사용되는 특수하게 프로그래밍된 서버 또는 컴퓨팅 시스템의 형태를 취할 수 있다. 일부 실시예에서, 서버 디바이스(200)는 개시된 실시예와 일치하는 하나 이상의 동작을 수행하는 소프트웨어 명령의 저장, 실행 및/또는 구현에 기초하여 장치, 내장 시스템, 전용 회로, 또는 이와 유사한 것으로서 구성될 수 있다.
메모리(202)는 개시된 실시예에 관련된 기능을 수행하기 위해 프로세서(208)에 의해 사용되는 명령어를 저장하도록 구성된 하나 이상의 저장 디바이스를 포함할 수 있다. 예를 들어, 메모리(202)는 프로세서(208)에 의해 실행될 때 하나 이상의 동작을 수행할 수 있는 프로그램(들)(204)과 같은 하나 이상의 소프트웨어 명령어로 구성될 수 있다. 개시된 실시예는 전용 작업을 수행하도록 구성된 별도의 프로그램 또는 컴퓨터로 제한되지 않는다. 예를 들어, 메모리(202)는 서버 디바이스(200)의 기능을 수행하는 단일 프로그램(204)을 포함할 수 있거나, 또는 프로그램(204)은 다수의 프로그램을 포함할 수 있다. 특정한 실시예에서, 메모리(202)는 타이머 서버 시스템(116)의 기능을 수행하기 위한 명령어 또는 프로그램(204)의 세트를 저장할 수 있다. 이들 명령어의 세트는 개시된 실시예와 일치하는 통신 및/또는 프로세스를 수행하기 위해 프로세서(208)에 의해 실행될 수 있다.
특정한 실시예에서, 서버 디바이스(200)가 타이머 서버 시스템(116)의 구성요소 중 하나 이상을 구성할 때, 메모리(202)는 아래에 상세히 서술되는 바와 같이 이벤트 트리거 모듈(210), 타이머 모듈(212), 데이터 저장소(214) 및 반복 마스터 타이머 모듈(216)을 포함한다.
다른 예시에서, 이벤트 트리거 모듈(210), 타이머 모듈(212), 데이터 저장소(214) 및 반복 마스터 타이머 모듈(216)의 각각은 클라이언트 서버 디바이스(118(1)-118(n)), 응답 서버 디바이스(120(1)-120(n)) 및 원격 데이터베이스(122)와 네트워크(114a), 네트워크(114b) 및 네트워크(114c)를 통해 통신하는 분리되고 개별적인 서버로 구현될 수 있다. 다른 예시에서, 데이터 저장소(214)는 원격 데이터베이스(122)에서 호스팅될 수 있다.
입/출력(I/O)(206)은 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)) 및/또는 물품 서비스 제공자 디바이스(110(1)-110(n))에 의해 조작될 수 있는 키보드, 마우스-타입 디바이스, 제스처 센서, 활동 센서, 물리적인 버튼, 스위치, 마이크, 터치 스크린 패널, 스타일러스(stylus) 등과 같은 다양한 입/출력 디바이스를 포함할 수 있다. I/O 디바이스(206)는 또한, 오디오 출력 디바이스를 포함할 수 있다. I/O 디바이스(206)의 예시적인 통신 모듈은 예를 들어, 단거리 또는 근거리 무선 통신 모뎀(short-range or near field wireless communication modem), Wi-FiTM 통신 모뎀 또는 셀룰러 통신 모뎀을 포함할 수 있다. I/O 디바이스(206)는 제한 없이, 셀룰러(예를 들어, 3G, 4G 등) 기술, Wi-FiTM 핫스팟 기술, RFID, 근거리 통신(NFC) 또는 BLUETOOTH® 기술 등을 포함할 수 있는 하나 이상의 무선 기술/프로토콜을 사용하여 통신하도록 구성된 트랜스시버(transceiver) 또는 송신기를 포함할 수 있다. 더욱 일반적으로, 통상 기술자에게 알려진 임의의 단방향 또는 양방향 통신 기술은 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)를 통해, 타이머 서버 시스템(116), 고객 디바이스(102(1)-102(n)) 물품 배송 제공자 디바이스(106(1)), 물품 서비스 제공자 디바이스(110(1)-110(n)), 클라이언트 서버 디바이스(118(1)-118(n)), 응답 서버 디바이스(120(1)-120(n)) 또는 원격 데이터베이스(122)와 정보를 교환하기 위해 서버 디바이스(200)에 구현될 수 있다.
프로세서(208)는 예를 들어, IntelTM에 의해 제조된 PentiumTM 또는 XeonTM 패밀리, 또는 AMDTM에 의해 제조된 TurionTM 패밀리로부터의 마이크로프로세서와 같은 하나 이상의 알려진 처리 디바이스를 포함할 수 있다. 개시된 실시예는 시스템(100)의 상이한 구성요소에 필요한 컴퓨팅 요구를 충족시키도록 다른 방식으로 구성된 임의의 타입의 프로세서(들)에 제한되지 않는다.
도 3은 개시된 실시예와 일치하는 사용자 디바이스(300)의 예시적인 구성을 도시한다. 도 3의 사용자 디바이스(300)는 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)) 및 물품 서비스 제공자 디바이스(110(1)-110(n)) 각각의 예시적인 구성을 나타낸다.
사용자 디바이스(300)는 고객 디바이스(102(1)-102(n)), 물품 배송 제공자 디바이스(106(1)-106(n)) 및 물품 서비스 제공자 디바이스(110(1)-110(n))와 연관된 관련 고객, 운전자 및 판매자가 각각, 예를 들어, 타이머 서버 시스템(116)과의 원격 상호작용 또는 모바일 트랜잭션(mobile transactions)을 수행하거나 또는 타이머 서버 시스템(116)으로부터 정보를 수신하는 것을 가능하게 할 수 있다. 일부 실시예에서, 사용자 디바이스(300)는 개인용 컴퓨팅 디바이스일 수 있다. 예를 들어, 사용자 디바이스(300)는 스마트폰, 랩탑 또는 노트북 컴퓨터, 태블릿, 다기능 시계(multifunctional watch), 한 쌍의 다기능 안경, 또는 컴퓨팅 능력을 갖는 임의의 모바일 또는 웨어러블 디바이스, 또는 이들 컴퓨터 및/또는 연계된 구성요소의 임의의 조합일 수 있다.
사용자 디바이스(300)는 메모리(312)와 같은 메모리에 저장된 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 프로세서(308)를 포함한다. 메모리(312)는 프로세서(308)에 의해 실행될 때 고객, 운전자 및/또는 판매자에 대해 알려진 인터넷 관련 통신, 콘텐츠 디스플레이 프로세스 및 다른 대화형 프로세스를 수행하는 하나 이상의 소프트웨어 프로그램(314)을 저장할 수 있다. 예를 들어, 사용자 디바이스(300)는 사용자 디바이스(300)에 포함되거나 이와 통신하는 디스플레이 디바이스(302) 상에 콘텐츠를 포함하는 인터페이스를 생성하고 디스플레이하는 브라우저 또는 관련된 모바일 디스플레이 소프트웨어를 실행할 수 있다. 사용자 디바이스(300)는 디스플레이 디바이스(302)를 통해 인터페이스에 콘텐츠를 생성하고 디스플레이하기 위해, 사용자 디바이스(300)가 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)를 통해 타이머 서버 시스템(116) 및 다른 구성요소와 통신하는 것을 허용하는, 프로그램(314)에 포함된 모바일 디바이스 애플리케이션 및/또는 모바일 디바이스 통신 소프트웨어를 실행하는 모바일 디바이스일 수 있다. 개시된 실시예는 사용자 디바이스(300)의 임의의 특정한 구성으로 제한되지 않는다. 사용자 디바이스(300)는 개시된 실시예와 일치하는, 하나 이상의 동작을 수행하도록 구성된 하나 이상의 컴퓨팅 디바이스의 임의의 배열을 포함할 수 있다.
사용자 디바이스(300)는 프로세서(308)에 의해 실행될 때 알려진 운영체제 기능을 수행하는 하나 이상의 운영체제를 메모리(312)에 저장하도록 구성될 수 있다. 예시로서, 운영체제는 Microsoft WindowsTM, UnixTM, LinuxTM, AndroidTM, AppleTM Mac OS 운영체제, iOS, Chrome OS 또는 다른 타입의 운영체제를 포함할 수 있다. 따라서, 개시된 실시예는 임의의 타입의 운영체제를 실행하는 컴퓨터 시스템을 통해 동작하고 기능할 수 있다. 사용자 디바이스(300)는 또한, 프로세서(308)에 의해 실행될 때, 웹 브라우저 소프트웨어, 태블릿 또는 스마트 핸드헬드 디바이스 네트워킹 소프트웨어 등과 같이 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)와의 통신을 제공하는, 메모리(312)에 저장된 통신 소프트웨어를 포함할 수 있다.
디스플레이 디바이스(302)는 예를 들어, 액정 디스플레이(LCD), 발광 다이오드 스크린(LED), 유기 발광 다이오드 스크린(OLED), 터치 스크린 및 다른 알려진 디스플레이 디바이스를 포함할 수 있다. 디스플레이 디바이스(302)는 고객, 운전자 및 판매자에 다양한 정보를 디스플레이할 수 있다. 예를 들어, 디스플레이 디바이스(302)는 고객, 운전자 및 판매자가 개시된 방법의 특정한 양상을 수행하기 위해 사용자 디바이스(300)를 동작시키는 것을 가능하게 하는 대화형 인터페이스를 디스플레이할 수 있다. 디스플레이 디바이스(302)는 고객, 운전자 및 판매자가 선택하기 위한 터치 가능한 또는 선택 가능한 옵션을 디스플레이할 수 있고, 터치 스크린을 통해 고객의 옵션 선택을 수신할 수 있다.
사용자 디바이스(300)는 정보를 전송 및 수신하고 고객, 운전자 및 판매자 또는 다른 디바이스와 상호작용하는 것을 허용하는 I/O 디바이스(304)를 포함한다. 예를 들어, I/O 디바이스(304)는 사용자 디바이스(300)를 사용하여 정보를 입력하기 위해 고객, 운전자 및 판매자에 의해 조작될 수 있는 키보드, 마우스-타입 디바이스, 제스처 센서, 활동 센서, 물리적 버튼, 스위치, 마이크, 터치스크린 패널, 스타일러스 등과 같은 다양한 입/출력 디바이스를 포함할 수 있다. I/O 디바이스(304)는 또한, 사용자 디바이스(300)를 동작시키는 고객, 운전자 및 판매자에게 사운드(sound) 및 오디오(audio) 피드백을 제공하도록 구성된 스피커와 같은 오디오 출력 디바이스를 포함할 수 있다. 일부 실시예에서, I/O 디바이스(304)는 고객, 운전자 및 판매자에 가시광선 신호를 제공할 수 있는 LED 또는 다른 구성요소와 같은 발광 구성요소를 포함할 수 있다. I/O 디바이스(304)는 또한, 고객, 운전자 및 판매자에 햅틱 피드백을 제공하기 위해 햅틱 출력 디바이스를 포함할 수 있다. I/O 디바이스(304)는 또한 예를 들어, 사용자 디바이스(300), 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c) 사이에 유선 또는 무선 연결을 확립함으로써, 시스템(100)에서의 다른 구성요소로부터 정보를 전송하고 수신하기 위한 하나 이상의 통신 모듈(미도시)을 포함할 수 있다. I/O 디바이스(304)는 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)와 연관된 다른 디바이스와 통신하기 위해, 무선 주파수, 적외선 또는 다른 근거리 통신 인터페이스를 포함할 수 있다. I/O 디바이스(304)의 예시적인 통신 모듈은 예를 들어, 단거리 또는 근거리 무선 통신 모뎀, Wi-FiTM 통신 모뎀 또는 셀룰러 통신 모뎀을 포함할 수 있다. I/O 디바이스(304)는 제한 없이, 셀룰러(예를 들어, 3G, 4G 등) 기술, Wi-FiTM 핫스팟 기술, RFID, 근거리 통신(NFC) 또는 BLUETOOTH® 기술 등을 포함할 수 있는 하나 이상의 무선 기술/프로토콜을 사용하여 통신하도록 구성된 트랜스시버 또는 송신기를 포함할 수 있다. 더욱 일반적으로, 통상의 기술자에게 알려진 임의의 단방향 또는 양방향 통신 기술은 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)를 통해 타이머 서버 시스템(116) 또는 원격 데이터베이스(122)와 정보를 교환하기 위해 사용자 디바이스(300)에서 구현될 수 있다.
앞서 서술된 바와 같이, 사용자 디바이스(300)는 개시된 실시예와 일치하는 동작을 수행하기 위해 모바일 애플리케이션을 실행하는 디바이스일 수 있다. 따라서, 일부 실시예에서, 사용자 디바이스(300) 상에 저장된 프로그램(314)은 사용자 디바이스(300)가 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)를 통해 타이머 서버 시스템(116)과 통신하고 개시된 방법의 양상을 수행하는 것을 가능하게 하는, 그 상에 설치된 하나 이상의 소프트웨어 애플리케이션(316)을 포함할 수 있다. 예를 들어, 사용자 디바이스(300)는 정보에 액세스하고 이를 수신하거나 또는 인터넷 서비스 제공자와 연관된 다른 동작을 수행하기 위해 브라우저 소프트웨어를 사용함으로써 타이머 서버 시스템(116)에 연결할 수 있다.
예시적인 실시예에 따라, 타이머 서버 시스템(116)과 관련된 소프트웨어 애플리케이션(316)은 도 3에 도시된 바와 같이 사용자 디바이스(300)상에 설치될 수 있다. 예를 들어, 타이머 서버 시스템(116)은 고객 디바이스(102(1))로부터 하나 이상의 소프트웨어 애플리케이션(316)을 사용자 고객 디바이스(102(1))로 다운로드시키기 위한 요청을 수신할 수 있다. 일 실시예에서, 타이머 서버 시스템(116)은 고객 디바이스(102(1))에 각각 설치된 웹 브라우저 애플리케이션을 사용하여 고객 디바이스(102(1))와 연관된 고객으로부터 요청을 수신할 수 있다. 다른 실시예에서, 타이머 서버 시스템(116)은 예를 들어, 고객 디바이스(102(1))를 통해 액세스되는 타이머 서버 시스템(116)과 연관된 웹 페이지 또는 다른 포털로부터 타이머 서버 시스템(116)과 연관된 하나 이상의 소프트웨어 애플리케이션(316)을 고객 디바이스(102(1)) 상에 다운로드시키기 위한 요청을 수신할 수 있다. 이 실시예에서, 타이머 서버 시스템(116)은 원격 데이터베이스(122)에서 하나 이상의 소프트웨어 애플리케이션(316)에 대응하는 소프트웨어 명령어를 저장할 수 있다. 다운로드 요청에 응답하기 위해, 타이머 서버 시스템(116)은 고객 디바이스(102(1))가 특정한 사양(specifications)에 대응하는 소프트웨어 명령어를 다운로드하는 것을 가능하게 하도록 고객 디바이스(102(1))의 특정한 디바이스 사양에 관한 추가적인 정보를 고객 디바이스(102(1))로부터 수신할 수 있다. 대안적으로, 타이머 서버 시스템(116)은 고객 디바이스(102(1))로 다운로드 요청 링크를 푸시(push)하거나 또는 하나 이상의 소프트웨어 애플리케이션(316)에 대응하는 소프트웨어 코드를 예를 들어 이메일, 문자 또는 단문 메시지 서비스(short message service, SMS) 메시지, 앱을 통한 프롬프트(prompt) 또는 다른 적합한 방법으로 고객 디바이스(102(1))에 직접적으로 송신할 수 있다. 고객 디바이스(102(1))는 소프트웨어 코드를 다운로드하고 설치하기 위해, 가령 네트워크(114a), 네트워크(114b) 및/또는 네트워크(114c)를 통해 하나 이상의 소프트웨어 애플리케이션(316)과 관련된 소프트웨어 코드를 수신할 수 있다. 유사하게, 다른 예시에서, 타이머 서버 시스템(116)은 물품 배송 제공자 디바이스(106(1)) 상에 하나 이상의 소프트웨어 애플리케이션(316)을 다운로드시키기 위해 물품 배송 제공자 디바이스(106(1))와 연관된 운전자로부터 요청을 수신할 수 있다. 또한, 유사하게, 다른 예시에서, 타이머 서버 시스템(116)은 물품 서비스 제공자 디바이스(110(1)) 상에 하나 이상의 소프트웨어 애플리케이션(316)을 다운로드시키기 위해 물품 서비스 제공자 디바이스(110(1))와 연관된 판매자로부터 요청을 수신할 수 있다.
도 4는 개시된 실시예와 일치하는 타이머 관리 및 이벤트 트리거링을 전파하기 위해 타이머 서버 시스템(116)에 의해 구현된 예시적인 프로세스(400)의 흐름도를 포함한다. 타이머 서버 시스템(116)은 프로세스(400)의 동작 중 하나 이상을 수행하는 소프트웨어 명령어를 실행하기 위해 도 2의 서버 디바이스(200)로 구현된다. 프로세스(400)의 동작은 도 5에 연관되어 설명되며, 도 5는 도 4의 예시적인 프로세스를 나타내는 흐름도를 포함한다.
도 5는 502를 통해 네트워크(114b)와 통신하는 클라이언트 서버 디바이스(118(1)-118(n))의 풀, 504를 통해 타이머 서버 시스템(116)과 통신하는 네트워크(114b), 506를 통해 네트워크(114c)와 통신하는 타이머 서버 시스템(116) 및 508을 통해 응답 서버 디바이스(120(1)-120(n))와 통신하는 네트워크(114c)를 도시한다.
프로세스(400)에 따라, 단계 402에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 클라이언트 서버 디바이스(118(1)-118(n)) 중 하나로부터 타이머 모듈(212)을 인스턴스화하기 위한 클라이언트 요청을 수신한다. 예시로서, 고객 디바이스(102(1))와 연관된 고객은 판매자 상점(112(1))으로부터 음식을 요청하기 위해 온라인 주문을 할 수 있다. 온라인 주문은 고객 디바이스(102(1))에 의해 생성된 클라이언트 요청이며, 클라이언트 요청은 주문 정보를 포함할 수 있다. 주문 정보는 고객 식별자, 고객이 음식을 요청하는 판매자 상점 식별자, 고객이 요청하는 요리 이름, 주문 시간, 고객이 음식을 배송 받기를 원하는 시간, 고객이 음식을 배송 받기를 원하는 위치, 고객의 이름, 고객 지불 정보를 포함할 수 있지만, 임의의 다른 온라인 주문 정보도 또한 포함될 수 있다. 또한, 고객 지불 정보는 신용 카드 번호, 직불 카드 번호, 온라인 은행 계좌 번호를 포함하지만, 임의의 다른 고객 지불 정보가 포함될 수 있다. 고객 디바이스(102(1))는 생성된 클라이언트 요청을 네트워크 부하 및 이용 가능성을 기초로 네트워크(114a)를 통해 클라이언트 서버 디바이스(118(1)-118(n)) 중 하나로 송신하며, 이 예시에서, 고객 디바이스(102(1))는 클라이언트 요청을 클라이언트 서버 디바이스(118(1))로 송신한다. 클라이언트 서버 디바이스(118(1))는 클라이언트 요청을 수신할 시, 클라이언트 요청을 (도 5의 흐름(502)에 도시된 바와 같이) 네트워크(114b)를 통해, (도 5의 흐름(504)에 도시된 바와 같이) 네트워크(114b)로부터 타이머 서버 시스템(116)의 서버 디바이스(200)로 송신한다. 서버 디바이스(200)는 클라이언트 서버 디바이스(118(1))로부터 클라이언트 요청을 수신한다.
다른 예시에서, 고객 디바이스(102(n))는 클라이언트 요청을 생성하고, 이를 클라이언트 서버 디바이스(118(1) 내지 118(n)) 중 하나로 송신할 수 있다. 이 예시에서, 고객 디바이스(102(n))는 클라이언트 요청을 클라이언트 서버 디바이스(118(n))로 송신한다. 다른 예시에서, 고객 디바이스(102(n))는 클라이언트 요청을 클라이언트 서버 디바이스(118(1))로 송신한다.
단계 404에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 고객이 판매자 상점(112(1)-112(n))으로부터 음식을 요청하는 판매자 상점 식별자를 포함하도록 수신된 클라이언트 요청을 결정한다. 판매자 상점 식별자는 주문과 연관된 판매자 상점을 식별하는 고유한 식별자이다. 예시로서, 판매자 식별자는 클라이언트 요청에 포함된 판매자와 연관된 이름 또는 이메일 주소일 수 있다. 고유한 식별자를 기초로, 서버 디바이스(200)는 결정된 고유한 식별자에 대응하는 판매자 프로파일 정보를 식별하기 위해 원격 데이터베이스(122)에 액세스한다. 일부 실시예에서, 서버 디바이스(200)는 결정된 고유한 식별자에 대응하는 판매자 프로파일 정보를 식별하기 위해 원격 데이터베이스(122)에서 룩업 테이블에 액세스한다. 서버 디바이스(200)는 원격 데이터베이스(122)로부터 판매자 프로파일 정보를 수집한다. 또한, 판매자 프로파일 정보는 고유한 식별자에 대응하는 판매자와 연관된 서비스 레벨 협약(service level agreements, SLA)을 포함할 수 있다. 서비스 수준 협약은 종료 시간 및 종료 시간에서의 이벤트 트리거링을 포함할 수 있다. 종료 시간은 판매자 상점(112(1)-112(n))이 클라이언트 요청에 응답하여 주문을 확인할 기간이지만, 서비스 레벨 협약과 연관된 임의의 다른 타입의 정보도 포함될 수 있다. 요청에 대한 종료 시간은 이벤트를 수행하기 위해 타이머가 트리거된 이후의 기간이다. 이 예시에서, 종료 시간은 20분일 수 있으며, 대응하는 이벤트는 20분의 완료 시 있을 수 있다. 이 예시에서, 서버 디바이스(200)가 확인 응답이 수신되지 않았다고 결정하면, 서버 디바이스(200)는 요청과 연관된 응답 서버 디바이스(120(1)-120(n))에 취소 주문 요청을 전송한다.
고유한 식별자를 기초로 하는 다른 예시에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 결정된 고유한 식별자에 대응하는 데이터 저장소(214)에 저장된 판매자 프로파일 정보를 식별하기 위해 데이터 저장소(214)에 액세스한다.
단계 406에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 SLA를 키-값 데이터 구조로 데이터 저장소에 저장한다. 서버 디바이스(200)는 종료 시간을 키 구조로 데이터 저장소(214)에 저장하고, 종료 시간에서의 이벤트 트리거링을 키의 연관된 값으로 저장한다. 또한, 타이머 서버 시스템(116)의 서버 디바이스(200)는 키-값 데이터 저장소의 스냅 샷을 데이터 저장소(214)상에 주기적으로 저장한다. 또한, 서버 디바이스(200)가 정전, 프로그램 오류 또는 다른 사고에 기인하여, 키-값 데이터 저장소에서 데이터 손실이 발생한 것으로 판단하면, 서버 디바이스(200)는 저장된 스냅샷을 판독하고, 저장된 스냅샷을 사용하여 키-값 데이터 저장소에 대해 데이터를 복원한다.
단계 408에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 미리 정의된 시간 간격이 만료되었는지를 결정한다. 반복 마스터 타이머 모듈(216)은 미리 정의된 시간 간격이 만료되었는지를 결정한다. 예시로서, 미리 정의된 시간 간격은 5초이지만, 다른 기간도 포함될 수 있다. 반복 마스터 타이머 모듈(216)이 미리 정의된 시간 간격이 만료되지 않은 것으로 결정하면, 방법은 미리 정의된 시간 간격이 만료되었는지를 식별하는 프로세스를 반복하기 위해 단계(408)로 되돌아간다. 반복 마스터 타이머 모듈(216)이 미리 정의된 시간 간격이 만료된 것으로 판단하면, 방법은 단계(410)로 진행한다.
단계(410)에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 단계(406)에 저장된 하나 이상의 키를 위치시키기 위해 데이터 저장소(214)에 액세스한다. 예시로서, 서버 디바이스(200)는 종료 시간을 데이터 저장소(214)에 저장된 키 구조로서 식별한다. 이 예시에서, 종료 시간은 15분이다.
단계(412)에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 단계(410)에서 위치된 키의 저장된 시간과 현재 시간을 비교하는 이벤트 트리거 모듈(210)을 포함한다. 타이머 모듈(212)은 현재 시간을 결정한다. 현재 시간은 시간 서버 시스템(116)이 클라이언트 요청을 수신한 이후 경과된 시간이다.
단계(414)에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 현재 시간이 위치된 키에 저장된 시간을 초과하는지를 결정한다. 예시로서, 이벤트 트리거 모듈(210)이 키에 저장된 시간(이 예시에서, 키에 저장된 시간은 20분임)과 현재 시간(이 예시에서, 현재 시간은 타이머 모듈(212)에 의해 19분으로 결정됨)을 비교할 때, 비교를 기초로, 현재 시간이 위치된 키에 저장된 시간보다 짧은 것으로 즉, 현재 시간이 위치된 키에 저장된 시간을 초과하지 않는 것으로 결정되고, 결과적으로 방법은 단계(408)로 되돌아간다.
하지만, 다른 예시로서, 이벤트 트리거 모듈(210)이 키에 저장된 시간 - 이 예시에서, 키에 저장된 시간은 20분임 -과 현재 시간 - 이 예시에서 현재 시간은 시간 모듈에 의해 20분 30초로 결정됨 -을 비교할 때, 비교를 기초로, 현재 시간이 위치된 키에 저장된 시간보다 긴 것으로 즉, 현재 시간이 위치된 키에 저장된 시간을 초과하는 것으로 결정되고, 결과적으로 방법은 단계(416)로 이동한다.
단계(416)에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 단계(414)에서 종료 시간에 도달한 것으로 결정될 때 종료 시간 키에 대응하는 이벤트를 트리거한다. 서버 디바이스(200)의 이벤트 트리거 모듈(210)이 종료 시간에 도달하고 종료 시간까지 확인 응답이 수신되지 않은 것으로 결정하면, 서버 디바이스(200)는 키와 연관된 이벤트를 트리거한다. 이 예시에서, 트리거될 이벤트는 클라이언트 요청과 연관된 응답 서버 디바이스(120(1)-120(n))에 취소 주문 요청을 송신하는 것이다.
단계(418)에서, 타이머 서버 시스템(116)의 서버 디바이스(200)는 클라이언트 요청과 연관된 응답 서버 디바이스(120(1)-120(n))에 통지로서 취소 주문 요청을 송신한다.
다른 예시로서, 단계(402)로 되돌아가서, 물품 서비스 제공자 디바이스(110(1)-110(n))는 판매자 요청을 생성하고 이를 타이머 서버 시스템(116)에 송신할 수 있다. 판매자 요청은 판매자 상점(112(1)-112(n))으로부터 주문 픽업을 수락하기 위해 물품 배송 제공자 디바이스(106(1)-106(n))와 연관된 배송 직원을 요청하는 판매자에 대한 요청일 수 있다.
다른 예시로서, 단계(402)로 되돌아가서, 물품 배송 제공자 디바이스(106(1)-106(n))는 배송 요청을 생성하고 이를 타이머 서버 시스템(116)으로 송신할 수 있다. 배송 요청은 고객 위치(104(1)-104(n))에서 주문의 배송을 위해 배송 직원과 연관된 물품 배송 제공자 디바이스(106(1)-106(n))로부터의 요청일 수 있다.
개시된 실시예는 타이머 관리 및 이벤트 트리거링을 전파하기 위한 개선된 방법을 제공한다. 시간 지연을 감소시키기 위한 최적화된 프로세스를 제공하고 주문 단계 사이의 비효율을 식별하는 실시간 프로세스를 제공함으로써, 이 기술은 시간 지연을 감소시키는 빠르고 안정적인 프로세스를 제공하며, 이는 주문의 처리를 더욱 빠르게 한다. 따라서, 이 기술은 지연이 발생하는 특정한 위치를 식별함으로써 온라인 주문 처리 동안 발생되는 지연을 감소시키며, 따라서 지연과 연관된 그 네트워크 구성요소에 관련된 이벤트를 트리거한다. 따라서, 이 기술은 더욱 긴 기간 동안 보류중인 온라인 주문을 처리하는 데 필요한 데이터 오버헤드 및 데이터 리소스를 감소시킨다.
대조적으로, 종래 기술에서 구현된 다른 전략은 그것이 추가적인 데이터 오버헤드 및 자원을 필요로 하기 때문에 비효율적이며, 이는 네트워크 자원을 효율적으로 이용하는데 이롭지 않을 수 있으며 따라서 네트워크 부하를 증가시킬 수 있다. 또한, 종래 기술은 온라인 주문 프로세스 동안 상당한 지연을 야기하는 대신, 이 기술은 지연을 감소시키고 네트워크 효율을 개선시키는 실시간 온라인 주문 시스템을 제공한다.
예시적인 실시예가 본원에 서술되었지만, 그의 범주는 본 개시를 기초로 통상의 기술자에 의해 인식될 바와 같이, 동등한 요소, 수정, 생략, (예를 들어, 다양한 실시예에 걸친 양상의) 조합, 적응 및/또는 변경을 갖는 임의의 및 모든 실시예를 포함한다. 예를 들어, 예시적인 시스템에 도시된 구성요소의 개수 및 배향은 수정될 수 있다. 따라서, 전술한 것은 단지 예시의 목적으로 제시되었다. 이는 철저하지 않으며 개시된 정확한 형태 또는 실시예로 제한되지 않는다. 통상의 기술자에게는 개시된 실시예의 명세서 및 실시의 고려로부터 수정 및 적응이 명백할 것이다.
청구범위의 요소는 청구범위에 이용된 언어를 기초로 광범위하게 해석되어야 하며, 본 출원의 절차(prosecution) 동안 또는 본 명세서에서 서술된 예시로 제한되지 않으며, 이 예시는 비-배타적인 것으로 해석되어야 한다. 그러므로, 본 명세서 및 예시는 단지 예시적인 것으로 간주되며, 진정한 범주 및 사상은 다음의 청구 범위 및 그의 등가물의 전체 범주에 의해 나타난다.

Claims (19)

  1. 타이머 관리 및 이벤트 트리거링(event triggering)을 전파하기 위한 컴퓨터-구현된 시스템으로서, 상기 시스템은:
    명령어를 저장하는 메모리; 및
    적어도 하나의 프로세서로서, 상기 명령어를 실행하여:
    제1 시스템으로부터 네트워크를 통해 타이머를 인스턴스화(instantiate) 하기 위한 요청을 수신하는 것 - 상기 요청은:
    상기 타이머에 대한 종료 시간, 및
    상기 종료 시간에 트리거하기 위한 상기 타이머에 대응되는 이벤트를 포함함 -;
    상기 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하는 것;
    상기 요청과 연관된 상기 타이머에 대한 상기 종료 시간에 도달할 시 상기 이벤트를 트리거하는 것; 및
    상기 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 상기 요청과 연관된 상기 이벤트를 전송하는 것을 하도록 구성되는, 적어도 하나의 프로세서를 포함하는, 컴퓨터-구현된 시스템.
  2. 제1항에 있어서, 상기 복수의 요청을 포함하는 상기 데이터 저장소는 키-값 데이터 구조를 포함하는, 컴퓨터-구현된 시스템.
  3. 제2항에 있어서, 상기 수신된 요청은 상기 각각의 타이머에 대한 상기 종료 시간을 키로서, 및 상기 이벤트를 연관된 값으로서 저장함으로써 상기 데이터 저장소에 저장되는, 컴퓨터-구현된 시스템.
  4. 제3항에 있어서, 상기 명령어는 상기 프로세서가:
    반복 마스터 타이머를 미리 정의된 간격으로 유지하는 것;
    상기 미리 정의된 간격이 만료되었음을 결정하는 것; 및
    상기 미리 정의된 간격이 만료되었다는 결정을 기초로:
    상기 데이터 저장소에 하나 이상의 키를 위치시키는 것;
    상기 위치된 키에 저장된 시간을 현재 시간에 비교하는 것;
    과거의 연관된 시간에 적어도 하나의 위치된 키에 대한 상기 연관된 이벤트를 트리거하는 것을 더 하게 하는, 컴퓨터-구현된 시스템.
  5. 제2항에 있어서, 상기 명령어는 상기 프로세서가:
    키-값 데이터 저장소의 스냅 샷을 컴퓨터 판독가능 매체에 주기적으로 저장하는 것;
    정전, 프로그램 오류 또는 기타 사고에 기인하여 상기 키-값 데이터 저장소에서 데이터 손실이 발생하였음을 결정하는 것;
    상기 저장된 스냅 샷을 판독하는 것; 및
    상기 저장된 스냅 샷을 사용하여 상기 키-값 데이터 저장소로 데이터를 복원하는 것을 더 하게 하는, 컴퓨터-구현된 시스템.
  6. 제1항에 있어서, 상기 명령어는 상기 프로세서가:
    반복 마스터 타이머를 미리 정의된 간격으로 유지하는 것;
    상기 미리 정의된 간격이 만료되었음을 결정하는 것; 및
    상기 미리 정의된 간격이 만료되었다는 결정을 기초로:
    각각의 종료 시간에 도달된 하나 이상의 요청을 결정하기 위하여 상기 데이터 저장소를 찾는 것(consulting);
    상기 하나 이상의 결정된 요청에 대한 상기 연관된 이벤트를 트리거하는 것을 더 하게 하는, 컴퓨터-구현된 시스템.
  7. 제1항에 있어서, 상기 종료 시간에 트리거하기 위한 상기 이벤트는
    상기 타이머가 경과했음을 나타내는 통지를 목적지 시스템에 전송하는 것 - 상기 통지는 상기 목적지 시스템에 의한 수행을 위한 명령어를 포함함 -을 포함하는, 컴퓨터-구현된 시스템.
  8. 제1항에 있어서, 상기 명령어는 상기 프로세서가:
    상기 제1 시스템으로부터, 상기 타이머를 취소시키기 위한 요청을 수신하는 것; 및
    상기 데이터 저장소로부터 상기 수신된 요청을 지우는 것을 더 하게 하는, 컴퓨터-구현된 시스템.
  9. 제1항에 있어서, 상기 이벤트를 전송하는 것은 상기 이벤트를 상기 제1 시스템으로 전송하는 것을 포함하는, 컴퓨터-구현된 시스템.
  10. 타이머 관리 및 이벤트 트리거링을 전파하기 위한 컴퓨터 구현된 방법으로서, 상기 방법은:
    제1 시스템으로부터 네트워크를 통해 타이머를 인스턴스화 하기 위한 요청을 수신하는 것 - 상기 요청은:
    상기 타이머에 대한 종료 시간, 및
    상기 종료 시간에 트리거하기 위한 상기 타이머에 대응되는 이벤트를 포함함 -;
    상기 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하는 것;
    상기 요청과 연관된 상기 타이머에 대한 상기 종료 시간에 도달할 시 상기 이벤트를 트리거하는 것; 및
    상기 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 상기 요청과 연관된 상기 이벤트를 전송하는 것을 포함하는, 컴퓨터 구현된 방법.
  11. 제10항에 있어서, 상기 복수의 요청을 포함하는 상기 데이터 저장소는 키-값 데이터 구조를 포함하는, 컴퓨터 구현된 방법.
  12. 제11항에 있어서, 상기 수신된 요청은 상기 각각의 타이머에 대한 상기 종료 시간을 키로서, 및 상기 이벤트를 연관된 값으로서 저장함으로써 상기 데이터 저장소에 저장되는, 컴퓨터 구현된 방법.
  13. 제12항에 있어서,
    반복 마스터 타이머를 미리 정의된 간격으로 유지하는 것;
    상기 미리 정의된 간격이 만료되었음을 결정하는 것; 및
    상기 미리 정의된 간격이 만료되었다는 결정을 기초로:
    상기 데이터 저장소에 하나 이상의 키를 위치시키는 것;
    상기 위치된 키에 저장된 시간을 현재 시간에 비교하는 것;
    과거의 연관된 시간에 적어도 하나의 위치된 키에 대한 상기 연관된 이벤트를 트리거하는 것을 더 포함하는, 컴퓨터 구현된 방법.
  14. 제11항에 있어서,
    키-값 데이터 저장소의 스냅 샷을 컴퓨터 판독가능 매체에 주기적으로 저장하는 것;
    정전, 프로그램 오류 또는 기타 사고에 기인하여 상기 키-값 데이터 저장소에서 데이터 손실이 발생하였음을 결정하는 것;
    상기 저장된 스냅 샷을 판독하는 것; 및
    상기 저장된 스냅 샷을 사용하여 상기 키-값 데이터 저장소로 데이터를 복원하는 것을 더 포함하는, 컴퓨터 구현된 방법.
  15. 제10항에 있어서,
    반복 마스터 타이머를 미리 정의된 간격으로 유지하는 것;
    상기 미리 정의된 간격이 만료되었음을 결정하는 것; 및
    상기 미리 정의된 간격이 만료되었다는 결정을 기초로:
    각각의 종료 시간에 도달된 하나 이상의 요청을 결정하기 위하여 상기 데이터 저장소를 찾는 것;
    상기 하나 이상의 결정된 요청에 대한 상기 연관된 이벤트를 트리거하는 것을 더 포함하는, 컴퓨터 구현된 방법.
  16. 제10항에 있어서,
    상기 타이머가 경과했음을 나타내는 통지를 목적지 시스템에 전송하는 것 - 상기 통지는 상기 목적지 시스템에 의한 수행을 위한 명령어를 포함함 -을 더 포함하는, 컴퓨터 구현된 방법.
  17. 제10항에 있어서,
    상기 제1 시스템으로부터, 상기 타이머를 취소시키기 위한 요청을 수신하는 것; 및
    상기 데이터 저장소로부터 상기 수신된 요청을 지우는 것을 더 포함하는, 컴퓨터 구현된 방법.
  18. 제10항에 있어서, 상기 이벤트를 전송하는 것은 상기 이벤트를 상기 제1 시스템으로 전송하는 것을 포함하는, 컴퓨터 구현된 방법.
  19. 타이머 관리 및 이벤트 트리거링을 전파하기 위한 컴퓨터-구현된 시스템으로서, 상기 시스템은:
    명령어를 저장하는 메모리; 및
    적어도 하나의 프로세서로서, 상기 명령어를 실행하여:
    제1 시스템으로부터 네트워크를 통해, 타이머를 인스턴스화 하기 위한 요청을 수신하는 것 - 상기 요청은:
    상기 타이머에 대한 종료 시간, 및
    상기 종료 시간에 트리거하기 위한 이벤트를 포함함 -;
    상기 수신된 요청을 복수의 요청을 포함하는 데이터 저장소에 저장하는 것;
    상기 요청과 연관된 상기 타이머에 대한 상기 종료 시간에 도달할 시 상기 이벤트를 트리거하는 것;
    상기 이벤트를 트리거하는 것에 응답하여, 네트워크를 통해 상기 요청과 연관된 상기 이벤트를 전송하는 것;
    반복 마스터 타이머를 미리 정의된 간격으로 유지하는 것;
    상기 미리 정의된 간격이 만료되었음을 결정하는 것; 및
    상기 미리 정의된 간격이 만료되었다는 결정을 기초로:
    상기 데이터 저장소에 하나 이상의 키를 위치시키는 것;
    상기 위치된 키에 저장된 시간을 현재 시간에 비교하는 것;
    과거의 연관된 시간에 적어도 하나의 위치된 키에 대한 상기 연관된 이벤트를 트리거하는 것을 포함하는, 컴퓨터-구현된 시스템.
KR1020200016426A 2020-01-23 2020-02-11 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법 KR102223537B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210018666A KR102575001B1 (ko) 2020-01-23 2021-02-09 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/750,143 2020-01-23
US16/750,143 US20210232581A1 (en) 2020-01-23 2020-01-23 Systems and methods for propagating timer management and event triggering

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210018666A Division KR102575001B1 (ko) 2020-01-23 2021-02-09 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102223537B1 true KR102223537B1 (ko) 2021-03-08

Family

ID=75184966

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200016426A KR102223537B1 (ko) 2020-01-23 2020-02-11 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법
KR1020210018666A KR102575001B1 (ko) 2020-01-23 2021-02-09 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법
KR1020230115578A KR102620240B1 (ko) 2020-01-23 2023-08-31 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210018666A KR102575001B1 (ko) 2020-01-23 2021-02-09 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법
KR1020230115578A KR102620240B1 (ko) 2020-01-23 2023-08-31 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20210232581A1 (ko)
JP (1) JP2023512735A (ko)
KR (3) KR102223537B1 (ko)
SG (1) SG11202104474SA (ko)
TW (2) TWI768597B (ko)
WO (1) WO2021148860A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252148A (ja) * 2008-04-10 2009-10-29 Nippon Telegr & Teleph Corp <Ntt> データベース自動修復装置及びその方法並びにデータベース自動修復プログラム
KR20110128205A (ko) * 2009-03-17 2011-11-28 콸콤 인코포레이티드 무선 통신을 위한 정보 스케줄링
KR101435574B1 (ko) * 2014-03-14 2014-09-01 씨엔티테크(주) 주문 수신 서비스 제공 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311902B2 (en) * 2007-01-05 2012-11-13 Amazon Technologies, Inc. System and method for filling an order
US7801987B2 (en) * 2008-06-25 2010-09-21 Microsoft Corporation Dynamic infrastructure for monitoring service level agreements
TWM424718U (en) * 2011-09-16 2012-03-11 Liou Jennchorng Broadcasting system
US20160171436A1 (en) * 2014-11-21 2016-06-16 Deliveright Logistics, Inc. Delivery management systems and methods for zero-inventory distribution
US9424075B1 (en) * 2015-01-30 2016-08-23 Amazon Technologies, Inc. Dynamic virtual partitioning for delayed queues
US10997548B2 (en) * 2018-01-12 2021-05-04 FoodGarage, LLC Item ordering, pickup, and notification methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252148A (ja) * 2008-04-10 2009-10-29 Nippon Telegr & Teleph Corp <Ntt> データベース自動修復装置及びその方法並びにデータベース自動修復プログラム
KR20110128205A (ko) * 2009-03-17 2011-11-28 콸콤 인코포레이티드 무선 통신을 위한 정보 스케줄링
KR101435574B1 (ko) * 2014-03-14 2014-09-01 씨엔티테크(주) 주문 수신 서비스 제공 방법

Also Published As

Publication number Publication date
JP2023512735A (ja) 2023-03-29
KR20230130594A (ko) 2023-09-12
US20210232581A1 (en) 2021-07-29
TWI768597B (zh) 2022-06-21
SG11202104474SA (en) 2021-08-30
TW202131249A (zh) 2021-08-16
TW202234265A (zh) 2022-09-01
WO2021148860A9 (en) 2021-11-04
WO2021148860A1 (en) 2021-07-29
KR102575001B1 (ko) 2023-09-06
KR20210095595A (ko) 2021-08-02
KR102620240B1 (ko) 2024-01-02

Similar Documents

Publication Publication Date Title
TWI764835B (zh) 基於等候與服務反應相互連接網路元件之系統以及方法
KR20240007739A (ko) 전자-상거래 트랜잭션에서 사기 검출을 위한 시스템 및 방법
KR102223537B1 (ko) 타이머 관리 및 이벤트 트리거링을 전파하기 위한 시스템 및 방법
KR20210097065A (ko) 다지점 도착 분석을 위한 시스템 및 방법
KR102238422B1 (ko) 실시간으로 효율적인 검색 업데이트를 수신 및 전파하기 위한 시스템 및 방법
AU2021107580A4 (en) Systems and methods for receiving and propagating efficient search updates in real time

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant