KR20160085341A - Displaying activity across multiple devices - Google Patents

Displaying activity across multiple devices Download PDF

Info

Publication number
KR20160085341A
KR20160085341A KR1020167015806A KR20167015806A KR20160085341A KR 20160085341 A KR20160085341 A KR 20160085341A KR 1020167015806 A KR1020167015806 A KR 1020167015806A KR 20167015806 A KR20167015806 A KR 20167015806A KR 20160085341 A KR20160085341 A KR 20160085341A
Authority
KR
South Korea
Prior art keywords
user
session data
page
web page
visualization
Prior art date
Application number
KR1020167015806A
Other languages
Korean (ko)
Other versions
KR101845181B1 (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
Priority claimed from US14/506,021 external-priority patent/US20160098414A1/en
Application filed by 이베이 인크. filed Critical 이베이 인크.
Publication of KR20160085341A publication Critical patent/KR20160085341A/en
Application granted granted Critical
Publication of KR101845181B1 publication Critical patent/KR101845181B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • G06F17/30873
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F17/3089
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다수의 디바이스에 걸친 액티비티를 표시하기 위한 시스템 및 방법이 본원에서 개시된다. 웹 페이지에 액세스하려는 요청이, 유저와 관련되는 제1 디바이스로부터 수신된다. 요청은 유저의 유저 계정에 대한 유저 인증서를 포함한다. 웹 페이지에 액세스하려는 제2 요청이, 유저와 관련되는 제2 디바이스로부터 수신된다. 제2 요청은 유저의 유저 계정에 대한 유저 인증서를 포함한다. 세션 데이터가 수신되는데, 세션 데이터는 제1 디바이스 및 제2 디바이스 상에 디스플레이되는 웹 페이지에 대하여 유저에 의해 수행된 유저 상호작용에 관련하는 데이터를 포함한다. 수신된 세션 데이터를 사용하여 시각화 페이지가 생성된다. 그리고, 시각화 페이지를 표시한다.A system and method for displaying activities across multiple devices is disclosed herein. A request to access a web page is received from a first device associated with the user. The request contains a user certificate for the user's user account. A second request to access the web page is received from a second device associated with the user. The second request includes a user certificate for the user's user account. Session data is received, the session data comprising data relating to user interaction performed by a user on a web page displayed on the first device and the second device. A visualization page is generated using the received session data. Then, a visualization page is displayed.

Description

다수의 디바이스에 걸친 액티비티 디스플레이{DISPLAYING ACTIVITY ACROSS MULTIPLE DEVICES}{DISPLAYING ACTIVITY ACROSS MULTIPLE DEVICES}

본 국제 출원은 2014년 10월 3일자로 출원된 미국 특허 출원 제14/506,021호의 우선권 이익을 주장하며, 또한 2013년 11월 15일자로 출원된 미국 특허 가출원 제61/904,697호에 대한 우선권의 이익을 주장하는데, 상기 양 출원은 그 전체가 참조에 의해 본원에 통합된다.This international application claims the benefit of U.S. Patent Application No. 14 / 506,021, filed October 3, 2014, and also claims priority to U.S. Provisional Patent Application No. 61 / 904,697 filed November 15, 2013 , Both of which are incorporated herein by reference in their entirety.

본원에서 개시되는 주제는 일반적으로 데이터 표시(data presentation)에 관한 것이다. 구체적으로, 본 개시는 다수의 디바이스에 걸친 액티비티(activity)의 표시를 용이하게 하기 위한 시스템 및 방법을 다룬다.The subject matter disclosed herein relates generally to data presentation. In particular, this disclosure deals with systems and methods for facilitating the display of activity across multiple devices.

유저는 다수의 디바이스로부터 웹 페이지에 액세스할 수도 있다. 예를 들면, 유저는 스마트폰 기능을 갖는 이동 전화(mobile phone)로부터 웹 페이지에 액세스할 수도 있다. 그 후, 유저는 데스크탑 컴퓨터로부터 웹 페이지에 액세스할 수도 있다.A user may access a web page from multiple devices. For example, a user may access a web page from a mobile phone having smartphone capabilities. The user may then access the web page from the desktop computer.

몇몇 실시형태는 첨부의 도면에서 제한이 아닌 예로서 예시된다.
도 1은, 몇몇 예시적인 실시형태에 따른, 다수의 디바이스에 걸친 액티비티의 표시에 적합한 네트워크 환경을 예시하는 네트워크 도면이다.
도 2는, 몇몇 예시적인 실시형태에 따른, 다수의 디바이스에 걸쳐 액티비티를 표시하기에 적합한 서버 머신의 컴포넌트를 예시하는 블록도이다.
도 3 및 도 4는, 몇몇 예시적인 실시형태에 따른, 시각화 페이지(visualization page)를 각각 디스플레이하는 예시적인 유저 인터페이스이다.
도 5 내지 도 8은, 몇몇 예시적인 실시형태에 따른, 시각화 페이지 상에 세션 데이터를 표시하는 방법을 수행함에 있어서의 서버 머신의 동작을 예시하는 플로우차트이다.
도 9는, 머신 판독가능 매체로부터 명령어를 판독할 수 있는 그리고 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행할 수 있는, 몇몇 예시적인 실시형태에 따른, 머신의 컴포넌트를 예시하는 블록도이다.
Some embodiments are illustrated by way of example and not by way of limitation in the accompanying drawings.
1 is a network diagram illustrating a network environment suitable for display of activity across multiple devices, in accordance with some exemplary embodiments.
2 is a block diagram illustrating components of a server machine suitable for displaying activities across multiple devices, in accordance with some exemplary embodiments.
Figures 3 and 4 are exemplary user interfaces for displaying a visualization page, respectively, in accordance with some exemplary embodiments.
5-8 are flow charts illustrating the operation of a server machine in performing a method of displaying session data on a visualization page, in accordance with some exemplary embodiments.
9 is a block diagram illustrating components of a machine, in accordance with some exemplary embodiments, capable of reading any instruction from a machine-readable medium and performing any one or more of the methodologies discussed herein.

예시적인 방법 및 시스템은, 다수의 디바이스에 걸친 액티비티의 표시를 가능하게 하기 위해 유저에 의한 액티비티에 관한 데이터를 추적하는 것 및 저장하는 것을 대상으로 한다. 예는 가능한 변형예를 대표하는 것에 불과하다. 명시적으로 달리 언급되지 않는 한, 컴포넌트 및 기능은 옵션사항이며 결합 또는 세분될 수도 있고, 동작은 그 순서가 변할 수도 있고 결합 또는 세분될 수도 있다. 하기의 설명에서는, 설명의 목적을 위해, 예시적인 실시형태의 완전한 이해를 제공하도록 다양한 특정 상세가 개시된다. 그러나, 본 발명의 주제는 이들 특정 상세 없이도 실시될 수도 있다는 것이 기술분야의 숙련된 자에게는 명백할 것이다.Exemplary methods and systems are directed to tracking and storing data about activities by a user to enable display of activities across multiple devices. The examples are merely representative of possible variations. Unless expressly stated otherwise, the components and functions are optional and may be combined or subdivided, and the operations may be ordered or combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the exemplary embodiments. It will be apparent, however, to one skilled in the art that the subject matter of the present invention may be practiced without these specific details.

소비자는 다수의 디바이스를 사용하여 웹 페이지를 브라우징할 수도 있다. 예를 들면, 소비자는 아침에 스마트폰으로부터 어떤 아이템 페이지에 액세스할 수도 있다. 하루가 경과함에 따라, 유저는 다른 머신으로 전환하여 데스크탑 컴퓨터로부터 그 아이템 페이지를 다시 볼 수도 있다. 따라서, 웹 페이지 또는 아이템 페이지와의 유저의 상호작용은 다수의 디바이스에 걸쳐 확산될 수도 있다. 이 정보를 시각화하기 위해, 시스템은 서버로부터 각각의 디바이스로 전송되고 있는 정보를 수신하고 그 정보를 단일의 시각화 페이지 상에 디스플레이할 수도 있다. 시각화 페이지는, 각각의 디바이스로부터의 웹 페이지와의 유저의 상호작용을 요약하는 그래픽 이미지일 수도 있다. 정보는, 각각의 디바이스에 의해 수행된 액티비티를 전달하는 방식으로 시각화 페이지 내에서 편제될(organized) 수도 있다. 이렇게 하여, 웹 페이지와의 유저의 상호작용의 요약은 쉽게 액세스할 수 있는 포맷으로 표시된다. 게다가, 이 정보는 유저의 거동에 관련한 추후의 분석을 위해 사용될 수도 있다.A consumer may also browse web pages using multiple devices. For example, a consumer may access an item page from a smartphone in the morning. As the day passes, the user may switch to another machine and view the item page again from the desktop computer. Thus, a user's interaction with a web page or item page may be spread across multiple devices. To visualize this information, the system may receive the information being transferred from the server to each device and display the information on a single visualization page. The visualization page may be a graphical image that summarizes user interaction with a web page from each device. The information may be organized within the visualization page in a manner that conveys the activities performed by each device. In this way, a summary of the user's interaction with the web page is displayed in an easily accessible format. In addition, this information may be used for further analysis related to user behavior.

본 발명의 실시형태를 사용하는 것에 의해, 유저는 웹 페이지와의 그들의 상호작용에 관한 정보를 빠르고 쉽게 검색(retrieve)할 수 있다. 따라서, 본원에서 논의되는 방법론 중 하나 이상은, 검색 이력을 액세스하는 것 및 검색 이력을 통해 검색 또는 브라우징하는 것에 대한 필요성을 제거할 수도 있고, 이것은 시스템 내의 하나 이상의 디바이스에 의해 사용되는 컴퓨팅 리소스를 감소시키는 기술적 효과를 가질 수도 있다. 이러한 컴퓨팅 리소스의 예는, 제한 없이, 프로세서 싸이클, 네트워크 트래픽, 메모리 사용량, 저장 공간, 및 소비 전력을 포함한다.By using embodiments of the present invention, a user can quickly and easily retrieve information about their interaction with a web page. Thus, one or more of the methodologies discussed herein may eliminate the need for accessing the search history and searching or browsing through the search history, which may reduce the computing resources used by one or more devices in the system It may have a technical effect. Examples of such computing resources include, without limitation, processor cycles, network traffic, memory usage, storage space, and power consumption.

도 1은, 몇몇 예시적인 실시형태에 따른, 다수의 디바이스에 걸친 액티비티의 표시에 적합한 네트워크 환경(100)을 예시하는 네트워크 도면이다. 네트워크 환경(100)은 서버 머신(110), 데이터베이스(115), 및 디바이스(130 및 150)를 포함하는데, 모두 네트워크(190)를 통해 서로 통신가능하게 커플링된다. 서버 머신(110)은 네트워크 기반 시스템(105)(예를 들면, 디바이스(130 및 150)로 하나 이상의 서비스를 제공하도록 구성되는 클라우드 기반 서버 시스템)의 전체 또는 일부를 형성한다. 서버 머신(110) 및 디바이스(130 및 150) 각각은, 도 9에 대하여 하기에서 설명되는 바와 같이, 컴퓨터 시스템에서 전체적으로 또는 부분적으로 구현될 수도 있다.Figure 1 is a network diagram illustrating a network environment 100 suitable for display of activities across multiple devices, in accordance with some exemplary embodiments. The network environment 100 includes a server machine 110, a database 115, and devices 130 and 150, both of which are communicably coupled to each other via a network 190. Server machine 110 forms all or part of a network-based system 105 (e.g., a cloud-based server system configured to provide one or more services to devices 130 and 150). Each of server machine 110 and devices 130 and 150 may be implemented in whole or in part in a computer system, as described below with respect to FIG.

도 1에서는 유저(132)가 또한 도시된다. 유저(132)는 사람 유저(예를 들면, 사람), 머신 유저(예를 들면, 디바이스(130)와 상호작용하도록 소프트웨어 프로그램에 의해 구성되는 컴퓨터)일 수도 있고 이들의 임의의 적절한 조합(예를 들면, 머신의 보조를 받는 사람 또는 사람에 의해 감독되는 머신)일 수도 있다. 유저(132)는 네트워크 환경(100)의 일부는 아니지만, 디바이스(130)와 관련되며 디바이스(130)의 유저일 수도 있다. 예를 들면, 디바이스(130)는 데스크탑 컴퓨터, 차량용 컴퓨터(vehicle computer), 태블릿 컴퓨터, 내비게이션 디바이스, 휴대형 미디어 디바이스, 스마트폰, 또는 유저(132) 소유의 웨어러블 디바이스(wearable device)(예를 들면, 스마트워치, 또는 스마트 안경)일 수도 있다. 게다가, 유저(132)는 디바이스(150)와 관련될 수도 있다. 예로서, 디바이스(150)는 데스크탑 컴퓨터, 차량용 컴퓨터, 태블릿 컴퓨터, 내비게이션 디바이스, 휴대형 미디어 디바이스, 스마트폰, 또는 유저(132) 소유의 웨어러블 디바이스(예를 들면, 스마트워치, 또는 스마트 안경)일 수도 있다. 디바이스(130 및 150)의 각각은 웹 페이지에 액세스하도록 유저(132)에 의해 동작될 수도 있다. 구체적으로는, 서버 머신(110)은 디바이스(130 및 150)의 각각에 대한 유저 인터페이스 상에 웹 페이지를 디스플레이할 수도 있다. 유저(132)는, 각각의 디바이스(130 및 150)에 디스플레이되는 웹 페이지와 상호작용할 수도 있다. 게다가, 서버 머신(110)은 디바이스(130 및 150)의 각각으로부터 웹 페이지에 대한 유저(132)의 상호작용을 수신할 수도 있다. 그 다음, 웹 페이지에 대한 유저(132)의 상호작용은 서버 머신(110)에 의해 시각화 페이지 상에 디스플레이될 수도 있다.A user 132 is also shown in FIG. The user 132 may be a human user (e.g., a person), a machine user (e.g., a computer configured by a software program to interact with the device 130) For example, a machine supporter or a machine supervised by a person). The user 132 may be a user of the device 130 and is associated with the device 130, although it is not part of the network environment 100. For example, the device 130 may be a desktop computer, a vehicle computer, a tablet computer, a navigation device, a portable media device, a smart phone, or a wearable device (e.g., Smart watch, or smart glasses). In addition, user 132 may be associated with device 150. By way of example, device 150 may be a desktop computer, a car computer, a tablet computer, a navigation device, a portable media device, a smart phone, or a wearable device (e.g., smart watch or smart glasses) have. Each of the devices 130 and 150 may be operated by the user 132 to access a web page. In particular, the server machine 110 may display a web page on a user interface for each of the devices 130 and 150. The user 132 may interact with the web pages displayed on each of the devices 130 and 150. In addition, the server machine 110 may receive the interaction of the user 132 with the web page from each of the devices 130 and 150. The interaction of the user 132 to the web page may then be displayed on the visualization page by the server machine 110.

