KR20210019391A - 정보 업데이트를 위한 적응적 타이밍 예측 - Google Patents

정보 업데이트를 위한 적응적 타이밍 예측 Download PDF

Info

Publication number
KR20210019391A
KR20210019391A KR1020200100741A KR20200100741A KR20210019391A KR 20210019391 A KR20210019391 A KR 20210019391A KR 1020200100741 A KR1020200100741 A KR 1020200100741A KR 20200100741 A KR20200100741 A KR 20200100741A KR 20210019391 A KR20210019391 A KR 20210019391A
Authority
KR
South Korea
Prior art keywords
information
application element
computer
rate
data associated
Prior art date
Application number
KR1020200100741A
Other languages
English (en)
Other versions
KR102593683B1 (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
Application filed by 이베이 인크. filed Critical 이베이 인크.
Publication of KR20210019391A publication Critical patent/KR20210019391A/ko
Priority to KR1020230139594A priority Critical patent/KR102614813B1/ko
Application granted granted Critical
Publication of KR102593683B1 publication Critical patent/KR102593683B1/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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/23Updating
    • G06F16/2308Concurrency control
    • 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/23Updating
    • G06F16/2393Updating materialised views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)

Abstract

본 명세서에서는 정보를 분배하기 위한 기술이 개시된다. 개시된 기술은 가변 속도로 업데이트되는 정보를 수신하도록 구성된 애플리케이션 요소를 결정하는데, 정보는 객체에 관한 것이다. 객체와 연관된 특징 데이터 및 애플리케이션 요소의 사용과 연관된 데이터가 수신된다. 특징 데이터는 객체에 대한 시간 지평 및 객체와 연관된 보충 정보를 포함한다. 특징 데이터 및 애플리케이션 요소의 사용과 연관된 데이터에 기초하여, 객체에 관한 정보를 애플리케이션 요소에 전송하기 위한 제 1 속도가 예측된다. 정보는 제 1 속도로 애플리케이션 요소에 전송된다.

Description

정보 업데이트를 위한 적응적 타이밍 예측{ADAPTIVE TIMING PREDICTION FOR UPDATING INFORMATION}
많은 사용자가 동적으로 업데이트될 수 있는 정보에 액세스한다. 간단한 일 예로서, 온라인 경매 사이트 상의 입찰자 또는 시스템 상태를 모니터링하는 사용자는 다양한 시간에 업데이트될 수 있는 정보에 액세스할 수 있다. 이러한 시스템에서, (1) 정보가 오래된 것이 되지 않도록 하는 속도로 정보 소스가 폴링되는 것과, (2) 정보가 적시에 사용자에게 제공되는 것을 보장하는 것이 바람직하다. 동시에, 필요한 것보다 더 높은 속도로 정보를 폴링/전송하여 컴퓨팅 용량 및 네트워크 대역폭을 낭비하지 않도록 하는 것이 중요하다.
본 명세서에서 이루어진 개시물은 이들 및 다른 기술적 고려사항과 관련하여 제시된다.
정보를 동적으로 변경하기 위한 업데이트를 제공하는 많은 시스템은, 설정된 빈도에서 정보를 업데이트하는 것과 같이 정적(static) 업데이트 방식을 사용한다. 일부 시스템은 주어진 파라미터를 업데이트하기 위한 빈도를 증가 또는 감소시킬 수 있지만, 그 빈도는 조건을 변경시키기에 적합하지 않거나 특정 사용자 또는 시나리오에 고유하지 않다. 본 명세서에서는 동적으로 업데이트되는 정보 소스가 폴링되어 정보의 사용자에게 푸시되어야 하는 시기 및 빈도를 최적화하기 위한 다양한 실시예가 개시된다. 일부 실시예에서, 최적화는, 사용자의 수 및 유형과, 정보와 연관된 다수의 요인, 예컨대, 정보에 대한 사용자의 관심 레벨, 정보의 변화율, 및 정보가 마감일 또는 기타 중요한 시간 이벤트와 연관되는지 여부를 나타내는 요인에 기초하여 수행될 수 있다. 일 예에서, 입찰 시스템에서, 폴링 속도는 아이템에 대한 고유 입찰자 수, 아이템의 현재 가격 및 입찰 마감일에 기초하여 결정될 수 있다. 주식, 채권 또는 옵션 거래와 같은 두 번째 예에서, 빈도는 최근 가격 변동, 입찰 수, 제안 수, 최근의 보도 자료, 거래 세션이 끝날 때까지의 시간, 또는 다른 정보 요인에 기초할 수 있다. 또 다른 예로서, 현재 아이템의 뉴스 피드는 계산된 효율적 업데이트 빈도에 기초하여 업데이트될 수 있다. 사용자 디바이스가 최신 정보로 리프레시되지만 서버 및/또는 데이터 센터 동작에 효율적인 최적의 속도를 결정하도록 훈련되는 머신 학습 컴포넌트를 포함하는 시스템에 의해 정보의 분석이 수행될 수 있다.
설명된 기술은, 예를 들어 사용자가 불필요하게 뷰잉 애플리케이션을 리프레시할 필요없이, 사용자로 하여금 업데이트된 정보를 적시에 수신하거나 액세스할 수 있게 하여, 보다 나은 사용자 경험을 제공한다. 일부 실시예에서는, 머신 학습 모델을 사용하여 다양한 선택된 데이터에 기초하여 최적의 폴링 및 리프레시 빈도를 예측하는 기술이 개시된다. 예를 들어, 경매 아이템에 대한 입찰 정보를 제공하는 웹 페이지에서, 페이지 상의 입찰 정보를 업데이트할 시기를 결정하기 위해 머신 학습 모델에 기초한 적응적 타이밍 예측이 사용될 수 있다. 입찰 정보는 예를 들어 현재 입찰 가격, 입찰자 수 및 남은 시간을 포함할 수 있다. 시간, 아이템 및 사용자와 연관된 속성과 같은 선택된 속성 세트에 기초하여, 페이지에 대한 빈번한 업데이트가 필요없을 때 폴링 기능에 대한 업데이트 호출의 빈도를 감소시키거나, 데이터 일관성을 위해 더 높은 업데이트 속도가 필요할 수 있는 경우에(예컨대, 빈번한 입찰을 갖거나 시간 제한에 근접한 아이템을 갖는 시나리오에서) 업데이트 호출의 빈도를 증가시키기 위해, 최적의 타이밍 예측이 결정되고 사용될 수 있다.
개시된 기술은, 주어진 시나리오에 적합한 속도로 정보 업데이트를 폴링하고 업데이트를 제공하여, 사용자에게 주어진 활동에 대한 그들의 관심 및 참여의 레벨을 증가시키는 정보를 제공함으로써, 위에서 제시된 기술적 문제 및 잠재적인 다른 문제를 해결한다. 개시된 기술은 또한 불필요한 폴 및 정보 업데이트의 양을 감소 시킬 수 있으므로, 컴퓨팅 자원(예컨대, 더 빠른 폴 속도를 유지하기 위해 필요한 메모리 양 또는 프로세서 사이클 수) 및 네트워크 대역폭(각 호출은 네트워크 사용을 필요로 함)의 낭비를 감소시킨다. 개시된 기술의 구현을 통해, 본 명세서에 구체적으로 언급되지 않은 다른 기술적 이점이 또한 실현될 수 있다.
위에서 설명되고 이하에서 더 상세히 설명되는 주제는, 컴퓨터 제어형 장치, 컴퓨터 구현 방법, 컴퓨팅 디바이스, 또는 컴퓨터 판독가능 저장 매체와 같은 제조 물품으로서 구현될 수 있음이 이해되어야 한다. 이들 및 다양한 다른 특징은 다음의 상세한 설명을 읽고 관련 도면을 검토함으로써 명백해질 것이다.
이 개요는 이하의 상세한 설명에서 추가로 설명되는 선정된 개념들을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요 특징 또는 필수 특징을 식별하기 위한 것이 아니며, 청구된 주제의 범위를 제한하기 위해 사용되는 것도 아니다. 또한, 청구된 주제는 본 개시의 임의의 부분에서 언급된 임의의 단점 또는 모든 단점을 해결하는 구현들로 제한되지 않는다.
상세한 설명은 첨부된 도면을 참조하여 설명된다. 도면에서, 참조 번호의 가장 왼쪽 숫자(들)는 그 참조 번호가 처음 등장하는 도면을 식별한다. 상이한 도면에서 동일한 참조 번호는 유사하거나 동일한 아이템을 나타낸다.
도 1은 본 명세서에 개시된 기술을 사용하는 입찰 시스템의 결과를 보여주는 본 명세서에 개시된 예시적 사용자 인터페이스의 양태를 도시하는 예시적 사용자 인터페이스 도면이다.
도 2는 본 명세서에 개시된 일 실시예에 따른, 폴링 예측을 제공하기 위한 본 명세서에 개시된 시스템의 양태를 도시하는 예시적 컴퓨팅 시스템 아키텍처 도면이다.
도 3은 본 명세서에 개시된 일 실시예에 따른, 폴링 예측을 제공하기 위한 본 명세서에 개시된 시스템의 양태를 도시하는 예시적 컴퓨팅 시스템 아키텍처 도면이다.
도 4는 본 명세서에 개시된 일 실시예에 따른, 폴링 예측을 제공하기 위한 본 명세서에 개시된 시스템의 양태를 도시하는 예시적 컴퓨팅 시스템 아키텍처 도면이다.
도 5는 본 명세서에 개시된 일 실시예에 따른, 폴링 예측을 제공하기 위한 예시적 루틴의 양태를 도시하는 예시적 흐름도이다.
도 6은 본 명세서에 개시된 일 실시예에 따른 폴링 예측을 제공하기 위한 예시적 루틴의 양태를 도시하는 예시적 흐름도이다.
도 7은 본 명세서에 설명된 소프트웨어 컴포넌트를 실행할 수 있는 컴퓨터에 대한 예시적 컴퓨터 아키텍처의 양태를 도시하는 컴퓨터 아키텍처 도면이다.
도 8은 컴퓨터 환경의 예시적 예를 도시하는 데이터 아키텍처 도면이다.
다음의 상세한 설명은 동적으로 업데이트되는 정보 소스가 정보의 사용자에게 폴링되고 푸시되어야 하는 시기 및 빈도를 최적화하기 위한 기술을 제시한다. 위에서 간략히 설명되고 아래에서 더 상세하게 설명되는 바와 같이, 개시된 기술은, 사용자로 하여금, 예를 들어, 뷰잉 애플리케이션을 불필요하게 리프레시하지 않고 업데이트된 정보를 적시에 수신하거나 액세스할 수 있게 하여 더 나은 사용자 경험을 제공할 수 있다. 개시된 기술은 또한 불필요한 폴 및 정보 업데이트의 양의 감소를 가능하게 하는데, 이는 컴퓨팅 자원의 활용 및 성능을 향상시킬 수 있다. 개시된 기술의 구현을 통해, 본 명세서에 구체적으로 언급된 것 이외의 기술적 이점이 또한 실현될 수 있다.
본 명세서에 개시된 기술은 입찰 시스템과 관련하여 주로 설명되지만, 본 명세서에 설명된 기술은 다른 구성에서 동적으로 업데이트되는 정보 소스의 폴링 및 푸시를 최적화하기 위해 이용될 수 있는데, 이는 당업자에게 명백할 것이다. 예를 들어, 설명된 기술은 운영 대시보드에서 모니터링되는 데이터 또는 주가 정보의 업데이트에 사용될 수 있다.
이제, 여러 도면에 걸쳐 동일한 참조 번호가 동일한 요소를 나타내는 첨부 도면을 참조하여, 다양한 기술의 양태가 설명될 것이다. 다음의 상세한 설명에서는, 상세한 설명의 일부를 형성하고 특정 구성 또는 예를 예시로서 도시하는 첨부 도면에 대한 참조가 이루어진다.
온라인 입찰 시스템의 예에서, 입찰 기간의 종료에 접근할 때, 사용자는 입찰이 종료되기 전 마지막 몇 분 동안 더 많이 입찰하는 경향이 있다. 이 시간 동안, 입찰 활동에 기초한 다른 입찰자의 상태뿐만 아니라 아이템의 현재 가격/다음 입찰 가격은 자주 업데이트될 수 있다. 온라인 입찰 서비스 제공자는 최신 정보를 획득하고 그 정보를 입찰에 참여하는 사용자에게 푸시하기 위해 폴링 기능을 구현할 수 있다. 예를 들어, 사용자 업데이트 기능은 데이터베이스에서 최신 입찰 상태 정보에 액세스하여 업데이트를 사용자에게 전송할 수 있다. 온라인 입찰 서비스 제공자는, 웹 페이지 및 네이티브 클라이언트(native clients)와 같은 여러 플랫폼 상에서뿐만 아니라 여러 아이템 및 제품에 대해 여러 페이지에 걸쳐 이 기능을 구현해야할 수 있다. 일부 입찰 시스템은 특정 입찰 활동이 끝날 때까지 남은 시간에 기초하여 몇 초마다 세부사항을 폴링할 수 있다. 몇몇 경우에, 입찰 시스템은 두 개의 폴링 빈도, 즉, 정상적인 업데이트를 위한 하나의 폴링 빈도와, 마지막 몇 분(또는 어떤 다른 기간) 동안의 더 빈번한 폴링 빈도를 구현할 수 있다.
도 1은 사용자에게 업데이트된 정보를 제공하기 위해 사용될 수 있는 디스플레이(100)의 일 예를 도시한다. 디스플레이(100)는 입찰 활동 페이지(104)를 렌더링할 수 있는 브라우저 창(102)을 렌더링할 수 있다. 입찰 활동 페이지(104)는 입찰 또는 경매 프로세스의 대상이 되는 특정 아이템에 관한 정보를 포함할 수 있고, 아이템 설명(108), 아이템 이미지(118), 남은 시간(101), 입찰자 수(113) 및 현재 입찰 가격(112)과 같은 정보를 포함할 수 있다. 입찰 활동 페이지(104)는 또한, 사용자에게 그 아이템에 대한 입찰을 제출(110)하는 능력을 제공할 수 있다. 남은 시간(101), 입찰자 수(113) 및 현재 입찰 가격(112)은 아이템에 대한 사용자의 관심 레벨, 사용자의 응찰 결정 및 입찰 금액에 영향을 줄 수 있는 중요한 정보일 수 있다. 따라서, 입찰하는 사용자가 의존하는 정보가 정확하도록, 이 정보는 가능한 한 최신 상태를 유지하는 것이 중요하다.
다양한 실시예에서, 업데이트된 정보를 사용자에게 제시하기 위해 정보가 폴링되어야 하는 시기에 대한 예측이 결정될 수 있다. 예시적 시나리오에서, 중앙 집중식 데이터베이스는 주어진 아이템에 대한 사용자 입찰을 저장할 수 있다. 최신 정보에 대해 데이터베이스에 질의하고, 예컨대 자신의 웹 브라우저 상에서 정보를 보고 있는 사용자에게 정보를 전송하기 위해, 폴링 기능이 사용될 수 있다. 폴링 기능이 너무 자주 호출되면, 질의는 새로운 정보를 초래하지 않을 것이고, 이는 네트워크 및 컴퓨팅 자원의 비효율적 활용을 초래할 것이다. 폴링 기능이 느린 속도로 호출되면, 사용자는 최신 입찰 정보로 업데이트되지 않을 수 있으며, 이는 성공적이지 않은 입찰 또는 잘못된 입찰을 초래하여 사용자 불만족 및 사용자 참여 상실로 이어질 수 있다. 폴링 빈도에 대한 예측이 시기적절하고 정확한 정보를 제공하면, 정보에 대한 사용자 만족 및 신뢰가 향상될 수 있다. 몇몇 경우에, 새로운 정보가 시기적절하고 응답적인 방식으로 제공되는 것에 기초하여 사용자 참여도가 증가될 수 있다.
일 실시예에서, 머신 학습 모델은 입찰 정보를 업데이트하기 위해 폴링 기능을 호출하는 타이밍 및 빈도를 결정하도록 구현될 수 있다. 머신 학습 모델은 하나 이상의 요인(factor)에 기초한 적응적 타이밍 예측의 결정을 가능하게 할 수 있다. 요인은, 입찰 기간에 남아있는 시간의 양, 현재 날짜 및 시간, 지금이 주말인지 또는 주중인지와 같이, 시간과 연관될 수 있다. 요인은 또한, 아이템 가격, 아이템 유형 및 아이템에 관심이 있는 입찰자 수와 같이, 아이템과 연관될 수 있다. 요인은 또한, 사용자의 입찰 이력 및 사용자에 고유한 다른 정보와 같이, 사용자와 연관될 수 있다. 적응적 타이밍 예측은 페이지에 대한 빈번한 업데이트가 필요하지 않은 경우에 폴링 기능에 대한 불필요한 호출의 수를 감소시킬 수 있다. 다른 경우에, 적응적 타이밍 예측은 데이터 일관성을 유지하기 위해 더 높은 업데이트 빈도가 필요한 경우에(예컨대, 많은 입찰 수를 갖거나 또는 입찰 종료 시간이 다가오는 시나리오에서) 폴링 기능에 대한 호출의 수를 증가시킬 수 있다.
본 개시에서 사용되는 바와 같이, 폴링되어 사용자에게 푸시되는 업데이트된 정보는 일반적으로 가입 정보 또는 가변 정보로 지칭될 수 있다.
일 실시예에서, 적응적 타이밍 예측 머신 학습 모델은 현재 이용 가능한 데이터에 기초하여 예측을 업데이트하기 위해 피드백 루프로 구현될 수 있다. 예를 들어, 사용자가 브라우저를 리프레시한다면, 이는 리프레시 속도가 너무 낮음을 나타낼 수 있다. 적응적 타이밍 예측 머신 학습 모델에 의해 사용될 수 있는 데이터의 몇몇 예는 다음과 같은 속성을 포함할 수 있다:
남은 시간: 이 속성은 입찰 시스템에서 아이템에 대해 남은 시간 또는 영업일의 종료까지 남은 시간과 같이 시간 제한이 포함되는 경우에 아이템과 연관될 수 있다. 많은 경우에, 남은 시간이 0에 근접할수록 폴링될 정보는 더 자주 업데이트될 수 있다. 예를 들어, 입찰 시스템에서, 남은 시간이 0에 근접할수록 입찰 수 및 아이템에 입찰하고자 하는 입찰 사용자의 수가 크게 증가할 수 있다. 따라서, 폴링 빈도는 남은 시간에 기초하여 계속 증가될 수 있다.
입찰 수: 이 속성은 모든 입찰자로부터의 아이템에 대한 총 입찰 수와 연관될 수 있다. 총 입찰 수는 관심 정보가 더 자주 업데이트될 것임을 나타낼 수 있고, 따라서 폴링 빈도는 현재 아이템에 입찰하고 있는 사용자에 대한 데이터 일관성을 유지하기 위해 증가될 수 있다. 입찰 시스템 이외의 시나리오에서, 총 입찰 수는 가변 정보에 대한 업데이트를 초래할 수 있는 요청 또는 사용자 상호작용의 총 수에 대응할 수 있다.
고유 입찰자 수: 이 속성은 아이템에 대한 입찰을 제출한 고유 사용자의 총 수와 연관될 수 있다. 이는 일반적으로 아이템에 대한 수요가 크고 많은 사용자가 아이템 구매에 관심이 있음을 나타낼 수 있다. 일부 실시예에서는, 추가 속성이 아이템에 대한 정보를 획득하고 있거나 아이템을 "주시"하고 있는 사용자의 총 수와 연관될 수 있다. 이는 실제 입찰자의 관심 레벨과 다를 수 있는 관심 레벨을 나타낼 수 있지만, 그럼에도 불구하고 아이템의 관심 레벨을 결정하는 데 유용할 수 있다. 입찰 시스템 이외의 시나리오에서, 총 고유 입찰자 수는 정보를 요청한 사용자의 총 수 또는 가변 정보의 업데이트를 초래할 수 있는 방식으로 적극적으로 참여하는 사용자의 총 수에 대응할 수 있다.
페이지 상에서의 사용자의 체류 시간: 일부 실시예에서, 이 속성은 사용자가 아이템 세부사항을 판독하기 위해 아이템 페이지 상에서 소비하는 평균 시간과 연관될 수 있다. 일반적으로, 체류 시간이 높을수록 특정 사용자가 해당 아이템을 구매하는 데 더 많은 관심이 있음을 나타낼 수 있다. 일부 실시예에서는, 추가 속성이 사용자가 페이지를 방문한 횟수 또는 페이지의 관심 레벨을 나타낼 수 있는 다른 속성과 연관될 수 있다.
최근 시간 윈도우에서의 현재 활성 입찰자 세트: 이 속성은 최근 시간 윈도우를 갖는 아이템에 대한 입찰을 제출한 사용자의 총 수와 연관될 수 있다. 이것은 일반적으로 업데이트된 정보를 초래하는 활동 레벨이 상당히 증가했을 수 있음을 나타내고, 가변 정보에 대한 업데이트 빈도의 증가를 초래할 수 있다.
일정 기간 동안의 현재 활성 입찰자 세트: 이 속성은, 입찰 기간 종료 전 마지막 10분, 입찰 기간 종료 전 마지막 1시간, 입찰 기간 종료 전 마지막 12시간 및 입찰 기간 종료 전 마지막 24시간과 같은 선택된 기간 동안의 현재 활성 입찰자 세트와 연관될 수 있다. 선택된 시간 윈도우에 걸친 활성 입찰자의 수는, 폴링 빈도를 예측하는 데 사용될 수 있는 다양한 관심 및 활동 레벨을 나타낼 수 있다. 일부 실시예에서는, 활성 입찰자의 시간 기반 분포가 폴링 빈도를 예측하는 데 사용될 수 있다.
시간 기반 상황 요인: 이 속성은, 현재 주말인지 또는 주중인지, 오전인지 또는 이른 저녁인지, 현재 휴일인지 아닌지와 같은, 날짜 및 시간과 관련된 특정 정보와 연관될 수 있다. 주말과 휴일은 보통의 주중에 비해 높은 입찰률을 가질 수 있으며, 오후와 이른 저녁은 이른 아침 시간에 비해 높은 입찰률을 가질 수 있다.
머신 학습 모델에 사용될 수 있는 다른 특징들은 다음을 포함할 수 있다:
아이템의 가격: 매우 고가 또는 저가의 아이템은 상이한 관심 레벨을 가질 수 있다.
반품 허용: 낙찰받은 입찰자가 아이템을 반품할 수 있는 것은 입찰 활동의 레벨을 증가시킬 수 있다.
판매자 피드백: 판매자에 대한 평균 평가뿐만 아니라 판매자 피드백의 이용 가능성은 아이템에 대한 입찰 활동의 양에 영향을 줄 수 있다.
다른 시스템에서는 다른 특징이 사용될 수 있다. 앞서 언급한 바와 같이, 주식, 채권 또는 옵션 거래 시스템에서, 세션이 끝날 때까지의 시간은 하나의 특징일 수 있다. 수익 발표와 같은 최근의 보도 자료는 리프레시 속도를 증가시키는 것이 바람직하다는 것을 나타내는 특징이 될 수 있다. 뉴스 또는 정보 푸시 시스템의 경우, 뉴스 아이템의 예상 중요도에 대한 순위는 최적의 리프레시 속도를 예측하는 데 사용될 수 있는 특징이 될 수 있다.
도 2는 본 명세서에 개시된 일 실시예에 따른, 적응적 타이밍 예측 시스템을 위해 본 명세서에 개시된 시스템의 개관(overview)을 도시하는 컴퓨팅 시스템 아키텍처 도면이다. 도 2에 도시된 바와 같이, 적응적 타이밍 예측 시스템(200)(본 명세서에서 "타이밍 예측 시스템" 또는 "예측 컴포넌트"라고도 지칭될 수 있음)은 데이터 분석 컴포넌트(230)(개별적으로 또는 집합적으로 "데이터 분석 컴포넌트(230)"로 지칭될 수 있음)에 의해 생성된 다양한 사용자 추적 데이터("추적 데이터")에 기초하여 폴링 빈도를 예측하도록 구성될 수 있다.
데이터 분석 컴포넌트(230)는 예를 들어 하둡 유틸리티(Hadoop utilities)를 포함할 수 있다. 데이터 분석 컴포넌트(230)는, 예를 들어, 서버 컴퓨터 또는 다른 유형의 호스트와 같은 물리적 컴퓨팅 디바이스, 관련 하드웨어 컴포넌트(예컨대, 메모리 및 대용량 저장 디바이스), 및 네트워킹 컴포넌트(예컨대 라우터, 스위치, 및 케이블)를 포함할 수 있지만, 이에 제한되지는 않는다. 데이터 분석 컴포넌트(230)는 또한, 운영 체제, 애플리케이션 및 컨테이너와 같은 소프트웨어, 네트워크 서비스, 가상 디스크, 가상 네트워크 및 가상 머신과 같은 가상 컴포넌트를 포함할 수 있다. 데이터베이스(250)는 데이터베이스 또는 데이터베이스 조각(shard)(즉, 데이터베이스의 파티션)과 같은 데이터를 포함할 수 있다. 피드백은 사용자 애플리케이션(200)을 업데이트하여 다양한 사용자(210)에게 업데이트된 정보를 제공하기 위해 사용되는 폴링 빈도를 예측하는 데 사용될 수 있다.
일부 구성에서, 머신 학습 모델(240)은 폴링 빈도를 예측하기 위해 감독형 및/또는 비감독형 머신 학습 기술을 이용하도록 구성될 수 있다. 예를 들어, 머신 학습 모델(240)은 본 명세서에 설명된 바와 같이 다양한 사용자 및 입찰 데이터를 묘사하는 추적 데이터에 대해 훈련함으로써 감독형 머신 학습 기술을 이용할 수 있다. 도 3에 도시된 바와 같이, 머신 학습 모델(240)은 부가적으로 또는 대안적으로, 폴링 빈도를 예측하기 위해, 클러스터링 기반 모델(310), 예측 기반 모델(320), 평활화 기반 모델(330), 또는 다른 유형의 비감독형 머신 학습 모델을 포함하지만 이에 제한되지 않는 비감독형 머신 학습 기술을 이용할 수 있다.
일부 실시예에서는, 폴링 빈도와 관련된 경향 및 패턴을 식별하고, 어떤 빈도가 사용자 행동 및 상호작용에 영향을 줄 수 있는지, 그리고 몇몇 경우에는 어떤 폴링 빈도가 아이템에 대한 입찰 가능성 증가와 같은 사용자 행동의 증가된 가능성과 관련될 수 있는지를 결정하기 위해, 추적 데이터가 분석될 수 있다. 일 실시예에서, 머신 학습 모델(240)은 어떤 사용자 데이터 패턴 및 폴링 빈도가 특정 목표와 관련이 있는지를 결정하도록 구성될 수 있는 분류 기능을 통합할 수 있다. 분류 기능은 예를 들어 어떤 사용자 데이터 패턴 및 폴링 빈도가 다양한 잠재적 결과와 관련되는지를 지속적으로 학습할 수 있다. 일부 실시예에서는, 머신 학습 모델이 다양한 사용자 입력, 아이템 특성, 및 폴링 빈도로 이루어진 관측을 분류할 수 있는 감독형 학습이 통합될 수 있다. 머신 학습 모델은 관측에 메타데이터를 할당할 수 있다. 새로운 관측이 이루어지고 새로운 관측에 태그를 할당할 때 관심있는 목표와의 관련성을 업데이트하는 머신 학습 모델에 의해 메타데이터는 업데이트될 수 있다. 머신 학습 모델은 어떤 관측이 유사한지를 학습할 수 있고, 이러한 관측을 식별하기 위해 메타데이터를 할당할 수 있다. 머신 학습 모델은 향후 관측을 카테고리로 분류할 수 있다.
일부 실시예에서는, 특징 서브 세트 선택 알고리즘 또는 유도 알고리즘과 같은 알고리즘이 구현되어 그룹 또는 카테고리를 정의할 수 있다. 확률론적 접근법도 통합될 수 있다. 파라메트릭 분류 기술과 같은 하나 이상의 추정 방법이 통합될 수 있다. 다양한 실시예에서, 머신 학습 모델은 분석되는 데이터를 안내하고 좁히기 위해 확률론적 방법과 휴리스틱 방법의 조합을 이용할 수 있다.
관측된 특정 데이터 패턴에 대한 결과를 나타낼 가능성이 더 높은 관련 결과를 제공하기 위해, 가장 관련성이 높은 패턴이 식별되고 가중될 수 있다. 일부 실시예에서는, 결과에서 허용 가능한 신뢰 레벨을 제공하는 폴링 빈도를 결정하기 위해 휴리스틱 모델이 사용될 수 있다. 예를 들어, 초기 파라미터 선택에 도움을 주기 위해 전문가 모델링과 같은 경험 기반 기술이 사용될 수 있다. 휴리스틱 모델은, 예를 들어 특정 패턴과 관련된 다양한 메타데이터를 태깅함으로써, 영향을 미칠 수 있는 파라미터를 확률적으로 표시할 수 있다. 초기 분석 라운드로부터의 피드백을 사용하여 초기 선택을 더욱 세분화할 수 있으므로, 프로그래밍 방식이 비실용적이거나 실행 불가능한 상황에서 폴링 빈도에 대한 가능한 후보를 생성하는 폐쇄 루프 시스템을 구현할 수 있다. 예로서, 일부 실시예에서는 전통적인 방법을 사용하면 놓칠 수 있는 후보 폴링 빈도를 식별하기 위해 마르코프 모델링(Markov modeling) 또는 그 변형(예컨대, 은닉 마르코프 모델(hidden Markov model) 및 계층적 은닉 마르코프 모델)이 사용될 수 있다.
도 2에 도시된 바와 같이, 머신 학습 모델(240)은 입찰 정보 및 사용자로부터 추출된 특징에 기초하여 예측들(본 명세서에서는 단순히 "예측"으로 지칭될 수 있음)을 생성할 수 있다. 예측들은, 단일 폴링 빈도, 또는 시간에 따라 변할 수 있는 폴링 빈도의 스케줄과 같은 다양한 형태로 제공될 수 있다.
도 4는 일 실시예에 따른, 적응적 타이밍 예측 시스템을 위해 본 명세서에 개시된 시스템의 개관을 도시하는 컴퓨팅 시스템 아키텍처 도면이다. 도 4에 도시된 바와 같이, 적응적 타이밍 예측 시스템(400)은 추적 서비스(404)에 의해 생성되고 사용자 애플리케이션(402)으로부터 수신된 추적 데이터에 기초하여 폴링 빈도를 예측하도록 구성될 수 있다.
추적 서비스(404)는 선택된 추적 데이터를 스트리밍 플랫폼(406)으로 전송할 수 있다. 이러한 스트리밍 플랫폼은 일 구현에서 카프카 파이프라인(Kafka pipeline)을 사용하여 구현될 수 있다. 데이터 스트림은 예를 들어 하둡 유틸리티를 포함할 수 있는 데이터 저장 컴포넌트 및 분석 컴포넌트(450)에 제공될 수 있다. 데이터 및 분석 컴포넌트(450)는 저장된 데이터를 처리하도록 구성될 수 있는 전처리 및 세정 컴포넌트(452)에 데이터를 제공할 수 있다. 처리된 데이터는 주어진 아이템, 사용자 등에 대한 데이터 및 속성을 선택하도록 구성될 수 있는 특징 선택 및 추출 컴포넌트(454)에 제공될 수 있다. 처리된 데이터는, 데이터 및 속성을 사용하여 폴링 빈도에 대한 예측을 생성하고 예측을 구성 시스템(460)에 전송할 수 있는 머신 학습 모델(456)에 제공될 수 있다. 일부 실시예에서, 구성 시스템(460)은 레디스(Redis)와 같은 분산형 키 값 데이터베이스로서 구현될 수 있다.
일부 구성에서, 머신 학습 모델(456)은 폴링 빈도를 예측하기 위해 감독형 및/또는 비감독형 머신 학습 기술을 이용하도록 구성될 수 있다. 예를 들어, 머신 학습 모델(456)은 본 명세서에 설명된 바와 같이 다양한 사용자 및 입찰 데이터를 묘사하는 추적 데이터에 대해 훈련함으로써 감독형 머신 학습 기술을 이용할 수 있다. 머신 학습 모델(456)은 입찰 정보 및 사용자로부터 추출된 특징에 기초하여 예측을 생성할 수 있다. 예측은, 단일 폴링 빈도, 또는 시간에 따라 변할 수 있는 폴링 빈도의 스케줄과 같은 다양한 형태로 제공될 수 있다.
도 5는 본 명세서에 개시된 기술 중 일부를 구현하기 위한 루틴(500)의 양태를 도시하는 도면이다. 당업자는 본 명세서에 개시된 방법의 동작들이 반드시 특정 순서로 제시되는 것은 아니며 대안적 순서(들)로 동작들의 일부 또는 전부의 수행이 가능하고 고려된다는 것을 이해할 것이다. 설명과 도시를 용이하게 하기 위해 동작들은 설명된 순서대로 제시되었다. 동작들은 첨부된 청구범위의 범위를 벗어나지 않으면서 추가, 생략, 함께 수행 및/또는 동시에 수행될 수 있다.
도시된 방법은 언제라도 종료될 수 있으며 전체적으로 수행될 필요는 없다는 것이 이해되어야 한다. 방법의 일부 또는 모든 동작 및/또는 실질적으로 동등한 동작은 본 명세서에 정의된 바와 같이 컴퓨터 저장 매체에 포함된 컴퓨터 판독가능 명령을 실행함으로써 수행될 수 있다. 상세한 설명 및 청구범위에서 사용되는 "컴퓨터 판독가능 명령어"라는 용어 및 그 파생어는, 루틴, 애플리케이션, 애플리케이션 모듈, 프로그램 모듈, 프로그램, 컴포넌트, 데이터 구조, 알고리즘 등을 포함하도록 본 명세서에서 광범위하게 사용된다. 컴퓨터 판독가능 명령어는, 단일 프로세서 또는 멀티프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 개인용 컴퓨터, 핸드헬드 컴퓨팅 디바이스, 마이크로프로세서 기반의 프로그램 가능 소비자 전자제품, 이들의 조합 등을 포함하는 다양한 시스템 구성에서 구현될 수 있다. 후술되는 예시적 루틴은 컴퓨팅 디바이스 상에서 동작할 것이지만, 이 루틴은 본 명세서에 개시된 동작을 수행하기 위해 함께 작동하는 다수의 컴퓨터를 포함할 수 있는 임의의 컴퓨팅 시스템 상에서 수행될 수 있음이 이해될 수 있다.
따라서, 본 명세서에 설명된 논리적 동작은 (1) 본 명세서에 설명된 것과 같은 컴퓨팅 시스템에서 실행되는 일련의 컴퓨터 구현 행위 또는 프로그램 모듈로서 및/또는 (2) 컴퓨팅 시스템 내의 상호접속된 머신 로직 회로 또는 회로 모듈로서 구현됨이 이해되어야 한다. 구현은 컴퓨팅 시스템의 성능 및 기타 요건에 의존하는 선택 사항이다. 따라서, 논리적 동작은 소프트웨어, 펌웨어, 특수 목적의 디지털 로직, 및 이들의 임의의 조합으로 구현될 수 있다.
루틴(500)은 동작 501에서 시작하는데, 이는 가변 속도로 업데이트되는 정보(정보는 객체에 관한 것임)를 수신하도록 구성된 애플리케이션 요소를 결정하는 것을 도시한다.
그 후 루틴(500)은 동작 503으로 진행하는데, 이는 객체와 연관된 특징 데이터 및 애플리케이션 요소의 사용과 연관된 데이터를 수신하는 것을 도시한다. 실시예에서, 특징 데이터는 객체에 대한 시간 지평(time horizon) 및 객체와 연관된 보충 정보를 포함한다.
동작 505는, 특징 데이터 및 애플리케이션 요소의 사용과 연관된 데이터에 기초하여, 객체에 관한 정보를 애플리케이션 요소에 전송하기 위한 제 1 속도를 예측하는 것을 도시한다.
다음에, 동작 507은 정보를 제 1 속도로 애플리케이션 요소에 전송하는 것을 도시한다.
일 실시예에서, 애플리케이션 요소의 사용과 연관된 데이터는 정보의 사용자의 수를 포함한다.
일 실시예에서, 정보는 웹 페이지에 의해 설명된다.
일 실시예에서, 보충 정보는 객체의 값을 포함한다.
일 실시예에서, 보충 정보는 객체의 값을 포함한다. 일부 실시예에서, 객체는 상품이고 값은 현재 시장 가격이다. 일부 실시예에서, 객체는 입찰 시스템의 아이템이고 값은 아이템에 대한 입찰 가격이다.
일 실시예에서, 시간 지평은 날짜 및 시간에 의해 정의된 마감일이다.
일 실시예에서, 제 1 속도는 머신 학습 컴포넌트에 의해 예측된다.
일 실시예에서, 제 1 속도는 머신 학습 컴포넌트에 의해 예측된다. 부가적으로 그리고 선택적으로, 머신 학습 컴포넌트는 비감독형 학습을 사용하여 특징 데이터와 애플리케이션 요소의 사용과 연관된 데이터 사이의 연관성을 결정하도록 훈련되고, 감독형 학습을 사용하여 제 1 속도를 예측하도록 훈련된다.
일 실시예에서, 정보를 판독하기 위한 제 2 속도가 예측될 수 있다.
도 6은 본 명세서에 개시된 기술 중 일부를 구현하기 위한 루틴(600)의 양태를 도시하는 도면이다.
루틴(600)은 동작 601에서 시작하는데, 이는 가변 속도로 업데이트되는 객체에 관한 정보를 수신하도록 구성된 애플리케이션 요소의 사용과 연관된 데이터 및 객체와 연관된 특징 데이터에 액세스하는 것을 도시한다. 일 실시예에서, 특징 데이터는 객체에 대한 시간 지평 및 객체와 연관된 보충 정보를 포함한다.
그 후, 루틴(600)은 동작 603으로 진행하는데, 이는 특징 데이터 및 애플리케이션 요소의 사용과 연관된 데이터에 기초하여, 객체에 관한 정보를 애플리케이션 요소에 전송하기 위한 제 1 속도를 예측하는 것을 도시한다.
동작 605은 정보를 제 1 속도로 애플리케이션 요소에 전송하는 것을 도시한다.
도 7은, 예를 들어 도 1 내지 도 6을 참조하여 위에서 설명된 기능을 구현하도록 구성된 컴퓨팅 디바이스와 같은, 본 명세서에서 설명된 기능을 제공할 수 있는 컴퓨터에 대한 예시적 컴퓨터 아키텍처를 도시한다. 따라서, 도 7에 도시된 컴퓨터 아키텍처(700)는 본 명세서에 설명된 기능을 구현하기에 적합한 서버 컴퓨터 또는 다른 유형의 컴퓨팅 디바이스를 위한 아키텍처를 도시한다. 컴퓨터 아키텍처(700)는 개시된 기술을 구현하기 위해 본 명세서에 제시된 다양한 소프트웨어 컴포넌트를 실행하는 데 이용될 수 있다.
도 7에 도시된 컴퓨터 아키텍처(700)는 중앙 처리 장치(702)("CPU"), 랜덤 액세스 메모리(706)("RAM") 및 판독 전용 메모리("ROM")(708)를 포함하는 시스템 메모리(704), 및 메모리(704)를 CPU(702)에 결합시키는 시스템 버스(710)를 포함한다. 예컨대 시동 동안, 컴퓨터 아키텍처(700) 내의 요소들 사이에서 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 펌웨어가 ROM(708)에 저장된다. 컴퓨터 아키텍처(700)는 또한, 운영 체제(714), 다른 데이터, 및 폴링 예측(715)을 구현하고 특징 데이터(717)를 저장하기 위한 프로그램과 같은 하나 이상의 실행가능 프로그램을 저장하는 대용량 저장 디바이스(712)를 포함한다.
대용량 저장 디바이스(712)는 버스(710)에 접속된 대용량 저장 제어기(도시되지 않음)를 통해 CPU(702)에 접속된다. 대용량 저장 디바이스(712) 및 연관된 컴퓨터 판독가능 매체는 컴퓨터 아키텍처(700)를 위한 비휘발성 저장소를 제공한다. 본 명세서에 포함된 컴퓨터 판독가능 매체의 설명은 솔리드-스테이트 드라이브, 하드 디스크 또는 광학 드라이브와 같은 대용량 저장 디바이스를 지칭하지만, 당업자라면 컴퓨터 판독가능 매체가 컴퓨터 아키텍처(700)에 의해 액세스될 수 있는 임의의 이용 가능한 컴퓨터 저장 매체 또는 통신 매체일 수 있음을 이해할 것이다.
통신 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데이터를 포함하고, 임의의 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는, 신호에 정보를 인코딩하는 방식으로 특성들 중 하나 이상이 변경되거나 설정되어 있는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체와, 음향, 무선 주파수, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함하지만 이에 제한되지는 않는다. 위의 것들 중 임의의 것의 조합이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
예로서, 컴퓨터 판독가능 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함할 수 있지만, 이에 제한되지는 않는다. 예를 들어, 컴퓨터 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 솔리드-스테이트 메모리 기술, CD-ROM, 디지털 다목적 디스크(digital versatile disks: "DVD"), HD-DVD, BLU-RAY, 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는 데 사용될 수 있고 컴퓨터 아키텍처(700)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지는 않는다. 청구범위의 목적상, "컴퓨터 저장 매체", "컴퓨터 판독가능 저장 매체"라는 어구 및 그 파생어는, 파동, 신호 및/또는 다른 일시적 및/또는 무형의 통신 매체 자체를 포함하지 않는다.
다양한 구현에 따르면, 컴퓨터 아키텍처(700)는 네트워크(750) 및/또는 다른 네트워크(도시되지 않음)를 통한 원격 컴퓨터로의 논리적 접속을 사용하는 네트워크 환경에서 동작할 수 있다. 컴퓨터 아키텍처(700)를 구현하는 컴퓨팅 디바이스는 버스(710)에 접속된 네트워크 인터페이스 유닛(716)을 통해 네트워크(750)에 접속될 수 있다. 네트워크 인터페이스 유닛(716)은 또한 다른 유형의 네트워크 및 원격 컴퓨터 시스템에 접속하는 데 이용될 수 있음이 이해되어야 한다.
컴퓨터 아키텍처(700)는 또한, 키보드, 마우스 또는 전자 스타일러스(도 7에 도시되지 않음)를 포함하는 다수의 다른 디바이스로부터 입력을 수신하고 처리하기 위한 입력/출력 제어기(718)를 포함할 수 있다. 유사하게, 입력/출력 제어기(718)는 디스플레이 스크린, 프린터 또는 다른 유형의 출력 디바이스(이 또한 도 7에 도시되지 않음)에 출력을 제공할 수 있다. 네트워크 인터페이스 유닛(716)을 통한 네트워크(750)로의 접속을 통해, 컴퓨팅 아키텍처는 프리페치 엔진(108)의 결과물이 분산되게 할 수 있음이 또한 이해되어야 한다.
본 명세서에 설명된 소프트웨어 컴포넌트는, CPU(702)에 로딩되어 실행될 때, CPU(702) 및 전체 컴퓨터 아키텍처(700)를, 범용 컴퓨팅 시스템에서, 본 명세서에 제시된 기능을 용이하게 하도록 커스터마이징된 특수 목적 컴퓨팅 시스템으로 변형시킬 수 있음이 이해되어야 한다. CPU(702)는 임의의 수의 트랜지스터 또는 다른 개별 회로 요소로 구성될 수 있는데, 이는 개별적으로 또는 집합적으로 임의의 수의 상태를 가정할 수 있다. 보다 구체적으로, CPU(702)는 본 명세서에 개시된 소프트웨어 모듈 내에 포함된 실행가능 명령어에 응답하여 유한 상태 머신으로서 동작할 수 있다. 이들 컴퓨터 실행 가능 명령어는 CPU(702)가 상태들 사이에서 어떻게 천이하는지를 지정하여 CPU(702)를 변형시킴으로써, CPU(702)를 구성하는 트랜지스터 또는 다른 개별 하드웨어 요소를 변형시킬 수 있다.
본 명세서에 제시된 소프트웨어 모듈을 인코딩하는 것은 또한 본 명세서에 제시된 컴퓨터 판독가능 매체의 물리적 구조를 변형시킬 수 있다. 물리적 구조의 특정 변형은 이 설명의 상이한 구현에서 다양한 요인에 의존할 수 있다. 이러한 요인의 예는, 컴퓨터 판독가능 매체를 구현하는데 사용된 기술, 컴퓨터 판독가능 매체가 주 저장소로 특성화되는지 또는 보조 저장소로 특성화되는지 등을 포함할 수 있지만, 이에 제한되지는 않는다. 컴퓨터 판독가능 매체가 반도체 기반 메모리로서 구현되는 경우, 본 명세서에 개시된 소프트웨어는 반도체 메모리의 물리적 상태를 변형시킴으로써 컴퓨터 판독가능 매체 상에 인코딩될 수 있다. 예를 들어, 소프트웨어는 트랜지스터, 커패시터 또는 반도체 메모리를 구성하는 다른 개별 회로 요소의 상태를 변형시킬 수 있다. 소프트웨어는 데이터를 저장하기 위해 이러한 컴포넌트의 물리적 상태를 변형시킬 수도 있다.
다른 예로서, 본 명세서에 개시된 컴퓨터 판독가능 매체는 자기 또는 광학 기술을 사용하여 구현될 수 있다. 이러한 구현에서, 본 명세서에 제시된 소프트웨어는 소프트웨어가 인코딩될 때 자기 또는 광학 매체의 물리적 상태를 변형시킬 수 있다. 이러한 변형은 주어진 자기 매체 내의 위치의 자기적 특성을 변경하는 것을 포함할 수 있다. 이러한 변형은 또한 주어진 광학 매체 내의 위치의 물리적 특징 또는 특성을 변경하여 해당 위치의 광학 특성을 변경시키는 것을 포함할 수 있다. 물리적 매체의 다른 변형은 본 설명의 범위 및 사상을 벗어나지 않고 가능하며, 전술한 예는 단순히 이러한 설명를 용이하게 하기 위해 제공된 것이다.
지금까지의 설명에 비추어, 본 명세서에 제시된 소프트웨어 컴포넌트를 저장하고 실행하기 위해 컴퓨터 아키텍처(700)에서 많은 유형의 물리적 변형이 발생한다는 것이 이해되어야 한다. 컴퓨터 아키텍처(700)는 핸드헬드 컴퓨터, 내장형 컴퓨터 시스템, 개인 휴대 정보 단말기, 및 당업자에게 알려진 다른 유형의 컴퓨팅 디바이스를 포함하는 상이한 유형의 컴퓨팅 디바이스를 포함할 수 있음이 이해되어야 한다.
컴퓨터 아키텍처(700)는 도 7에 도시된 컴포넌트를 전부 포함하지는 않거나, 도 7에 명시적으로 도시되지 않은 다른 컴포넌트를 포함하거나, 도 7에 도시된 것과는 완전히 다른 아키텍처를 이용할 수 있다. 예를 들어, 제한 없이, 본 명세서에 개시된 기술은 병렬화를 통한 성능 개선을 위한 다중 CPUS, 더 빠른 계산을 위한 그래픽 처리 장치("GPU") 및/또는 텐서(tensor) 처리 유닛("TPU")와 함께 이용될 수 있다. 본 명세서에서 사용되는 "프로세서"라는 용어는 CPU, GPU, TPU 및 다른 유형의 프로세서를 포함한다.
도 8은 도 1 내지 도 7과 관련하여 전술한 기술 및 프로세스를 실행할 수 있는 예시적 컴퓨팅 환경을 도시한다. 다양한 예에서, 컴퓨팅 환경은 호스트 시스템(802)을 포함한다. 다양한 예에서, 호스트 시스템(802)은 네트워크(804) 상에서 동작하거나, 네트워크(804)와 통신하여 동작하거나, 네트워크(804)의 일부로서 동작한다.
네트워크(804)는 다양한 액세스 네트워크이거나 이를 포함할 수 있다. 예를 들어, 하나 이상의 클라이언트 디바이스(806(1)… 806(N))는 네트워크(804) 및/또는 다른 접속을 통해 호스트 시스템(802)과 통신할 수 있다. 호스트 시스템(802) 및/또는 클라이언트 디바이스는, 서버 컴퓨터, 스마트폰, 휴대 전화, 개인 휴대 정보 단말기(PDA), 전자 서적 디바이스, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 휴대용 컴퓨터, 게임 콘솔, 개인용 미디어 플레이어 디바이스, 또는 임의의 다른 전자 디바이스와 같은 휴대용 디바이스 또는 고정 디바이스를 포함하는 다양한 디바이스 중 임의의 하나를 포함할 수 있지만, 이에 제한되지는 않는다.
다양한 구현에 따르면, 호스트 시스템(802)의 기능은, 네트워크(804)의 일부로서 실행되거나 네트워크(804)와 통신하여 실행되고 있는 하나 이상의 서버에 의해 제공될 수 있다. 서버는 다양한 서비스, 가상 머신, 포털, 및/또는 다른 자원을 호스팅할 수 있다. 예를 들어, 하나 이상의 포털, 웹 사이트 및/또는 다른 정보에 대한 액세스를 호스트하거나 제공할 수 있다.
호스트 시스템(802)은 프로세서(들)(808) 및 메모리(810)를 포함할 수 있다. 메모리(810)는 운영 체제(812), 애플리케이션(들)(814), 및/또는 파일 시스템(816)을 포함할 수 있다. 또한, 메모리(810)는 도 1 내지 도 7과 관련하여 전술된 저장 유닛(들)(82)을 포함할 수 있다.
프로세서(들)(808)는 단일 프로세싱 유닛이거나 다수의 유닛일 수 있는데, 다수의 유닛 각각은 다수의 상이한 프로세싱 유닛을 포함할 수 있다. 프로세서(들)는 마이크로프로세서, 마이크로컴퓨터, 마이크로제어기, 디지털 신호 프로세서, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 보안 프로세서 등을 포함할 수 있다. 대안적으로, 또는 부가적으로, 본 명세서에 설명된 기술들 중 일부 또는 전부는 적어도 부분적으로 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 예를 들어, 사용될 수 있는 예시적 유형의 하드웨어 로직 컴포넌트는, FPGA(Field-Programmable Gate Array), ASIC(Application-Specific Integrated Circuit), ASSP(Application-Specific Standard Products), 상태 머신, CPLD(Complex Programmable Logic Device), 기타 로직 회로, SoC(system on chip), 및/또는 명령어에 기초하여 동작을 수행하는 임의의 다른 디바이스를 포함하지만, 이에 제한되지는 않는다. 상이한 기능들 중에서도 특히, 프로세서(들)는 메모리(810)에 저장된 컴퓨터 판독가능 명령어를 페치하고 실행하도록 구성될 수 있다.
메모리(810)는 컴퓨터 판독가능 매체들 중 하나 또는 이들의 조합을 포함할 수 있다. 본 명세서에 사용될 때, "컴퓨터 판독가능 매체"는 컴퓨터 저장 매체 및 통신 매체를 포함한다.
컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는, PCM(phase change memory), SRAM(static random-access memory), DRAM(dynamic random-access memory), 다른 유형의 RAM(random-access memory), ROM(read-only memory), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 또는 다른 메모리 기술, CD-ROM(Compact Disk ROM), DVD(Digital Versatile Disk) 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 컴퓨팅 디바이스에 의한 액세스를 위한 정보를 저장하는 데 사용될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지는 않는다.
이와 대조적으로, 통신 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호 내의 다른 데이터를 포함한다. 본 명세서에 정의될 때, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다.
호스트 시스템(802)은 네트워크 인터페이스(818)를 통해 네트워크(804)를 통해 통신할 수 있다. 네트워크 인터페이스(818)는 둘 이상의 디바이스 사이의 통신을 지원하기 위한 다양한 유형의 네트워크 하드웨어 및 소프트웨어를 포함할 수 있다. 머신 학습 모델(819)이 구현될 수 있다.
본 기술은 하나 이상의 머신에서 발생하는 동작을 포함할 수 있다. 본 명세서에서 사용될 때, "머신"은 특수 컴퓨팅 동작을 수행하기 위한 명령어로 프로그램된 물리적 데이터 저장 및 처리 하드웨어를 의미한다. 둘 이상의 상이한 머신이 하드웨어 컴포넌트를 공유할 수 있음이 이해되어야 한다. 예를 들어, 동일한 집적 회로는 둘 이상의 상이한 머신의 일부일 수 있다.
도시된 방법은 언제라도 종료될 수 있으며 전체적으로 수행될 필요는 없다는 것이 이해되어야 한다. 방법의 일부 또는 모든 동작 및/또는 실질적으로 동등한 동작은 본 명세서에 정의된 바와 같이 컴퓨터 저장 매체에 포함된 컴퓨터 판독가능 명령을 실행함으로써 수행될 수 있다. 상세한 설명 및 청구범위에서 사용되는 "컴퓨터 판독가능 명령어"라는 용어 및 그 파생어는, 루틴, 애플리케이션, 애플리케이션 모듈, 프로그램 모듈, 프로그램, 컴포넌트, 데이터 구조, 알고리즘 등을 포함하도록 본 명세서에서 광범위하게 사용된다. 컴퓨터 판독가능 명령어는, 단일 프로세서 또는 멀티프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 개인용 컴퓨터, 핸드헬드 컴퓨팅 디바이스, 마이크로프로세서 기반의 프로그램 가능 소비자 전자제품, 이들의 조합 등을 포함하는 다양한 시스템 구성에서 구현될 수 있다.
따라서, 본 명세서에 설명된 논리적 동작은 (1) 컴퓨팅 시스템에서 실행되는 일련의 컴퓨터 구현 행위 또는 프로그램 모듈로서 및/또는 (2) 컴퓨팅 시스템 내의 상호접속된 머신 로직 회로 또는 회로 모듈로서 구현됨이 이해되어야 한다. 구현은 컴퓨팅 시스템의 성능 및 기타 요건에 의존하는 선택 사항이다. 따라서, 본 명세서에 설명된 논리적 동작은 상태, 동작, 구조적 디바이스, 행위, 또는 모듈로 다양하게 지칭된다. 이들 동작, 구조적 디바이스, 행위, 및 모듈은, 소프트웨어, 펌웨어, 특수 목적 디지털 로직, 및 이들의 임의의 조합으로 구현될 수 있다.
본 명세서에 설명된 도면과 관련하여 본 명세서에서 설명될 때, 루틴의 동작들은 애플리케이션, 컴포넌트 및/또는 회로에 의해 적어도 부분적으로 구현되는 것으로 본 명세서에서 설명된다. 다음의 예시는 특정 도면의 컴포넌트를 참조하지만, 루틴의 동작들은 또한 다수의 다른 방식으로 구현될 수 있음이 이해될 수 있다. 예를 들어, 루틴은 컴퓨터 프로세서 또는 다른 컴퓨터의 프로세서 또는 프로세서들에 의해 적어도 부분적으로 구현될 수 있다. 또한, 대안적으로 또는 부가적으로, 루틴의 동작들 중 하나 이상은 단독으로 또는 다른 소프트웨어 모듈과 함께 작동되는 컴퓨터에 의해 적어도 부분적으로 구현될 수 있다.
예를 들어, 루틴의 동작들은 본 명세서에서 모듈로 일반적으로 지칭되는 애플리케이션, 컴포넌트 및/또는 회로에 의해 적어도 부분적으로 구현되는 것으로 본 명세서에서 설명된다. 일부 구성에서, 모듈은, 동적으로 링크된 라이브러리(dynamically linked library: DLL), 정적으로 링크된 라이브러리, API(application programing interface)에 의해 생성된 기능, 컴파일된 프로그램, 해석된 프로그램, 스크립트 또는 임의의 다른 실행 가능한 명령어 세트일 수 있다. 본 명세서에 개시된 데이터 및 모듈과 같은 데이터 및/또는 모듈은 하나 이상의 메모리 컴포넌트에 데이터 구조로 저장될 수 있다. 데이터는 데이터 구조에 대한 링크 또는 참조를 어드레싱함으로써 데이터 구조에서 검색될 수 있다.
끝으로, 본 명세서에 제시된 다양한 기술은 구조적 특징 및/또는 방법론적 행위에 특정된 언어로 설명되었지만, 첨부된 표현에서 정의된 주제는 반드시 설명된 특정 특징 또는 행위에 제한되는 것은 아님이 이해되어야 한다. 오히려, 특정 특징 및 행위는 청구된 주제를 구현하는 예시적 형태로서 개시된다.

Claims (20)

  1. 정보를 분배하는 방법으로서,
    가변 속도로 업데이트되는 정보를 수신하도록 구성된 애플리케이션 요소를 결정하는 단계 - 상기 정보는 객체에 관한 것임 - 와,
    상기 객체와 연관된 특징 데이터 및 상기 애플리케이션 요소의 사용과 연관된 데이터를 수신하는 단계 - 상기 특징 데이터는 상기 객체에 대한 시간 지평(time horizon) 및 상기 객체와 연관된 보충 정보를 포함함 - 와,
    상기 특징 데이터 및 상기 애플리케이션 요소의 사용과 연관된 데이터에 기초하여, 상기 객체에 관한 정보를 상기 애플리케이션 요소에 전송하기 위한 제 1 속도를 예측하는 단계와,
    상기 정보를 상기 제 1 속도로 상기 애플리케이션 요소에 전송하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 애플리케이션 요소의 사용과 연관된 데이터는 상기 정보의 사용자의 수를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 정보는 웹 페이지에 의해 설명되는,
    방법.
  4. 제 1 항에 있어서,
    상기 보충 정보는 상기 객체의 값을 포함하는,
    방법.
  5. 제 4 항에 있어서,
    상기 객체는 상품이고 상기 값은 현재 시장 가격인,
    방법.
  6. 제 4 항에 있어서,
    상기 객체는 입찰 시스템의 아이템이고 상기 값은 상기 아이템에 대한 입찰 가격인,
    방법.
  7. 제 1 항에 있어서,
    상기 시간 지평은 날짜 및 시간에 의해 정의된 마감일인,
    방법.
  8. 제 1 항에 있어서,
    상기 제 1 속도는 머신 학습 컴포넌트에 의해 예측되는,
    방법.
  9. 제 8 항에 있어서,
    상기 머신 학습 컴포넌트는 비감독형 학습(unsupervised learning)을 사용하여 상기 특징 데이터와 상기 애플리케이션 요소의 사용과 연관된 데이터 사이의 연관성을 결정하도록 훈련되고, 감독형 학습을 사용하여 상기 제 1 속도를 예측하도록 훈련되는,
    방법.
  10. 제 1 항에 있어서,
    상기 정보를 판독하기 위한 제 2 속도를 예측하는 단계를 더 포함하는
    방법.
  11. 컴퓨팅 시스템으로서,
    하나 이상의 프로세서와,
    컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 저장 매체를 포함하되,
    상기 컴퓨터 실행가능 명령어는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    가변 속도로 업데이트되는 정보를 수신하도록 구성된 애플리케이션 요소에 의해, 객체에 관한 정보를 수신하게 하고,
    상기 객체와 연관된 특징 데이터 및 상기 애플리케이션 요소의 사용과 연관된 데이터에 액세스하게 하고 - 상기 특징 데이터는 상기 객체에 대한 시간 지평 및 상기 객체와 연관된 보충 정보를 포함함 -,
    상기 특징 데이터 및 상기 애플리케이션 요소의 사용과 연관된 데이터에 기초하여, 상기 객체에 관한 정보를 상기 애플리케이션 요소에 전송하기 위한 제 1 속도를 예측하게 하고,
    상기 정보를 상기 제 1 속도로 상기 애플리케이션 요소에 전송하게 하는,
    컴퓨팅 시스템.
  12. 제 11 항에 있어서,
    상기 애플리케이션 요소의 사용과 연관된 데이터는 상기 정보의 사용자의 수를 포함하는,
    컴퓨팅 시스템.
  13. 제 11 항에 있어서,
    상기 보충 정보는 상기 객체의 값을 포함하는,
    컴퓨팅 시스템.
  14. 제 11 항에 있어서,
    상기 객체는 입찰 시스템의 아이템이고 상기 값은 상기 아이템에 대한 입찰 가격인,
    컴퓨팅 시스템.
  15. 제 11 항에 있어서,
    상기 제 1 속도는 머신 학습 컴포넌트에 의해 예측되는,
    컴퓨팅 시스템.
  16. 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 실행가능 명령어는, 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금,
    객체와 연관된 특징 데이터 및 가변 속도로 업데이트되는 상기 객체에 관한 정보를 수신하도록 구성된 애플리케이션 요소의 사용과 연관된 데이터에 액세스하게 하고 - 상기 특징 데이터는 상기 객체에 대한 시간 지평 및 상기 객체와 연관된 보충 정보를 포함함 -,
    상기 특징 데이터 및 상기 애플리케이션 요소의 사용과 연관된 데이터에 기초하여, 상기 객체에 관한 정보를 상기 애플리케이션 요소에 전송하기 위한 제 1 속도를 예측하게 하고,
    상기 정보를 상기 제 1 속도로 상기 애플리케이션 요소에 전송하게 하는,
    컴퓨터 판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 시간 지평은 날짜 및 시간에 의해 정의된 마감일인,
    컴퓨터 판독가능 저장 매체.
  18. 제 16 항에 있어서,
    상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금, 상기 정보를 판독하기 위한 제 2 속도를 예측하게 하는 저장된 컴퓨터 컴퓨터 실행가능 명령어를 더 포함하는
    컴퓨터 판독가능 저장 매체.
  19. 제 16 항에 있어서,
    상기 보충 정보는 상기 객체의 값을 포함하는,
    컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 객체는 상품이고 상기 값은 현재 시장 가격인,
    컴퓨터 판독가능 저장 매체.
KR1020200100741A 2019-08-12 2020-08-11 정보 업데이트를 위한 적응적 타이밍 예측 KR102593683B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230139594A KR102614813B1 (ko) 2019-08-12 2023-10-18 정보 업데이트를 위한 적응적 타이밍 예측

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/538,612 US11798070B2 (en) 2019-08-12 2019-08-12 Adaptive timing prediction for updating information
US16/538,612 2019-08-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230139594A Division KR102614813B1 (ko) 2019-08-12 2023-10-18 정보 업데이트를 위한 적응적 타이밍 예측

Publications (2)

Publication Number Publication Date
KR20210019391A true KR20210019391A (ko) 2021-02-22
KR102593683B1 KR102593683B1 (ko) 2023-10-26

Family

ID=74567827

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200100741A KR102593683B1 (ko) 2019-08-12 2020-08-11 정보 업데이트를 위한 적응적 타이밍 예측
KR1020230139594A KR102614813B1 (ko) 2019-08-12 2023-10-18 정보 업데이트를 위한 적응적 타이밍 예측

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230139594A KR102614813B1 (ko) 2019-08-12 2023-10-18 정보 업데이트를 위한 적응적 타이밍 예측

Country Status (3)

Country Link
US (2) US11798070B2 (ko)
KR (2) KR102593683B1 (ko)
CN (1) CN112396505A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120552A1 (en) * 2001-02-27 2002-08-29 William Grey System and method for utilizing dynamic auction parameters
KR20030003237A (ko) * 2000-03-15 2003-01-09 어웨어, 인크. 분산망을 통해 정보를 관리하기 위한 시스템 및 방법
US20180349485A1 (en) * 2017-03-24 2018-12-06 Inmentis, Llc Social media system with navigable, artificial-intelligence-based graphical user interface with a carousel view

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802292A (en) 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US6427138B1 (en) 2000-02-17 2002-07-30 Ncr Corporation Methods and apparatus for providing an electronic price label countdown timer
US7533051B2 (en) * 2001-02-06 2009-05-12 Oracle International Corporation Method and system for implementing automatic bid status refresh and item attribute updates in an electronic exchange
US7149754B2 (en) 2001-07-19 2006-12-12 William H. Carpenter, Jr. Method for transmitting a transferable information packet
US20030036975A1 (en) * 2001-08-02 2003-02-20 Martin Joshua J.D. Method of conducting an electronic rolling auction permitting the auction sponsor to make changes to the auctioned item
US8688528B2 (en) 2004-12-30 2014-04-01 Ebay, Inc. Methods and systems to alert a user of a network-based marketplace event
US9495702B2 (en) * 2011-09-20 2016-11-15 Oracle International Corporation Dynamic auction monitor with graphic interpretive data change indicators
US9197913B2 (en) * 2012-03-29 2015-11-24 Sony Corporation System and method to improve user experience with streaming content
US9985672B2 (en) * 2013-06-06 2018-05-29 Zih Corp. Method, apparatus, and computer program product for evaluating performance based on real-time data for proximity and movement of objects
CN108667875B (zh) * 2017-03-31 2021-03-30 北京京东尚科信息技术有限公司 信息更新方法和装置
US11176589B2 (en) * 2018-04-10 2021-11-16 Ebay Inc. Dynamically generated machine learning models and visualization thereof
US20200151815A1 (en) * 2018-06-28 2020-05-14 HodlPal, Inc. Systems and methods for a hybrid social trading platform
US20200184963A1 (en) * 2018-12-07 2020-06-11 At&T Intellectual Property I, L.P. Virtual assistant augmentation system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030003237A (ko) * 2000-03-15 2003-01-09 어웨어, 인크. 분산망을 통해 정보를 관리하기 위한 시스템 및 방법
US20020120552A1 (en) * 2001-02-27 2002-08-29 William Grey System and method for utilizing dynamic auction parameters
US20180349485A1 (en) * 2017-03-24 2018-12-06 Inmentis, Llc Social media system with navigable, artificial-intelligence-based graphical user interface with a carousel view

Also Published As

Publication number Publication date
CN112396505A (zh) 2021-02-23
US20210049679A1 (en) 2021-02-18
US11798070B2 (en) 2023-10-24
KR102593683B1 (ko) 2023-10-26
KR102614813B1 (ko) 2023-12-20
KR20230148806A (ko) 2023-10-25
US20230410189A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
KR102180995B1 (ko) 미래 액션들을 위한 사용자 인터페이스 데이터 캐싱 최적화
US11109083B2 (en) Utilizing a deep generative model with task embedding for personalized targeting of digital content through multiple channels across client devices
US8014308B2 (en) Hardware architecture for cloud services
US20170124596A1 (en) Systems and methods for optimal automatic advertising transactions on networked devices
CN113574325B (zh) 通过选择控制设置来控制环境的方法和系统
EP3926554A1 (en) Method and apparatus for optimizing recommendation system, device and computer storage medium
Caviglione et al. Deep reinforcement learning for multi-objective placement of virtual machines in cloud datacenters
US20210049674A1 (en) Predictive selection of product variations
US11645575B2 (en) Linking actions to machine learning prediction explanations
US11663509B2 (en) System and method for a personalized machine learning pipeline selection and result interpretation
US20210192549A1 (en) Generating analytics tools using a personalized market share
US10062101B2 (en) Maximizing the propensity of content consumption according to content complexity and content consumption time
US20150066661A1 (en) System for scalable keyword bid optimization
WO2020251679A1 (en) Screen reader summary with popular link(s)
US10621622B1 (en) Adaptive sequencing of notifications in a client server architecture
KR102614813B1 (ko) 정보 업데이트를 위한 적응적 타이밍 예측
CN114896061B (zh) 计算资源控制模型的训练方法、计算资源控制方法及装置
CN114119139A (zh) 一种信息推荐方法、装置、存储介质及电子设备
CN114297511A (zh) 理财推荐方法、装置、系统和存储介质
US20240177179A1 (en) System and method for management of inference models of varying complexity
US20230169128A1 (en) Adversarial bandits policy for crawling highly dynamic content
Cai et al. Counterfactual contextual bandit for recommendation under delayed feedback
CN117745356A (zh) 用于接通率预测的方法、装置、设备和可读介质
CN118035876A (zh) 推荐信息生成方法、装置、设备及介质
US11250081B1 (en) Predictive search

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent