KR20160085341A - Displaying activity across multiple devices - Google Patents
Displaying activity across multiple devices Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G06F17/30873—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G06F17/3089—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking 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
본 국제 출원은 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
도 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
도 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.,
도 2는, 몇몇 예시적인 실시형태에 따른, 서버 머신(110)의 컴포넌트를 예시하는 블록도이다. 서버 머신(110)은, 수신 모듈(210), 생성 모듈(220), 식별 모듈(230), 세션 모듈(240), 및 표시 모듈(250)을 포함하는 것으로 도시되는데, 모두 (예를 들면, 버스, 공유 메모리, 또는 스위치를 통해) 서로 통신하도록 구성된다. 본원에서 설명되는 모듈 중 임의의 하나 이상은, 하드웨어(예를 들면, 머신의 하나 이상의 프로세서) 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수도 있다. 예를 들면, 본원에서 설명되는 임의의 모듈은, 그 모듈에 대해 본원에서 설명되는 동작을 수행하도록 (머신의 하나 이상의 프로세서 중) 하나의 프로세서를 구성할 수도 있다. 또한, 이들 모듈 중 임의의 둘 이상은 단일의 모듈로 결합될 수도 있고, 단일의 모듈에 대해 본원에서 설명되는 기능이 다수의 모듈 사이에서 세분될 수도 있다. 또한, 다양한 예시적인 실시형태에 따르면, 단일의 머신, 데이터베이스, 또는 디바이스 내에서 구현되는 것으로 본원에서 설명되는 모듈이 다수의 머신, 데이터베이스, 또는 디바이스에 걸쳐 분산될 수도 있다.2 is a block diagram illustrating components of
다양한 예시적인 실시형태에서, 수신 모듈(210)은 유저와 관련되는 제1 디바이스(예를 들면, 디바이스(130))로부터 웹 페이지(예를 들면, 아이템 페이지)에 액세스하려는 요청을 수신하도록 구성된다. 그 요청은, 유저와 관련되는 임의의 수의 디바이스로부터 또한 수신될 수도 있다. 요청은 유저의 유저 계정에 대한 유저 인증서(user credential)를 포함할 수도 있다. 유저 계정의 유저 인증서는, 유저명, 패스워드, 유저 인증서와 관련되는 로그인 쿠키 등등을 포함할 수도 있다. 다양한 예시적인 실시형태에서, 수신 모듈(210)은 또한, 나중의 시간에 유저와 관련되는 제2 디바이스(예를 들면, 디바이스(150))로부터 동일한 아이템 페이지에 액세스하려는 요청을 수신하도록 구성된다.In various exemplary embodiments, the
예시적인 실시형태에서, 생성 모듈(220)은 유저의 유저 계정을 아이템 페이지와 관련시키는 레코드를 생성하도록 구성된다. 일 실시형태에서, 관련은, 아이템 페이지에 대한 식별자를 유저 계정에 대한 식별자 및 디바이스에 대한 식별자와 관련시키는 것 또는 링크시키는 것을 포함한다. 레코드는 아이템 페이지에 대한 유저 계정의 매핑일 수도 있다. 예를 들면, 유저 인증서는, 아이템 페이지의 식별자에 대응하는 것으로 나타내어질 수도 있다. 아이템 페이지의 식별자는, 아이템 페이지와 관련되는 브라우저 쿠키일 수도 있다. 예로서, 생성 모듈(220)은, 로그인 쿠키를, 아이템 페이지와 관련되는 브라우저 쿠키에 매핑시키는 레코드를 생성할 수도 있다. 또한, 디바이스에 대한 식별자는 IP 어드레스 또는 식별 번호일 수도 있다. 다른 예로서, 생성 모듈(220)은, 디바이스의 IP 어드레스를, 아이템 페이지와 관련되는 브라우저 쿠키에 매핑시키는 레코드를 생성할 수도 있다. 게다가, 생성된 레코드는 데이터베이스(예를 들면, 데이터베이스(115))에 저장될 수도 있다. 또한, 생성 모듈(220)은 또한, 제2 디바이스가 아이템 페이지에 액세스했다는 것을 나타내기 위해, 생성된 레코드를 업데이트하도록 구성될 수도 있다. 다시 말하면, 일단 수신 모듈(210)이 제2 디바이스로부터 요청을 수신하고 아이템 페이지가 제2 디바이스 상에 디스플레이되면, 생성 모듈(220)은 생성된 레코드를 업데이트한다.In an exemplary embodiment, the
예시적인 실시형태에서, 식별 모듈(230)은, 생성된 레코드에 기초하여 동일한 아이템 페이지에, 유저와 관련되는 제2 디바이스가 액세스했다는 것을 식별하도록 구성된다. 몇몇 실시형태에서, 식별 모듈(230)은, 제1 디바이스로부터의 웹 페이지(예를 들면, 아이템 페이지)에 액세스하려는 요청에 기초하여, 제1 디바이스를 식별한다. 상기에서 언급된 바와 같이, 요청은 유저의 유저 계정에 대한 유저 인증서를 포함할 수도 있다. 식별 모듈(230)은 또한, 제2 디바이스로부터의 아이템 페이지에 액세스하려는 요청에 기초하여, 제2 디바이스가 유저와 관련된다는 것을 식별할 수도 있다. 예를 들면, 식별 모듈(230)은, 제2 디바이스가, 제1 디바이스로부터 아이템 페이지에 또한 액세스했던 동일한 유저와 관련된다는 것을 (예를 들면, 유저 인증서로부터) 식별한다. 일단 동일한 유저가 동일한 아이템 페이지에 액세스를 시도하고 있다고 식별 모듈(230)이 판정하면, 유저 계정의 유저 인증서를 아이템 페이지에 매핑시키는 생성된 레코드를 검색하기 위해 그리고 상기에서 설명된 바와 같이 레코드를 업데이트하기 위해, 생성 모듈(220)은 데이터베이스에 액세스할 수도 있다.In an exemplary embodiment, the
예시적인 실시형태에서, 세션 모듈(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
다양한 예시적인 실시형태에서, 생성 모듈(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
다양한 예시적인 실시형태에서, 생성 모듈(220)은, 제1 디바이스에 대응하는 시각화 페이지의 제1 칼럼에 제1 세션 데이터를 할당한다. 추가적으로, 생성 모듈(220)은, 제2 디바이스에 대응하는 시각화 페이지의 제2 칼럼에 제2 세션 데이터를 할당할 수도 있다.In various exemplary embodiments, the
예시적인 실시형태에서, 표시 모듈(250)은, 제1 디바이스 및 제2 디바이스 상에 디스플레이되는 아이템 페이지에 대한 유저에 의해 수행된 유저 상호작용에 관련하는 수신된 세션 데이터를 시각화 페이지 상에 표시하도록 구성된다. 따라서, 표시 모듈(250)은, 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 치수가 시각화 페이지의 치수를 초과하는지의 여부를 판정할 수도 있다. 이 판정에 응답하여, 표시 모듈(250)은, 유저 상호작용에 관련하는 데이터의 치수가 시각화 페이지의 치수 내에 있도록, 유저 상호작용에 관련하는 데이터를 리사이징할 수도 있다. 예를 들면, 표시 모듈(250)은, 데이터가 그 전체로 시각화 페이지 내에 디스플레이될 수 없다고 판정할 수도 있다. 따라서, 데이터 전체를 시각화 페이지에 맞추기 위해, 데이터가 적절히 리사이징될 수도 있다. 추가적으로, 표시 모듈(250)은, 데이터가 시각화 페이지 내에 그리고 시각화 페이지 상의 디스플레이에 대해 맞추어질 수도 있도록, 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 해상도를 조정할 수도 있다. 예시적인 실시형태에서, 표시 모듈은 생성 모듈(220)에 의해 식별되는 복수의 세션에 대응하는 복수의 칼럼을 시각화 페이지 상에 디스플레이한다. 또한, 표시 모듈(250)은, 리사이징된 세션 데이터를 시각화 페이지 상에 표시할 수도 있다.In an exemplary embodiment,
예시적인 실시형태에서, 표시 모듈(250)은 또한, 제1 디바이스 상의 유저 인터페이스 내에 아이템 페이지를 디스플레이한다. 예를 들면, 표시 모듈(250)은, 디바이스에게 아이템 페이지를 디스플레이할 것을 명령하는 명령어를 생성하여 유저의 디바이스로 송신할 수도 있다. 아이템 페이지는 아이템을 설명할 수도 있고 아이템의 설명 및 아이템의 이미지를 포함할 수도 있다. 아이템 페이지는 또한, 유저가 아이템 페이지와 상호작용하도록 동작가능한 제어부(control)를 포함할 수도 있다. 예를 들면, 제어부는 아이템 페이지의 내비게이션에 관련될 수도 있다. 제어부는 또한, 유저가 아이템 페이지에 디스플레이되는 아이템의 구매를 행하는 것을 허용할 수도 있다. 몇몇 경우에서, 복수의 이미지가 아이템 페이지와 관련되며, 제어부는 아이템 페이지와 관련되는 복수의 이미지를 통해 브라우징하기 위해 사용된다. 아이템 페이지와의 유저의 상호작용은, 제1 디바이스에 의해 추적될 수도 있고 그 다음 세션 데이터의 일부로서 세션 모듈(240)로 전송될 수도 있다. 대안적인 실시형태에서, 서버 머신은 (예를 들면, 표시 모듈(250)을 통해) 아이템 페이지와의 유저의 상호작용을 검출할 수도 있다. 다른 예에서, 아이템 페이지는 정보의 공개(publication)일 수도 있고 제어부는 아이템 페이지 내에서 디스플레이되는 정보의 공개에 대한 추가적으로 관련된 정보에 유저가 액세스하는 것을 허용할 수도 있다.In an exemplary embodiment,
또한, 표시 모듈(250)은, 제2 디바이스 상의 유저 인터페이스 내에, 아이템 페이지를 디스플레이하도록 구성될 수도 있다. 아이템 페이지와의 유저의 상호작용은 또한, 제2 디바이스에 의해 추적될 수도 있고 그 다음 세션 데이터의 일부로서 세션 모듈(240)로 전송될 수도 있다. 대안적으로, 서버 머신은 (예를 들면, 표시 모듈(250)을 통해) 제2 디바이스 상에서의 아이템 페이지와의 유저의 상호작용을 검출할 수도 있다. 단지 두 개의 디바이스가 논의되었지만, 아이템 페이지와의 유저 상호작용을 결정하기 위해, 임의의 수의 디바이스에 대한 세션 데이터가 추적될 수도 있다는 것을 유의한다. 추가적으로, 동일한 디바이스로부터의 복수의 세션으로부터의 세션 데이터도 또한 추적될 수도 있다.
도 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
대응하는 디바이스에 의해 웹 페이지 상에서 수행된 액티비티의 설명(예를 들면, 세션 데이터)은, 각각의 칼럼 내에 있다. 액티비티는 유저가 웹 페이지에서 보고 있는 컨텐츠를 설명할 수도 있다. 추가적으로, 액티비티는 웹 페이지에 대하여 유저에 의해 수행된 액션(예를 들면, 이미지를 보는 것, 입찰을 하는 것, 입찰을 검토하는 것, 및 감시(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
시각화 페이지(300) 상에 디스플레이되는 칼럼은 이미지를 또한 포함할 수도 있다. 예를 들면, 웹 페이지에서 유저가 보고 있는 이미지에 대응하는 이미지(365)가, 칼럼(360) 내에 디스플레이된다. 따라서, 세션 데이터는, 웹 페이지에서 유저가 본 이미지를 포함한다. 도 3에서는 다섯 개의 칼럼이 도시되지만, 칼럼의 수는, 유저에 대응하는, 동일한 웹 페이지에 액세스하는 별개의 세션의 수에 대응할 것이다는 것을 유의한다. 몇몇 경우에, 각각의 칼럼 내의 설명은 또한, 아이템 자체에 관련할 수도 있다. 예를 들면, 칼럼(330) 내의 "사이즈 10의 남성 클래식화"의 설명은, 웹 페이지 상에서 유저가 보고 있는 신발을 설명할 수도 있다.The columns displayed on the
도 4는, 표시 모듈(250)에 의해 리사이징된 시각화 페이지를 디스플레이하는 예시적인 유저 인터페이스(400)이다. 리사이징은, 웹페이지에 대한 세션 데이터의 모두를 단일의 시각화 페이지에 맞추기 위해 표시 모듈(250)에 의해 수행된다. 본 예시적인 유저 인터페이스(400)에서는, 두 개의 추가적인 칼럼(두 개의 추가적인 세션을 나타냄)이 도 3의 시각화 페이지로부터 추가된다. 세션 데이터의 리사이징은, 유저 인터페이스(400) 상에 디스플레이되는 데이터의 해상도를 조정하는 것을 포함할 수도 있다. 예를 들면, 도 3의 이미지(365)는, 데이터의 모두가 시각화 페이지에 맞추어지도록, 이미지(420) 안으로 (예를 들면, 더 작게) 리사이징될 수도 있다. 다른 예에서, 도 4의 칼럼(410)은 도 3의 제1 칼럼(310)의 리사이징된 버전일 수도 있다.4 is an
도 5 내지 도 8은, 몇몇 예시적인 실시형태에 따른, 시각화 페이지 상에 세션 데이터를 표시하는 방법(500)을 수행함에 있어서의 서버 머신(110)의 동작을 예시하는 플로우차트이다. 방법(500)에서의 동작은, 도 2에 대하여 상기에서 설명된 모듈을 사용하여, 서버 머신(110)에 의해 수행될 수도 있다. 도 5에서 도시되는 바와 같이, 방법(500)은 동작(510, 520, 530, 540, 및 550)을 포함한다.5-8 are flow charts illustrating the operation of
동작 510에서, 수신 모듈(210)은 유저와 관련되는 제1 디바이스로부터 아이템 페이지에 액세스하려는 요청을 수신한다. 상기에서 언급된 바와 같이, 아이템 페이지는 아이템의 설명 및 아이템의 이미지를 포함할 수도 있다. 아이템 페이지는 또한, 유저가 아이템 페이지와 상호작용하도록 동작가능한 제어부를 포함할 수도 있다. 예를 들면, 제어부는 아이템 페이지의 내비게이션에 관련될 수도 있다. 제어부는 또한, 유저가, 예를 들면, 추가 정보를 보는 것, 아이템을 감시 리스트 또는 소망 리스트에 아이템을 추가하는 것, 아이템에 대해 입찰하는 것, 아이템 페이지에 디스플레이되는 아이템을 구매하는 것을 허용할 수도 있다. 몇몇 경우에서, 복수의 이미지가 아이템 페이지와 관련되며, 제어부는 아이템 페이지와 관련되는 복수의 이미지를 통해 브라우징하기 위해 사용된다. 또한, 요청은 유저의 유저 계정에 대한 유저 인증서를 포함할 수도 있다.At
동작 520에서, 수신 모듈(210)은 유저와 관련되는 제2 디바이스로부터 웹 페이지에 액세스하려는 요청을 수신한다. 제2 요청은 유저의 유저 계정에 대한 유저 인증서를 포함할 수도 있다.At
동작 530에서 세션 모듈(240)은, 동작 530에서 식별된 제1 디바이스 상에 그리고 제2 디바이스 상에 디스플레이되는 아이템 페이지와의 유저에 의해 수행된 유저 상호작용에 관련하는 세션 데이터를 수신한다. 세션 데이터는, 예를 들면, 제1 디바이스 또는 제2 디바이스 중 적어도 하나 상에서의 유저에 의한 아이템 페이지의 내비게이션에 관련하는 임의의 데이터를 포함할 수도 있다. 세션 데이터는, 유저가 보는 아이템 페이지로부터의 이미지를 포함할 수도 있다. 예를 들면, 유저는 제1 디바이스를 사용하여 아이템 페이지로부터의 이미지를 브라우징할 수도 있다. 그 후, 유저는 제2 디바이스를 사용하여 아이템 페이지부터 그 아이템을 구매할 수도 있다. 복수의 세션이 완료된 이후 세션 데이터가 수신되는 것으로 도시되지만, 몇몇 실시형태에서, 세션 데이터는 각각의 세션 동안 또는 각각의 세션이 완료된 이후 수신될 수도 있다.In
동작 540에서, 생성 모듈(220)은 수신된 세션 데이터를 사용하여 시각화 페이지를 생성한다.In
동작 550에서, 표시 모듈(250)은 시각화 페이지를 표시한다. 하기에서 더 설명되는 바와 같이, 시각화 페이지는 칼럼 안으로 편제될 수도 있다. 각각의 칼럼은, 제1 디바이스 또는 제2 디바이스 중 적어도 하나가 아이템 페이지에 액세스하는 세션을 나타낼 수도 있다.At
도 6에서 도시되는 바와 같이, 방법(500)은 동작(610, 620, 및 630) 중 하나 이상을 포함할 수도 있다.As shown in FIG. 6, the
동작 610에서, 생성 모듈(220)은, 유저의 유저 계정을 아이템 페이지와 관련시키는 레코드를 생성한다.At
동작 620에서, 생성 모듈(220)은 제2 디바이스가 아이템 페이지에 액세스했다는 것을 나타내기 위해 레코드를 업데이트한다. 업데이트된 레코드는, 제1 및 제2 디바이스 둘 다가 동일한 아이템 페이지에 액세스했고 이들 둘 다가 동일한 유저와 관련된다는 것을 더 나타내기 위해 사용될 수도 있다. 게다가, 동작 530에서의 세션 데이터의 수신은 업데이트된 레코드에 기초할 수도 있다.At
동작 630에서, 생성 모듈(220)은 세션 데이터를 저장하는 데이터베이스에 액세스한다. 아이템 페이지와의 유저에 의해 수행된 유저 상호작용에 관련하는 세션 데이터는 데이터베이스(예를 들면, 데이터베이스(115))에 저장될 수도 있거나 그 데이터베이스로부터 검색될 수도 있다.At
도 7에서 도시되는 바와 같이, 방법(500)은 동작(710, 720, 730, 및 740) 중 하나 이상을 포함할 수도 있다.As shown in FIG. 7, the
동작 710에서, 생성 모듈(220)은, 제1 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제1 세션 데이터를 파싱한다. 세션 데이터는, 세션 데이터가 수신되는 제1 디바이스의 식별자로 라벨링될 수도 있다.In
동작 720에서, 생성 모듈(220)은, 제2 디바이스 상에 디스플레이되는 웹 페이지에 대하여 수행된 유저 상호작용에 관련하는 제2 세션 데이터를 파싱한다. 따라서, 세션 데이터는, 세션 데이터가 수신되는 제2 디바이스의 식별자로 라벨링될 수도 있다. 생성 모듈(220)은, 유저 상호작용에 관련하는 모든 데이터가 프로세싱될 때까지, 동일한 아이템 페이지에 대한 유저 상호작용에 관련되는 데이터를 계속 파싱(예를 들면, 추출)한다.In
동작 730에서, 생성 모듈(220)은, 제1 디바이스에 대응하는 제1 칼럼에, 제1 세션 데이터를 할당한다. 그 후, 표시 모듈(250)은, 제1 디바이스에 대응하는 칼럼 내의 제1 세션 데이터를 시각화 페이지 상에 표시할 수도 있다.In
동작 740에서, 생성 모듈(220)은, 제1 디바이스에 대응하는 제2 칼럼에, 제2 세션 데이터를 할당한다. 그 후, 표시 모듈(250)은, 제2 디바이스에 대응하는 칼럼 내의 제2 세션 데이터를 시각화 페이지 상에 표시할 수도 있다. 생성 모듈(220)은, 동일한 아이템에 대한 유저 상호작용에 대한 모든 데이터가 위치결정될 때까지, 유저 상호작용에 관련하는 데이터를 칼럼에 계속 할당한다.In
도 8에서 도시되는 바와 같이, 방법(500)은 동작(810, 820, 830, 840, 및 850) 중 하나 이상을 포함할 수도 있다. 도 8의 동작은 동작(550)의 일부로서 발생할 수도 있다.As shown in FIG. 8, the
동작 810에서, 생성 모듈(220)은 복수의 세션을 식별하는데, 그 복수의 세션 동안, 복수의 디바이스(예를 들면, 제1 디바이스 및 제2 디바이스)가 아이템 페이지에 액세스한다. 예를 들면, 복수의 세션은 복수의 시간 범위에 대응할 수도 있다.In
동작 820에서, 표시 모듈(250)은, 복수의 세션에 대응하는 복수의 칼럼을 시각화 페이지 상에 디스플레이한다. 게다가, 각각의 칼럼은 특정 디바이스에 대한 특정 시간 범위에 대응할 수도 있다.At
동작 830에서, 표시 모듈(250)은, 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터를 디스플레이하기 위해 필요한 치수가 시각화 페이지의 치수를 초과하는지의 여부를 판정할 수도 있다. 예를 들면, 표시될 유저 상호작용에 관련하는 데이터의 양으로 인해, 세션 데이터의 양은 표준 시각화 페이지에 맞추기에 너무 클 수도 있다.At
동작 840에서, 표시 모듈(250)은, 유저 상호작용에 관련하는 데이터의 치수가 시각화 페이지의 치수 내에 있도록, 유저 상호작용에 관련하는 데이터를 리사이징할 수도 있다. 예를 들면, 표시 모듈(250)은, 디스플레이될 세션 데이터가 시각화 페이지 내에 맞추어질 수도 있도록, 유저 상호작용에 관련하는 데이터의 해상도를 조정할 수도 있다.At
동작 850에서, 표시 모듈(250)은, 유저 상호작용에 관련하는 리사이징된 데이터를 갖는 시각화 페이지를 표시한다. 예를 들면, 표시 모듈(250)은, 시각화 페이지를 디스플레이하기 위한 명령어를 유저의 클라이언트 디바이스로 전송한다.At
도 9는, 머신 판독가능 매체(922)(예를 들면, 비일시적 머신 판독가능 매체, 머신 판독가능 저장 매체, 컴퓨터 판독가능 저장 매체, 또는 이들의 임의의 적절한 조합)로부터 명령어(924)를 판독할 수 있는 그리고 본원에서 논의되는 방법론 중 임의의 하나 이상을 전체적으로 또는 부분적으로 수행할 수 있는, 몇몇 예시적인 실시형태에 따른, 머신(900)의 컴포넌트를 예시하는 블록도이다. 구체적으로는, 도 9는 머신(900)을 컴퓨터 시스템(예를 들면, 컴퓨터)의 예시적인 형태로 예시하는데, 컴퓨터 시스템 내에서는, 머신(900)으로 하여금 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하게 하기 위한 명령어(924)(예를 들면, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행가능 코드)가 전체적으로 또는 부분적으로 실행될 수도 있다.9 illustrates a method for reading an
대안적 실시형태에서, 머신(900)은 독립형 디바이스로서 동작하거나 다른 머신에 연결(예를 들면, 네트워크화)될 수도 있다. 네트워크화된 배치에서, 머신(900)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 자격으로 동작하거나, 또는 분산형(예를 들면, 피어투피어(peer-to-peer)) 네트워크 환경에서 피어 머신으로서 동작할 수도 있다. 머신(900)은, 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(personal computer; PC), 태블릿 컴퓨터, 랩탑 컴퓨터, 넷북, 셀룰러 전화, 스마트폰, 셋탑 박스(set-top box; STB), 개인 휴대형 정보 단말(personal digital assistant; PDA), 웹 애플리케이션, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 그 머신에 의해 취해질 액션을 규정하는 명령어(924)를 순차적으로 또는 다르게 실행할 수 있는 임의의 머신일 수도 있다. 게다가, 단일의 머신이 예시되지만, 용어 "머신"은, 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하기 위해, 명령어(924)를 개별적으로 또는 조인트하여 실행하는 머신의 임의의 집합체를 포함하는 것으로 또한 이해될 수도 있을 것이다.In an alternative embodiment, the
머신(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
머신(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
저장 유닛(916)은, 본원에서 설명되는 방법론 또는 기능 중 임의의 하나 이상을 구체화하는 명령어(924)가 저장되는 머신 판독가능 매체(922)(예를 들면, 유형의 그리고 비일시적 머신 판독가능 저장 매체)를 포함한다. 명령어(924)는 또한, 머신(900)에 의한 그 실행 이전에 또는 동안에, 메인 메모리(904) 내에, 프로세서(902) 내에(예를 들면, 프로세서의 캐시 메모리 내에), 또는, 둘 다에, 완전히 또는 적어도 부분적으로, 상주할 수도 있다. 따라서, 메인 메모리(904) 및 프로세서(902)는 머신 판독가능 매체(예를 들면, 유형의 그리고 비일시적 머신 판독가능 매체)로서 간주될 수도 있다. 명령어(924)는, 네트워크 인터페이스 디바이스(920)를 경유하여 네트워크(190)를 통해 송신되거나 또는 수신될 수도 있다. 예를 들면, 네트워크 인터페이스 디바이스(920)는, 임의의 하나 이상의 전송 프로토콜(예를 들면, 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol; HTTP))을 사용하여 명령어(924)를 전달할 수도 있다.The
몇몇 예시적인 실시형태에서, 머신(900)은 휴대형 컴퓨팅 디바이스, 예컨대 스마트폰 또는 태블릿 컴퓨터일 수도 있고, 하나 이상의 추가적인 입력 컴포넌트(930)(예를 들면, 센서 또는 게이지)를 구비할 수도 있다. 이러한 입력 컴포넌트(930)의 예는, 이미지 입력 컴포넌트(예를 들면, 하나 이상의 카메라), 오디오 입력 컴포넌트(예를 들면, 마이크), 방향 입력 컴포넌트(예를 들면, 콤파스), 위치 입력 컴포넌트(예를 들면, 글로벌 포지셔닝 시스템(global positioning system; GPS) 수신기), 방위 컴포넌트(예를 들면, 자이로스코프), 모션 검출 컴포넌트(예를 들면, 하나 이상의 가속도계), 고도 검출 컴포넌트(예를 들면, 고도계), 및 가스 검출 컴포넌트(예를 들면, 가스 센서)를 포함한다. 이들 입력 컴포넌트 중 임의의 하나 이상에 의해 수집되는 입력은, 본원에서 설명되는 모듈 중 임의의 것에 의해 액세스될 수도 있거나 또는 그 임의의 것에 의한 사용에 이용가능할 수도 있다.In some exemplary embodiments, the
본원에서 사용되는 바와 같이, 용어 "메모리"는, 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 머신 판독가능 매체를 가리키며, 랜덤 액세스 메모리(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
또한, 유형의 머신 판독가능 매체(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)
상기 유저와 관련되는 제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.
상기 유저의 상기 유저 계정을 상기 웹 페이지와 관련시키는 레코드를 생성하는 단계를 더 포함하는
방법.
The method according to claim 1,
Further comprising generating a record associating the user account of the user with the web page
Way.
상기 제2 디바이스가 상기 웹 페이지에 액세스했다는 것을 나타내기 위해 상기 레코드를 업데이트하는 단계를 더 포함하는
방법.
3. The method of claim 2,
Further comprising updating the record to indicate that the second device has accessed the web page
Way.
상기 세션 데이터를 수신하는 단계는 또한, 상기 제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.
상기 시각화 페이지를 생성하는 단계는, 상기 웹 페이지와의 유저 상호작용에 관련하는 상기 세션 데이터를 저장하는 데이터베이스에 액세스하는 단계를 포함하는
방법.
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 세션 데이터를 파싱하는 단계와,
상기 수신된 세션 데이터로부터, 상기 제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.
상기 시각화 페이지를 생성하는 단계는,
상기 제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 디바이스 및 상기 제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.
상기 시각화 페이지를 표시하는 단계는,
상기 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 치수가 상기 시각화 페이지의 치수를 초과함을 판정하는 단계와,
상기 유저 상호작용에 관련하는 데이터의 상기 치수가 상기 시각화 페이지의 상기 치수 내에 있도록, 상기 유저 상호작용에 관련하는 데이터를 리사이징하는 단계와,
상기 유저 상호작용에 관련하는 리사이징된 데이터를 갖는 상기 시각화 페이지를 표시하는 단계를 포함하는
방법.
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.
상기 시각화 페이지를 표시하는 단계는, 상기 시각화 페이지 상에서의 디스플레이를 위해 상기 세션 데이터로부터 추출된 유저 상호작용에 관련하는 데이터의 해상도를 조정하는 단계를 포함하는
방법.
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.
상기 유저와 관련되는 제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.
상기 생성 모듈은 또한, 상기 유저의 상기 유저 계정을 상기 웹 페이지와 관련시키는 레코드를 생성하도록 구성되는
시스템.
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.
상기 생성 모듈은 또한, 상기 제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.
상기 세션 모듈은 또한, 상기 제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.
상기 생성 모듈은 또한, 상기 웹 페이지와의 유저 상호작용에 관련하는 상기 세션 데이터를 저장하는 데이터베이스에 액세스하도록 구성되는
시스템.
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.
상기 생성 모듈은 또한,
상기 수신된 세션 데이터로부터, 상기 제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.
상기 생성 모듈은 또한,
상기 제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.
상기 생성 모듈은 또한, 상기 수신된 세션 데이터로부터, 상기 제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.
상기 표시 모듈은 또한,
상기 세션 데이터로부터 추출되는 유저 상호작용에 관련하는 데이터의 치수가 상기 시각화 페이지의 치수를 초과함을 판정하고.
상기 유저 상호작용에 관련하는 데이터의 상기 치수가 상기 시각화 페이지의 상기 치수 내에 있도록, 상기 유저 상호작용에 관련하는 데이터를 리사이징하고,
상기 유저 상호작용에 관련하는 리사이징된 데이터를 갖는 상기 시각화 페이지를 표시하도록 구성되는
시스템.
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.
캐리어 매체.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.
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)
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)
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 |
-
2014
- 2014-11-13 KR KR1020167015806A patent/KR101845181B1/en active IP Right Grant
- 2014-11-13 WO PCT/US2014/065446 patent/WO2015073666A1/en active Application Filing
- 2014-11-13 AU AU2014348589A patent/AU2014348589A1/en not_active Abandoned
- 2014-11-13 CA CA2929829A patent/CA2929829C/en not_active Expired - Fee Related
- 2014-11-13 CN CN201480070150.8A patent/CN105830051A/en active Pending
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 |