도 1에서 도시되는 머신, 데이터베이스, 또는 디바이스 중 임의의 것은, 그 머신, 데이터베이스, 또는 디바이스에 대해 본원에서 설명된 기능 중 하나 이상을 수행하도록 소프트웨어(예를 들면, 하나 이상의 소프트웨어 모듈)에 의해 수정된(예를 들면, 구성된 또는 프로그래밍된) 범용 컴퓨터에서 구현될 수도 있다. 예를 들면, 본원에서 설명된 방법론 중 임의의 하나 이상을 구현할 수 있는 컴퓨터 시스템이 도 9에 대하여 하기에서 논의된다. 본원에서 사용되는 바와 같이, "데이터베이스"는 데이터 스토리지 리소스이며, 텍스트 파일, 테이블, 스프레드시트, 관계형 데이터베이스(예를 들면, 객체 관계형 데이터베이스(object-relational database)), 트리플 저장소(triple store), 계층적 데이터 저장소, 또는 이들의 임의의 적절한 조합으로서 구조화된 데이터를 저장할 수도 있다. 또한, 도 1에서 예시된 머신, 데이터베이스, 또는 디바이스 중 임의의 둘 이상은 단일의 머신으로 결합될 수도 있고, 임의의 단일의 머신, 데이터베이스, 또는 디바이스에 대해 본원에서 설명된 기능이 다수의 머신, 데이터베이스, 또는 디바이스 사이에서 세분될 수도 있다.Any of the machines, databases, or devices shown in FIG. 1 may be modified (e.g., modified) by software (e.g., one or more software modules) to perform one or more of the functions described herein for the machine, database, (E. G., Configured or programmed). ≪ / RTI > For example, a computer system capable of implementing any one or more of the methodologies described herein is discussed below with respect to FIG. As used herein, a "database" is a data storage resource and may be a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, Data storage, or any suitable combination thereof. Also, any two or more of the machines, databases, or devices illustrated in FIG. 1 may be combined into a single machine, and the functionality described herein for any single machine, database, A database, or a device.

네트워크(190)는 머신, 데이터베이스, 및 디바이스(예를 들면, 서버 머신(110) 및 디바이스(130)) 간의 또는 사이의 통신을 가능하게 하는 임의의 네트워크일 수도 있다. 따라서, 네트워크(190)는 유선 네트워크, 무선 네트워크(예를 들면, 모바일 또는 셀룰러 네트워크), 또는 이들의 임의의 적절한 조합일 수도 있다. 네트워크(190)는, 사설 네트워크, 공공 네트워크(예를 들면, 인터넷), 또는 이들의 임의의 적절한 조합을 구성하는 하나 이상의 부분을 포함할 수도 있다. 따라서, 네트워크(190)는, 근거리 통신망(local area network; LAN), 광역 통신망(wide area network; WAN), 인터넷, 이동 전화 네트워크(예를 들면, 셀룰러 네트워크), 유선 전화 네트워크(예를 들면, 기존 전화 서비스(plain old telephone system; POTS) 네트워크), 무선 데이터 네트워크(예를 들면, 와이파이 네트워크 또는 와이맥스(WiMax) 네트워크), 또는 이들의 임의의 적절한 조합을 통합하는 하나 이상의 부분을 포함할 수도 있다. 네트워크(190) 중 임의의 하나 이상의 부분은 통신 매체를 통해 정보를 전달할 수도 있다. 본원에서 사용되는 바와 같이, "송신 매체"는, 머신에 의한(예를 들면, 이러한 머신의 하나 이상의 프로세서에 의한) 실행을 위한 명령어를 전달(송신)할 수 있는 임의의 비유형의(intangible)(예를 들면, 일시적) 매체를 가리키며, 디지털 또는 아날로그 통신 신호 또는 이러한 소프트웨어의 통신을 용이하게 하기 위한 다른 비유형의 매체를 포함한다.Network 190 may be any network that enables communication between, or between, a machine, a database, and a device (e.g., server machine 110 and device 130). Thus, the network 190 may be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network 190 may include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof. Thus, the network 190 may be a local area network (LAN), a wide area network (WAN), the Internet, a mobile telephone network (e.g., a cellular network), a landline telephone network (E.g., a plain old telephone system (POTS) network), a wireless data network (e.g., a WiFi network or a WiMax network), or any suitable combination thereof . Any one or more portions of the network 190 may carry information over a communication medium. As used herein, "transmission medium" means any intangible medium capable of transmitting (transmitting) instructions for execution by a machine (e.g., by one or more processors of such a machine) (E.g., transient) medium, and includes digital or analog communication signals or other non-type media for facilitating communication of such software.

도 2는, 몇몇 예시적인 실시형태에 따른, 서버 머신(110)의 컴포넌트를 예시하는 블록도이다. 서버 머신(110)은, 수신 모듈(210), 생성 모듈(220), 식별 모듈(230), 세션 모듈(240), 및 표시 모듈(250)을 포함하는 것으로 도시되는데, 모두 (예를 들면, 버스, 공유 메모리, 또는 스위치를 통해) 서로 통신하도록 구성된다. 본원에서 설명되는 모듈 중 임의의 하나 이상은, 하드웨어(예를 들면, 머신의 하나 이상의 프로세서) 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수도 있다. 예를 들면, 본원에서 설명되는 임의의 모듈은, 그 모듈에 대해 본원에서 설명되는 동작을 수행하도록 (머신의 하나 이상의 프로세서 중) 하나의 프로세서를 구성할 수도 있다. 또한, 이들 모듈 중 임의의 둘 이상은 단일의 모듈로 결합될 수도 있고, 단일의 모듈에 대해 본원에서 설명되는 기능이 다수의 모듈 사이에서 세분될 수도 있다. 또한, 다양한 예시적인 실시형태에 따르면, 단일의 머신, 데이터베이스, 또는 디바이스 내에서 구현되는 것으로 본원에서 설명되는 모듈이 다수의 머신, 데이터베이스, 또는 디바이스에 걸쳐 분산될 수도 있다.2 is a block diagram illustrating components of server machine 110, in accordance with some exemplary embodiments. The server machine 110 is shown to include a receiving module 210, a generating module 220, an identifying module 230, a session module 240, and a display module 250, Bus, shared memory, or switch). Any one or more of the modules described herein may be implemented using hardware (e.g., one or more processors of a machine) or a combination of hardware and software. For example, any of the modules described herein may constitute one processor (among the one or more processors of the machine) to perform the operations described herein for that module. Also, any two or more of these modules may be combined into a single module, and the functionality described herein for a single module may be subdivided among the plurality of modules. Also, in accordance with various exemplary embodiments, the modules described herein as being implemented in a single machine, database, or device may be distributed across multiple machines, databases, or devices.

다양한 예시적인 실시형태에서, 수신 모듈(210)은 유저와 관련되는 제1 디바이스(예를 들면, 디바이스(130))로부터 웹 페이지(예를 들면, 아이템 페이지)에 액세스하려는 요청을 수신하도록 구성된다. 그 요청은, 유저와 관련되는 임의의 수의 디바이스로부터 또한 수신될 수도 있다. 요청은 유저의 유저 계정에 대한 유저 인증서(user credential)를 포함할 수도 있다. 유저 계정의 유저 인증서는, 유저명, 패스워드, 유저 인증서와 관련되는 로그인 쿠키 등등을 포함할 수도 있다. 다양한 예시적인 실시형태에서, 수신 모듈(210)은 또한, 나중의 시간에 유저와 관련되는 제2 디바이스(예를 들면, 디바이스(150))로부터 동일한 아이템 페이지에 액세스하려는 요청을 수신하도록 구성된다.In various exemplary embodiments, the receiving module 210 is configured to receive a request to access a web page (e.g., an item page) from a first device (e.g., device 130) associated with the user . The request may also be received from any number of devices associated with the user. The request may include a user credential for the user's user account. The user certificate of the user account may include a user name, a password, a login cookie associated with the user certificate, and the like. In various exemplary embodiments, the receiving module 210 is also configured to receive a request to access the same item page from a second device (e.g., device 150) associated with the user at a later time.

예시적인 실시형태에서, 생성 모듈(220)은 유저의 유저 계정을 아이템 페이지와 관련시키는 레코드를 생성하도록 구성된다. 일 실시형태에서, 관련은, 아이템 페이지에 대한 식별자를 유저 계정에 대한 식별자 및 디바이스에 대한 식별자와 관련시키는 것 또는 링크시키는 것을 포함한다. 레코드는 아이템 페이지에 대한 유저 계정의 매핑일 수도 있다. 예를 들면, 유저 인증서는, 아이템 페이지의 식별자에 대응하는 것으로 나타내어질 수도 있다. 아이템 페이지의 식별자는, 아이템 페이지와 관련되는 브라우저 쿠키일 수도 있다. 예로서, 생성 모듈(220)은, 로그인 쿠키를, 아이템 페이지와 관련되는 브라우저 쿠키에 매핑시키는 레코드를 생성할 수도 있다. 또한, 디바이스에 대한 식별자는 IP 어드레스 또는 식별 번호일 수도 있다. 다른 예로서, 생성 모듈(220)은, 디바이스의 IP 어드레스를, 아이템 페이지와 관련되는 브라우저 쿠키에 매핑시키는 레코드를 생성할 수도 있다. 게다가, 생성된 레코드는 데이터베이스(예를 들면, 데이터베이스(115))에 저장될 수도 있다. 또한, 생성 모듈(220)은 또한, 제2 디바이스가 아이템 페이지에 액세스했다는 것을 나타내기 위해, 생성된 레코드를 업데이트하도록 구성될 수도 있다. 다시 말하면, 일단 수신 모듈(210)이 제2 디바이스로부터 요청을 수신하고 아이템 페이지가 제2 디바이스 상에 디스플레이되면, 생성 모듈(220)은 생성된 레코드를 업데이트한다.In an exemplary embodiment, the generation module 220 is configured to generate a record that associates a user's user account with an item page. In one embodiment, the association involves associating or linking an identifier for the item page with an identifier for the user account and an identifier for the device. The record may be a mapping of the user account to the item page. For example, the user certificate may be represented as corresponding to the identifier of the item page. The identifier of the item page may be a browser cookie associated with the item page. As an example, the generating module 220 may generate a record that maps the login cookie to a browser cookie associated with the item page. The identifier for the device may also be an IP address or an identification number. As another example, the generating module 220 may generate a record that maps the IP address of the device to a browser cookie associated with the item page. In addition, the generated record may be stored in a database (e.g., database 115). The generation module 220 may also be configured to update the generated record to indicate that the second device has accessed the item page. In other words, once the receiving module 210 receives the request from the second device and the item page is displayed on the second device, the generating module 220 updates the generated record.

예시적인 실시형태에서, 식별 모듈(230)은, 생성된 레코드에 기초하여 동일한 아이템 페이지에, 유저와 관련되는 제2 디바이스가 액세스했다는 것을 식별하도록 구성된다. 몇몇 실시형태에서, 식별 모듈(230)은, 제1 디바이스로부터의 웹 페이지(예를 들면, 아이템 페이지)에 액세스하려는 요청에 기초하여, 제1 디바이스를 식별한다. 상기에서 언급된 바와 같이, 요청은 유저의 유저 계정에 대한 유저 인증서를 포함할 수도 있다. 식별 모듈(230)은 또한, 제2 디바이스로부터의 아이템 페이지에 액세스하려는 요청에 기초하여, 제2 디바이스가 유저와 관련된다는 것을 식별할 수도 있다. 예를 들면, 식별 모듈(230)은, 제2 디바이스가, 제1 디바이스로부터 아이템 페이지에 또한 액세스했던 동일한 유저와 관련된다는 것을 (예를 들면, 유저 인증서로부터) 식별한다. 일단 동일한 유저가 동일한 아이템 페이지에 액세스를 시도하고 있다고 식별 모듈(230)이 판정하면, 유저 계정의 유저 인증서를 아이템 페이지에 매핑시키는 생성된 레코드를 검색하기 위해 그리고 상기에서 설명된 바와 같이 레코드를 업데이트하기 위해, 생성 모듈(220)은 데이터베이스에 액세스할 수도 있다.In an exemplary embodiment, the identification module 230 is configured to identify that a second device associated with the user has accessed the same item page based on the generated record. In some embodiments, the identification module 230 identifies the first device based on a request to access a web page (e.g., an item page) from the first device. As mentioned above, the request may include a user certificate for the user account of the user. The identification module 230 may also identify based on the request to access the item page from the second device that the second device is associated with the user. For example, the identification module 230 identifies (e.g., from a user certificate) that the second device is associated with the same user who also accessed the item page from the first device. Once the identification module 230 determines that the same user is attempting to access the same item page, it may be necessary to retrieve the generated record that maps the user certificate of the user account to the item page and to update the record as described above The generating module 220 may access the database.

예시적인 실시형태에서, 세션 모듈(240)은, 식별 모듈(230)에 의해 식별되는 바와 같은 제1 디바이스 상에 그리고 제2 디바이스 상에 디스플레이되는 아이템 페이지와의 유저에 의해 수행된 유저 상호작용에 관련하는 데이터를 포함하는 세션 데이터를 수신한다. 세션 데이터는, 예를 들면, 유저에 의한 아이템 페이지의 내비게이션, 제1 디바이스 또는 제2 디바이스 중 적어도 하나 상에서 유저가 보는 이미지, 제1 디바이스 또는 제2 디바이스 중 적어도 하나 상에서 유저에 의해 이루어지는 구매, 제1 디바이스 또는 제2 디바이스 중 적어도 하나 상에서 유저에 의해 동작되는 아이템 페이지 상에서 다루어지는 제어에 관련하는 임의의 데이터, 또는 제1 디바이스 또는 제2 디바이스 중 적어도 하나 상에서 유저에 의한 아이템의 입찰에 관련하는 임의의 데이터를 포함한다. 따라서, 세션 모듈(240)은 각각의 디바이스로부터 세션 데이터를 수신하고, 나중의 검색을 위해 서버 머신(110)에 의해 유지되는 데이터베이스에 수신된 세션 데이터를 저장할 수도 있다. 세션 데이터는, 각각의 디바이스에 대한 아이템 페이지와의 상호작용과 실질적으로 동시에, 각각의 디바이스에 대해 세션이 완료된 직후에, 또는 임의의 다른 시간 간격으로(예를 들면, 낮은 프로세싱 시간 간격 동안 배치(batch)로) 수신될 수도 있다. 따라서, 데이터의 복수의 세션이 수신될 수도 있다. 예시적인 실시형태에서, 세션 모듈(240)은 또한, 제2 디바이스가 아이템 페이지에 액세스했다는 것을 나타내는 업데이트된 레코드에 기초하여 세션 데이터를 수신하도록 구성된다. 다시 말하면, 업데이트된 레코드는, 제2 디바이스가 제1 디바이스와 동일한 아이템 페이지에 액세스했다는 것을 나타내고, 따라서, 세션 모듈(240)은 제1 및 제2 디바이스의 각각으로부터 세션 데이터를 수신한다.In an exemplary embodiment, the session module 240 is configured to display user interaction performed on a first device, as identified by the identification module 230, and by a user with an item page displayed on the second device, And receives session data including related data. The session data may include, for example, navigation of an item page by the user, an image viewed by the user on at least one of the first device or the second device, a purchase made by the user on at least one of the first device or the second device, Any data related to the control being handled on the item page operated by the user on at least one of the first device or the second device or any data relating to the control of the item by the user on at least one of the first device or the second device . Thus, the session module 240 may receive session data from each device and store the received session data in a database maintained by the server machine 110 for later retrieval. The session data may be generated for each device immediately after the session is completed, or at any other time interval (e.g., during a low processing time interval (e.g., batch). Thus, a plurality of sessions of data may be received. In an exemplary embodiment, the session module 240 is also configured to receive session data based on an updated record indicating that the second device has accessed the item page. In other words, the updated record indicates that the second device has accessed the same item page as the first device, and thus the session module 240 receives the session data from each of the first and second devices.

다양한 예시적인 실시형태에서, 생성 모듈(220)은 또한, 수신된 세션 데이터를 사용하여 시각화 페이지를 생성하도록 구성된다. 생성 모듈(220)은, 아이템 페이지와의 유저 상호작용에 관련하는 세션 데이터를 저장하는 데이터베이스에 액세스할 수도 있다. 예시적인 실시형태에서, 생성 모듈(220)은, 수신된 세션 데이터로부터, 제1 디바이스로부터 수신되었던 제1 세션 데이터를 파싱한다. 제1 세션 데이터는, 제1 디바이스 상의 제1 유저 인터페이스 내에서 유저에 의해 수행된 유저 상호작용에 관련할 수도 있다. 추가적으로, 생성 모듈(220)은, 수신된 세션 데이터로부터, 제2 디바이스로부터 수신되었던 제2 세션 데이터를 파싱할 수도 있다. 수신된 세션 데이터를 사용하여, 생성 모듈(220)은, 제1 디바이스, 제2 디바이스, 또는 임의의 추가 디바이스 중 적어도 하나가 아이템 페이지에 액세스하는 각각의 세션 동안 수행된 복수의 상호작용을 식별하도록 구성된다. 이렇게 함에 있어서, 생성 모듈(220)은 복수의 세션을 식별할 수도 있는데, 복수의 세션 동안 제1 디바이스 및 제2 디바이스는 웹 페이지에 액세스한다. 복수의 세션으로부터의 각각의 세션은 특정 시간 영역에 대응할 수도 있다. 예를 들면, 복수의 세션은 아침 세션 및 두 개의 저녁 세션을 포함할 수도 있다. 아침 세션의 경우, 유저는 제1 디바이스를 사용하여 아이템 페이지에 액세스했을 수도 있다. 저녁 세션의 경우, 유저는 제1 디바이스 및 그 다음 나중에 제2 디바이스를 사용하여 아이템 페이지에 액세스했을 수도 있다. 세션의 각각은 생성 모듈(220)에 의해 파싱될 수도 있다. 하기에서 더 설명되는 바와 같이, 복수의 세션으로부터의 세션의 각각은 시각화 페이지 내에서 칼럼으로서 디스플레이될 수도 있다.In various exemplary embodiments, the generation module 220 is also configured to generate a visualization page using the received session data. The generation module 220 may access a database that stores session data related to user interaction with the item page. In an exemplary embodiment, the generation module 220 parses the first session data received from the first device from the received session data. The first session data may relate to user interaction performed by the user in the first user interface on the first device. Additionally, the generation module 220 may parse the second session data that was received from the second device from the received session data. Using the received session data, the generating module 220 may be configured to identify a plurality of interactions performed during each session in which at least one of the first device, the second device, . In doing so, the generating module 220 may identify a plurality of sessions, during which the first device and the second device access the web page. Each session from a plurality of sessions may correspond to a specific time domain. For example, a plurality of sessions may include a morning session and two evening sessions. In the case of a morning session, the user may have accessed the item page using the first device. In the evening session, the user may have accessed the item page using the first device and then later the second device. Each of the sessions may be parsed by generation module 220. As described further below, each of the sessions from the plurality of sessions may be displayed as columns in the visualization page.

다양한 예시적인 실시형태에서, 생성 모듈(220)은, 제1 디바이스에 대응하는 시각화 페이지의 제1 칼럼에 제1 세션 데이터를 할당한다. 추가적으로, 생성 모듈(220)은, 제2 디바이스에 대응하는 시각화 페이지의 제2 칼럼에 제2 세션 데이터를 할당할 수도 있다.In various exemplary embodiments, the generation module 220 assigns the first session data to the first column of the visualization page corresponding to the first device. Additionally, the generating module 220 may assign the second session data to the second column of the visualization page corresponding to the second device.

예시적인 실시형태에서, 표시 모듈(250)은, 제1 디바이스 및 제2 디바이스 상에 디스플레이되는 아이템 페이지에 대한 유저에 의해 수행된 유저 상호작용에 관련하는 수신된 세션 데이터를 시각화 페이지 상에 표시하도록 구성된다. 따라서, 표시 모듈(250)은, 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 치수가 시각화 페이지의 치수를 초과하는지의 여부를 판정할 수도 있다. 이 판정에 응답하여, 표시 모듈(250)은, 유저 상호작용에 관련하는 데이터의 치수가 시각화 페이지의 치수 내에 있도록, 유저 상호작용에 관련하는 데이터를 리사이징할 수도 있다. 예를 들면, 표시 모듈(250)은, 데이터가 그 전체로 시각화 페이지 내에 디스플레이될 수 없다고 판정할 수도 있다. 따라서, 데이터 전체를 시각화 페이지에 맞추기 위해, 데이터가 적절히 리사이징될 수도 있다. 추가적으로, 표시 모듈(250)은, 데이터가 시각화 페이지 내에 그리고 시각화 페이지 상의 디스플레이에 대해 맞추어질 수도 있도록, 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 해상도를 조정할 수도 있다. 예시적인 실시형태에서, 표시 모듈은 생성 모듈(220)에 의해 식별되는 복수의 세션에 대응하는 복수의 칼럼을 시각화 페이지 상에 디스플레이한다. 또한, 표시 모듈(250)은, 리사이징된 세션 데이터를 시각화 페이지 상에 표시할 수도 있다.In an exemplary embodiment, display module 250 is configured to display received session data related to user interaction performed by a user on an item page displayed on a first device and a second device on a visualization page . Thus, the display module 250 may determine whether the dimensions of the data relating to the user interaction extracted from the session data exceed the dimensions of the visualization page. In response to this determination, display module 250 may resize data associated with user interaction, such that the dimensions of the data associated with the user interaction are within the dimensions of the visualization page. For example, the display module 250 may determine that the data can not be displayed in its entirety in the visualization page. Thus, in order to fit the entire data to the visualization page, the data may be properly resized. Additionally, display module 250 may adjust the resolution of data related to user interaction extracted from the session data, such that the data may be tailored to the display on the visualization page and within the visualization page. In an exemplary embodiment, the display module displays on the visualization page a plurality of columns corresponding to the plurality of sessions identified by the generation module 220. [ The display module 250 may also display the resized session data on the visualization page.

예시적인 실시형태에서, 표시 모듈(250)은 또한, 제1 디바이스 상의 유저 인터페이스 내에 아이템 페이지를 디스플레이한다. 예를 들면, 표시 모듈(250)은, 디바이스에게 아이템 페이지를 디스플레이할 것을 명령하는 명령어를 생성하여 유저의 디바이스로 송신할 수도 있다. 아이템 페이지는 아이템을 설명할 수도 있고 아이템의 설명 및 아이템의 이미지를 포함할 수도 있다. 아이템 페이지는 또한, 유저가 아이템 페이지와 상호작용하도록 동작가능한 제어부(control)를 포함할 수도 있다. 예를 들면, 제어부는 아이템 페이지의 내비게이션에 관련될 수도 있다. 제어부는 또한, 유저가 아이템 페이지에 디스플레이되는 아이템의 구매를 행하는 것을 허용할 수도 있다. 몇몇 경우에서, 복수의 이미지가 아이템 페이지와 관련되며, 제어부는 아이템 페이지와 관련되는 복수의 이미지를 통해 브라우징하기 위해 사용된다. 아이템 페이지와의 유저의 상호작용은, 제1 디바이스에 의해 추적될 수도 있고 그 다음 세션 데이터의 일부로서 세션 모듈(240)로 전송될 수도 있다. 대안적인 실시형태에서, 서버 머신은 (예를 들면, 표시 모듈(250)을 통해) 아이템 페이지와의 유저의 상호작용을 검출할 수도 있다. 다른 예에서, 아이템 페이지는 정보의 공개(publication)일 수도 있고 제어부는 아이템 페이지 내에서 디스플레이되는 정보의 공개에 대한 추가적으로 관련된 정보에 유저가 액세스하는 것을 허용할 수도 있다.In an exemplary embodiment, display module 250 also displays item pages within the user interface on the first device. For example, the display module 250 may generate an instruction to instruct the device to display the item page and transmit it to the user's device. An item page may describe an item and may include an item description and an image of the item. The item page may also include a control operable to allow the user to interact with the item page. For example, the control may be associated with navigation of the item page. The control unit may also allow the user to make purchases of items displayed on the item page. In some cases, a plurality of images is associated with an item page, and the control is used to browse through a plurality of images associated with the item page. The user interaction with the item page may be tracked by the first device and then sent to the session module 240 as part of the session data. In an alternative embodiment, the server machine may detect user interaction with the item page (e.g., via display module 250). In another example, the item page may be a publication of information and the control unit may allow the user to access additional relevant information about the disclosure of information displayed within the item page.

또한, 표시 모듈(250)은, 제2 디바이스 상의 유저 인터페이스 내에, 아이템 페이지를 디스플레이하도록 구성될 수도 있다. 아이템 페이지와의 유저의 상호작용은 또한, 제2 디바이스에 의해 추적될 수도 있고 그 다음 세션 데이터의 일부로서 세션 모듈(240)로 전송될 수도 있다. 대안적으로, 서버 머신은 (예를 들면, 표시 모듈(250)을 통해) 제2 디바이스 상에서의 아이템 페이지와의 유저의 상호작용을 검출할 수도 있다. 단지 두 개의 디바이스가 논의되었지만, 아이템 페이지와의 유저 상호작용을 결정하기 위해, 임의의 수의 디바이스에 대한 세션 데이터가 추적될 수도 있다는 것을 유의한다. 추가적으로, 동일한 디바이스로부터의 복수의 세션으로부터의 세션 데이터도 또한 추적될 수도 있다.Display module 250 may also be configured to display item pages within the user interface on the second device. The user interaction with the item page may also be tracked by the second device and then sent to the session module 240 as part of the session data. Alternatively, the server machine may detect user interaction with an item page on the second device (e.g., via display module 250). Note that although only two devices have been discussed, session data for any number of devices may be tracked to determine user interaction with the item page. Additionally, session data from multiple sessions from the same device may also be tracked.

도 3은, 몇몇 예시적인 실시형태에 따른, 시각화 페이지를 디스플레이하는 예시적인 유저 인터페이스(300)이다. 시각화 페이지는, 제1 칼럼(310), 제2 칼럼(330), 제3 칼럼(340), 제4 칼럼(350), 및 제5 칼럼(360)을 포함할 수도 있다. 칼럼(310, 330, 340, 350, 및 360)의 각각은, 디바이스 상에 디스플레이되는 동일한 웹 페이지를 갖는 별개의 세션에 대응한다. 예를 들면, 칼럼(310)은, 모바일 디바이스가 웹 페이지에 액세스하는 오전 5:30의 아침 세션에 대응할 수도 있다. 칼럼(330)은, 동일한 웹 페이지에 데스크탑이 액세스하는 오전 8:15의 아침 세션에 대응할 수도 있다.3 is an exemplary user interface 300 for displaying a visualization page, in accordance with some exemplary embodiments. The visualization page may include a first column 310, a second column 330, a third column 340, a fourth column 350, and a fifth column 360. Each of columns 310,330, 340,350, and 360 corresponds to a separate session having the same web page displayed on the device. For example, the column 310 may correspond to a morning session of 5:30 am where the mobile device accesses the web page. Column 330 may correspond to a morning session of 8:15 am, which the desktop accesses to the same web page.

대응하는 디바이스에 의해 웹 페이지 상에서 수행된 액티비티의 설명(예를 들면, 세션 데이터)은, 각각의 칼럼 내에 있다. 액티비티는 유저가 웹 페이지에서 보고 있는 컨텐츠를 설명할 수도 있다. 추가적으로, 액티비티는 웹 페이지에 대하여 유저에 의해 수행된 액션(예를 들면, 이미지를 보는 것, 입찰을 하는 것, 입찰을 검토하는 것, 및 감시(watch)하는 것)을 설명할 수도 있다. 예를 들면, 용어 "감시"는, 아이템에 관련하는 통지를 수신하기 위해, 유저가 시청 리스트 상에 아이템을 배치한 것을 설명할 수도 있다. 다른 예에서, 용어 "감시 삭제"는, 아이템에 관련하는 통지의 수신을 중지하기 위해, 유저가 감시 리스트에서 아이템을 삭제한 것을 기술할 수도 있다.The description of the activity (e.g., session data) performed on the web page by the corresponding device is in each column. An activity may describe the content the user is viewing on a web page. Additionally, the activity may describe an action (e.g., viewing an image, making a bid, reviewing a bid, and watching a user) performed on a web page. For example, the term "monitoring" may describe that a user has placed an item on a viewing list to receive a notification associated with the item. In another example, the term " watchdog "may describe that a user deleted an item from the watch list to stop receiving notifications related to the item.

게다가, 칼럼의 길이는 세션 동안 수행된 액티비티의 양에 대응한다. 예를 들면, 제1 칼럼(310)의 길이는 경계 320에서 끝나는데, 제1 칼럼과 관련되는 액티비티가 웹 페이지 상에서 신발을 보는 것만을 포함하기 때문이다. 대조적으로, 칼럼(350)의 길이는 더 긴데, 유저가, 신발을 보는 것 외에, 세 개의 입찰을 하였고 그 입찰 중 두 개를 검토했기 때문이다.In addition, the length of the column corresponds to the amount of activity performed during the session. For example, the length of the first column 310 ends at the boundary 320, because the activity associated with the first column includes only viewing the shoe on the web page. In contrast, the length of the column 350 is longer because the user has made three bids besides viewing the shoe and reviewed two of the bids.

시각화 페이지(300) 상에 디스플레이되는 칼럼은 이미지를 또한 포함할 수도 있다. 예를 들면, 웹 페이지에서 유저가 보고 있는 이미지에 대응하는 이미지(365)가, 칼럼(360) 내에 디스플레이된다. 따라서, 세션 데이터는, 웹 페이지에서 유저가 본 이미지를 포함한다. 도 3에서는 다섯 개의 칼럼이 도시되지만, 칼럼의 수는, 유저에 대응하는, 동일한 웹 페이지에 액세스하는 별개의 세션의 수에 대응할 것이다는 것을 유의한다. 몇몇 경우에, 각각의 칼럼 내의 설명은 또한, 아이템 자체에 관련할 수도 있다. 예를 들면, 칼럼(330) 내의 "사이즈 10의 남성 클래식화"의 설명은, 웹 페이지 상에서 유저가 보고 있는 신발을 설명할 수도 있다.The columns displayed on the visualization page 300 may also include images. For example, an image 365 corresponding to an image the user is viewing on a web page is displayed in column 360. Thus, the session data includes the image viewed by the user on the web page. Note that although five columns are shown in Figure 3, the number of columns will correspond to the number of distinct sessions that access the same web page, corresponding to the user. In some cases, the description in each column may also be related to the item itself. For example, the description of "size 10 male classicization" in column 330 may describe the shoe the user is viewing on a web page.

도 4는, 표시 모듈(250)에 의해 리사이징된 시각화 페이지를 디스플레이하는 예시적인 유저 인터페이스(400)이다. 리사이징은, 웹페이지에 대한 세션 데이터의 모두를 단일의 시각화 페이지에 맞추기 위해 표시 모듈(250)에 의해 수행된다. 본 예시적인 유저 인터페이스(400)에서는, 두 개의 추가적인 칼럼(두 개의 추가적인 세션을 나타냄)이 도 3의 시각화 페이지로부터 추가된다. 세션 데이터의 리사이징은, 유저 인터페이스(400) 상에 디스플레이되는 데이터의 해상도를 조정하는 것을 포함할 수도 있다. 예를 들면, 도 3의 이미지(365)는, 데이터의 모두가 시각화 페이지에 맞추어지도록, 이미지(420) 안으로 (예를 들면, 더 작게) 리사이징될 수도 있다. 다른 예에서, 도 4의 칼럼(410)은 도 3의 제1 칼럼(310)의 리사이징된 버전일 수도 있다.4 is an exemplary user interface 400 that displays a visualization page resized by display module 250. [ The resizing is performed by the display module 250 to fit all of the session data for the web page to a single visualization page. In this exemplary user interface 400, two additional columns (representing two additional sessions) are added from the visualization page of FIG. The resizing of the session data may include adjusting the resolution of the data displayed on the user interface 400. [ For example, the image 365 of FIG. 3 may be resized (e.g., smaller) into the image 420 such that all of the data fits into the visualization page. In another example, column 410 in FIG. 4 may be a resized version of first column 310 in FIG.

도 5 내지 도 8은, 몇몇 예시적인 실시형태에 따른, 시각화 페이지 상에 세션 데이터를 표시하는 방법(500)을 수행함에 있어서의 서버 머신(110)의 동작을 예시하는 플로우차트이다. 방법(500)에서의 동작은, 도 2에 대하여 상기에서 설명된 모듈을 사용하여, 서버 머신(110)에 의해 수행될 수도 있다. 도 5에서 도시되는 바와 같이, 방법(500)은 동작(510, 520, 530, 540, 및 550)을 포함한다.5-8 are flow charts illustrating the operation of server machine 110 in performing a method 500 of displaying session data on a visualization page, in accordance with some exemplary embodiments. Operation in the method 500 may be performed by the server machine 110 using the module described above with respect to FIG. As shown in FIG. 5, the method 500 includes operations 510, 520, 530, 540, and 550.

동작 510에서, 수신 모듈(210)은 유저와 관련되는 제1 디바이스로부터 아이템 페이지에 액세스하려는 요청을 수신한다. 상기에서 언급된 바와 같이, 아이템 페이지는 아이템의 설명 및 아이템의 이미지를 포함할 수도 있다. 아이템 페이지는 또한, 유저가 아이템 페이지와 상호작용하도록 동작가능한 제어부를 포함할 수도 있다. 예를 들면, 제어부는 아이템 페이지의 내비게이션에 관련될 수도 있다. 제어부는 또한, 유저가, 예를 들면, 추가 정보를 보는 것, 아이템을 감시 리스트 또는 소망 리스트에 아이템을 추가하는 것, 아이템에 대해 입찰하는 것, 아이템 페이지에 디스플레이되는 아이템을 구매하는 것을 허용할 수도 있다. 몇몇 경우에서, 복수의 이미지가 아이템 페이지와 관련되며, 제어부는 아이템 페이지와 관련되는 복수의 이미지를 통해 브라우징하기 위해 사용된다. 또한, 요청은 유저의 유저 계정에 대한 유저 인증서를 포함할 수도 있다.At operation 510, the receiving module 210 receives a request to access an item page from a first device associated with the user. As mentioned above, the item page may include an item description and an image of the item. The item page may also include a control unit operable to allow the user to interact with the item page. For example, the control may be associated with navigation of the item page. The control may also allow the user to view additional information, for example, to allow the item to be added to the surveillance list or wish list, to bid for the item, to purchase items to be displayed on the item page It is possible. In some cases, a plurality of images is associated with an item page, and the control is used to browse through a plurality of images associated with the item page. The request may also include a user certificate for the user's user account.

동작 520에서, 수신 모듈(210)은 유저와 관련되는 제2 디바이스로부터 웹 페이지에 액세스하려는 요청을 수신한다. 제2 요청은 유저의 유저 계정에 대한 유저 인증서를 포함할 수도 있다.At operation 520, the receiving module 210 receives a request to access a web page from a second device associated with the user. The second request may include a user certificate for the user's user account.

동작 530에서 세션 모듈(240)은, 동작 530에서 식별된 제1 디바이스 상에 그리고 제2 디바이스 상에 디스플레이되는 아이템 페이지와의 유저에 의해 수행된 유저 상호작용에 관련하는 세션 데이터를 수신한다. 세션 데이터는, 예를 들면, 제1 디바이스 또는 제2 디바이스 중 적어도 하나 상에서의 유저에 의한 아이템 페이지의 내비게이션에 관련하는 임의의 데이터를 포함할 수도 있다. 세션 데이터는, 유저가 보는 아이템 페이지로부터의 이미지를 포함할 수도 있다. 예를 들면, 유저는 제1 디바이스를 사용하여 아이템 페이지로부터의 이미지를 브라우징할 수도 있다. 그 후, 유저는 제2 디바이스를 사용하여 아이템 페이지부터 그 아이템을 구매할 수도 있다. 복수의 세션이 완료된 이후 세션 데이터가 수신되는 것으로 도시되지만, 몇몇 실시형태에서, 세션 데이터는 각각의 세션 동안 또는 각각의 세션이 완료된 이후 수신될 수도 있다.In operation 530, the session module 240 receives session data relating to user interaction performed by a user on the first device identified in operation 530 and on an item page displayed on the second device. The session data may include, for example, any data relating to the navigation of the item page by the user on at least one of the first device or the second device. The session data may include an image from an item page viewed by the user. For example, a user may browse an image from an item page using a first device. The user may then use the second device to purchase the item from the item page. Although session data is shown as being received after a plurality of sessions have been completed, in some embodiments, the session data may be received during each session, or after each session is completed.

동작 540에서, 생성 모듈(220)은 수신된 세션 데이터를 사용하여 시각화 페이지를 생성한다.In operation 540, the generation module 220 generates a visualization page using the received session data.

동작 550에서, 표시 모듈(250)은 시각화 페이지를 표시한다. 하기에서 더 설명되는 바와 같이, 시각화 페이지는 칼럼 안으로 편제될 수도 있다. 각각의 칼럼은, 제1 디바이스 또는 제2 디바이스 중 적어도 하나가 아이템 페이지에 액세스하는 세션을 나타낼 수도 있다.At operation 550, the display module 250 displays a visualization page. As described further below, visualization pages may be organized into columns. Each column may indicate a session in which at least one of the first device or the second device accesses the item page.

도 6에서 도시되는 바와 같이, 방법(500)은 동작(610, 620, 및 630) 중 하나 이상을 포함할 수도 있다.As shown in FIG. 6, the method 500 may include one or more of operations 610, 620, and 630.

동작 610에서, 생성 모듈(220)은, 유저의 유저 계정을 아이템 페이지와 관련시키는 레코드를 생성한다.At operation 610, the creation module 220 creates a record that associates the user's user account with the item page.

동작 620에서, 생성 모듈(220)은 제2 디바이스가 아이템 페이지에 액세스했다는 것을 나타내기 위해 레코드를 업데이트한다. 업데이트된 레코드는, 제1 및 제2 디바이스 둘 다가 동일한 아이템 페이지에 액세스했고 이들 둘 다가 동일한 유저와 관련된다는 것을 더 나타내기 위해 사용될 수도 있다. 게다가, 동작 530에서의 세션 데이터의 수신은 업데이트된 레코드에 기초할 수도 있다.At operation 620, the generation module 220 updates the record to indicate that the second device has accessed the item page. The updated record may be used to further indicate that both the first and second device have accessed the same item page and both are associated with the same user. In addition, the reception of the session data at operation 530 may be based on the updated record.

동작 630에서, 생성 모듈(220)은 세션 데이터를 저장하는 데이터베이스에 액세스한다. 아이템 페이지와의 유저에 의해 수행된 유저 상호작용에 관련하는 세션 데이터는 데이터베이스(예를 들면, 데이터베이스(115))에 저장될 수도 있거나 그 데이터베이스로부터 검색될 수도 있다.At operation 630, the generation module 220 accesses a database that stores session data. The session data related to the user interaction performed by the user with the item page may be stored in or retrieved from the database (e.g., database 115).

도 7에서 도시되는 바와 같이, 방법(500)은 동작(710, 720, 730, 및 740) 중 하나 이상을 포함할 수도 있다.As shown in FIG. 7, the method 500 may include one or more of operations 710, 720, 730, and 740.

동작 710에서, 생성 모듈(220)은, 제1 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제1 세션 데이터를 파싱한다. 세션 데이터는, 세션 데이터가 수신되는 제1 디바이스의 식별자로 라벨링될 수도 있다.In operation 710, the generation module 220 parses the first session data associated with the user interaction performed on the web page displayed on the first device. The session data may be labeled with the identifier of the first device from which the session data is received.

동작 720에서, 생성 모듈(220)은, 제2 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제2 세션 데이터를 파싱한다. 따라서, 세션 데이터는, 세션 데이터가 수신되는 제2 디바이스의 식별자로 라벨링될 수도 있다. 생성 모듈(220)은, 유저 상호작용에 관련하는 모든 데이터가 프로세싱될 때까지, 동일한 아이템 페이지에 대한 유저 상호작용에 관련되는 데이터를 계속 파싱(예를 들면, 추출)한다.In operation 720, the generation module 220 parses the second session data related to the user interaction performed on the web page displayed on the second device. Thus, the session data may be labeled with the identifier of the second device from which the session data is received. The generation module 220 continues to parse (e.g., extract) data associated with user interaction on the same item page, until all data related to the user interaction has been processed.

동작 730에서, 생성 모듈(220)은, 제1 디바이스에 대응하는 제1 칼럼에, 제1 세션 데이터를 할당한다. 그 후, 표시 모듈(250)은, 제1 디바이스에 대응하는 칼럼 내의 제1 세션 데이터를 시각화 페이지 상에 표시할 수도 있다.In operation 730, the generation module 220 assigns the first session data to the first column corresponding to the first device. The display module 250 may then display the first session data in the column corresponding to the first device on the visualization page.

동작 740에서, 생성 모듈(220)은, 제1 디바이스에 대응하는 제2 칼럼에, 제2 세션 데이터를 할당한다. 그 후, 표시 모듈(250)은, 제2 디바이스에 대응하는 칼럼 내의 제2 세션 데이터를 시각화 페이지 상에 표시할 수도 있다. 생성 모듈(220)은, 동일한 아이템에 대한 유저 상호작용에 대한 모든 데이터가 위치결정될 때까지, 유저 상호작용에 관련하는 데이터를 칼럼에 계속 할당한다.In operation 740, the generation module 220 assigns the second session data to the second column corresponding to the first device. The display module 250 may then display the second session data in the column corresponding to the second device on the visualization page. The generation module 220 continues to assign data related to user interaction to the columns until all data for the user interaction for the same item is located.

도 8에서 도시되는 바와 같이, 방법(500)은 동작(810, 820, 830, 840, 및 850) 중 하나 이상을 포함할 수도 있다. 도 8의 동작은 동작(550)의 일부로서 발생할 수도 있다.As shown in FIG. 8, the method 500 may include one or more of operations 810, 820, 830, 840, and 850. The operation of FIG. 8 may occur as part of operation 550.

동작 810에서, 생성 모듈(220)은 복수의 세션을 식별하는데, 그 복수의 세션 동안, 복수의 디바이스(예를 들면, 제1 디바이스 및 제2 디바이스)가 아이템 페이지에 액세스한다. 예를 들면, 복수의 세션은 복수의 시간 범위에 대응할 수도 있다.In operation 810, the generation module 220 identifies a plurality of sessions, during which the plurality of devices (e.g., the first device and the second device) access the item pages. For example, a plurality of sessions may correspond to a plurality of time ranges.

동작 820에서, 표시 모듈(250)은, 복수의 세션에 대응하는 복수의 칼럼을 시각화 페이지 상에 디스플레이한다. 게다가, 각각의 칼럼은 특정 디바이스에 대한 특정 시간 범위에 대응할 수도 있다.At operation 820, the display module 250 displays a plurality of columns corresponding to the plurality of sessions on the visualization page. In addition, each column may correspond to a particular time range for a particular device.

동작 830에서, 표시 모듈(250)은, 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터를 디스플레이하기 위해 필요한 치수가 시각화 페이지의 치수를 초과하는지의 여부를 판정할 수도 있다. 예를 들면, 표시될 유저 상호작용에 관련하는 데이터의 양으로 인해, 세션 데이터의 양은 표준 시각화 페이지에 맞추기에 너무 클 수도 있다.At operation 830, the display module 250 may determine whether the dimension required to display data relating to user interaction extracted from the session data exceeds the dimensions of the visualization page. For example, due to the amount of data associated with user interaction to be displayed, the amount of session data may be too large to fit on a standard visualization page.

동작 840에서, 표시 모듈(250)은, 유저 상호작용에 관련하는 데이터의 치수가 시각화 페이지의 치수 내에 있도록, 유저 상호작용에 관련하는 데이터를 리사이징할 수도 있다. 예를 들면, 표시 모듈(250)은, 디스플레이될 세션 데이터가 시각화 페이지 내에 맞추어질 수도 있도록, 유저 상호작용에 관련하는 데이터의 해상도를 조정할 수도 있다.At operation 840, the display module 250 may resize data associated with user interaction such that the dimensions of the data associated with the user interaction are within the dimensions of the visualization page. For example, the display module 250 may adjust the resolution of data associated with user interaction, such that the session data to be displayed may be tailored within the visualization page.

동작 850에서, 표시 모듈(250)은, 유저 상호작용에 관련하는 리사이징된 데이터를 갖는 시각화 페이지를 표시한다. 예를 들면, 표시 모듈(250)은, 시각화 페이지를 디스플레이하기 위한 명령어를 유저의 클라이언트 디바이스로 전송한다.At operation 850, the display module 250 displays a visualization page having resized data associated with user interaction. For example, the display module 250 sends an instruction to the user's client device to display the visualization page.

도 9는, 머신 판독가능 매체(922)(예를 들면, 비일시적 머신 판독가능 매체, 머신 판독가능 저장 매체, 컴퓨터 판독가능 저장 매체, 또는 이들의 임의의 적절한 조합)로부터 명령어(924)를 판독할 수 있는 그리고 본원에서 논의되는 방법론 중 임의의 하나 이상을 전체적으로 또는 부분적으로 수행할 수 있는, 몇몇 예시적인 실시형태에 따른, 머신(900)의 컴포넌트를 예시하는 블록도이다. 구체적으로는, 도 9는 머신(900)을 컴퓨터 시스템(예를 들면, 컴퓨터)의 예시적인 형태로 예시하는데, 컴퓨터 시스템 내에서는, 머신(900)으로 하여금 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하게 하기 위한 명령어(924)(예를 들면, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행가능 코드)가 전체적으로 또는 부분적으로 실행될 수도 있다.9 illustrates a method for reading an instruction 924 from a machine readable medium 922 (e.g., non-volatile machine readable medium, machine readable storage medium, computer readable storage medium, or any suitable combination thereof) And which may perform any one or more of the methodologies discussed herein and in whole or in part, in accordance with some exemplary embodiments of the present invention. 9 illustrates machine 900 in an exemplary form of a computer system (e.g., a computer) in which a machine 900 is provided with any one or more of the methodologies discussed herein (E.g., a software, program, application, applet, app, or other executable code) for causing the computer to perform the steps of FIG.

대안적 실시형태에서, 머신(900)은 독립형 디바이스로서 동작하거나 다른 머신에 연결(예를 들면, 네트워크화)될 수도 있다. 네트워크화된 배치에서, 머신(900)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 자격으로 동작하거나, 또는 분산형(예를 들면, 피어투피어(peer-to-peer)) 네트워크 환경에서 피어 머신으로서 동작할 수도 있다. 머신(900)은, 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(personal computer; PC), 태블릿 컴퓨터, 랩탑 컴퓨터, 넷북, 셀룰러 전화, 스마트폰, 셋탑 박스(set-top box; STB), 개인 휴대형 정보 단말(personal digital assistant; PDA), 웹 애플리케이션, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 그 머신에 의해 취해질 액션을 규정하는 명령어(924)를 순차적으로 또는 다르게 실행할 수 있는 임의의 머신일 수도 있다. 게다가, 단일의 머신이 예시되지만, 용어 "머신"은, 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하기 위해, 명령어(924)를 개별적으로 또는 조인트하여 실행하는 머신의 임의의 집합체를 포함하는 것으로 또한 이해될 수도 있을 것이다.In an alternative embodiment, the machine 900 may operate as a standalone device or may be connected (e.g., networked) to another machine. In a networked deployment, the machine 900 may operate as a server machine or client machine in a server-client network environment, or in a distributed (e.g., peer-to-peer) It may also operate as a machine. The machine 900 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a cellular telephone, a smart phone, a set- a personal digital assistant (PDA), a web application, a network router, a network switch, a network bridge, or any machine capable of executing instructions 924 that sequentially or otherwise define actions to be taken by the machine. In addition, although a single machine is illustrated, the term "machine" includes any collection of machines that execute instructions 924 individually or jointly, to perform any one or more of the methodologies discussed herein It will also be understood that.

머신(900)은, 프로세서(902)(예를 들면, 중앙 프로세싱 유닛(central processing unit; CPU), 그래픽 프로세싱 유닛(graphics processing unit; GPU), 디지털 신호 프로세서(digital signal processor; DSP), 주문형 반도체(application specific integrated circuit; ASIC), 무선 주파수 집적 회로(radio-frequency integrated circuit; RFIC), 또는 이들의 임의의 적절한 조합), 메인 메모리(904), 및 정적 메모리(906)를 포함하는데, 이들은 버스(908)를 통해 서로 통신하도록 구성된다. 프로세서(902)는, 프로세서(902)가 본원에서 설명되는 방법론 중 임의의 하나 이상을 전체적으로 또는 부분적으로 수행하게끔 구성가능하도록, 명령어(924) 중 일부 또는 전체에 의해, 일시적으로 또는 영구적으로, 구성가능한 마이크로회로를 포함할 수도 있다. 예를 들면, 프로세서(902)의 하나 이상의 마이크로회로의 세트는, 본원에서 설명되는 하나 이상의 모듈(예를 들면, 소프트웨어 모듈)을 실행하도록 구성가능할 수도 있다.The machine 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), main memory 904, and static memory 906, RTI ID = 0.0 > 908 < / RTI > The processor 902 may be configured to temporarily or permanently, by some or all of the instructions 924, such that the processor 902 is configurable to perform wholly or in part any or all of the methodologies described herein. Possibly including a microcircuit. For example, the set of one or more microcircuits of processor 902 may be configurable to execute one or more modules (e.g., software modules) described herein.

머신(900)은 그래픽 디스플레이(910)(예를 들면, 플라즈마 디스플레이 패널(plasma display panel; PDP), 발광 다이오드(light emitting diode; LED) 디스플레이, 액정 디스플레이(liquid crystal display; LCD), 음극선관(cathode ray tube; CRT), 또는 그래픽 또는 비디오를 디스플레이할 수 있는 임의의 다른 디스플레이)를 더 포함할 수도 있다. 머신(900)은 또한, 영숫자 입력 디바이스(912)(예를 들면, 키보드 또는 키패드), 커서 제어 디바이스(914)(예를 들면, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 눈 추적용 디바이스, 또는 다른 포인팅 기기), 저장 유닛(916), 오디오 발생 디바이스(918)(예를 들면, 사운드 카드, 증폭기, 스피커, 헤드폰 잭, 또는 이들의 임의의 적절한 조합), 및 네트워크 인터페이스 디바이스(920)를 포함할 수도 있다.The machine 900 includes a graphics display 910 (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display a cathode ray tube (CRT), or any other display capable of displaying graphics or video). The machine 900 may also include an alphanumeric input device 912 (e.g., a keyboard or keypad), a cursor control device 914 (e.g., a mouse, touch pad, trackball, joystick, motion sensor, A storage unit 916, an audio generating device 918 (e.g., a sound card, an amplifier, a speaker, a headphone jack, or any suitable combination thereof), and a network interface device 920, . ≪ / RTI >

저장 유닛(916)은, 본원에서 설명되는 방법론 또는 기능 중 임의의 하나 이상을 구체화하는 명령어(924)가 저장되는 머신 판독가능 매체(922)(예를 들면, 유형의 그리고 비일시적 머신 판독가능 저장 매체)를 포함한다. 명령어(924)는 또한, 머신(900)에 의한 그 실행 이전에 또는 동안에, 메인 메모리(904) 내에, 프로세서(902) 내에(예를 들면, 프로세서의 캐시 메모리 내에), 또는, 둘 다에, 완전히 또는 적어도 부분적으로, 상주할 수도 있다. 따라서, 메인 메모리(904) 및 프로세서(902)는 머신 판독가능 매체(예를 들면, 유형의 그리고 비일시적 머신 판독가능 매체)로서 간주될 수도 있다. 명령어(924)는, 네트워크 인터페이스 디바이스(920)를 경유하여 네트워크(190)를 통해 송신되거나 또는 수신될 수도 있다. 예를 들면, 네트워크 인터페이스 디바이스(920)는, 임의의 하나 이상의 전송 프로토콜(예를 들면, 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol; HTTP))을 사용하여 명령어(924)를 전달할 수도 있다.The storage unit 916 may include a machine readable medium 922 (e.g., a type and a non-transient machine readable storage 924) in which instructions 924 that embody any one or more of the methodologies or functions described herein are stored. Media). The instructions 924 may also be stored in the main memory 904, within the processor 902 (e.g., in the cache memory of the processor), or both, prior to or during its execution by the machine 900. [ Completely or at least partially. Thus, main memory 904 and processor 902 may be considered as machine readable media (e.g., type and non-volatile machine readable media). The command 924 may be transmitted or received over the network 190 via the network interface device 920. For example, network interface device 920 may communicate instructions 924 using any one or more transport protocols (e.g., hypertext transfer protocol (HTTP)).

몇몇 예시적인 실시형태에서, 머신(900)은 휴대형 컴퓨팅 디바이스, 예컨대 스마트폰 또는 태블릿 컴퓨터일 수도 있고, 하나 이상의 추가적인 입력 컴포넌트(930)(예를 들면, 센서 또는 게이지)를 구비할 수도 있다. 이러한 입력 컴포넌트(930)의 예는, 이미지 입력 컴포넌트(예를 들면, 하나 이상의 카메라), 오디오 입력 컴포넌트(예를 들면, 마이크), 방향 입력 컴포넌트(예를 들면, 콤파스), 위치 입력 컴포넌트(예를 들면, 글로벌 포지셔닝 시스템(global positioning system; GPS) 수신기), 방위 컴포넌트(예를 들면, 자이로스코프), 모션 검출 컴포넌트(예를 들면, 하나 이상의 가속도계), 고도 검출 컴포넌트(예를 들면, 고도계), 및 가스 검출 컴포넌트(예를 들면, 가스 센서)를 포함한다. 이들 입력 컴포넌트 중 임의의 하나 이상에 의해 수집되는 입력은, 본원에서 설명되는 모듈 중 임의의 것에 의해 액세스될 수도 있거나 또는 그 임의의 것에 의한 사용에 이용가능할 수도 있다.In some exemplary embodiments, the machine 900 may be a portable computing device, such as a smartphone or tablet computer, and may include one or more additional input components 930 (e.g., a sensor or gauge). Examples of such input components 930 include an image input component (e.g., one or more cameras), an audio input component (e.g., a microphone), a direction input component (e.g., a compass) (E.g., a global positioning system (GPS) receiver), an orientation component (e.g., a gyroscope), a motion detection component (e.g., one or more accelerometers), an altitude detection component , And a gas detection component (e.g., a gas sensor). Inputs collected by any one or more of these input components may be accessed by any of the modules described herein or may be available for use by any of them.

본원에서 사용되는 바와 같이, 용어 "메모리"는, 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 머신 판독가능 매체를 가리키며, 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 버퍼 메모리, 플래시 메모리, 및 캐시 메모리를 포함하는 것으로 간주될 수도 있지만, 그러나 이들로 제한되지는 않는다. 머신 판독가능 매체(922)가 예시적인 구체예에서 단일의 매체인 것으로 도시되지만, "머신 판독가능 매체"는 명령어를 저장할 수 있는 단일의 매체 또는 다수의 매체(예를 들면, 중앙집중형 또는 분산형 데이터베이스, 또는 관련 캐시 및 서버)를 포함하는 것으로 이해되어야만 한다. 용어 "머신 판독가능 매체"는 또한, 명령어(924)가, 머신(900)의 하나 이상의 프로세서(예를 들면, 프로세서(902))에 의해 실행될 때, 머신(900)으로 하여금 본원에서 설명되는 방법론 중 임의의 하나 이상을 전체적으로 또는 부분적으로 수행하게 하도록, 머신(900)에 의한 실행을 위한 명령어(924)를 저장할 수 있는 임의의 매체, 또는 다수의 매체의 조합을 포함하는 것으로 이해되어야 할 것이다. 따라서, "머신 판독가능 매체"는 단일의 저장 장치 또는 디바이스 뿐만 아니라, 다수의 저장 장치 또는 디바이스를 포함하는 클라우드 기반 저장 시스템 또는 저장 네트워크를 가리킨다. 용어 "머신 판독가능 매체"는, 솔리드 스테이트 메모리, 광학 매체, 자기 매체, 또는 이들의 임의의 적절한 조합의 형태의 하나 이상의 유형의(예를 들면, 비일시적) 데이터 저장소를 포함하는 것으로 이해되어야 할 것이지만, 그러나 이들로 제한되지는 않는다.As used herein, the term "memory" refers to a machine-readable medium that can store data temporarily or permanently and includes random-access memory (RAM), read- , ROM), a buffer memory, a flash memory, and a cache memory. Although machine readable medium 922 is shown as being a single medium in the exemplary embodiment, it should be appreciated that "machine readable medium" may be a single medium or multiple media capable of storing instructions (e.g., Type database, or related cache and server). The term "machine-readable medium" also refers to a machine-readable medium, when executed by one or more processors (e.g., processor 902) As well as any medium capable of storing instructions 924 for execution by machine 900, or a combination of multiple media, to cause the machine 900 to perform, in whole or in part, any one or more of any of the above. Thus, "machine readable medium" refers to a cloud-based storage system or storage network that includes multiple storage devices or devices, as well as a single storage device or device. The term "machine-readable medium" should be understood to include one or more types of (eg, non-volatile) data storage in the form of solid state memory, optical media, magnetic media, or any suitable combination thereof But are not limited to these.

또한, 유형의 머신 판독가능 매체(1522)는, 그것이 전파 신호를 구체화하지 않는다는 점에서 비일시적이다. 그러나, 유형의 머신 판독가능 매체(1522)를 "비일시적"으로 이름 붙이는 것은, 매체가 이동할 수 없다는 것을 의미하는 것으로 간주되어선 안되며 - 매체는 하나의 물리적인 장소에서 다른 곳으로 이송가능한 것으로 간주되어야 한다. 추가적으로, 머신 판독가능 매체(1522)가 유형의 것이기 때문에, 매체는 머신 판독가능 디바이스인 것으로 간주될 수도 있다.In addition, the type of machine readable medium 1522 is non-transient in that it does not embody the propagation signal. However, naming the type of machine readable medium 1522 as "non-transient" should not be considered to imply that the medium can not be moved - the medium must be considered transportable from one physical place to another do. Additionally, since the machine-readable medium 1522 is of a type, the medium may be considered to be a machine-readable device.

본 명세서 전체에 걸쳐, 단일 인스턴스로 설명된 컴포넌트, 동작, 또는 구조를 복수의 인스턴스가 구현할 수도 있다. 하나 이상의 방법들의 개개의 동작이 개별적인 동작으로서 예시되고 설명되었지만, 개개의 동작 중 하나 이상은 동시에 수행될 수도 있고, 동작이 예시된 순서대로 수행되어야 할 필요는 없다. 예시적인 구성에서 별개의 컴포넌트로서 제시된 기능 및 구조는 결합된 구조 또는 컴포넌트로서 구현될 수도 있다. 마찬가지로, 단일 컴포넌트로서 제시된 기능 및 구조는 별개의 컴포넌트로서 구현될 수도 있다. 이들 및 다른 변형예, 수정예, 추가예, 및 개선예는 본원의 주제의 범위 내에 있다.Throughout this specification, a plurality of instances may implement the components, acts, or structures described in a single instance. While each operation of one or more methods is illustrated and described as a separate operation, one or more of the operations may be performed concurrently, and the operation need not be performed in the order illustrated. The functions and structures presented as separate components in the exemplary configuration may be implemented as a combined structure or component. Likewise, functions and structures presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter.

소정의 실시형태가 로직 또는 다수의 컴포넌트, 모듈, 또는 메커니즘을 포함하는 것으로서 본원에서 설명된다. 모듈은 소프트웨어 모듈(예를 들면, 머신 판독가능 매체 상에서 또는 송신 매체에서 저장되거나 또는 다르게는 구체화되는 코드), 하드웨어 모듈, 또는 이들의 임의의 적절한 조합을 구성할 수도 있다. "하드웨어 모듈"은, 소정의 동작을 수행할 수 있는 유형의(예를 들면, 비일시적) 유닛이며 소정의 물리적인 방식으로 구성되거나 또는 정렬될 수도 있다. 다양한 예시적인 실시형태에서, 하나 이상의 컴퓨터 시스템(예를 들면, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들면, 프로세서 또는 프로세서의 그룹)은 본원에서 설명되는 바와 같은 소정 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들면, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수도 있다.Certain embodiments are described herein as including logic or a plurality of components, modules, or mechanisms. A module may comprise a software module (e.g., a code stored on or otherwise embodied on a machine-readable medium or a transmission medium), a hardware module, or any suitable combination thereof. A "hardware module" is a type of (e.g., non-transient) unit capable of performing certain operations and may be configured or arranged in any given physical manner. In various exemplary embodiments, one or more hardware modules (e.g., a group of processors or processors) of one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) (E.g., an application or application portion) as a hardware module that is operative to perform certain operations as described in U.S. Pat.

몇몇 실시형태에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수도 있다. 예를 들면, 하드웨어 모듈은, 소정의 동작을 수행하도록 영구적으로 구성되는 전용 회로부 또는 로직을 포함할 수도 있다. 예를 들면, 하드웨어 모듈은 특수 목적의 프로세서, 예컨대 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA) 또는 ASIC일 수도 있다. 하드웨어 모듈은 또한, 소정의 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 프로그래머블 로직 또는 회로부를 포함할 수도 있다. 예를 들면, 하드웨어 모듈은, 범용 프로세서 또는 다른 프로그래머블 프로세서 내에 포괄되는 소프트웨어를 포함할 수도 있다. 전용의 그리고 영구적으로 구성되는 회로부에서 또는 일시적으로 구성되는 회로부(예를 들면, 소프트웨어에 의해 구성됨)에서 하드웨어 모듈을 기계적으로 구현하기 위한 결정은 비용 및 시간의 고려사항에 의해 추진될 수도 있다는 것을 알 수 있을 것이다.In some embodiments, the hardware modules may be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, the hardware module may be a special purpose processor, such as a field programmable gate array (FPGA) or an ASIC. The hardware module may also include programmable logic or circuitry temporarily configured by software to perform certain operations. For example, the hardware module may include software that is contained within a general purpose processor or other programmable processor. The determination to mechanically implement a hardware module in dedicated and permanently configured circuitry or in a temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations It will be possible.

따라서, 어구 "프로세싱 모듈"은 유형의 엔티티를 포괄하는 것으로 이해되어야 하며, 이러한 유형의 엔티티는, 본원에서 설명되는 소정의 동작을 수행하도록 또는 소정의 방식으로 동작시키도록 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들면, 하드웨어에 내장되거나(hardwired)), 또는 일시적으로 구성될(예를 들면, 프로그래밍될) 수도 있다. 본원에서 사용되는 바와 같이, "하드웨어 구현 모듈"은 하드웨어 모듈을 가리킨다. 하드웨어 모듈이 일시적으로 구성되는(예를 들면, 프로그래밍되는) 실시형태를 고려하면, 하드웨어 모듈의 각각은 시간의 임의의 한 인스턴스에서 구성되거나 예시화될 필요는 없다. 예를 들면, 특수 목적의 프로세서가 되도록 소프트웨어에 의해 구성되는 범용 프로세서를 하드웨어 모듈이 포함하는 경우, 범용 프로세서는 상이한 시간에 각각 상이한 특수 목적의 프로세서(예를 들면, 상이한 하드웨어 모듈을 포함함)를 포함하는 것으로 구성될 수도 있다. 따라서, 소프트웨어(예를 들면, 소프트웨어 모듈)는, 예를 들면, 시간의 한 인스턴스에서 특정한 하드웨어 모듈을 구성하도록 그리고 시간의 상이한 인스턴스에서 상이한 하드웨어 모듈을 구성하도록, 하나 이상의 프로세서를 구성할 수도 있다.Thus, it should be understood that the phrase "processing module" is intended to encompass an entity of the type, and entities of this type may be physically configured to perform certain operations as described herein or in some manner, (E. G., Hardwired), or temporarily configured (e. G., Programmed). As used herein, a "hardware implementation module" refers to a hardware module. Considering an embodiment in which a hardware module is temporarily configured (e.g., programmed), each of the hardware modules need not be configured or exemplified in any one instance of time. For example, if a hardware module includes a general purpose processor configured by software to be a special purpose processor, then the general purpose processor may be able to use a different special purpose processor (e.g., including a different hardware module) at different times And the like. Thus, software (e.g., software modules) may configure one or more processors, for example, to configure a particular hardware module in one instance of time and to configure different hardware modules in different instances of time.

하드웨어 모듈은 다른 하드웨어 모듈로 정보를 제공하고, 그리고 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신가능하게 커플링된 것으로 간주될 수도 있다. 다수의 하드웨어 모듈이 동시적으로 존재하는 경우, 통신은 하드웨어 모듈 중 둘 이상 간의 또는 사이의 (예를 들면, 적절한 회로 및 버스를 통한) 신호 송신을 통해 달성될 수도 있다. 다수의 하드웨어 모듈이 상이한 시간에 구성되거나 예시화되는 실시형태에서, 이러한 하드웨어 모듈 사이의 통신은, 예를 들면, 다수의 하드웨어 모듈이 액세스할 수 있는 메모리 구조체에서의 정보의 저장 및 검색을 통해 달성될 수도 있다. 예를 들면, 하나의 하드웨어 모듈은 한 동작을 수행하고, 자신이 통신가능하게 커플링되어 있는 메모리 디바이스에 그 동작의 출력을 저장한다. 그 다음, 나중의 시간에, 다른 하드웨어 모듈이 메모리 디바이스에 액세스하여 저장된 출력을 검색하여 프로세싱할 수도 있다. 하드웨어 모듈은 또한, 입력 또는 출력 디바이스와의 통신을 개시할 수도 있고 리소스(예를 들면 정보의 집합(collection))에 대해 동작할 수도 있다.A hardware module may provide information to other hardware modules and may receive information from other hardware modules. Thus, the described hardware module may be considered to be communicatively coupled. If multiple hardware modules are present at the same time, communication may be accomplished through signal transmission between two or more of the hardware modules (e.g., via appropriate circuitry and buses). In embodiments where multiple hardware modules are configured or exemplified at different times, communication between such hardware modules may be accomplished through the storage and retrieval of information in a memory structure that is accessible by, for example, multiple hardware modules . For example, a single hardware module performs an operation and stores the output of the operation in a memory device that is communicably coupled thereto. Then, at a later time, other hardware modules may access the memory device to retrieve and process the stored output. A hardware module may also initiate communication with an input or output device and may operate on resources (e.g., a collection of information).

본원에서 설명되는 예시적인 방법의 다양한 동작은, 관련 동작을 수행하도록 (예를 들면, 소프트웨어에 의해) 일시적으로 구성되거나 또는 영구적으로 구성되는 하나 이상의 프로세서에 의해, 적어도 부분적으로, 수행될 수도 있다. 일시적으로 구성되든 또는 영구적으로 구성되든지간에, 이러한 프로세서는 본원에서 설명되는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현 모듈(processor-implemented module)을 구성할 수도 있다. 본원에서 사용되는 바와 같이, "프로세서 구현 모듈"은 하나 이상의 프로세서를 사용하여 구현되는 하드웨어 모듈을 가리킨다.The various operations of the exemplary methods described herein may be performed, at least in part, by one or more processors that are temporarily configured or permanently configured (e.g., by software) to perform the associated operations. Whether temporarily configured or permanently configured, such a processor may constitute a processor-implemented module that operates to perform one or more of the operations or functions described herein. As used herein, "processor implementation module" refers to a hardware module implemented using one or more processors.

마찬가지로, 본원에서 설명되는 방법은, 적어도 부분적으로 프로세서 구현될 수도 있는데, 프로세서는 하드웨어의 예이다. 예를 들면, 한 방법의 동작 중 적어도 몇몇은 하나 이상의 프로세서 또는 프로세서 구현 모듈에 의해 수행될 수도 있다. 본원에서 사용되는 바와 같이, "프로세서 구현 모듈"은, 하드웨어가 하나 이상의 프로세서를 포함하는 하드웨어 모듈을 가리킨다. 또한, 하나 이상의 프로세서는 또한, "서비스로서의 소프트웨어(software as a service; SaaS)"로서 또는 "클라우드 컴퓨팅" 환경에서 관련 동작의 수행을 지원하도록 동작할 수도 있다. 예를 들면, 동작 중 적어도 몇몇은 (프로세서를 포함하는 머신의 예로서의) 컴퓨터의 그룹에 의해 수행될 수도 있는데, 이들 동작은 네트워크(예를 들면, 인터넷)를 통해 그리고 하나 이상의 적절한 인터페이스(예를 들면, 애플리케이션 프로그램 인터페이스(application program interface; API))를 통해 액세스될 수 있다.Likewise, the method described herein may be implemented at least partially in a processor, where the processor is an example of hardware. For example, at least some of the operations of one method may be performed by one or more processors or processor implementation modules. As used herein, a "processor implementation module" refers to a hardware module in which the hardware includes one or more processors. In addition, the one or more processors may also operate to support performance of related operations as "software as a service (SaaS)" or in a "cloud computing" environment. For example, at least some of the operations may be performed by a group of computers (as an example of a machine that includes a processor), which may be executed over a network (e.g., the Internet) and via one or more appropriate interfaces , An application program interface (API)).

소정의 동작의 수행은, 단일 머신 내에 존재할 뿐만 아니라 다수의 머신에 걸쳐 배치되는 하나 이상의 프로세서 사이에서 분산될 수도 있다. 몇몇 예시적인 실시형태에서, 하나 이상의 프로세서 또는 프로세서 구현 모듈은 단일의 지리적 위치에(예를 들면, 홈 환경, 오피스 환경, 또는 서버 팜 내에) 위치될 수도 있다. 다른 예시적인 실시형태에서, 하나 이상의 프로세서 또는 프로세서 구현 모듈은 다수의 지리적 위치에 걸쳐 분산될 수도 있다.The performance of certain operations may be distributed among one or more processors that are located within a single machine as well as across multiple machines. In some exemplary embodiments, one or more processor or processor implementation modules may be located in a single geographic location (e.g., in a home environment, an office environment, or a server farm). In other exemplary embodiments, one or more processors or processor implementation modules may be distributed across multiple geographic locations.

본원에서 논의되는 주제 중 몇몇 부분은, 머신 메모리(예를 들면, 컴퓨터 메모리) 내에서 비트 또는 이진 디지털 신호로서 저장되는 데이터에 대한 동작의 알고리즘 또는 심볼 표현의 항으로 표시될 수도 있다. 이러한 알고리즘 또는 심볼적 표현은, 데이터 프로세싱 분야의 통상의 지식을 가진 자가 그들의 연구(work)의 내용을 기술 분야의 다른 당업자에게 전달하기 위해 사용되는 기술의 예이다. 본원에서 사용되는 바와 같이, "알고리즘"은, 소망의 결과로 이어지는 자기 모순이 없는 동작의 시퀀스(self-consistent sequence) 또는 유사한 프로세싱이다. 이 맥락에서, 알고리즘 및 동작은 물리적 양의 물리적 조작을 수반한다. 필수적이지는 않지만 통상적으로, 이러한 양은, 저장, 액세스, 전송, 결합, 비교, 또는 머신에 의해 다르게 조작될 수 있는 전기적, 자기적, 또는 광학적 신호의 형태를 취할 수도 있다. 주로 공동 사용의 이유로 인해, 이러한 신호를 "데이터, "컨텐츠", "비트", "값", "엘리먼트", "심볼", "문자", "용어", "숫자", "수치" 등등과 같은 단어를 사용하여 가리키는 것이 가끔은 편리하다. 그러나, 이들 단어는 단지 편리한 라벨에 불과하며 적절한 물리적 양과 관련될 것이다.Some of the topics discussed herein may be represented in terms of algorithms or symbolic representations of operations on data stored as bit or binary digital signals in a machine memory (e.g., computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to communicate the content of their work to other persons skilled in the art. As used herein, an "algorithm" is a self-consistent sequence or similar processing that results in a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, though not necessarily, such quantities may take the form of electrical, magnetic, or optical signals that may be stored, accessed, transmitted, combined, compared, or otherwise manipulated by a machine. For reasons of common use, these signals may be referred to as "data," "content," "bit," "value," "element," "symbol," " It is sometimes convenient to point to the same words, but these words are merely convenient labels and will relate to the appropriate physical quantity.

구체적으로 다르게 언급되지 않는 한, "프로세싱", "컴퓨팅", "계산하는", "결정하는", "표시하는", "디스플레이하는" 등과 같은 단어를 사용하는 본원에서의 논의는, 하나 이상의 메모리(예를 들면, 휘발성 메모리, 불휘발성 메모리, 또는 이들의 임의의 적절한 조합), 레지스터, 또는 정보를 수신, 저장, 송신, 또는 디스플레이하는 다른 머신 컴포넌트 내에서 물리적(예를 들면, 전자적, 자기적, 또는 광학적) 양으로서 표현되는 데이터를 조작 또는 변환하는 머신(예를 들면, 컴퓨터)의 액션 또는 프로세스를 참조할 수도 있다. 또한, 구체적으로 그렇지 않다고 언급되지 않는 한, 단수형 용어는 하나 또는 하나보다 많은 인스턴스를 포함하도록 본원에서 사용되는데, 이러한 것은 특허 문헌에서는 일반적인 것이다. 마지막으로, 본원에서 사용되는 바와 같이, 접속사 "또는"은, 구체적으로 그렇지 않다고 언급되지 않는 한, 비배타적인 "또는"을 가리킨다.Unless specifically stated otherwise, the discussion herein using words such as "processing", "computing", "computing", "determining", "displaying", "displaying" (E. G., Electronic, magnetic, electrical, magnetic, or other) in other machine components that receive, store, transmit, or display information (e. G., Volatile memory, non-volatile memory, or any suitable combination thereof) (E. G., A computer) that manipulates or transforms data represented as a < / RTI > Also, unless specifically stated otherwise, singular terms are used herein to include one or more than one instance, as is common in the patent literature. Finally, as used herein, a conjunction "or" refers to a non-exclusive "or ", unless specifically stated otherwise.

본 발명의 주제의 개관이 특정한 예시적인 실시형태를 참조로 설명되었지만, 본 발명의 실시형태의 광의적인 범위를 벗어나지 않으면서, 다양한 수정예 및 변경예가 이들 실시형태에 대해 이루어질 수도 있다. 본 발명의 주제의 이러한 실시형태는, 편의상 그리고 하나보다 많은 것이 실제 개시되면 본 출원의 범위를 임의의 단일의 발명 또는 발명적 개념으로 자발적으로 제한하려는 의도 없이, 개별적으로 및/또는 총칭하여, 본원에서 단지 용어 "발명"에 의해 언급될 수도 있다.While an overview of the subject matter of the present invention has been described with reference to specific exemplary embodiments, various modifications and alterations may be made to these embodiments without departing from the broad scope of the embodiments of the present invention. These embodiments of the subject matter of the present invention are, individually and / or collectively referred to for convenience and without wishing to voluntarily limit the scope of the present application to any single invention or inventive concept, Quot; invention "as used herein.

본원에서 예시되는 실시형태는, 기술분야의 숙련된 자가 개시되는 교시를 실시하는 것을 가능하게 하기 위해 충분히 상세히 설명되어 있다. 본 교시로부터 다른 실시형태가 사용되고 유도될 수도 있으며, 그 결과, 본 개시의 범위를 벗어나지 않으면서 구조적인 그리고 논리적인 대체예 및 변경예가 이루어질 수도 있다. 따라서, 상세한 설명은, 제한적인 의미로 간주되어선 안되며, 다양한 실시형태의 범위는, 청구범위의 타이틀이 붙여지는 등가물의 모든 범위와 함께, 첨부의 청구범위에 의해서만 정의된다.The embodiments illustrated herein are described in sufficient detail to enable one skilled in the art to practice the disclosed teachings. Other embodiments may be derived and derived from the teachings herein, and as a result, structural and logical alternatives and modifications may be made without departing from the scope of the present disclosure. The detailed description is, therefore, not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full scope of equivalents to which the claims are entitled.

본원에서 사용되는 바와 같이, 용어 "또는"은 포괄적인 의미나 또는 배타적인 의미 중 어느 하나로 간주될 수도 있다. 또한, 단일의 인스턴스로서 본원에서 설명된 리소스, 동작, 또는 구조에 대해, 복수의 인스턴스가 제공될 수도 있다. 추가적으로, 다양한 리소스, 동작, 모듈, 엔진, 및 데이터 저장소 사이의 경계는 다소 임의의 적이며, 특정 동작은 특정한 예시적인 구성의 맥락에서 예시된다. 기능성의 다른 할당이 구상되며 본 발명의 다양한 실시형태의 범위 내에 있을 수도 있다. 일반적으로, 예시적인 구성에서 별개의 리소스로서 제공되는 구조 및 기능성은 결합된 구조 또는 리소스로서 구현될 수도 있다. 마찬가지로, 단일의 리소스로서 제공되는 구조 및 기능성은 별개의 리소스로서 구현될 수도 있다. 이들 및 다른 변형예, 수정예, 추가예, 및 개선예는, 첨부의 청구범위에 의해 나타내어지는 바와 같은 본 발명의 실시형태의 범위 내에 있다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로서 간주되어야 한다.As used herein, the term "or" may be considered to be either a generic term or an exclusive term. Also, for a resource, operation, or structure described herein as a single instance, multiple instances may be provided. Additionally, the boundaries between the various resources, operations, modules, engines, and data stores are somewhat arbitrary and certain operations are illustrated in the context of a particular exemplary configuration. Other assignments of functionality are envisioned and may be within the scope of various embodiments of the invention. In general, the structure and functionality provided as separate resources in the exemplary configuration may be implemented as a combined structure or resource. Likewise, the structure and functionality provided as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements are within the scope of embodiments of the invention as illustrated by the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims (21)

유저와 관련되는 제1 디바이스로부터 웹 페이지에 액세스하려는 요청 - 상기 요청은 상기 유저의 유저 계정에 대한 유저 인증서(user credentials)를 포함함 - 을 수신하는 단계와,
상기 유저와 관련되는 제2 디바이스로부터 상기 웹 페이지에 액세스하려는 제2 요청 - 상기 제2 요청은 상기 유저의 상기 유저 계정에 대한 상기 유저 인증서를 포함함 - 을 수신하는 단계와,
상기 제1 디바이스 및 상기 제2 디바이스 상에 디스플레이되는 상기 웹 페이지에 대하여 상기 유저에 의해 수행된 유저 상호작용에 관련하는 데이터를 포함하는 세션 데이터를 수신하는 단계와,
프로세서에 의해, 상기 수신된 세션 데이터를 사용하여 시각화 페이지(visualization page)를 생성하는 단계와,
상기 시각화 페이지를 표시하는 단계를 포함하는
방법.
The method comprising: receiving a request to access a web page from a first device associated with a user, the request including user credentials for the user account of the user;
Receiving a second request to access the web page from a second device associated with the user, the second request including the user certificate for the user account of the user;
Receiving session data including data related to user interaction performed by the user with respect to the web page displayed on the first device and the second device;
Generating, by the processor, a visualization page using the received session data;
And displaying the visualization page
Way.
제 1 항에 있어서,
상기 유저의 상기 유저 계정을 상기 웹 페이지와 관련시키는 레코드를 생성하는 단계를 더 포함하는
방법.
The method according to claim 1,
Further comprising generating a record associating the user account of the user with the web page
Way.
제 2 항에 있어서,
상기 제2 디바이스가 상기 웹 페이지에 액세스했다는 것을 나타내기 위해 상기 레코드를 업데이트하는 단계를 더 포함하는
방법.
3. The method of claim 2,
Further comprising updating the record to indicate that the second device has accessed the web page
Way.
제 3 항에 있어서,
상기 세션 데이터를 수신하는 단계는 또한, 상기 제2 디바이스가 상기 웹 페이지에 액세스했다는 것을 나타내는 상기 업데이트된 레코드에 기초하는
방법.
The method of claim 3,
The receiving of the session data may also include receiving the session data based on the updated record indicating that the second device has accessed the web page
Way.
제 1 항에 있어서,
상기 시각화 페이지를 생성하는 단계는, 상기 웹 페이지와의 유저 상호작용에 관련하는 상기 세션 데이터를 저장하는 데이터베이스에 액세스하는 단계를 포함하는
방법.
The method according to claim 1,
Wherein generating the visualization page comprises accessing a database that stores the session data related to user interaction with the web page
Way.
제 1 항에 있어서,
상기 시각화 페이지를 생성하는 단계는,
상기 수신된 세션 데이터로부터, 상기 제1 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제1 세션 데이터를 파싱하는 단계와,
상기 수신된 세션 데이터로부터, 상기 제2 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제2 세션 데이터를 파싱하는 단계를 포함하는
방법.
The method according to claim 1,
Wherein the step of generating the visualization page comprises:
Parsing, from the received session data, first session data related to user interaction performed on a web page displayed on the first device;
Parsing, from the received session data, second session data related to user interaction performed on a web page displayed on the second device
Way.
제 6 항에 있어서,
상기 시각화 페이지를 생성하는 단계는,
상기 제1 세션 데이터를, 상기 제1 디바이스에 대응하는 상기 시각화 페이지 상의 제1 칼럼에 할당하는 단계와,
상기 제2 세션 데이터를, 상기 제2 디바이스에 대응하는 상기 시각화 페이지 상의 제2 칼럼에 할당하는 단계를 포함하는
방법.
The method according to claim 6,
Wherein the step of generating the visualization page comprises:
Assigning the first session data to a first column on the visualization page corresponding to the first device;
And assigning the second session data to a second column on the visualization page corresponding to the second device
Way.
제 1 항에 있어서,
상기 시각화 페이지를 생성하는 단계는, 상기 수신된 세션 데이터로부터, 상기 제1 디바이스 및 상기 제2 디바이스가 상기 웹 페이지에 액세스하는 복수의 세션을 식별하는 단계를 포함하고,
상기 표시하는 단계는, 상기 수신된 세션 데이터가 상기 복수의 세션에 대응하는 복수의 칼럼을 상기 시각화 페이지 상에 디스플레이하는 것을 포함하는
방법.
The method according to claim 1,
Wherein generating the visualization page comprises: identifying, from the received session data, a plurality of sessions from which the first device and the second device access the web page,
Wherein the displaying includes displaying the received session data on the visualization page with a plurality of columns corresponding to the plurality of sessions
Way.
제 1 항에 있어서,
상기 시각화 페이지를 표시하는 단계는,
상기 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 치수가 상기 시각화 페이지의 치수를 초과함을 판정하는 단계와,
상기 유저 상호작용에 관련하는 데이터의 상기 치수가 상기 시각화 페이지의 상기 치수 내에 있도록, 상기 유저 상호작용에 관련하는 데이터를 리사이징하는 단계와,
상기 유저 상호작용에 관련하는 리사이징된 데이터를 갖는 상기 시각화 페이지를 표시하는 단계를 포함하는
방법.
The method according to claim 1,
Wherein the step of displaying the visualization page comprises:
Determining that a dimension of data associated with user interaction extracted from the session data exceeds a dimension of the visualization page;
Resizing data associated with the user interaction such that the dimension of data associated with the user interaction is within the dimension of the visualization page;
Displaying the visualization page with resized data associated with the user interaction
Way.
제 1 항에 있어서,
상기 시각화 페이지를 표시하는 단계는, 상기 시각화 페이지 상에서의 디스플레이를 위해 상기 세션 데이터로부터 추출된 유저 상호작용에 관련하는 데이터의 해상도를 조정하는 단계를 포함하는
방법.
The method according to claim 1,
Wherein displaying the visualization page comprises adjusting the resolution of data related to user interaction extracted from the session data for display on the visualization page
Way.
유저와 관련되는 제1 디바이스로부터 웹 페이지에 액세스하려는 요청 - 상기 요청은 상기 유저의 유저 계정에 대한 유저 인증서를 포함함 - 을 수신하고,
상기 유저와 관련되는 제2 디바이스로부터 상기 웹 페이지에 액세스하려는 제2 요청 - 상기 제2 요청은 상기 유저의 상기 유저 계정에 대한 상기 유저 인증서를 포함함 - 을 수신하도록
구성된 수신 모듈과,
상기 제1 디바이스 및 상기 제2 디바이스 상에 디스플레이되는 상기 웹 페이지에 대하여 상기 유저에 의해 수행된 유저 상호작용에 관련하는 데이터를 포함하는 세션 데이터를 수신하도록 구성된 세션 모듈과,
상기 수신된 세션 데이터를 사용하여 시각화 페이지를 생성하도록 구성된 생성 모듈과,
상기 시각화 페이지를 표시하도록 구성된 표시 모듈을 포함하는
시스템.
Receiving a request to access a web page from a first device associated with the user, the request including a user certificate for the user account of the user,
A second request to access the web page from a second device associated with the user, the second request including the user certificate for the user account of the user
A receiving module configured,
A session module configured to receive session data including data related to user interaction performed by the user with respect to the web page displayed on the first device and the second device;
A generation module configured to generate a visualization page using the received session data;
And a display module configured to display the visualization page
system.
제 11 항에 있어서,
상기 생성 모듈은 또한, 상기 유저의 상기 유저 계정을 상기 웹 페이지와 관련시키는 레코드를 생성하도록 구성되는
시스템.
12. The method of claim 11,
The generating module is further configured to generate a record associating the user account of the user with the web page
system.
제 12 항에 있어서,
상기 생성 모듈은 또한, 상기 제2 디바이스가 상기 웹 페이지에 액세스했다는 것을 나타내기 위해 상기 레코드를 업데이트하도록 구성되는
시스템.
13. The method of claim 12,
The generating module is further configured to update the record to indicate that the second device has accessed the web page
system.
제 13 항에 있어서,
상기 세션 모듈은 또한, 상기 제2 디바이스가 상기 웹 페이지에 액세스했다는 것을 나타내는 상기 업데이트된 레코드에 기초하여 상기 세션 데이터를 수신하도록 구성되는
시스템.
14. The method of claim 13,
The session module is further configured to receive the session data based on the updated record indicating that the second device has accessed the web page
system.
제 11 항에 있어서,
상기 생성 모듈은 또한, 상기 웹 페이지와의 유저 상호작용에 관련하는 상기 세션 데이터를 저장하는 데이터베이스에 액세스하도록 구성되는
시스템.
12. The method of claim 11,
The generating module is further configured to access a database storing the session data related to user interaction with the web page
system.
제 11 항에 있어서,
상기 생성 모듈은 또한,
상기 수신된 세션 데이터로부터, 상기 제1 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제1 세션 데이터를 파싱하고,
상기 수신된 세션 데이터로부터, 상기 제2 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제2 세션 데이터를 파싱하도록 구성되는
시스템.
12. The method of claim 11,
The generating module may further comprise:
Parsing, from the received session data, first session data related to user interaction performed on a web page displayed on the first device,
From the received session data, second session data related to user interaction performed on a web page displayed on the second device
system.
제 16 항에 있어서,
상기 생성 모듈은 또한,
상기 제1 세션 데이터를, 상기 제1 디바이스에 대응하는 상기 시각화 페이지 상의 제1 칼럼에 할당하고,
상기 제2 세션 데이터를, 상기 제2 디바이스에 대응하는 상기 시각화 페이지 상의 제2 칼럼에 할당하도록 구성되는
시스템.
17. The method of claim 16,
The generating module may further comprise:
Assigning the first session data to a first column on the visualization page corresponding to the first device,
And to assign the second session data to a second column on the visualization page corresponding to the second device
system.
제 11 항에 있어서,
상기 생성 모듈은 또한, 상기 수신된 세션 데이터로부터, 상기 제1 디바이스 및 상기 제2 디바이스가 상기 웹 페이지에 액세스하는 복수의 세션을 식별하도록 구성되고,
상기 표시 모듈은 또한, 상기 복수의 세션에 대응하는 복수의 칼럼을 상기 시각화 페이지 상에 디스플레이하도록 구성되는
시스템.
12. The method of claim 11,
Wherein the generating module is further configured to, from the received session data, identify the plurality of sessions from which the first device and the second device access the web page,
The display module is further configured to display on the visualization page a plurality of columns corresponding to the plurality of sessions
system.
제 11 항에 있어서,
상기 표시 모듈은 또한,
상기 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 치수가 상기 시각화 페이지의 치수를 초과함을 판정하고.
상기 유저 상호작용에 관련하는 데이터의 상기 치수가 상기 시각화 페이지의 상기 치수 내에 있도록, 상기 유저 상호작용에 관련하는 데이터를 리사이징하고,
상기 유저 상호작용에 관련하는 리사이징된 데이터를 갖는 상기 시각화 페이지를 표시하도록 구성되는
시스템.
12. The method of claim 11,
The display module may further include:
Determining that the dimension of data associated with user interaction extracted from the session data exceeds a dimension of the visualization page;
Resizing data associated with the user interaction such that the dimension of data associated with the user interaction is within the dimension of the visualization page,
And to display the visualization page with resized data associated with the user interaction
system.
명령어를 저장하는 머신 판독가능 매체로서,
상기 명령어는, 머신의 하나 이상의 프로세서에 의한 실행시, 상기 머신으로 하여금,
유저와 관련되는 제1 디바이스로부터 웹 페이지에 액세스하려는 요청 - 상기 요청은 상기 유저의 유저 계정에 대한 유저 인증서를 포함함 - 을 수신하는 것과,
상기 유저와 관련되는 제2 디바이스로부터 상기 웹 페이지에 액세스하려는 제2 요청 - 상기 제2 요청은 상기 유저의 상기 유저 계정에 대한 상기 유저 인증서를 포함함 - 을 수신하는 것과,
상기 제1 디바이스 및 상기 제2 디바이스 상에 디스플레이되는 상기 웹 페이지에 대하여 상기 유저에 의해 수행된 유저 상호작용에 관련하는 데이터를 포함하는 세션 데이터를 수신하는 것과,
상기 수신된 세션 데이터를 사용하여 시각화 페이지를 생성하는 것과,
상기 시각화 페이지를 표시하는 것을 포함하는 동작을 수행하게 하는
머신 판독가능 매체.
24. A machine-readable medium storing instructions,
Wherein the instructions, when executed by one or more processors of the machine, cause the machine to:
Receiving a request to access a web page from a first device associated with the user, the request including a user certificate for the user account of the user,
Receiving a second request to access the web page from a second device associated with the user, the second request including the user certificate for the user account of the user;
Receiving session data including data related to user interaction performed by the user for the web page displayed on the first device and the second device;
Generating a visualization page using the received session data,
And displaying the visualization page.
Machine readable medium.
제 1 항 내지 제 10 항 중 어느 한 항의 방법을 실행하도록 머신을 제어하기 위한 머신 판독가능 명령어를 전달하는
캐리어 매체.
11. A computer program product for transferring machine-readable instructions for controlling a machine to perform the method of any one of claims 1 to 10
Carrier medium.
KR1020167015806A 2013-11-15 2014-11-13 Displaying activity across multiple devices KR101845181B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361904697P 2013-11-15 2013-11-15
US61/904,697 2013-11-15
US14/506,021 US20160098414A1 (en) 2014-10-03 2014-10-03 Systems and methods to present activity across multiple devices
US14/506,021 2014-10-03
PCT/US2014/065446 WO2015073666A1 (en) 2013-11-15 2014-11-13 Displaying activity across multiple devices

Publications (2)

Publication Number Publication Date
KR20160085341A true KR20160085341A (en) 2016-07-15
KR101845181B1 KR101845181B1 (en) 2018-04-03

Family

ID=53058007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015806A KR101845181B1 (en) 2013-11-15 2014-11-13 Displaying activity across multiple devices

Country Status (5)

Country Link
KR (1) KR101845181B1 (en)
CN (1) CN105830051A (en)
AU (1) AU2014348589A1 (en)
CA (1) CA2929829C (en)
WO (1) WO2015073666A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582266B2 (en) * 2020-02-03 2023-02-14 Citrix Systems, Inc. Method and system for protecting privacy of users in session recordings
WO2022041163A1 (en) 2020-08-29 2022-03-03 Citrix Systems, Inc. Identity leak prevention

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020070953A1 (en) * 2000-05-04 2002-06-13 Barg Timothy A. Systems and methods for visualizing and analyzing conditioned data
KR20050039880A (en) * 2002-09-16 2005-04-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Initiating communication sessions from a first computer network to a second computer network
JP5199003B2 (en) * 2008-09-25 2013-05-15 株式会社日立製作所 Management device and computer system
US8443382B2 (en) * 2010-03-25 2013-05-14 Verizon Patent And Licensing Inc. Access controls for multimedia systems
NO332222B1 (en) * 2010-07-26 2012-07-30 Cisco Tech Inc Method and interaction server for transmitting an interaction session, as well as a multimedia endpoint
US8473577B2 (en) * 2010-10-13 2013-06-25 Google Inc. Continuous application execution between multiple devices
CN103329511B (en) * 2010-12-03 2016-05-04 西门子企业通信公司 For controlling the method and apparatus from the session of one or more devices
US20130042312A1 (en) * 2011-08-09 2013-02-14 Mobileframe Llc Authentication in a smart thin client server

Also Published As

Publication number Publication date
CA2929829C (en) 2018-07-24
AU2014348589A1 (en) 2016-06-02
WO2015073666A1 (en) 2015-05-21
CN105830051A (en) 2016-08-03
KR101845181B1 (en) 2018-04-03
CA2929829A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
US20140365307A1 (en) Transmitting listings based on detected location
US20160098414A1 (en) Systems and methods to present activity across multiple devices
US20170195439A1 (en) Techniques for infrastructure analysis of internet-based activity
US20140337408A1 (en) Systems, methods and media for minimizing data downloads
KR102361112B1 (en) Extracting similar group elements
US20160124614A1 (en) Content delivery based on real-time browsing activity
JP2017507376A (en) Method, apparatus and system for communicating and presenting merchandise information
US20150026012A1 (en) Systems and methods for online presentation of storefront images
US11914667B2 (en) Managing multi-dimensional array of data definitions
US9684904B2 (en) Issue response and prediction
US20160048857A1 (en) Systems and methods of collecting data to determine interest
US10147126B2 (en) Machine to generate a self-updating message
KR101845181B1 (en) Displaying activity across multiple devices
AU2014348888B2 (en) Presentation of digital content listings
US11068558B2 (en) Managing data for rendering visualizations
US20140324626A1 (en) Systems and methods to present item recommendations
AU2014365804B2 (en) Presenting images representative of searched items
US10325306B2 (en) Recommending an item page
US11003473B2 (en) Emulating functions provided in application resources
US10212115B2 (en) Systems and methods to communicate a selected message
US10652363B2 (en) Handling data processing units deployed on cloud computing systems for mobile applications
US10673945B2 (en) Framework for data geocoding
US20160147422A1 (en) Systems and methods to display contextual information
US9280353B1 (en) Cloud-based automatic mapping for cross-platform display

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant