KR101858133B1 - 통신 세션 상태를 저장 및 제시하는 기법 - Google Patents

통신 세션 상태를 저장 및 제시하는 기법 Download PDF

Info

Publication number
KR101858133B1
KR101858133B1 KR1020167019698A KR20167019698A KR101858133B1 KR 101858133 B1 KR101858133 B1 KR 101858133B1 KR 1020167019698 A KR1020167019698 A KR 1020167019698A KR 20167019698 A KR20167019698 A KR 20167019698A KR 101858133 B1 KR101858133 B1 KR 101858133B1
Authority
KR
South Korea
Prior art keywords
client device
communication session
session
user
session data
Prior art date
Application number
KR1020167019698A
Other languages
English (en)
Other versions
KR20160100393A (ko
Inventor
에스메랄다 카릴로
크리스티 브람빌라
카산드라 고든
엔리카 몬틸라 벨트란
닐라칸탄 선다레산
Original Assignee
이베이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이베이 인크. filed Critical 이베이 인크.
Publication of KR20160100393A publication Critical patent/KR20160100393A/ko
Application granted granted Critical
Publication of KR101858133B1 publication Critical patent/KR101858133B1/ko

Links

Images

Classifications

    • G06F17/30861
    • 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
    • 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

Abstract

통신 세션의 상태를 저장 및 제시하기 위한 컴퓨터 구현 방법 및 이 방법을 수행하기 위한 적어도 하나의 프로그램을 저장하는 컴퓨터 판독가능 저장 매체를 포함하는 시스템이 개시된다. 통신 세션은 클라이언트 장치와 콘텐츠 공개자의 애플리케이션 서버 사이에 수립될 수 있고, 클라이언트 장치 상에 콘텐츠를 제시하는 것을 포함할 수 있다. 일부 실시예에서, 방법은 통신 세션의 상태를 저장하는 사용자 입력을 수신하는 단계와, 그에 응답하여, 통신 세션의 지속기간 동안 통신 세션의 상태를 나타내는 세션 데이터를 일시적으로 저장하는 단계를 포함한다. 방법은 세션 데이터의 시각적 표현을 포함하고 사용자가 통신 세션의 저장된 상태로 복귀하게 해주는 스크래치패드 인터페이스를 생성 및 제시하는 단계를 더 포함할 수 있다.

Description

통신 세션 상태를 저장 및 제시하는 기법{SAVING AND PRESENTING A COMMUNICATION SESSION STATE}
우선권의 주장
본 PCT 출원은 2013년 12월 20일자로 출원되고 발명의 명칭이 "SYSTEM AND METHODS FOR SAVING AND PRESENTING A STATE OF A COMMUNICATION SESSION"인 미국 특허 출원 제14/137,085호의 우선권 이득을 주장하며, 상기 미국 출원은 전체가 본 명세서에 참고로서 포함된다.
본 출원은 데이터 처리에 관한 것이다. 특히, 예시적인 실시예는 통신 세션의 상태를 저장하는 시스템 및 방법에 관한 것일 수 있다.
전통적으로, 온라인 콘텐츠를 브라우징하는 사용자는 다수의 스크린, 브라우저 윈도우 또는 탭을 이용할 수 있다. 예를 들어, 사용자는 브라우저 윈도우 내에서 다수의 유사한 제품을 비교하기 위해 다수의 탭을 이용할 수 있다. 이동 장치를 이용하여 온라인 상에서 콘텐츠를 브라우징하기를 원할 수 있는 사용자는 이동 장치의 스크린 공간이 제한된 관계로 이러한 비교 기법을 이용하지 못할 수 있다.
또한, 온라인상에서 콘텐츠를 브라우징하는 동안, 사용자는 자신이 브라우징하고 있는 경험의 이전 상태(예를 들어, 이전 검색 쿼리)로 되돌아가기를 희망할 수 있다. 현재 인터넷 브라우저에 의해 제공되는 북마킹 기법은 사용자가 소정의 웹 페이지를 "북마크"(예를 들어, 저장)하는 것을 허용한다. 그러나, 이러한 북마킹 서비스는 웹 페이지로만 제한되고 보통 시간에 민감한 요소를 갖고 있는 소정의 페이지(예를 들어, 체크아웃 페이지, 기입된 양식 등)의 상태를 저장할 수 없다. 따라서, 원하는 이전 상태로 되돌아가기 위해, 사용자는 원하는 페이지로 안내하는 단계들(예를 들어, 키워드 검색 수행, 아이템 클릭, 페이지 보기 등)을 다시 불러와서 그 단계들을 완전히 다시 수행해야 한다.
첨부한 다양한 도면은 단지 본 발명의 예시적인 실시예를 예시할 뿐이며 본 발명의 범주를 제한하는 것으로 간주되어서는 안된다.
도 1은 예시적인 실시예에 따라, 데이터를 네트워크를 통해 교환하도록 구성된 클라이언트-서버 아키텍처를 갖는 네트워크 시스템을 나타내는 네트워크 도면이다.
도 2는 도 1의 네트워크 시스템의 일부로서 제공된 마켓플레이스 애플리케이션을 형성하는 다수의 모듈에 대한 예시적인 실시예를 나타내는 블록도이다.
도 3은 도 1의 네트워크 시스템의 일부로서 제공된 스크래치패드 애플리케이션을 형성하는 다수의 모듈에 대한 예시적인 실시예를 나타내는 블록도이다.
도 4a는 일부 실시예에 따라, 제1 클라이언트 장치와 애플리케이션 서버 간의 통신 세션을 나타내는 상호작용 도면이다.
도 4b는 일부 실시예에 따라, 제2 클라이언트 장치와 애플리케이션 서버 간의 통신 세션을 나타내는 상호작용 도면이다.
도 5a는 일부 실시예에 따라 통신 세션을 나타내는 인터페이스 도면이다.
도 5b는 일부 실시예에 따라 세션 데이터를 디스플레이하는 스크래치패드 인터페이스의 일부를 나타내는 인터페이스 도면이다.
도 5c는 일부 실시예에 따라 세션 데이터의 다수의 세트를 디스플레이하는 스크래치패드 인터페이스를 나타내는 인터페이스 도면이다.
도 5d는 일부 실시예에 따라 세션 데이터를 이용하여 통신 세션의 상태를 복원하는 것을 나타내는 인터페이스 도면이다.
도 5e는 일부 실시예에 따라 예시적인 통신 세션의 추가적인 교환을 나타내는 인터페이스 도면이다.
도 5f는 일부 실시예에 따라 예시적인 통신 세션의 추가적인 교환으로서 검색 쿼리에 응답하여 반환되는 검색 결과와 함께 스크래치패드 인터페이스를 나타내는 인터페이스 도면이다.
도 5g는 또 다른 실시예에 따른 스크래치패드 인터페이스를 나타내는 인터페이스 도면이다.
도 5h는 또 다른 실시예에 따른 스크래치패드 인터페이스의 일부분을 나타내는 인터페이스 도면이다.
도 6은 일부 실시예에 따라 세션 데이터를 저장 및 제시하는 예시적인 방법을 나타내는 흐름도이다.
도 7은 일부 실시예에 따라 추가의 세션 데이터를 저장하는 예시적인 방법을 나타내는 흐름도이다.
도 8은 일부 실시예에 따라 세션 데이터를 삭제하는 예시적인 방법을 나타내는 흐름도이다.
도 9는 본 명세서에서 기술된 임의의 하나 이상의 방법을 머신이 수행하게 하는 명령어 집합이 실행될 수 있는 예시적인 형태의 컴퓨터 시스템에서 머신을 나타내는 도면이다.
이제, 본 발명의 청구대상을 수행하기 위한 특정의 예시적인 실시예들이 상세히 언급될 것이다. 이들 특정의 실시예의 예는 첨부 도면에 예시된다. 이들이 청구범위의 범주를 기술된 실시예로 제한하려는 것은 아님을 이해할 것이다. 반대로, 이들은 본 개시내용의 범주 내에 포함될 수 있는 대안물, 수정물, 및 등가물을 포괄하도록 의도된다. 하기의 설명에서, 특정의 세부사항이 청구 대상의 철저한 이해를 제공하기 위해 기술된다. 실시예는 이들 특정의 세부사항 중 일부 또는 모두가 없이 실시될 수도 있다. 본 개시내용에 따르면, 컴포넌트, 처리 단계 및 데이터 구조는 다양한 타입의 운영체제, 프로그래밍 언어, 컴퓨팅 플랫폼, 컴퓨터 프로그램, 및/또는 범용 머신을 이용하여 구현될 수도 있다.
본 발명의 측면들은 통신 세션의 상태를 저장 및 제시하는 시스템 및 방법을 설명한다. 통신 세션은 콘텐츠 공개자(content publisher)의 애플리케이션 서버와 클라이언트 장치 사이에 수립될 수 있고, 클라이언트 장치 상에 콘텐츠를 제시하는 것을 포함할 수 있다. 예를 들어, 통신 세션은 온라인 마켓플레이스에 판매용으로 공급된 아이템을 검색, 보기, 비교 및 구매하는 것을 포함할 수 있다. 일부 실시예에서, 방법은 통신 세션의 상태를 저장하는 사용자 입력을 수신하는 단계를 포함할 수 있다. 통신 세션의 상태는 특정 시간에서 통신 세션의 상황(condition)을 이끌고 만들어내는 전체적인 문맥(entire context)을 나타낼 수 있다. 통신 세션의 상태는 온라인 활동에 참여하는 동안(예를 들어, 웹페이지를 보는것, 애플리케이션 서버와 데이터를 교환하는 것 등) 사용자에 의해 수행되는 일련의 동작을 포함할 수 있다. 일부 실시예에 따라, 사용자 입력의 수신에 응답하여, 통신 세션의 상태를 나타내는 세션 데이터는 사전결정된 기간동안 저장될 수 있다. 방법은 세션 데이터의 시각적 표현을 포함하고 사용자가 통신 세션의 저장된 상태를 다시 탐색할 수 있게 해주는 인터페이스를 생성하는 단계를 더 포함할 수 있다. 이러한 식으로, 사용자는 통신 세션의 흐름(예를 들어, 저장된 상태로 안내하는 일련의 동작)을 다시 실시할 필요없이 통신 세션의 상태를 재호출(recall)할 수 있다. 또한, 인터페이스는 사용자가 하나의 인터페이스에서 다수의 아이템을 신속하게 비교할 수 있게 해줄 수 있다. 방법은 클라이언트 장치가 이 인터페이스를 제시하게 하는 명령어를 클라이언트 장치에 제공하는 단계를 더 포함할 수 있다.
도 1은, 일 실시예에 따라, 네트워크를 통해 데이터를 교환하도록 구성된 클라이언트-서버 아키텍처를 갖는 네트워크 시스템(100)을 묘사한 네트워크 다이어그램이다. 네트워크 시스템(100)은 클라이언트 장치(106, 108) 및 제3자 서버(114)와 통신하는 네트워크 기반 콘텐츠 공개자(102)를 포함할 수도 있다. 예를 들어, 네트워크 기반 콘텐츠 공개자(102)는 네트워크 기반 마켓플레이스일 수도 있다.
네트워크 기반 콘텐츠 공개자(102)는 네트워크 시스템(100) 및 그의 사용자와 연계된 다양한 기능 및 양태에 관련될 수 있는 데이터를 네트워크 시스템(100) 내에서 통신 및 교환할 수도 있다. 네트워크 기반 콘텐츠 공개자(102)는 네트워크(104)(예컨대, 인터넷)를 통해 하나 이상의 클라이언트 장치(예컨대, 클라이언트 장치(106, 108))로 서버측 기능을 제공할 수도 있다. 하나 이상의 클라이언트 장치는, 사용자가 네트워크 시스템(100)을 사용하여 통신 네트워크(104)를 통해 데이터를 교환함으로써 동작될 수 있다. 이들 트랜잭션은 네트워크 시스템(100)의 콘텐츠 및 사용자에 관한 데이터를 네트워크 시스템(100)으로 송신하는 것, 그러한 데이터를 네트워크 시스템(100)으로부터 수신하는 것, 및 그러한 데이터를 프로세싱하는 것을 포함할 수 있다. 데이터는, 특히, 이미지; 비디오 또는 오디오 콘텐츠; 사용자 선호도; 제품 및 서비스 피드백, 조언, 및 리뷰; 제품, 서비스, 제조자, 및 벤더 추천안 및 식별자; 구매자 및 판매자와 연계된 제품 및 서비스 목록; 제품 및 서비스 광고; 경매 입찰; 및 트랜잭션 데이터를 포함할 수 있지만, 이들로 제한되지는 않는다.
다양한 실시예에서, 네트워크 시스템(100) 내에서 교환되는 데이터는 하나 이상의 클라이언트 또는 사용자 인터페이스(UI)를 통해 이용가능한 사용자 선택 기능에 의존할 수도 있다. UI는 웹 클라이언트(110)를 사용하여 클라이언트 장치, 예컨대 클라이언트 장치(106)와 연계될 수도 있다. 웹 클라이언트(110)는 웹 서버(122)를 통해 네트워크 기반 콘텐츠 공개자(102)와 통신할 수 있다. UI는, 또한, 네트워크 기반 콘텐츠 공개자(102) 또는 제3자 애플리케이션(116)을 호스팅하는 제3자 서버(114)(예컨대, 하나 이상의 서버 또는 클라이언트 장치)와 통신하는 클라이언트 애플리케이션과 같은 스크래치패드 애플리케이션(112)을 사용하여 클라이언트 장치(108)와 연계될 수 있다.
클라이언트 장치(106, 108)는 다양한 타입의 장치 중 임의의 것일 수 있다. 예를 들어, 클라이언트 장치(106, 108)는 스마트폰, 예컨대 iPhone®과 같은 모바일 장치, 또는 iOS® 운영체제, Android® 운영체제, BlackBerry® 운영체제, Microsoft® Windows® 전화 운영체제, Symbian® OS, 또는 webOS®를 구동시키는 다른 모바일 장치일 수도 있다. 일부 실시예에 따르면, 클라이언트 장치(106, 108)는, 대안으로, 태블릿 컴퓨터, 예컨대 iPad®, 또는 전술된 운영체제 중 하나를 구동시키는 다른 태블릿 컴퓨터일 수도 있다. 일부 실시예에서, 클라이언트 장치(106, 108)는 또한 PDA(personal digital assistant), PND(personal navigation device), 핸드헬드 컴퓨터, 데스크톱 컴퓨터, 랩톱 또는 넷북, 케이블 또는 위성 콘텐츠 제공자에 의해 제공되는 셋톱박스(STB), 안경 또는 손목시계와 같은 착용가능 컴퓨팅 장치, 자동차에 내장된 멀티미디어 장치, GPS(global positioning system) 장치, 데이터 인에이블형 북리더, 또는 비디오 게임 시스템 콘솔, 예컨대 Nintendo Wii®, Microsoft Xbox 360®, Sony PlayStation 3®, 또는 다른 비디오 게임 시스템 콘솔일 수도 있다.
클라이언트 장치(106, 108)는 커넥션(118)을 통해 통신 네트워크(104)(예컨대, 인터넷 또는 WAN(wide area network))와 인터페이싱할 수 있다. 클라이언트 장치(106, 108)의 형태에 따라, 다양한 타입의 커넥션(118) 및 통신 네트워크(104) 중 임의의 것이 이용될 수 있다. 예를 들어, 커넥션(118)은 CDMA(code division multiple access) 커넥션, GSM(Global System for Mobile communications) 커넥션, 또는 다른 타입의 셀룰러 커넥션일 수 있다. 그러한 커넥션(118)은 1xRTT(single carrier radio transmission technology), EVDO(evolution-data optimized) 기술, GPRS(general packet radio service) 기술, EDGE(enhanced data rates for GSM Evolution) 기술, 또는 다른 데이터 전송 기술(예컨대, 제4세대 무선, 4G 네트워크)과 같은 다양한 타입의 데이터 전송 기술 중 임의의 것을 구현할 수 있다. 그러한 기술이 채용될 때, 통신 네트워크(104)는 셀룰러 전화 교환국(cellular telephone exchange)에 의해 상호접속되는 중첩되는 지리적 커버리지의 복수의 셀 사이트를 갖는 셀룰러 네트워크를 포함할 수도 있다. 이들 셀룰러 전화 교환국은 네트워크 백본(예컨대, PSTN(public switched telephone network), 패킷 교환형 데이터 네트워크, 또는 다른 타입의 네트워크)에 연결될 수 있다.
다른 예에서, 커넥션(118)은 와이-파이(Wi-Fi, IEEE 802.11x 타입) 커넥션, WiMAX(Worldwide Interoperability for Microwave Access) 커넥션, 또는 다른 타입의 무선 데이터 커넥션일 수도 있다. 그러한 실시예에서, 통신 네트워크(104)는 LAN(local area network), WAN, 인터넷, 또는 다른 패킷 교환형 데이터 네트워크에 연결되는 하나 이상의 무선 액세스 포인트를 포함할 수도 있다. 또 다른 예에서, 커넥션(118)은 무선 커넥션, 예를 들어 이더넷 링크일 수도 있고, 통신 네트워크(104)는 LAN, WAN, 인터넷, 또는 다른 패킷 교환형 데이터 네트워크일 수도 있다. 따라서, 여러 가지 상이한 구성이 명확히 고려된다.
도 1은 클라이언트 장치(106, 108)의 사용자에게 하나 이상의 서비스를 제공할 수 있는 제3자 서버(114) 상에서 실행되는 제3자 애플리케이션(116)을 또한 예시한다. 제3자 애플리케이션(116)은 API(application program interface) 서버(120)에 의해 제공되는 프로그램 인터페이스를 통해 네트워크 기반 콘텐츠 공개자(102)에 대해 프로그램 액세스를 가질 수도 있다. 일부 실시예에서, 제3자 애플리케이션(116)은 클라이언트 장치(106, 108)의 사용자와 트랜잭션을 행할 수 있거나 그러한 사용자에게 서비스를 제공할 수 있는 임의의 조직(organization)과 연계될 수도 있다.
구체적으로, 네트워크 기반 콘텐츠 공개자(102)를 참고하면, API 서버(120) 및 웹 서버(122)는 하나 이상의 애플리케이션 서버(124)에 연결되고, 이들에게 프로그램 인터페이스 및 웹 인터페이스를 각각 제공한다. 애플리케이션 서버(124)는, 예를 들어, 하나 이상의 마켓플레이스 애플리케이션(126)을 호스팅할 수도 있는데, 이 마켓플레이스 애플리케이션(126)은 네트워크 기반 콘텐츠 공개자(102)에 액세스하는 사용자에게 다수의 마켓플레이스 기능 및 서비스를 제공할 수 있다. 애플리케이션 서버(124)는 또한 하나 이상의 스크래치패드 애플리케이션(128)을 호스팅할 수 있는데, 이 스크래치패드 애플리케이션(128)은 통신 세션의 상태를 나타내는 세션 데이터에 대한 스크래치패드 인터페이스를 생성 및 저장하도록 구성될 수 있다. 이러한 스크래치패드 인터페이스는 예를 들어 클라이언트 장치(106,108) 중 하나 상에 제시될 수 있다.
애플리케이션 서버(124)는 API 서버(120) 및 웹 서버(122)를 통해 예를 들어 유선 또는 무선 인터페이스를 통해 통신 네트워크(104)에 연결될 수 있다. 이어서 애플리케이션 서버(124)는 데이터베이스(132)에 대한 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(130)에 연결되는 것으로 도시되어 있다. 일부 예에서, 애플리케이션 서버(124)는 데이터베이스 서버(130)에 대한 필요성 없이 데이터베이스(132)에 직접 액세스할 수 있다. 일부 실시예에서, 데이터베이스(132)는 네트워크 기반 콘텐츠 공개자(102)의 내부 및 외부 양측 모두에 데이터베이스를 포함할 수도 있다.
마켓플레이스 애플리케이션(126) 및 스크래치패드 애플리케이션(128)이 도 1에서 모두가 네트워크 기반 콘텐츠 공개자(102)의 일부분을 형성하는 것으로 도시되어 있지만, 대안의 실시예에서, 스크래치패드 애플리케이션(128)은 네트워크 기반 콘텐츠 공개자(102)와는 분리되어 있고 그와는 별개인 서비스의 일부분을 형성할 수도 있다는 것을 이해할 것이다. 또한, 도 1에 도시된 시스템(100)이 클라이언트-서버 아키텍처를 채용하고 있지만, 본 발명의 청구 대상물은, 물론, 그러한 아키텍처로 제한되지 않으며, 예를 들어, 이벤트-구동형, 분산형, 또는 피어-투-피어 아키텍처 시스템에서도 동등하게 잘 적용될 수 있다. 애플리케이션 서버(124)의 다양한 모듈은 또한 자립형 시스템 또는 소프트웨어 프로그램으로서 구현될 수도 있는데, 이들이 반드시 네트워킹 능력을 가질 필요는 없다.
도 2는 도 1의 네트워크 시스템(100)의 일부분으로서 제공되는 마켓플레이스 애플리케이션(126)을 형성하는 다수의 모듈의 예시적인 실시예를 예시한 블록도이다. 마켓플레이스 애플리케이션(126)의 모듈은 서버 머신들 사이의 통신을 가능하게 하도록 통신가능하게 연결된 전용 또는 공용 서버 머신들 상에서 호스팅될 수 있다. 각각의 모듈(200 내지 214)은 (예컨대, 적절한 인터페이스를 통해) 서로 그리고 다양한 데이터 소스에 통신가능하게 연결되어, 정보가 마켓플레이스 애플리케이션(126)의 모듈들(200 내지 214) 사이에서 전달되게 하거나 또는 모듈(200 내지 214)이 공통 데이터를 공유하고 그에 액세스하게 한다. 더욱이, 마켓플레이스 애플리케이션(126)의 다양한 모듈은 데이터베이스 서버(130)를 통해 하나 이상의 데이터베이스(132)에 액세스할 수 있다(도 1).
마켓플레이스 애플리케이션(126)은 다수의 공개 메커니즘, 리스팅 메커니즘, 및 가격 설정 메커니즘을 제공할 수 있으며, 이에 의해, 판매자는 판매용 상품 또는 서비스를 리스팅할 수 있고(또는 상품 또는 서비스에 관한 정보를 공개할 수 있고), 구매자는 그러한 상품 또는 서비스에 관심을 표현할 수 있거나 그러한 상품 또는 서비스를 구매하려는 희망을 나타낼 수 있고, 그러한 상품 또는 서비스에 관한 트랜잭션에 대해 가격이 설정될 수 있다. 이를 위해, 마켓플레이스 애플리케이션(126)은 적어도 하나의 공개 모듈(200) 및 하나 이상의 옥션 모듈(202)을 포함하는 것으로 도시되어 있는데, 이는 옥션 포맷 리스팅 및 가격 설정 메커니즘(예컨대, 잉글리시 옥션, 더치 옥션, 비크리(Vickrey) 옥션, 차이니즈 옥션, 더블 옥션, 리버스 옥션 등)을 지원한다. 옥션 모듈(202)은 또한 그러한 옥션 포맷 리스팅을 지원함에 있어 다수의 특징을 제공할 수 있는데, 예컨대 판매자가 리스팅과 관련하여 최저 경매가를 지정할 수 있게 해주는 최저 경매가 특징, 및 입찰자가 자동화된 프록시 입찰을 호출할 수 있게 해주는 프록시-입찰 특징을 제공할 수 있다.
다수의 고정가(fixed-price) 모듈(204)은 고정가 리스팅 포맷(예컨대, 전통적인 분류된 광고 타입 리스팅 또는 카탈로그 리스팅) 및 매수(buyout) 타입 리스팅을 지원한다. 구체적으로, 매수 타입 리스팅(예컨대, 미국 캘리포니아주 산호세 소재의 eBay Inc.에 의해 개발된 BIN(Buy-It-Now) 기술을 포함함)은 옥션 포맷 리스팅과 함께 제공될 수도 있고, 구매자가 또한 옥션을 통해 판매용으로 제공되고 있는 상품 또는 서비스를 옥션의 시작가(starting price)보다 전형적으로 더 높은 고정가에 구매하게 할 수 있게 해준다.
스토어 모듈(206)은 판매자들이 그들의 제품 리스팅(예컨대, 상품 및/또는 서비스)을 "가상" 스토어 내에 그룹화하게 할 수게 해주는데, 이 제품 리스팅은 브랜드화될 수 있고 그와 달리 판매자에 의해 그리고 판매자를 위해 개인 맞춤화될 수도 있다. 이러한 가상 스토어는 또한 관련 판매자에 대해 특정적이고 개인 맞춤화된 프로모션, 인센티브, 및 특징을 제공할 수 있다. 일 실시예에서, 가상 스토어 및 그의 특징과 연계된 리스팅 및/또는 트랜잭션은 하나 이상의 사용자에게 제공될 수 있다.
네트워크 기반 콘텐츠 공개자(102)의 탐색은 하나 이상의 내비게이션 모듈(208)에 의해 가능해질 수 있다. 예를 들어, 검색 모듈이, 특히, 네트워크 기반 콘텐츠 공개자(102)를 통해 공개된 리스팅의 키워드 검색을 가능하게 할 수 있다. 브라우저 모듈은 사용자가 연계된 UI를 통해 다양한 카테고리, 카탈로그, 인벤토리, 소셜 네트워크를 브라우징할 수 있게 해주고 네트워크 기반 콘텐츠 공개자(102) 내의 데이터 구조를 리뷰하게 할 수 있게 해준다. 다양한 다른 내비게이션 모듈(208)(예컨대, 외부 검색 엔진)이 검색 및 브라우징 모듈을 보완하도록 제공될 수 있다. 일부 실시예에 따르면, 네트워크 기반 콘텐츠 공개자(102)를 통해 공개된 리스팅의 키워드 검색에 대한 결과는 사용자의 소셜 네트워크 커넥션에 대응하는 리스팅(예컨대, 표시된 친구 및 가족)만을 포함하도록 필터링될 수도 있다.
일 실시예에서, 전자 쇼핑 카트 모듈(210)은 네트워크 기반 콘텐츠 공개자(102)의 사용자에 의해 사용되어 스토어 모듈(206)에 의해 리스팅된 제품(예컨대, 상품 및 서비스)을 추가 및 저장하는 전자 쇼핑 카트를 생성하는 데 이용된다. 전자 쇼핑 카트 모듈(210)은 또한 "체크아웃"하는 데 이용될 수도 있는데, 이는 사용자가 전자 쇼핑 카트 내의 제품을 구매할 수도 있다는 것을 의미한다. 전자 쇼핑 카트 모듈(210)은 사전정의된 세트의 벤더, 비교 쇼핑 사이트, 옥션 사이트 등 중 적어도 하나 또는 모두에 걸쳐서 전자 쇼핑 카트 내의 제품을 자동으로 찾음으로써 트랜잭션을 용이하게 할 수도 있다. 다양한 실시예에서, 어느 벤더 또는 벤더들로부터 구매할 것인지에 대한 선택 기준은 최저가, 최단 배송 시간, 선호하는 또는 최고 등급의 벤더 또는 판매자, 또는 이들의 임의의 조합과 같은 기준을 포함할 수도 있지만, 이로 제한되지 않는다.
도 2에 예시된 바와 같이, 마켓플레이스 애플리케이션(126)은 사용자에게 다수의 결제 서비스 및 기능을 제공할 수 있는 적어도 하나의 결제 모듈(212)을 포함할 수도 있다. 결제 모듈(212)은 사용자가 계정에 값을 (예컨대, 미국 달러와 같은 상업적 통화로, 또는 "포인트"와 같은 사적 통화로) 누적할 수 있게 해주고, 이어서, 나중에, 결제 모듈(212)을 통해 누적된 값으로 제품(예컨대, 상품 또는 서비스)을 구매할 수 있게 해준다. 일부 예시적인 실시예의 경우, 결제 모듈(212)은, 일반적으로, 일 당사자(예컨대, 발신자)와 연계된 계정으로부터 다른 당사자(예컨대, 수신자)와 연계된 계정으로의 값(예컨대, 기금, 보상 포인트 등)의 전달을 가능하게 한다.
도 2에 예시된 바와 같이, 마켓플레이스 애플리케이션(126)은 하나 이상의 추천 모듈(214)을 포함할 수도 있는데, 이 추천 모듈(214)은 사용자에게 추천 서비스 및 기능을 제공할 수 있다. 일부 실시예에서, 추천 모듈(214)은 추천 요청을 수신하고 이어서 사용자의 대응하는 사용자 프로파일에 포함된 정보에 기초하여 사용자에게 추천안을 제공할 수 있다. 일부 실시예에서, 추천 모듈(214)은 사용자의 활동에 기초하여 추천안을 자동으로 생성 및 제공할 수 있다. 추천 모듈(214)에 의해 제공된 추천안은 잠재적으로 사용자의 관심을 끌 수 있는 하나 이상의 아이템(예컨대, 판매용으로 제공되는 제품, 기사, 블로그, 영화, 소셜 네트워크 커넥션 등)을 포함할 수 있다. 추천안은, 예를 들어, 사용자 또는 사용자의 소셜 네트워크 커넥션에 의해 구매된 이전 제품, 사용자가 보는 웹 페이지, 또는 사용자 또는 사용자의 소셜 커넥션에 의해 호의적인 피드백을 부여받은 아이템에 기초할 수도 있다.
도 3은 네트워크 기반 콘텐츠 공개자(102)의 일부로서 제공된 스크래치패드 애플리케이션(112,128)을 형성하는 다수의 모듈에 대한 예시적인 실시예를 나타내는 블록도이다. 스크래치패드 애플리케이션(112,128)은 적어도 하나의 사용자 입력 모듈(300), 상태 모듈(302) 및 사용자 인터페이스 모듈(304)을 포함하는 것으로 도시되어 있으며, 이들 모두는 (예를 들어, 버스, 공유 메모리, 스위치 또는 애플리케이션 프로그래밍 인터페이스(API)를 통해) 서로 통신하도록 구성된다. 스크래치패드 애플리케이션(112,128)의 다양한 모듈은 데이터베이스 서버(130)를 통해 하나 이상의 데이터베이스(132)에 액세스할 수 있고, 스크래치패드 애플리케이션(112,128)의 다양한 모듈 각각은 하나 이상의 제3자 애플리케이션(116)과 통신할 수 있다. 또한, 스크래치패드 애플리케이션(112,128)의 다양한 모듈은 클라이언트 장치(106,108)의 머신 판독가능 메모리에 액세스할 수 있다.
일부 실시예에 따르면, 사용자 입력 모듈(300)은 클라이언트 장치(106,108) 중 하나와 함께 포함될 수 있거나 이와 통신가능하게 연결될 수 있는 하나 이상의 입/출력(I/O) 장치에 의해 생성된 사용자 입력을 수신하도록 구성될 수 있다. 클라이언트 장치의 형식에 따라, I/O 장치를 예를 들어 마우스, 트랙패드, 키패드, 키보드, 멀티터치 센싱 표면(예를 들어, 터치스크린 또는 트랙패드), 마이크로폰, 스피커, 카메라 등일 수 있다. 사용자 입력은 전술한 I/O 장치 중 하나에 의해 수신될 수 있고 일부 실시예에서 사용자 입력 모듈(300)에 의해 수신되도록 애플리케이션 서버(124)에 전송될 수 있다.
상태 모듈(302)은 통신 세션의 상태를 나타내고 통신 세션의 상태를 재호출하는데 사용될 수 있는 세션 데이터를 캡처 및 저장하도록 구성될 수 있다. 세션 데이터는 클라이언트 장치 상에서 실행되는 애플리케이션을 사용하는 동안 웹 사이트를 방문하거나 또 다른 활동을 수행할 때 사용자에 의해 수행되는 일련의 단계, 이벤트 또는 동작을 지칭한다. 예시적인 세션 데이터는 온라인 거래를 수행할 때, 온라인 양식을 완성할 때, 온라인 조사를 할 때, 및 사용자에 의해 수행되는 둘 이상의 단계를 포함하는 다른 온라인 활동에 참여할 때 사용자에 의해 수행되는 동작을 설명하는 이벤트를 포함한다. 세션 데이터는 사용자에 의해 제공되는 정보, 사용자에 의해 활성화되는 버튼(또는 다른 시각적 표시자), 사용자에 의해 완료되는 단계들의 식별, 키 누름, 및 커서 및 포인터 이동, 사용자에 의해 취소되는 동작 등을 포함할 수 있다.
일부 실시예에 따르면, 세션 데이터는 클릭스트림 데이터를 포함할 수 있다. 따라서, 상태 모듈(302)은 네트워크 시스템(100)의 다양한 모듈과 함께, 사용자의 활동 및 상호작용을 하나 이상의 장치(예를 들어, 클라이언트 장치(106))를 이용하여 모니터링, 트래킹 및 기록하도록 구성될 수 있다. 세션 데이터는 상태 모듈(302)에 의해 캡쳐될 수 있고 통신 세션의 상태의 저장을 알리는 (예를 들어, 사용자 입력 모듈(300)에 의해 수신된) 사용자 입력의 수신에 응답하여 저장될 수 있다. 일부 실시예에 따르면, 세션 데이터는 상태 모듈(302)에 의해 XML 기반 텍스트 문서로서 저장될 수 있다. 일부 실시예에서, 세션 데이터는 상태 모듈(302)에 의해 데이터베이스(132)에 저장될 수 있다. 일부 실시예에서, 세션 데이터는 상태 모듈(302)에 의해 사용자의 클라이언트 장치(예를 들어, 클라이언트 장치(106,108))의 머신 판독가능 매체에 저장될 수 있다.
세션 데이터는 클라이언트 장치와 애플리케이션 서버(124) 간의 상호작용을 더 포함할 수 있다. 따라서, 세션 데이터는 사용자에 의해 행해지고 사용자의 클라이언트 장치에 의해 애플리케이션 서버(124)로 전송되는 요청을 포함할 수 있다. 일부 실시예에 따르면, 이 요청은 예를 들어 수행되는 키워드 검색 쿼리, 추천 요청, 웹 페이지 보기 요청, 사용자 희망 리스트, 주목 리스트 또는 전자 쇼핑 카트에 제품을 추가하기 위한 요청을 포함할 수 있다. 일부 실시예에서, 세션 데이터는 또한 애플리케이션 서버(124)로부터 수신된 사용자 요청에 대한 응답을 포함할 수 있다. 이 응답은 예를 들어 키워드 검색 결과, 추천안, 웹페이지, 희망 리스트, 주목 리스트 또는 전자 쇼핑 카트에 대한 인터페이스 등을 포함할 수 있다. 일부 실시예에서, 키워드 검색, 추천안 및 웹페이지는 마켓플레이스 애플리케이션(126)에 의해 생성되고 유지되는 하나 이상의 리스트에 대응할 수 있다. 세션 데이터는 통신 세션의 일부로서 클라이언트 장치 상에서 실행되는 애플리케이션에 의해 제공되는 컨텍스추얼 정보(contextual information)를 더 포함할 수 있다.
사용자 인터페이스 모듈(304)은 사용자의 클라이언트 장치 상에 제시되는 스크래치패드 인터페이스를 생성하도록 구성될 수 있다. 하나 이상의 스크래치패드 인터페이스를 생성하는 경우, 사용자 인터페이스 모듈(304)은 클라이언트 장치가 사용자 인터페이스를 디스플레이하게 하는 명령어를 클라이언트 장치에 전송할 수 있다. 일부 실시예에 따르면, 사용자 인터페이스 모듈(304)은 사용자가 자신이 관심있어 하는 아이템들을 신속하게 저장, 액세스 및 비교할 수 있게 해주는 스크래치패드 인터페이스를 생성할 수 있다. 스크래치패드 인터페이스는 클라이언트 장치와의 주어진 통신 세션에 관련된 하나 이상의 다른 스크래치패드 인터페이스와 연계하여 사용자의 클라이언트 장치에 의해 디스플레이될 수 있다. 스크래치패드 인터페이스는 통신 세션의 상태를 나타내는 상태 모듈(302)에 의해 캡처되는 세션 데이터의 디스플레이를 포함할 수 있다. 스크래치패드 인터페이스는 세션 데이터의 여러 세트를 포함할 수 있다. 주어진 데이터 세션 동안의 사용자의 활동에 따라, 세션 데이터의 다수의 세트는 동종 및 이종의 그룹 모두를 포함할 수 있다. 예를 들어, 세션 데이터 세트의 동종 그룹은 특정 카테고리의 제품(예를 들어, "디지털 카메라")에 관련된 데이터를 포함할 수 있는 반면, 세션 데이터의 이종 그룹은 다양한 카테고리의 제품(예를 들어, 디지털 카메라, 홀리데이 스웨터, 토스터)에 관련된 데이터를 포함할 수 있다.
일부 실시예에서, 스크래치패드 인터페이스는 사용자가 세션 데이터의 다수의 세트에 포함된 다수의 아이템을 비교할 수 있게 해주는 기능을 포함할 수 있다. 일부 실시예에서, 이 기능은 동종 그룹의 세션 데이터 세트들의 비교를 요청하는 (예를 들어, 사용자 입력 모듈(300)에 의해 수신된) 사용자 입력이 수신되면 사용자에게 제공될 수 있다. 이 비교는 세션 데이터에 포함된 아이템의 다수의 속성들의 비교를 포함할 수 있다. 예를 들어, 스크래치패드 인터페이스는 3세트의 세션 데이터의 동종 그룹을 포함할 수 있다. 제1 세트의 세션 데이터는 제1 디지털 카메라와 관련 있을 수 있고, 제2 세트의 세션 데이터는 제2 디지털 카메라와 관련 있을 수 있으며, 제3 세트의 세션 데이터는 제3 디지털 카메라와 관련 있을 수 있다. 이 예에 이어, 상태 모듈(302)은 적절한 사용자 입력을 수신하면 편의상 3개의 디지털 카메라를 비교하기 위해, 예를 들어 각 디지털 카메라의 속성들의 선택 세트를 비교하기 위해 3세트의 세션 데이터에 대한 디스플레이를 생성할 수 있다.
도 4a는 일부 실시예에 따라, 제1 클라이언트 장치와 애플리케이션 서버 간의 통신 세션을 나타내는 상호작용 도면이다. 도 4a에 도시되어 있는 제1 클라이언트 장치는 사용자에게 속한 적어도 2개의 클라이언트 장치 중 제1 클라이언트 장치이고, 예를 들어 클라이언트 장치(106 또는 108)에 대응할 수 있다. 애플리케이션 서버는 예를 들어 애플리케이션 서버(124)에 대응할 수 있다.
도시되어 있는 바와 같이, 통신 세션은 제1 클라이언트 장치와 애플리케이션 서버 사이에서 수립될 수 있다. 일부 실시예에서, 사용자는 통신 세션을 수립하는 과정의 일부로서 로그인하거나 자신의 아이덴티티를 인증할 것을 요구받을 수 있다. 통신 세션은 애플리케이션 서버에 의해 수신되는 제1 클라이언트 장치에 의한 복수의 요청의 전송을 비롯하여 네트워크(예를 들어, 통신 네트워크(104))를 통한 다수의 데이터 교환을 포함할 수 있다. 이어서, 애플리케이션 서버는 전술한 복수의 요청에 응답하여 제1 클라이언트 장치에 복수의 응답을 전송할 수 있다. 제1 클라이언트 장치와의 통신 세션 과정 동안, 사용자는 나중에 재방문하고 싶어할 수 있는 관심 아이템을 식별할 수 있다. 따라서, 제1 클라이언트 장치의 몇몇 가능한 I/O 장치 중 하나를 사용하는 사용자는 적절한 사용자 입력을 통해 통신 세션의 상태를 저장할 것을 애플리케이션 서버에게 알릴 수 있다.
이 사용자 입력의 수신에 응답하여, 애플리케이션 서버는 데이터 세션의 상태를 나타내는 세션 데이터를 세션 데이터 저장소(예를 들어, 데이터베이스(132))에 저장할 수 있다. 또한, 애플리케이션 서버는 세션 데이터의 시각적 표현을 포함하는 스크래치패드 인터페이스를 생성할 수 있다. 애플리케이션 서버는 제1 클라이언트 장치가 스크래치패드 인터페이스를 디스플레이하게 하는 명령어를 제1 클라이언트 장치에 전송할 수 있다.
제1 클라이언트 장치는 통신 세션의 연속적인 실행에 관련된 다른 콘텐츠와 함께 스크래치패드 인터페이스를 제시할 수 있다. 세션 데이터의 시각적 표현을 제공하는 것에 더해, 제1 클라이언트 장치 상에 제시된 스크래치패드 인터페이스는 사용자가 세션 데이터의 시각적 표현을 선택함으로써 통신 세션의 특정 상태로 복귀할 수 있게 해준다. 도시되어 있는 바와 같이, 애플리케이션 서버는 세션 데이터의 사용자 선택을 수신할 수 있다.
사용자 선택을 수신한 것에 응답하여, 애플리케이션 서버는 세션 데이터 저장소로부터 세션 데이터를 불러올 수 있다. 애플리케이션 서버는 제1 클라이언트 장치가 사용자 입력에 응답하여 이전에 캡처된 통신 세션의 상태를 재호출하고 그 상태로 복귀하게 하는 명령어를 제1 클라언트 장치에 제공할 수 있다. 이러한 식으로, 사용자는 자신이 관심 아이템을 식별했던 통신 세션의 상태를 재방문할 수 있다.
도 4a에 도시되어 있는 바와 같이, 이후 제1 클라이언트 장치와 애플리케이션 서버 간의 통신 세션은 종료될 수 있다. 일부 실시예에 따르면, 통신 세션의 종료에 응답하여, 애플리케이션 서버는 세션 데이터가 후속 통신 세션 동안 스크래치패드 인터페이스에 더 이상 디스플레이될 수 없는 시점에서, 세션 데이터 저장소에 저장된 세션 데이터를 제거 또는 삭제할 수 있다.
도 4b는 일부 실시예에 따라 제2 클라이언트 장치와 애플리케이션 서버 사이의 통신 세션을 나타내는 상호작용 도면이다. 특히, 제2 클라이언트 장치는 도 4a에서 언급한 사용자에게 속한 적어도 2개의 클라이언트 장치 중 두 번째이며, 예를 들어 클라이언트 장치(106 또는 108)에 대응할 수 있다. 도 4b에 도시되어 있는 제2 클라이언트 장치와 애플리케이션 서버 간의 다양한 상호작용은 도 4a에서 설명한 세션 데이터의 저장 이후에 수행될 수 있다.
도 4b에 도시되어 있는 바와 같이, 통신 세션은 제2 클라이언트 장치와 애플리케이션 서버 사이에서 수립될 수 있다. 일부 실시예에서, 사용자는 통신 세션을 수립하는 과정의 일부로서 로그인하거나 자신의 아이덴티티를 인증할 것을 요구받을 수 있다. 이 인증은 제1 클라이언트 장치와 제2 클라이언트 장치 간의 링크를 애플리케이션 서버에 제공할 수 있고 제1 클라이언트 장치와의 통신 세션 동안 저장된 세션 데이터에 대한 액세스를 제2 클라이언트 장치 상에서 사용자에게 제공할 수 있다. 또한, 통신 세션을 수립하는 과정의 일부로서, 애플리케이션 서버는 도 4a에서 설명한 스크래치패드 인터페이스를 제시하도록 하는 명령어를 제2 클라이언트 장치에 제공할 수 있다. 제2 클라이언트 장치의 I/O 장치를 사용하여, 사용자는 스크래치패드 인터페이스에 디스플레이된 (도 4에서 설명한) 세션 데이터의 시각적 표현을 선택할 수 있다. 사용자 선택은 제2 클라이언트 장치에 의해 송신되고 애플리케이션 서버에 의해 수신된다. 사용자 선택의 수신에 응답하여, 애플리케이션 서버는 세션 데이터 저장소(예를 들어, 데이터베이스(132))로부터 세션 데이터를 불러올 수 있고 세션 데이터에 의해 표현된 (예를 들어, 제1 클라이언트 장치 상에서 시작된) 통신 세션의 상태를 제시하게 하는 명령어를 제2 클라이언트 장치에 전송할 수 있다.
도 5a는 일부 실시예에 따라 예시적인 통신 세션을 나타내는 인터페이스 도면이다. 일부 실시예에 따르면, 예시적인 통신 세션은 통신 네트워크(104)를 통해 애플리케이션 서버(124)와 클라이언트 장치(108) 사이에서 발생할 수 있다. 도 5a에 도시되어 있는 바와 같이, 예시적인 통신 세션은 클라이언트 장치(108) 상에(예를 들어, 클라이언트 장치(108)의 터치스크린 상에) 디스플레이되는 인터페이스 상에서 사용자에 의한 검색 쿼리(500)를 포함하는데, 이 검색 쿼리(500)는 요청으로서 애플리케이션 서버(124)로 전송될 수 있다.
도 5b는 일부 실시예에 따라 통신 세션의 추가 데이터 교환을 나타내는 인터페이스 도면이다. 도 5b에 도시되어 있는 바와 같이, 검색 결과(502)는 검색 쿼리(500)의 수신에 응답하여 애플리케이션 서버(124)에 의해 클라이언트 장치(108)로 반환될 수 있다. 특히, 검색 결과(502)는 아이템(504-512)을 포함할 수 있다. 도시되어 있는 바와 같이, 아이템(504-512) 각각은 판매용으로 제공된(예를 들어, 마켓플레이스 애플리케이션(126)을 사용하여 공개된) 제품에 대한 목록에 대응할 수 있다. 일부 실시예에 따라, 클라이언트 장치(108)의 사용자는 적절한 터치 제스처(예를 들어, 더블 탭)를 통해, 스크래치패드 애플리케이션(128)으로 하여금 예시적인 통신 세션의 상태를 캡처 및 저장하게 할 수 있다.
도 5c는 일부 실시예에 따라 세션 데이터에 대한 시각적 표현을 디스플레이하는 스크래치패드 인터페이스(514)를 나타내는 인터페이스 도면이다. 도시되어 있는 바와 같이, 스크래치패드 인터페이스(514)는, 적절한 사용자 입력(예를 들어, 탭)을 통해 활성화되는 경우 클라이언트 장치(108)로 하여금 도 5b에 도시되어 있는 바와 같이 검색 결과(502)의 디스플레이로 복귀하게 하는 하이퍼링크를 포함하는 요소(516)를 포함할 수 있다. 스크래치패드 인터페이스(514)는 또한 요소(518,520)를 포함할 수 있는데, 각각의 요소는 통신 세션 동안 보여지는 아이템(510,508)에 대한 제품 목록에 각각 대응하는 하이퍼링크를 포함한다. 도시되어 있는 바와 같이, 요소(518,520) 각각은 아이템(510,508)과 연관된 추가 정보(예를 들어, 설명) 또는 콘텐츠(예를 들어, 대응하는 이미지)를 포함한다. 요소(516-520)는 적용가능 사용자 입력(예를 들어, 더블 탭)의 수신에 응답하여 스크래치패드 애플리케이션(128)에 의해 저장된 세션 데이터에 대한 시각적 표현이다. 특히, 도 5b에 도시되어 있는 바와 같이 검색 결과(502)를 보는 동안 요소(516)에 대응하는 세션 데이터는 적절한 사용자 입력의 수신에 응답하여 스크래치패드 애플리케이션(128)에 의해 저장될 수 있다. 유사하게, 아이템(510,508)에 각각 대응하는 목록 페이지를 보는 동안 요소(518,520)에 대응하는 세션 데이터는 적절한 사용자 입력의 수신에 응답하여 스크래치패드 애플리케이션(128)에 의해 저장될 수 있다.
스크래치패드 인터페이스(514)는 스크래치패드 인터페이스(514)를 숨기거나 확장시키는데 사용될 수 있는 탭(518)을 더 포함할 수 있다. 일부 실시예에서, 스크래치패드 인터페이스(514)는 클라이언트 장치(108)의 디스플레이의 왼쪽 또는 오른쪽으로의 터치 제스처 스와이프를 통해 숨겨지거나 확장될 수 있다. 탭(518)은 또한 스크래치패드 인터페이스의 위치를 디스플레이의 상단, 하단 또는 왼쪽으로 이동시키는데 사용될 수 있다. 스크래치패드 인터페이스는 또한 스크래치패드 인터페이스(514) 상에 디스플레이된 아이템들을 시각적으로 비교하는데 사용될 수 있는 버튼(522)을 포함할 수 있다.
도 5d는 일부 실시예에 따라 스크래치패드 인터페이스(514) 상에 디스플레이된 아이템들의 시각적 비교를 나타내는 인터페이스 도면이다. 버튼(522)이 선택되면, 스크래치패드 애플리케이션(128)은 속성(524,526)의 세트가 클라이언트 장치(108) 상에 제시된 스크래치패드 인터페이스(514) 상에 디스플레이되게 한다. 도 5d는 속성(524,526)이 3개의 속성을 포함하는 것으로 도시하고 있지만, 다른 실시예에서, 속성의 개수는 그보다 많을 수 있고 또는 적을 수 있다는 것을 이해해야 한다. 또한, 다른 실시예에서, 판매용으로 제공된 제품 이외의 아이템들도 비교될 수 있고 디스플레이된 속성은 아이템 유형에 따라 달라질 수 있다.
도 5e는 일부 실시예에 따라 예시적인 통신 세션의 추가 교환을 나타내는 인터페이스 도면이다. 도 5e에 도시되어 있는 바와 같이, 예시적인 교환 세션은 검색 쿼리(500)에 후속하여 수행되는 추가 검색 쿼리(550)를 포함할 수 있다. 검색 결과(522)는 검색 쿼리(550)의 수신에 응답하여 애플리케이션 서버(124)에 의해 클라이언트 장치(108)에 반환될 수 있다. 도시되어 있는 바와 같이, 검색 결과(552)를 보고 있는 동안 스크래치패드 인터페이스(514)의 대부분은 숨겨질 수 있다. 그러나, 검색 결과(552)를 보고 있는 동안 스크래치패드 인터페이스(514)의 적은 부분(예를 들어, 탭)은 계속적으로 디스플레이될 수 있다.
도 5f는 일부 실시예에 따라, 예시적인 통신 세션의 추가 교환으로써 검색 쿼리(550)에 응답하여 반환된 검색 결과(552)와 연계하여 스크래치패드 인터페이스(514)를 나타내는 인터페이스 도면이다. 도시되어 있는 바와 같이, 스크래치패드 인터페이스(514)는 사용자가 클라이언트 장치(108)의 디스플레이를 가로질러 스크래치패드 인터페이스(514)의 일부를 (예를 들어, 터치 제스처를 통해) 드래그하는 것에 응답하여 검색 결과(552)와 연계하여 디스플레이될 수 있다. 클라이언트 장치(108)의 사용자가 예시적인 통신 세션 동안 다른 아이템을 계속 검색하더라도, 스크래치패드 인터페이스(514)는 도 5c 및 도 5d를 참조하여 설명한 요소들을 계속 포함할 수 있다.
도 5g는 또 다른 일부 실시예에 따라, 스크래치패드 인터페이스(514)를 나타내는 인터페이스 도면이다. 도시되어 있는 바와 같이, 스크래치패드 인터페이스(514)는 사용자 인터페이스의 비간섭(unobtrusive) 부분 위에 놓이는 배너로서 디스플레이될 수 있다. 이러한 또 다른 실시예에 따르면, 스크래치패드 인터페이스(514)는 적용가능 사용자 입력(예를 들어, 더블 탭)의 수신에 응답하여 스크래치패드 애플리케이션(128)에 의해 저장되는 세션 데이터의 시각적 표현(예를 들어, 아이콘)인 요소들(516g-520g)을 포함할 수 있다. 요소들(516g-520g) 중 하나가 선택되면 통신 세션의 대응하는 저장된 상태가 다시 호출될 수 있다.
도 5h는 추가의 또 다른 실시예에 따라, 저장된 세션 데이터에 대한 시각적 표현을 나타내는 인터페이스 도면이다. 특히, 도 5h는 또 다른 실시예에 따라, 스크래치패드 애플리케이션(128)에 의해 저장된 통신 세션의 상태를 나타내는 세션 데이터의 시각적 표현인 요소들(516h, 518h 및 520h)을 나타낸다. 도시되어 있는 바와 같이, 요소들(516h, 518h 및 520h)은 스크래치패드 인터페이스(514)와는 독립적으로 디스플레이될 수 있다. 또한, 요소들(516h, 518h 및 520h) 각각은 사용자 조작을 통해 사용자 인터페이스의 어떠한 부분으로도 이동될 수 있다. 요소들(516h-520h) 중 하나가 선택되면 통신 세션의 대응하는 저장된 상태가 다시 호출될 수 있다.
도 6은 일부 실시예에 따라, 세션 데이터를 저장 및 제시하는 예시적인 방법(600)을 나타내는 흐름도이다. 이 방법(600)은 하나 이상의 프로세서에 의해 실행되는 컴퓨터 판독가능 명령어로 실시될 수 있으며, 방법(600)의 단계들은 애플리케이션 서버(124) 또는 클라이언트 장치(106,108)에 의해, 또한 특히 스크래치패드 애플리케이션(112,128)을 포함하는 모듈(300-304)에 의해 부분적으로 또는 전체적으로 수행될 수 있다.
동작(605)에서, 클라이언트 장치(106 또는 108)와 애플리케이션 서버(124) 사이에 통신 세션이 수립될 수 있다. 이 통신 세션은 클라이언트 장치(106 또는 108)로부터 수신된 복수의 요청 및 이 요청에 응답하여 애플리케이션 서버(124)에 의해 전송된 복수의 응답을 포함하는 다수의 데이터 교환을 포함할 수 있다. 예를 들어, 클라이언트 장치(108)의 사용자는 마켓플레이스 애플리케이션(126)을 사용하여 판매용으로 나열된 제품에 대한 키워드 검색 요청을 전송할 수 있다. 이에 대해, 애플리케이션 서버(124)는 사용자의 키워드 검색 요청에 부합하는 제품에 대한 다수의 검색 결과로 응답할 수 있다. 동작(610)에서, 사용자 입력 모듈(300)은 통신 세션의 특정 상태가 이후의 액세스를 위해 저장될 것을 요청하는 사용자 입력을 클라이언트 장치(106 또는 108)로부터 수신할 수 있다. 몇몇 실시예에서, 이 사용자 입력은 클라이언트 장치(106 또는 108)의 멀티 터치 감지 표면 상에서 수신된 터치 제스처일 수 있다. 이 터치 제스처는 예를 들어 탭, 더블 탭, 길게 누르기, 패닝(pan), 플릭(flick), 두 손가락 탭, 핀치 열기(pinch open) 등일 수 있다.
동작(615)에서, 상태 모듈(302)은 사용자 입력의 수신에 응답하여, 통신 세션의 상태를 나타내는 세션 데이터가 사전결정된 기간 동안 일시적으로 저장되게 할 수 있다. 세션 데이터는 만료 기간이 경과할 때까지 데이터베이스(132)에 저장될 수 있고, 또는 일부 실시예에서는, 클라이언트 장치(106, 108)의 머신 판독가능 매체에 저장될 수 있다. 전술한 예시에 후속하여, 사용자의 키워드 검색 요청에 부합하는 제품에 대한 검색 결과를 수신하면, 사용자는 예를 들어 클라이언트 장치(108)의 터치스크린 상에 디스플레이된 검색 결과를 더블 탭할 수 있다. 이 사용자 입력은 사용자 입력 모듈(300)에 제공될 수 있고, 이에 응답하여, 상태 모듈(302)은 검색 결과를 세션 데이터로서 캡처하고 데이터베이스(132)에 일시적으로 저장할 수 있다.
동작(620)에서, 사용자 인터페이스 모듈(304)은 세션 데이터의 시각적 표현을 포함하는 스크래치패드 인터페이스를 생성할 수 있다. 스크래치패드 인터페이스는 세션 데이터를 제시하여 사용자가 특정 세션 데이터 세트를 선택할 수 있고, 이어서, 세션 데이터에 의해 표현되는 통신 세션의 상태는 복원될 수 있다. 스크래치패드 인터페이스를 통해 사용자는 또한 세션 데이터의 세트들 및 그에 포함된 소정의 아이템들을 비교할 수 있다. 전술한 예에 후속하여, 사용자 인터페이스 모듈(304)은 검색 결과의 선택에 대한 텍스트형태의 세부사항을 포함하는 스크래치패드 인터페이스를 생성할 수 있다. 또한, 키워드 검색 쿼리는 제품에 관한 것이었고 검색 결과는 제품이었기 때문에, 스크래치패드 인터페이스는 사용자가 그에 포함된 제품들을 신속하게 비교할 수 있게 해줄 수 있다.
동작(625)에서, 사용자 인터페이스 모듈(304)은 클라이언트 장치(106 또는 108)로 하여금 스크래치패드 인터페이스를 제시하게 하는 명령어를 이 클라이언트 장치에 제공할 수 있다. 스크래치패드 인터페이스는 일부 실시예에 따라 통신 세션과 관련된 다른 콘텐츠와 함께 디스플레이될 수 있다. 일부 실시예에 따르면, 세션 데이터의 시각적 표현은 사용자 입력을 통해 활성화되는 경우 클라이언트 장치(106 또는 108)로 하여금 세션 데이터에 의해 표현되는 통신 세션의 상태로 복귀하게 하는 하이퍼링크를 포함할 수 있다. 도 6에 도시되어 있는 바와 같이, 방법(600)은 선택사항의 동작(630, 635)을 포함할 수 있다. 동작(630)에서, 사용자에 의해 행해진 세션 데이터(예를 들어, 하이퍼링크)의 선택은 사용자 입력 모듈(300)에 의해 수신될 수 있다. 사용자 선택(예를 들어, 하이퍼링크의 활성화)에 응답하여, 동작(635)에서 세션 데이터에 의해 표현되는 통신 세션의 상태가 복원될 수 있다. 전술한 예에 후속하여, 클라이언트 장치(108) 상에 제시된 스크래치패드는 사용자에 의해 선택되는 경우 클라이언트 장치(108)로 하여금 본래의 검색 쿼리 결과 페이지로 되돌아가게 하는 하이퍼링크를 포함할 수 있다.
도 7은 일부 실시예에 따라 추가의 세션 데이터를 저장하는 예시적인 방법을 나타내는 흐름도이다. 방법(700)은 하나 이상의 프로세서에 의해 실행되는 컴퓨터 판독가능 명령어로 실시될 수 있으며, 방법(700)의 단계들은 애플리케이션 서버(124) 또는 클라이언트 장치(106,108)에 의해, 또한 특히 스크래치패드 애플리케이션(112,128)을 포함하는 모듈(300-304)에 의해 부분적으로 또는 전체적으로 수행될 수 있다. 또한, 방법(700)은 일부 실시예에 따라 방법(600)의 완료 이후에 실행될 수 있다.
동작(705)에서, 사용자 입력 모듈(300)은 방법(600)의 동작(615)에서 저장된 세션 데이터와는 구별되는 통신 세션의 추가 상태를 저장하도록 하는 추가의 사용자 입력을 수신할 수 있다. 사용자 입력은 방법(600)을 참조하여 앞서 설명한 방식에 따라 수신될 수 있다. 사용자 입력의 수신에 응답하여, 동작(710)에서 상태 모듈(302)은 통신 세션의 추가 상태를 나타내는 추가의 세션 데이터가 일시적으로 저장되게 할 수 있다. 이 추가의 세션 데이터는 데이터베이스(132)에, 또는 일부 실시예에서는 클라이언트 장치(106 또는 108)의 머신 판독가능 매체에 일시적으로 저장될 수 있다. 추가의 세션 데이터는 만료 기간이 경과할 때까지 저장될 수 있다. 동작(715)에서, 사용자 인터페이스 모듈(304)은 추가의 세션 데이터를 포함하도록 스크래치패드 인터페이스를 업데이트하게 하는 명령어를 클라이언트 장치(106 또는 108)에 전송할 수 있다.
도 6을 참조하여 설명한 예에 후속하여, 사용자는 클라이언트 장치(108) 상에서 애플리케이션 서버(124)와의 통신 세션을 계속할 수 있고 그 세션 동안 또 다른 제품에 대한 추가의 키워드 검색을 수행할 수 있다. 클라이언트 장치(108)에서 애플리케이션 서버(124)로부터 검색 결과를 수신하면, 사용자는 검색 결과를 다시 더블 탭함으로써 통신 세션의 추가 상태를 저장할 수 있다. 사용자 입력에 응답하여, 상태 모듈(302)은 추가의 검색 결과를 나타내는 세션 데이터가 일시적으로 저장되게 할 수 있다. 또한, 스크래치패드 인터페이스는 추가의 검색 결과를 포함하도록 사용자 입력 모듈(300)에 의해 업데이트될 수 있다.
도 8은 일부 실시예에 따라 세션 데이터를 삭제하는 예시적인 방법을 나타내는 흐름도이다. 방법(800)은 하나 이상의 프로세서에 의해 실행되는 컴퓨터 판독가능 명령어로 실시될 수 있으며, 방법(800)의 단계들은 애플리케이션 서버(124) 또는 클라이언트 장치(106,108)에 의해, 또한 특히 스크래치패드 애플리케이션(112,128)을 포함하는 모듈(300-304)에 의해 부분적으로 또는 전체적으로 수행될 수 있다. 또한, 방법(800)은 일부 실시예에 따라 방법(600 또는 700)의 완료 이후에 실행될 수 있다.
일부 실시예에 따라, 상태 모듈(302)은 만료 기간이 경과할 때까지 세션 데이터가 데이터베이스(132)에 일시적으로 저장되게 할 수 있다. 동작(805)에서, 상태 모듈(302)은 만료 기간이 경과했는지를 판정할 수 있다. 일부 실시예에 따라, 만료 기간은 통신 세션의 지속기간일 수 있고, 이러한 실시예에서, 동작(805)은 통신 세션이 종료되었는지를 판정하는 단계를 포함한다. 일부 실시예에서, 만료 기간은 기본 값이거나 또는 사용자에 의해 설정된 값일 수 있다.
동작(810)에서, 상태 모듈(302)은 만료 기간이 경과했다는 판정에 응답하여 저장된 세션 데이터가 삭제되게 할 수 있다. 일부 실시예에서, 클라이언트 장치(106 또는 108)가 여전히 통신 세션에 참여하고 있는 경우, 동작(815)에서, 사용자 인터페이스 모듈(304)은 클라이언트 장치(106 또는 108)로 하여금 스크래치패드 인터페이스를 리프레시하도록 하는 명령어를 클라이언트 장치(106 또는 108)로 전송할 수 있다. 리프레시되면, 스크래치패드 인터페이스는 만료 기간이 경과된 세션 데이터의 시각적 표현을 더 이상 포함하지 않을 것이며, 이후, 사용자는 만료된 세션 데이터에 의해 표현되는 통신 세션의 상태로 더 이상 복귀하지 못할 수 있다.
모듈, 컴포넌트 및 로직
특정 실시예는 로직 또는 다수의 컴포넌트, 모듈, 또는 메커니즘을 포함하는 것으로서 본원에서 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 머신 판독가능 매체 상에 또는 전송 신호에 포함된 코드) 또는 하드웨어 모듈로 구성될 수 있다. 하드웨어 모듈은 특정 동작을 수행할 수 있는 유형의 유닛이고 특정 방식으로 구성 또는 배치될 수 있다. 예시의 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 스탠드얼론, 클라이언트 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서들의 그룹)은 본원에서 설명된 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에서, 하드웨어 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 (예를 들어, 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 애플리케이션 특정 집적 회로(ASIC)와 같은 특수 목적 프로세서로서) 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 모듈은 또한 특정 동작을 수행하도록 소프트웨어에 의해 임시로 구성되는 (예를 들어, 범용 프로세서 또는 다른 프로그래밍가능한 프로세서 내에 포함되는) 프로그래밍가능한 로직 또는 회로을 포함할 수 있다. 기계적으로 하드웨어 모듈을 전용으로 그리고 영구적으로 구성된 회로에서 구현할지 또는 임시로 구성된 (예를 들어, 소프트웨어에 의해 구성된) 회로에서 구현할지의 결정은 비용 및 시간 고려사항에 의해 좌우될 수 있음이 이해될 것이다.
따라서, 용어 "하드웨어 모듈"은 특정 방식으로 동작하도록 및/또는 본원에서 설명된 특정 동작을 수행하도록 물리적으로 구성된, 영구적으로 구성된(예를 들어, 유선으로 구성된) 또는 임시로 구성된(예를 들어, 프로그래밍된) 엔티티인, 유형의 엔티티를 포함하는 것으로 이해될 것이다. 하드웨어 모듈이 임시적으로 구성된(예를 들어, 프로그래밍된) 실시예를 고려하면, 하드웨어 모듈의 각각은 시간 중 어느 하나의 인스턴스에서 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 개별적인 상이한 하드웨어 모듈로서 구성될 수 있다. 따라서 소프트웨어는, 예를 들어, 시간 중 하나의 인스턴스에서 특정 하드웨어 모듈을 구성하고 시간 중 상이한 인스턴스에서 상이한 하드웨어 모듈로 구성되도록 프로세서를 구성할 수 있다.
하드웨어 모듈들은 다른 하드웨어 모듈들로 정보를 제공하고 그로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신가능하게 연결된 것으로 간주된다. 다수의 이러한 하드웨어 모듈이 동시에 존재하는 경우, 통신은 신호 전송을 통해 (예를 들어, 하드웨어 모듈을 연결하는 적합한 회로 및 버스를 통해) 달성될 수 있다. 다수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어 모듈 간의 통신은, 예를 들어, 다수의 하드웨어 모듈이 액세스하는 메모리 구조에서의 정보의 저장 및 인출을 통해, 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 통신가능하게 연결된 메모리 장치에 그 동작의 출력을 저장할 수 있다. 추가의 하드웨어 모듈은 또한, 나중에, 메모리 장치에 액세스하여 저장된 출력을 인출 및 처리할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 장치와의 통신을 개시할 수 있고, 리소스(예를 들어, 정보의 수집)에 대해 동작할 수 있다.
본원에서 설명된 예시의 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들어, 소프트웨어에 의해) 임시로 구성되거나 또는 영구적으로 구성된 하나 이상의 프로세서에 의해, 적어도 부분적으로, 수행될 수 있다. 임시적으로 또는 영구적으로 구성되는지 여부와 상관 없이, 이러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서로 구현된 모듈로 구성될 수 있다. 본원에서 지칭되는 모듈은, 일부 예시적인 실시예에서, 프로세서로 구현된 모듈을 포함할 수 있다.
유사하게, 본원에서 설명된 방법은 적어도 부분적으로 프로세서로 구현될 수 있다. 예를 들어, 방법의 동작 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서로 구현된 모듈에 의해 수행될 수 있다. 특정 동작의 성능은 단일 머신 내에 존재할 뿐만 아니라 다수의 머신에 걸쳐 배치되는 하나 이상의 프로세서 사이에서 분산될 수 있다. 일부 예시의 실시예에서, 프로세서 또는 프로세서들은 단일 위치(예를 들어, 가정 환경, 사무실 환경 내에 또는 서버 팜으로서)에 위치될 수 있고, 반면 다른 실시예에서 프로세서는 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 "SaaS(software as service)"로서 관련 동작의 성능을 지원하도록 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부는 컴퓨터들(예를 들어, 프로세서를 포함하는 머신들)의 그룹에 의해 수행될 수 있고, 이들 동작은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적합한 인터페이스(예를 들어, API(Application Program Interfaces))를 통해 액세스가능하다.
전자 장치 및 시스템
예시적인 실시예는 디지털 전자 회로에서, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어에서, 또는 이들의 조합에서 구현될 수 있다. 예시적인 실시예는 데이터 처리 장치, 예를 들어, 프로그래밍가능한 프로세서, 컴퓨터, 또는 다수의 컴퓨터의 동작에 의해 실행되거나 그 동작을 제어하기 위해 정보 캐리어, 예를 들어 머신 판독가능한 매체 내에 유형으로 수록된 컴퓨터 프로그램 제품, 예를 들어 컴퓨터 프로그램을 사용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일된 또는 해석된 언어를 비롯하여 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 스탠드 얼론 프로그램 또는 모듈, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 비롯하여 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 하나의 사이트에서의 다수의 컴퓨터 상에서 실행되거나, 또는 다수의 사이트에 걸쳐 분산되고 통신 네트워크에 의해 상호접속되도록 배치될 수 있다.
예시적인 실시예에서, 동작은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하는 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 방법 동작은 또한 예시적인 실시예의 장치에 의해 수행될 수 있고, 이 장치는 특수 목적 로직 회로(예를 들어, 필드 프로그래밍가능한 게이트 어레이(FPGA) 또는 애플리케이션 특정 집적 회로(ASIC))로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있고 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 개별적인 컴퓨터 상에서 구동하고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 구축된다. 프로그래밍가능한 컴퓨팅 시스템을 배치하는 실시예에서, 하드웨어 및 소프트웨어 아키텍쳐 모두가 고려되어야 함이 이해될 것이다. 구체적으로, 특정 기능을 영구적으로 구성된 하드웨어(예를 들어, ASIC)로 구현할지, 임시로 구성된 하드웨어(예를 들어, 소프트웨어 및 프로그래밍가능한 프로세서의 조합)로 구현할지 또는 영구적으로 그리고 임시적으로 구성된 하드웨어의 조합으로 구현할지의 선택은 설계에 따른 선택이 될 수 있음이 이해될 것이다. 다양한 예시적인 실시예에서, 배치될 수 있는 하드웨어(예를 들어, 머신) 및 소프트웨어 아키텍쳐가 이하에서 제시된다.
예시적인 머신 아키텍쳐 및 머신 판독가능 매체
도 9는 예시적인 형태의 컴퓨터 시스템(900) 내의 머신을 나타내며, 이 시스템(900) 내에서 명령어(924)의 세트는 머신으로 하여금 본원에서 설명된 방법 중 어느 하나 이상을 수행하게 한다. 일부 실시예에 따르면, 컴퓨터 시스템(900)은 클라이언트 장치(106), 제3자 서버(114) 또는 애플리케이션 서버(124)에 대응할 수 있다. 대안의 실시예에서, 머신은 스탠드얼론 장치로서 동작하거나 다른 머신에 연결(예를 들어, 네트워킹)될 수 있다. 네트워킹된 배치에서, 머신은 서버-클라이언트 네트워크 환경에서 서버 또는 클라이언트 머신으로서 또는 피어 투 피어(또는 분산된) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신은 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인용 디지털 보조장치(PDA), 셀룰러 전화기, 스마트폰(예를 들어, iPhone®), 태블릿 컴퓨터, 웹 어플라이언스, 네트워크 라우터, 스위치 또는 브릿지, 또는 머신에 의해 취해질 액션을 특정하는 (순차적인 또는 다른 것의) 명령어를 실행할 수 있는 임의의 머신이 될 수 있다. 또한, 오직 단일 머신이 도시되었지만, 용어 "머신"은 또한 본원에서 설명된 방법 중 어느 하나 이상을 수행하는 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 머신의 임의의 집합을 포함하도록 간주될 것이다.
예시적인 컴퓨터 시스템(900)은 버스(908)를 통해 서로 통신하는, 프로세서(902)(예를 들어, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 또는 둘다), 주 메모리(904), 정적 메모리(906)를 포함한다. 컴퓨터 시스템(900)은 비디오 디스플레이 유닛(910)(예를 들어, 액정 디스플레이(LCD) 또는 음극선관(CRT))을 더 포함할 수 있다. 컴퓨터 시스템(900)은 또한 하나 이상의 입/출력 장치(912), 위치확인 컴포넌트(914), 디스크 드라이브 유닛(916), 신호 생성 장치(918)(예를 들어, 스피커) 및 네트워크 인터페이스 장치(920)를 포함한다. I/O 장치(912)는 예를 들어 키보드, 마우스, 키패드, 멀치터치 표면(예를 들어, 터치스크린 또는 트랙 패드), 마이크로폰, 카메라 등을 포함할 수 있다.
위치확인 컴포넌트(913)는 컴퓨터 시스템(900)의 위치를 결정하는데 사용될 수 있다. 일부 실시예에서, 위치확인 컴포넌트(914)는 GPS 위성과 GPS 신호를 통신하기 위해 네트워크 인터페이스 장치(920)를 이용할 수 있는 GPS 트랜시버에 대응할 수 있다. 위치확인 컴포넌트(914)는 또한 인터넷 프로토콜(IP) 어드레스 룩업을 사용함으로써 또는 근처의 이동 통신 타워에 기초하여 위치를 삼각측량함으로써 컴퓨터 시스템(900)의 위치를 결정하도록 구성될 수 있다. 위치확인 컴포넌트(914)는 사용자 지정 위치를 주 메모리(904) 또는 정적 메모리(906)에 저장하도록 더 구성될 수 있다. 일부 실시예에서, 이동 위치확인 가능 애플리케이션은 컴퓨터 시스템(900)을 동작시키는 사용자의 위치를 식별하기 위해 위치확인 컴포넌트(914) 및 네트워크 인터페이스 장치(920)와 함께 동작하여 컴퓨터 시스템(900)의 위치를 애플리케이션 서버 또는 제3자 서버에 전송할 수 있다.
일부 실시예에서, 네트워크 인터페이스 장치(920)는 트랜시버 및 안테나에 대응할 수 있다. 트랜시버는 컴퓨터 시스템(900)의 특성에 따라, 셀룰러 네트워크 신호, 무선 데이터 신호 또는 그 밖의 다른 유형의 신호를 안테나를 통해 전송 및 수신하도록 구성될 수 있다.
머신 판독가능 매체
디스크 드라이브 유닛(916)은 본 명세서에서 설명된 방법 또는 기능 중 어느 하나 이상을 구현하거나 또는 이에 의해 활용되는 데이터 구조 및 명령어(924)(예를 들어, 소프트웨어)의 하나 이상의 세트가 저장된 머신 판독가능 매체(922)를 포함한다. 명령어(924)는 또한 컴퓨터 시스템(900)에 의해 실행되는 동안 주 메모리(904), 정적 메모리(906) 및/또는 프로세서(902) 내에서, 완전하게 또는 적어도 부분적으로 존재할 수 있고, 주 메모리(904) 및 프로세서(902)는 또한 머신 판독가능 매체를 구성한다.
일부 실시예에 따르면, 명령어(924)는 운영 체제(OS)의 동작에 관한 것일 수 있다. 또한, 명령어(924)는 일부 실시예에 따르면 애플리케이션(일반적으로는 "앱"으로 알려져 있음)에 의해 수행되는 동작에 관한 것일 수 있다. 이러한 애플리케이션에 대한 하나의 예는 웹페이지와 같은 콘텐츠 또는 브라우저를 이용하는 사용자 인터페이스를 디스플레이하는 모바일 브라우저 애플리케이션이다.
머신 판독가능 매체(922)는 예시적인 실시예에서 단일 매체로 도시되어 있지만, 용어 "머신 판독가능 매체"는 하나 이상의 데이터 구조 및 명령어(924)를 저장하는 단일 매체 또는 다중 매체(예를 들어, 중앙 또는 분산 데이터베이스 및/또는 연관된 캐시 및 서버)를 포함할 수 있다. 용어 "머신 판독가능 매체"는 또한 머신에 의해 실행되는 경우 이 머신으로 하여금 본 발명의 본 실시예의 방법 중 어느 하나 이상을 수행할 수 있게 해주는 명령어(예를 들어, 명령어(924))를 저장, 인코딩 또는 반송할 수 있거나, 또는 이러한 명령어에 의해 활용되거나 이와 연관된 데이터 구조를 저장, 인코딩 또는 반송할 수 있는 임의의 유형의 매체를 포함하는 것으로 간주되어야 한다. 따라서, 용어 "머신 판독가능 매체"는 고체 상태 메모리, 및 광학 및 자기 매체를 포함하지만, 이에 제한되지 않는 것으로 간주되어야 한다. 머신 판독가능 매체의 특정 예시들은 비휘발성 메모리, 예를 들어 반도체 메모리 장치(예컨대, 소거가능한 프로그래밍가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍가능한 판독 전용 메모리(EEPROM) 및 플래시 메모리 장치, 내장 하드 디스크 및 이동식 디스크와 같은 자기 디스크, 자기 광학 디스크, 및 CD-ROM 및 DVD-ROM 디스크를 포함한다.
또한, 유형의 머신 판독가능 매체는 전파 신호를 포함하지 않는 점에서 비-일시적 매체이다. 그러나, 유형의 머신 판독가능 매체를 "비-일시적인"으로 표현하더라도, 그 매체가 이동될 수 없다는 것을 의미하는 것으로 해석되어서는 안되며, 즉 매체는 하나의 실제 세계 위치에서 다른 실제 세계 위치로 이동가능한 것으로 간주되어야 한다. 또한, 머신 판독가능 매체는 유형이기 때문에, 매체는 머신 판독가능 장치로서 간주될 수 있다.
전송 매체
명령어(924)는 또한 전송 매체를 사용하여 통신 네트워크(926)를 통해 전송 또는 수신될 수 있다. 명령어(924)는 네트워크 인터페이스 장치(920) 및 다수의 잘 알려진 전송 프로토콜(예를 들어, HTTP) 중 어느 하나를 사용하여 전송될 수 있다. 통신 네트워크의 예시들은 LAN, WAN, 인터넷, 모바일 전화 네트워크, POTS(Plain Old Telephone) 네트워크, 및 무선 데이터 네트워크(예를 들어, 와이파이 및 와이맥스 네트워크)를 포함한다. 용어 "전송 매체"는 머신에 의해 실행되는 명령어를 저장, 인코딩 또는 반송할 수 있는 임의의 무형 매체를 포함하는 것으로 간주되어야 하고 이러한 소프트웨어의 통신을 용이하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형 매체를 포함한다.
본 발명의 실시예는 특정 예시적인 실시예를 참조하여 설명되었지만, 이들 실시예는 본 발명의 보다 넓은 범주를 벗어나지 않으면서 다양한 수정 및 변경이 행해질 수 있음은 자명할 것이다. 따라서, 명세서 및 도면은 제한적인 의미 보다는 예시적인 것으로서 고려되어야한다. 본원의 일부를 형성하는 첨부 도면은 본 발명이 실시될 수 있는 특정 실시예를 제한이 아닌 예시적인 방식으로 보여준다. 예시된 실시예는 당업자가 본원에서 개시된 내용을 실시하는 것을 가능하게 하도록 충분히 자세하게 설명된다. 다른 실시예가 이로부터 도출되고 활용될 수 있어서, 구조적 및 논리적인 교체 및 변경이 본 개시의 범위로부터 벗어남이 없이 수행될 수 있다. 따라서, 본 상세한 설명은 제한의 의미로 취급되어서는 아니되고, 다양한 실시예의 범위는 첨부된 청구항이 권리를 갖는 등가물의 전체 범위와 함께, 첨부된 청구항에 의해서만 정의된다.
본 발명의 이러한 실시예는, 둘 이상이 실제로 개시되어 있다면 본 출원의 범위를 임의의 단일 발명 또는 발명의 개념에 자발적으로 국한시키려는 의도 없이 편의성을 위해 단지 "발명"이라는 용어로 개별적으로 및/또는 집합적으로 지칭될 수 있다. 따라서, 비록 특정 실시예가 본원에서 도시되고 설명되었지만, 동일한 목적을 달성하도록 계산된 임의의 구성이 도시된 특정 실시예에 대해 대체될 수 있음이 이해될 것이다. 본 개시는 다양한 실시예의 임의의 그리고 모든 적응 또는 변형을 커버하려 한다. 전술한 실시예들의 조합 및 본원에서 특별하게 도시되지 않은 다른 실시예들도 전술한 설명을 바탕으로 당업자에게 명백해질 것이다.
본원에서 참조되는 모든 공개 문헌, 특허, 특허 문헌은 개별적으로 인용되는 것처럼 이들 전체가 본원에서 참조로써 인용된다. 본원과 이와 같이 참조로써 인용되는 이들 문헌 사이에서 사용(usage)이 일관되지 않는 경우, 인용된 참조 문헌에서의 사용은 본원의 사용에 대한 보충으로서 고려되어야하고, 양립할 수 없는 불일치에 대해, 본원에서의 사용이 주도권을 갖는다.
본 문서에서, "적어도 하나"라는 표현이 사용되든 또는 "하나 이상"이라는 표현이 사용되든, 본원에서는 일반적으로 단수의 표현이 하나 이상을 포함하도록 사용된다. 본 문서에서, 달리 나타내지 않는다면, 용어 "또는"은 비배타적인 또는(nonexclusive or)을 지칭하도록 사용되어, "A 또는 B"는 "A 이지만 B는 아닌", "B 이지만 A는 아닌", 및 "A 그리고 B"를 포함한다. 첨부된 청구항에서, 용어 "포함하는(including)" 및 "여기서(in which)"는 각각의 용어 "포함하는(comprising)" 및 "여기서(wherein)"와 평이한 영문 동의어로서 사용된다. 또한, 후속하는 청구항에서, 용어 "포함하는(including)" 및 "포함하는(comprising)"은 확장가능(open-ended)하고, 즉, 청구항에서 이러한 용어 이후에 나열되는 것 이외의 구성요소를 포함하는 시스템, 장치, 제품, 또는 프로세서도 여전히 청구항의 범위 내에 속하는 것으로 간주된다. 또한, 다음의 청구항에서, 용어 "제 1", "제 2", 및 "제 3" 등은 단지 표시로서 사용되고, 이들의 대상에 수치적인 필요조건을 부과하려는 것은 아니다.

Claims (20)

  1. 머신의 프로세서와,
    머신 판독가능 저장 매체
    를 포함하되,
    상기 머신 판독가능 저장 매체는
    통신 세션의 상태를 저장하는 사용자 입력을 수신하도록 구성된 사용자 입력 모듈 - 상기 통신 세션은 사용자의 제1 클라이언트 장치와 수립되고, 상기 통신 세션은 상기 제1 클라이언트 장치상에 콘텐츠를 제시하는 것을 포함함 - 과,
    상기 사용자 입력의 수신에 응답하여, 상기 통신 세션의 지속기간 동안 상기 통신 세션의 상태를 나타내는 세션 데이터를 일시적으로 저장하도록 구성된 상태 모듈과,
    스크래치패드 인터페이스(scratchpad interface)를 생성하도록 구성된 사용자 인터페이스 모듈을 포함하고,
    상기 스크래치패드 인터페이스는,
    상기 세션 데이터에 의해 나타내지는 상기 통신 세션의 상태에 대응하고, 사용자 선택을 통하여 상기 통신 세션의 상태를 복원하도록 동작가능한, 시각적 요소와,
    사용자 선택을 통하여 상기 세션 데이터와 추가 세션 데이터의 시각적 비교를 디스플레이하도록 동작가능한 선택가능 요소를 포함하고,
    상기 사용자 인터페이스 모듈은 상기 제1 클라이언트 장치가 상기 콘텐츠의 제시와 함께 적어도 상기 스크래치패드 인터페이스의 일부를 제시하게 하는 명령어를 상기 제1 클라이언트 장치에 제공하도록 또한 구성되고,
    상기 사용자 인터페이스 모듈은 상기 제1 클라이언트 장치가 상기 스크래치패드 인터페이스에 포함된 상기 선택가능 요소의 사용자 선택에 응답하여 상기 스크래치패드 인터페이스의 일부에 상기 세션 데이터와 상기 추가 세션 데이터의 상기 시각적 비교를 제시하도록 또한 구성되고,
    상기 시각적 비교는 제1 아이템에 대응하는 제1 속성의 세트와 제2 아이템에 대응하는 제2 속성의 세트의 디스플레이를 포함하는,
    시스템.
  2. 제1항에 있어서,
    상기 사용자 인터페이스 모듈은 제2 클라이언트 장치가 상기 스크래치패드 인터페이스를 제시하게 하는 명령어를 상기 제2 클라이언트 장치에 제공하도록 또한 구성되고, 상기 제2 클라이언트 장치와의 통신 세션이 수립되는
    시스템.
  3. 제1항에 있어서,
    상기 상태 모듈은 상기 사용자가 상기 통신 세션을 종료하는 것에 응답하여 상기 세션 데이터를 삭제하도록 또한 구성되는
    시스템.
  4. 제1항에 있어서,
    상기 사용자 입력은 상기 제1 클라이언트 장치의 멀티 터치 입력 표면상에서 수신되는 터치 기반 제스처인
    시스템.
  5. 제1항에 있어서,
    상기 세션 데이터는 상기 통신 세션으로부터의 클릭스트림 데이터를 포함하는
    시스템.
  6. 제1항에 있어서,
    상기 스크래치패드 인터페이스는, 활성화되는 경우 상기 제1 클라이언트 장치가 상기 세션 데이터에 의해 표현되는 상기 통신 세션의 상태를 복원하게 하는 링크를 포함하는
    시스템.
  7. 제1항에 있어서,
    상기 사용자 입력 모듈은 상기 통신 세션의 추가 상태를 저장하는 추가 사용자 입력을 수신하도록 또한 구성되고, 상기 상태 모듈은 상기 통신 세션의 지속기간 동안 상기 통신 세션의 상기 추가 상태를 나타내는 추가 세션 데이터를 저장하도록 또한 구성되는
    시스템.
  8. 제7항에 있어서,
    상기 스크래치패드 인터페이스는 상기 세션 데이터와 상기 추가 세션 데이터의 비교를 더 포함하는
    시스템.
  9. 사용자의 제1 클라이언트 장치와의 통신 세션을 수립하는 단계 - 상기 통신 세션은 상기 제1 클라이언트 장치상에 콘텐츠를 제시하는 것을 포함함 - 와,
    상기 통신 세션의 상태를 저장하는 사용자 입력을 수신하는 단계와,
    상기 사용자 입력의 수신에 응답하여, 상기 통신 세션의 지속기간 동안 상기 통신 세션의 상태를 나타내는 세션 데이터를 일시적으로 저장하는 단계와,
    스크래치패드 인터페이스를 생성하는 단계 - 상기 스크래치패드 인터페이스는, 상기 세션 데이터에 의해 나타내지는 상기 통신 세션의 상태에 대응하고 사용자 선택을 통하여 상기 통신 세션의 상태를 복원하도록 동작가능한 시각적 요소와, 사용자 선택을 통하여 상기 세션 데이터와 추가 세션 데이터의 시각적 비교를 디스플레이하도록 동작가능한 선택가능 요소를 포함함 - 와,
    상기 제1 클라이언트 장치가 상기 콘텐츠의 제시와 함께 적어도 상기 스크래치패드 인터페이스의 일부를 제시하게 하는 명령어를 상기 제1 클라이언트 장치에 제공하는 단계와,
    상기 스크래치패드 인터페이스에 포함된 상기 선택가능 요소의 사용자 선택에 응답하여, 상기 제1 클라이언트 장치가 상기 스크래치패드 인터페이스의 일부에 상기 세션 데이터와 상기 추가 세션 데이터의 상기 시각적 비교를 제시하게 하는 명령어를 상기 제1 클라이언트 장치에 제공하는 단계 - 상기 시각적 비교는 제1 아이템에 대응하는 제1 속성의 세트와 제2 아이템에 대응하는 제2 속성의 세트의 디스플레이를 포함함 - 를 포함하는
    방법.
  10. 제9항에 있어서,
    상기 사용자의 제2 클라이언트 장치와의 통신 세션을 수립하는 단계- 상기 통신 세션은 상기 사용자의 상기 제2 클라이언트 장치상에 콘텐츠를 제시하는 것을 포함함 -와,
    상기 제2 클라이언트 장치가 콘텐츠와 함께 상기 스크래치패드 인터페이스를 상기 사용자의 상기 제2 클라이언트 장치에 제시하게 하는 명령어를 상기 제2 클라이언트 장치에 제공하는 단계
    를 더 포함하는 방법.
  11. 제9항에 있어서,
    만료 기간이 경과했음을 판정하는 단계와,
    상기 만료 기간이 경했다는 판정에 응답하여, 상기 세션 데이터를 삭제하는 단계
    를 더 포함하는 방법.
  12. 제9항에 있어서,
    상기 사용자 입력은 상기 제1 클라이언트 장치의 멀티 터치 입력 표면상에서 수신된 터치 기반 제스처인
    방법.
  13. 제9항에 있어서,
    상기 세션 데이터는 상기 제1 클라이언트 장치로부터 수신된 복수의 요청을 포함하는 방법.
  14. 제13항에 있어서,
    상기 복수의 요청은 상기 사용자에 의해 수행된 검색 쿼리를 포함하는
    방법.
  15. 제9항에 있어서,
    상기 시각적 요소에 대한 사용자 선택을 수신하는 단계와,
    상기 통신 세션의 상태를 복원하는 단계
    를 더 포함하는 방법.
  16. 제9항에 있어서,
    상기 통신 세션의 추가 상태를 저장하는 추가 사용자 입력을 수신하는 단계와,
    상기 추가 사용자 입력의 수신에 응답하여, 상기 통신 세션의 지속기간 동안 상기 통신 세션의 상기 추가 상태를 나타내는 추가 세션 데이터를 일시적으로 저장하는 단계와,
    상기 제1 클라이언트 장치가 상기 추가 세션 데이터의 시각적 표현을 포함하도록 상기 스크래치패드 인터페이스를 업데이트하게 하는 명령어를 상기 제1 클라이언트 장치에 제공하는 단계
    를 더 포함하는 방법.
  17. 제9항에 있어서,
    상기 사용자 입력은 상기 통신 세션의 일부로서 디스플레이된 상기 콘텐츠의 일부를 상기 스크래치패드 인터페이스로 드래깅하는
    방법.
  18. 제9항에 있어서,
    상기 제1 클라이언트 장치가 상기 추가 세션 데이터에 대한 상기 세션 데이터의 비교를 제시하게 하는 명령어를 상기 제1 클라이언트 장치에 제공하는 단계를 더 포함하는
    방법.
  19. 제9항에 있어서,
    상기 세션 데이터 및 상기 추가 세션 데이터는 판매용으로 제공된 아이템을 포함하고, 판매용으로 제공된 상기 아이템 각각은 적어도 하나의 아이템 속성을 가지며, 상기 세션 데이터와 상기 추가 세션 데이터의 비교를 제시하는 것은 판매용으로 제공된 각 아이템의 상기 적어도 하나의 아이템 속성을 제시하는 것을 포함하는
    방법.
  20. 명령어를 포함하는 비일시적 머신 판독가능 저장 매체로서,
    상기 명령어는 머신에 의해 실행되는 경우 상기 머신으로 하여금,
    클라이언트 장치와 통신 세션을 수립하는 단계 - 상기 통신 세션은 상기 클라이언트 장치 상에 콘텐츠를 제시하는 것을 포함함 - 와,
    상기 통신 세션의 상태를 저장하는 사용자 입력을 수신하는 단계와,
    상기 사용자 입력의 수신에 응답하여, 상기 통신 세션의 지속기간 동안 상기 통신 세션의 상태를 나타내는 세션 데이터를 일시적으로 저장하는 단계와,
    스크래치패드 인터페이스를 생성하는 단계 - 상기 스크래치패드 인터페이스는, 상기 세션 데이터에 의해 나타내지는 상기 통신 세션의 상태에 대응하고 사용자 선택을 통하여 상기 통신 세션의 상태를 복원하도록 동작가능한 시각적 요소와, 사용자 선택을 통하여 상기 세션 데이터와 추가 세션 데이터의 시각적 비교를 디스플레이하도록 동작가능한 선택가능 요소를 포함함 - 와,
    상기 클라이언트 장치가 상기 콘텐츠의 제시와 함께 적어도 상기 스크래치패드 인터페이스의 일부를 제시하게 하는 명령어를 상기 클라이언트 장치에 제공하는 단계와,
    상기 스크래치패드 인터페이스에 포함된 상기 선택가능 요소의 사용자 선택에 응답하여, 상기 클라이언트 장치가 상기 스크래치패드 인터페이스의 일부에 상기 세션 데이터와 상기 추가 세션 데이터의 상기 시각적 비교를 제시하게 하는 명령어를 상기 클라이언트 장치에 제공하는 단계 - 상기 시각적 비교는 제1 아이템에 대응하는 제1 속성의 세트와 제2 아이템에 대응하는 제2 속성의 세트의 디스플레이를 포함함 - 를 수행하게 하는,
    비일시적 머신 판독가능 저장 매체.
KR1020167019698A 2013-12-20 2014-12-18 통신 세션 상태를 저장 및 제시하는 기법 KR101858133B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/137,085 US9740777B2 (en) 2013-12-20 2013-12-20 Systems and methods for saving and presenting a state of a communication session
US14/137,085 2013-12-20
PCT/US2014/071155 WO2015095519A1 (en) 2013-12-20 2014-12-18 Saving and presenting a communication session state

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187013182A Division KR101963094B1 (ko) 2013-12-20 2014-12-18 통신 세션 상태를 저장 및 제시하는 기법

Publications (2)

Publication Number Publication Date
KR20160100393A KR20160100393A (ko) 2016-08-23
KR101858133B1 true KR101858133B1 (ko) 2018-05-16

Family

ID=53400023

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167019698A KR101858133B1 (ko) 2013-12-20 2014-12-18 통신 세션 상태를 저장 및 제시하는 기법
KR1020187013182A KR101963094B1 (ko) 2013-12-20 2014-12-18 통신 세션 상태를 저장 및 제시하는 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187013182A KR101963094B1 (ko) 2013-12-20 2014-12-18 통신 세션 상태를 저장 및 제시하는 기법

Country Status (7)

Country Link
US (3) US9740777B2 (ko)
EP (1) EP3084645A4 (ko)
KR (2) KR101858133B1 (ko)
CN (1) CN105874450A (ko)
AU (1) AU2014364512B2 (ko)
CA (1) CA2933580C (ko)
WO (1) WO2015095519A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589541B2 (en) 2012-02-28 2017-03-07 Ebay Inc. Location-based display of pixel history
USD743971S1 (en) * 2013-03-14 2015-11-24 Microsoft Corporation Display screen with graphical user interface
US9740777B2 (en) 2013-12-20 2017-08-22 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
US9549028B2 (en) 2014-02-18 2017-01-17 Ebay Inc. Systems and methods for automatically saving a state of a communication session
US10672064B2 (en) 2015-11-16 2020-06-02 Ebay Inc. On-line session trace system
US10600108B2 (en) 2016-09-26 2020-03-24 Target Brands, Inc. Web session security and computational load management
WO2019165457A1 (en) * 2018-02-26 2019-08-29 Oldcastle Buildingenvelope, Inc. Graphical user interface for creating building product literature
US11386301B2 (en) 2019-09-06 2022-07-12 The Yes Platform Cluster and image-based feedback system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066037A1 (en) * 2002-04-10 2005-03-24 Yu Song Browser session mobility system for multi-platform applications
US20090089267A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. System and method for editing history in a search results page

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366933B1 (en) 1995-10-27 2002-04-02 At&T Corp. Method and apparatus for tracking and viewing changes on the web
US5963964A (en) 1996-04-05 1999-10-05 Sun Microsystems, Inc. Method, apparatus and program product for updating visual bookmarks
US6981225B1 (en) 2000-01-31 2005-12-27 Intel Corporation Indicating the differences between Internet web pages
US7266510B1 (en) 2000-09-01 2007-09-04 International Business Machines Corporation Method for graphically representing clickstream data of a shopping session on a network with a parallel coordinate system
GB0023006D0 (en) 2000-09-20 2000-11-01 Koninkl Philips Electronics Nv Automatic bookmarks in information system
JP2002109312A (ja) 2000-10-02 2002-04-12 Styleclick:Kk ネットワークショッピングサービス方法、ネットワークショッピングサービス装置およびネットワークショッピングサービスプログラムを格納した記録媒体
US6533594B1 (en) 2000-11-16 2003-03-18 Ati Industrial Automation Apparatus and method for transferring secondary current across a robotic tool changer
US20030080986A1 (en) 2001-11-01 2003-05-01 Baird Roger T. System and method for accessing and utilizing remote bookmark lists
US8166406B1 (en) 2001-12-04 2012-04-24 Microsoft Corporation Internet privacy user interface
US20030195963A1 (en) 2002-04-10 2003-10-16 Yu Song Session preservation and migration among different browsers on different devices
US20040254844A1 (en) * 2003-06-12 2004-12-16 International Business Machines Corporation Online viewing cart
US7614004B2 (en) 2003-12-15 2009-11-03 Microsoft Corporation Intelligent forward resource navigation
JP2005242760A (ja) 2004-02-27 2005-09-08 Toppan Forms Co Ltd 情報検索支援方法並びにこの方法を使用した情報検索支援システムおよびサーバ
US7788583B1 (en) 2004-03-04 2010-08-31 Google Inc. In-page full screen internet video method
US8600784B1 (en) 2004-07-30 2013-12-03 Kayak Software Corporation Indentifying information sources to search based on rules
JP4288247B2 (ja) 2005-03-01 2009-07-01 日本電信電話株式会社 履歴作成装置、活動履歴作成方法、及び活動履歴作成プログラム
US8205172B2 (en) * 2005-03-31 2012-06-19 Microsoft Corporation Graphical web browser history toolbar
US8762547B2 (en) 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
US20070022385A1 (en) 2005-07-20 2007-01-25 Mikhail Denissov Software module, method and system for managing information items by bookmarking information items through activation of said items
US8533199B2 (en) 2005-12-14 2013-09-10 Unifi Scientific Advances, Inc Intelligent bookmarks and information management system based on the same
US7899829B1 (en) * 2005-12-14 2011-03-01 Unifi Scientific Advances, Inc. Intelligent bookmarks and information management system based on same
WO2007116705A1 (ja) 2006-03-31 2007-10-18 Nec Corporation ウェブコンテンツ閲覧情報表示装置、方法、プログラム
US7953861B2 (en) 2006-08-10 2011-05-31 International Business Machines Corporation Managing session state for web applications
US8788954B2 (en) * 2007-01-07 2014-07-22 Apple Inc. Web-clip widgets on a portable multifunction device
US20100050068A1 (en) 2007-03-08 2010-02-25 Shinya Usami Information display device
US20090265255A1 (en) * 2007-04-26 2009-10-22 John Clarke Jackson Systems, Devices, and Methods for Supporting Decisions
US20080288362A1 (en) * 2007-05-14 2008-11-20 Bamwoo! Online shopping systems and methods that include a gaming experience for shoppers
US8589811B2 (en) * 2007-07-20 2013-11-19 International Business Machines Corporation Techniques for organizing information accessed through a web browser
US7953731B2 (en) 2007-11-19 2011-05-31 Cisco Technology, Inc. Enhancing and optimizing enterprise search
JP5039932B2 (ja) 2007-12-28 2012-10-03 Nkワークス株式会社 キャプチャーソフトウエアプログラムおよびキャプチャー装置
US8433680B2 (en) 2008-07-01 2013-04-30 Oracle International Corporation Capturing and restoring database session state
US8095112B2 (en) * 2008-08-21 2012-01-10 Palo Alto Research Center Incorporated Adjusting security level of mobile device based on presence or absence of other mobile devices nearby
US20100082637A1 (en) 2008-09-30 2010-04-01 Yahoo; Inc. Web Page and Web Site Importance Estimation Using Aggregate Browsing History
GB0905953D0 (en) 2009-04-06 2009-05-20 Bowling Anthony Document editing method
US20100306171A1 (en) 2009-06-02 2010-12-02 Microsoft Corporation Timeline Experience for Restore User Interface
US8205035B2 (en) 2009-06-22 2012-06-19 Citrix Systems, Inc. Systems and methods for integration between application firewall and caching
JP2011034295A (ja) 2009-07-31 2011-02-17 Yamatake Corp 施設管理装置及び施設管理方法
JP5649944B2 (ja) 2009-12-15 2015-01-07 株式会社Nttドコモ ウェブベースのモバイルタスクを記録及び再生するためのシステム及び方法
JP5363368B2 (ja) 2010-02-01 2013-12-11 株式会社日立ソリューションズ Webアプリケーション自動実行装置
US20110213678A1 (en) 2010-02-27 2011-09-01 Robert Conlin Chorney Computerized system for e-commerce shopping in a shopping mall
US8631029B1 (en) * 2010-03-26 2014-01-14 A9.Com, Inc. Evolutionary content determination and management
US8423058B2 (en) 2010-04-07 2013-04-16 Apple Inc. Registering client computing devices for online communication sessions
US8584047B2 (en) 2010-05-18 2013-11-12 Microsoft Corporation Orbital representation of hierarchical navigation
CN102270331B (zh) * 2011-08-14 2014-05-07 黄斌 基于可视化搜索的网络购物导航方法
US9104302B2 (en) 2010-09-09 2015-08-11 Opentv, Inc. Methods and systems for drag and drop content sharing in a multi-device environment
US8817053B2 (en) 2010-09-30 2014-08-26 Apple Inc. Methods and systems for opening a file
US9110581B2 (en) * 2010-10-05 2015-08-18 Citrix Systems, Inc. Touch support for remoted applications
JP5331081B2 (ja) 2010-10-15 2013-10-30 トヨタ自動車株式会社 情報処理装置、ナビゲーション装置、データ更新方法
US9251268B2 (en) 2010-12-01 2016-02-02 Microsoft Technology Licensing, Llc Automated target specific format conversion of context information from a user query
US9552144B2 (en) * 2010-12-17 2017-01-24 Paypal, Inc. Item preview with aggregation to a list
US20160364784A9 (en) 2010-12-20 2016-12-15 Target Brands, Inc. Online Registry Splash Page
JP2012146028A (ja) 2011-01-07 2012-08-02 Nec Corp メニュー表示装置、メニュー表示方法及びプログラム
US20120185762A1 (en) 2011-01-14 2012-07-19 Apple Inc. Saveless Documents
US8856039B1 (en) * 2011-01-24 2014-10-07 Amazon Technologies, Inc. Integration of secondary content into a catalog system
US20120216124A1 (en) 2011-02-18 2012-08-23 International Business Machines Corporation Bundling web browser session contexts
US8739044B1 (en) 2011-03-04 2014-05-27 Amazon Technologies, Inc. Collaborative browsing on a network site
US8533595B2 (en) 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories
US9332294B2 (en) 2011-07-22 2016-05-03 Canon Kabushiki Kaisha Timing of displayed objects
US8907957B2 (en) 2011-08-30 2014-12-09 Apple Inc. Automatic animation generation
US20130076654A1 (en) 2011-09-27 2013-03-28 Imerj LLC Handset states and state diagrams: open, closed transitional and easel
CA2781960C (en) 2011-10-21 2017-01-24 UXP Systems Inc. System and method for providing user lifecycle management and service orchestration of multiple media services across multiple display screens
US8392617B1 (en) 2011-12-06 2013-03-05 Google Inc. Browsing context continuation across multiple devices
JP5677592B2 (ja) 2012-01-11 2015-02-25 株式会社日立製作所 データ処理方法、データ処理システム、及びデータ処理装置
US9092405B1 (en) 2012-01-26 2015-07-28 Amazon Technologies, Inc. Remote browsing and searching
US9589541B2 (en) 2012-02-28 2017-03-07 Ebay Inc. Location-based display of pixel history
US9799069B2 (en) 2012-04-26 2017-10-24 Stacked Restaurants, LLC Graphical dining interface
US20140129455A1 (en) 2012-11-06 2014-05-08 Sentence Calculator, Inc. Systems and methods for calculating statutory sentences
GB201305042D0 (en) * 2013-03-19 2013-05-01 Light In The Cloud Llp Internet navigation
CN104077693B (zh) * 2013-03-27 2016-10-26 腾讯科技(深圳)有限公司 商品对比方法、服务器、客户端及电子商务系统
US20140359735A1 (en) * 2013-05-29 2014-12-04 Sap Portals Israel Ltd Maintaining application session continuity across devices
TWI496069B (zh) 2013-06-28 2015-08-11 Insyde Software Corp Method of Judging Electronic Device and Multi - window Touch Command
JP6495907B2 (ja) * 2013-08-15 2019-04-03 ノキア テクノロジーズ オサケユイチア ブラウザ・ナビゲーションを容易にする装置および方法。
US9740777B2 (en) 2013-12-20 2017-08-22 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
US9549028B2 (en) 2014-02-18 2017-01-17 Ebay Inc. Systems and methods for automatically saving a state of a communication session

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066037A1 (en) * 2002-04-10 2005-03-24 Yu Song Browser session mobility system for multi-platform applications
US20090089267A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. System and method for editing history in a search results page

Also Published As

Publication number Publication date
US20200183987A1 (en) 2020-06-11
US10606905B2 (en) 2020-03-31
EP3084645A4 (en) 2017-02-22
US20150177934A1 (en) 2015-06-25
KR101963094B1 (ko) 2019-03-27
KR20160100393A (ko) 2016-08-23
KR20180055908A (ko) 2018-05-25
CA2933580A1 (en) 2015-06-25
AU2014364512A1 (en) 2016-06-30
WO2015095519A1 (en) 2015-06-25
US9740777B2 (en) 2017-08-22
CA2933580C (en) 2018-09-04
US20170316093A1 (en) 2017-11-02
AU2014364512B2 (en) 2017-06-15
EP3084645A1 (en) 2016-10-26
US11455348B2 (en) 2022-09-27
CN105874450A (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
JP6916351B2 (ja) 通信セッションの状態の保存
KR101858133B1 (ko) 통신 세션 상태를 저장 및 제시하는 기법
US9880714B2 (en) Dynamic loading of contextual ontologies for predictive touch screen typing
US11528319B2 (en) Automatic population of a network accessible content collection
CA2928928A1 (en) System and method for identifying purchase intent

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