KR20140078676A - 웹 페이지의 맞춤 최적화 기법 - Google Patents

웹 페이지의 맞춤 최적화 기법 Download PDF

Info

Publication number
KR20140078676A
KR20140078676A KR1020147010288A KR20147010288A KR20140078676A KR 20140078676 A KR20140078676 A KR 20140078676A KR 1020147010288 A KR1020147010288 A KR 1020147010288A KR 20147010288 A KR20147010288 A KR 20147010288A KR 20140078676 A KR20140078676 A KR 20140078676A
Authority
KR
South Korea
Prior art keywords
web page
page
web
user
computer
Prior art date
Application number
KR1020147010288A
Other languages
English (en)
Other versions
KR102021317B1 (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 KR20140078676A publication Critical patent/KR20140078676A/ko
Application granted granted Critical
Publication of KR102021317B1 publication Critical patent/KR102021317B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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
    • 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
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

웹 페이지 최적화 시스템은 사용자가 상이한 사용자 장치들에 사용될 수 있도록 최적화된 웹 페이지들을 생성할 수 있게 해준다. 웹 페이지 최적화 시스템의 일 실시예는 다수의 마스터 페이지 및 페이지 레이아웃을 포함하고, 각 마스터 페이지는 웹 사이트의 모든 페이지들에 의해 공유되는 일반화된 영역을 정의하고 각 페이지 레이아웃은 콘텐츠 및 웹 페이지 상에서의 이러한 콘텐츠의 정렬을 정의한다. 웹 페이지 최적화 시스템은 또한 다수의 채널을 정의하고 마스터 페이지 및 페이지 레이아웃을 채널에 연관시킨다. 각 채널은 사용자 장치와 연관된다. 웹 페이지 최적화 시스템은 웹 페이지 요청에 응답하여, 웹 페이지 요청의 컴포넌트들에 의해 식별된 채널과 연관된 마스터 페이지 및 페이지 레이아웃을 사용하여 웹 페이지를 렌더링한다.

Description

웹 페이지의 맞춤 최적화 기법{CUSTOM OPTIMIZATION OF WEB PAGES}
인터넷에 액세스할 수 있는 스마트폰 및 그 밖의 다른 모바일 장치의 보급으로 인해, 사용자는 이러한 모바일 장치를 사용하여 보다 자주 웹사이트를 액세스하고 있다. 그러나, 대부분의 웹사이트는 컴퓨터에 의해 액세스되도록 설계되기 때문에, 이러한 웹사이트를 액세스하는 사용자는 덜 효율적이고 덜 만족스러운 경험을 갖게 된다. 상이한 장치들로부터 웹사이트를 액세스하는 상이한 사용자들 각각이 웹사이트를 효율적으로 사용할 수 있게 하는 하나의 접근방식은 상이한 장치들에 대해 상이한 웹사이트를 제공하는 것이다. 예를 들어, www.thisone.com이라는 웹사이트를 액세스하는 사용자는 m. thisone . com의 주소를 갖는 다른 웹사이트로 리다이렉트된다. 그러나, 이러한 접근방식은 불필요한 콘텐츠 복제, 비효율적인 마케팅, 보다 낮은 검색 엔진 등급 등을 비롯하여 몇 가지 단점을 가지고 있다.
또 다른 접근방식은 최종 사용자의 스크린 크기 등과 같은 요인들에 기초하여 최종 사용자의 브라우저에 의한 상이한 캐스케이딩 스타일 시트(CSS)의 적용을 허용하는 것이다. 이러한 접근방식은 브라우저가 콘텐츠를 최종 사용자에게 어떻게 디스플레이할 지를 결정하는 것에 의존하며 따라서 CSS에 의존하는 웹사이트의 개발자는 콘텐츠의 프리젠테이션에 대한 제어를 덜 갖게 된다. 또한, 이러한 콘텐츠 중 일부가 최종 사용자에게 디스플레이되지 않는 경우에도 모든 콘텐츠가 브라우저에 전송될 필요가 있고, 이는 콘텐츠의 통신에 비효율성을 야기한다. 또 다른 접근방식은 웹사이트를 액세스하는 장치의 ID(identity)에 기초하여 콘텐츠 및 프리젠테이션 포맷을 자동으로 리팩터링(refactor)하는 도구를 사용하는 것이다. 그러나, 이 접근방식은 또한 웹사이트가 상이한 장치상에서 사용자에게 어떻게 프리젠테이션되는지에 대한 결과적인 룩앤드필(resulting look and feel)에 대해 완전한 제어를 웹사이트의 설계자에게 제공하지 못한다. 따라서, 이 접근방식은 웹사이트의 개발자에게 적절한 설계 선택권을 제공하지 못한 채 대역폭 문제만을 해결하도록 설계된다.
본 명세서에서 기술 및 청구된 실시예들은 웹 페이지 최적화 시스템을 제공함으로써 전술한 문제점을 해결하는데, 이 웹 페이지 최적화 시스템은 사용자가 상이한 사용자 장치들에 사용될 수 있도록 최적화된 웹 페이지들을 생성할 수 있게 해준다. 웹 페이지 최적화 시스템의 일 실시예에서, 웹 페이지를 생성하는데 사용되는 다수의 마스터 페이지 및 페이지 레이아웃이 정의되고, 각 마스터 페이지는 웹사이트의 모든 페이지들에 의해 공유되는 일반화된 영역을 정의하고 각 페이지 레이아웃은 콘텐츠 및 웹 페이지 상에서의 이러한 콘텐츠의 정렬을 정의한다. 웹 페이지 최적화 시스템은 또한 다수의 채널을 정의하고 이들 채널에 마스터 페이지 및 페이지 레이아웃을 연관시킨다. 각 채널은 사용자 장치와 연관된다. 웹 페이지 최적화 시스템은 요청을 생성하는 사용자 장치, 요청을 생성하는데 사용되는 브라우저 등과 같은, 웹 페이지 요청의 사용자 에이전트 스트링의 컴포넌트들을 식별하고, 이러한 웹 페이지 요청에 응답하여 웹 페이지 요청의 이러한 컴포넌트들에 의해 식별된 채널과 연관된 마스터 페이지 및 페이지 레이아웃을 사용하여 웹 페이지를 렌더링한다.
몇몇 실시예에서, 컴퓨터 프로그램 제품으로서 제조 물품이 제공된다. 컴퓨터 프로그램 제품의 일 실시예는 컴퓨팅 시스템에 의해 판독가능하고 프로세서 실행가능 프로그램을 인코딩하는 유형의 컴퓨터 프로그램 저장 매체를 제공한다. 다른 실시예들 또한 본 명세서에서 기술 및 설명된다.
본 요약은 이하 발명의 상세한 설명에서 보다 자세히 기술될 개념들 중 선택된 것들을 단순화된 형식으로 소개하기 위해 제공되는 것이다. 본 요약은 청구대상의 주된 사항 또는 핵심 사항을 밝히기 위한 것이 아니며, 청구대상의 범위를 한정하기 위한 것도 아니다.
다른 실시예들 또한 본 명세서에서 기술 및 설명된다.
도 1은 웹 페이지 최적화 시스템을 위한 예시적인 데이터 소스 및 흐름을 나타낸다.
도 2는 웹 요소들 데이터베이스의 일 예를 나타낸다.
도 3은 예시적인 마스터 페이지, 예시적인 페이지 레이아웃 및 예시적인 렌더링된 웹 페이지를 나타낸다.
도 4는 클라이언트와 웹 서버 간의 통신의 예를 나타낸다.
도 5는 웹 페이지 최적화 시스템의 예시적인 동작을 나타낸다.
도 6은 설명한 기술을 구현하는데 유용할 수 있는 예시적인 시스템을 나타낸다.
도 7은 설명한 기술을 구현하는데 유용할 수 있는 예시적인 또 다른 시스템을 나타낸다.
본 명세서에 개시된 웹 페이지 최적화 시스템은 다양한 장치 및 브라우저에 디스플레이되는 웹 페이지들의 맞춤 최적화를 제공한다. 구체적으로, 웹 페이지 최적화 시스템은 웹 페이지 요청을 생성하기 위해 사용자에 의해 사용되는 장치를 식별하고, 그 장치의 식별에 기초하여, 시스템은 요청 장치에 웹 페이지를 렌더링하는데 사용될 수 있는 맞춤 마스터 페이지 및 맞춤 페이지 레이아웃을 선택한다. 예를 들어, 요청 장치가 모바일 장치로서 식별되는 경우, 보다 작고 보다 적은 데이터 집중적인 헤더, 푸터(footer) 등을 갖는 마스터 페이지가 요청 모바일 장치에 전송될 웹 페이지를 생성하기 위해 선택된다. 유사하게, 모바일 장치 상에서의 디스플레이를 위해 최적화된 데이터를 갖는 페이지 레이아웃이 이러한 페이지를 생성하기 위해 사용된다. 일 실시예에서, 다수의 채널이 또한 정의되고, 각 채널은 마스터 페이지 및 페이지 레이아웃과 연관된다.
웹 페이지 최적화 시스템은 사용자가 모바일 전화기, 스마트폰, 랩탑 등과 같은 다수의 장치를 위해 최적화된 웹 페이지를 생성하는데 동일한 콘텐츠를 사용할 수 있게 해준다. 그 결과, 상이한 장치들을 갖는 사용자는 동일한 웹 URL(uniform resource locator)으로부터 콘텐츠를 액세스할 수 있다. 이러한 접근방식은 웹사이트에 대한 임의의 검색 엔진 랭킹, 마케팅 캠페인 등이 웹사이트를 액세스하기 위해 사용자에 의해 사용되는 장치와 무관하게, 모든 사용자들로부터 웹사이트로의 결합된 웹 트래픽을 사용할 수 있게 보장한다. 또한, 웹 페이지 최적화 시스템은 모바일 장치들을 정의함에 있어 상이한 레벨의 특이성(specificity)을 제공한다. 예를 들어, 모든 스마트폰을 위한 웹 페이지를 생성하기 위해 일반적인 스마트폰 채널이 제공될 수 있는 반면, 윈도우 폰 7 운영 체제를 사용하는 모바일 장치를 위한 웹 페이지를 생성하기 위해 별개의 채널이 또한 정의될 수 있다.
도 1은 웹 페이지 최적화 시스템(100)에 대한 예시적인 데이터 소스 및 흐름을 나타낸다. 구체적으로, 웹 페이지 최적화 시스템(100)은 www.newgeographic.com의 URL을 갖는 뉴 지오그래픽 매거진에 대한 웹 페이지를 렌더링 및 통신하는데 사용된다. 웹 페이지 최적화 시스템(100)은 뉴 지오그래픽 매거진의 웹사이트를 방문하는 사용자를 위한 최적화된 웹 페이지를 생성하는데 사용되는 다양한 템플릿 요소들을 저장하는데 사용되는 데이터베이스(102)를 포함한다. 일 실시예에서, 이러한 템플릿 요소들은 다양한 마스터 페이지, 다양한 페이지 레이아웃 등을 포함한다. 예를 들어, 데이터베이스(102)는 뉴 지오그래픽 웹사이트의 모든 페이지에 의해 공유되는 헤더와 같은 일반화된 영역을 제공하는 마스터 페이지 I(108)를 포함한다. 구체적으로, 마스터 페이지 I(108)는 뉴 지오그래픽 매거진의 웹사이트를 방문하기 위해 모바일 전화기를 사용하는 방문자에게 제공될 웹 페이지를 렌더링하는데 사용된다. 유사하게, 마스터 페이지 II(110)는 뉴 지오그래픽 웹사이트의 모든 웹 페이지들이 컴퓨터를 사용하여 뉴 지오그래픽 매거진의 웹사이트를 방문하는 방문객에게 제공되는 경우 뉴 지오그래픽 웹사이트의 모든 웹 페이지들에 의해 공유되는 헤더, 사이드-바, 푸터 등과 같은 일반화된 영역을 제공한다. 모바일 전화기는 일반적으로 웹 페이지를 디스플레이하기 위한 뷰잉 공간(viewing space)의 양을 제한적으로 가지고 있기 때문에, 마스터 페이지 I(108)는 웹 페이지를 생성하는 작은 헤더만을 포함하고, 측면 배너는 사용되지 않는다. 한편, 사용자가 컴퓨터를 이용하여 뉴 지오그래픽의 웹사이트를 방문하는 경우, 마스트 페이지 II(110)는 보다 넉넉하고 풍부한 경험을 사용자에게 제공하는 웹 페이지들을 생성하는데 사용된다.
데이터베이스(102)는 또한 모바일 전화기 상에 콘텐츠를 디스플레이하기 위해 구성된 페이지 레이아웃 I(112)과 컴퓨터 스크린 상에 콘텐츠를 디스플레이하기 위해 구성된 페이지 레이아웃 II(114)을 포함한다. 도 1에 도시되어 있는 바와 같이, 페이지 레이아웃 II(114) 상에 제공되는 콘텐츠 공간의 양에 비교해 보다 적은 양의 콘텐츠 공간이 페이지 레이아웃 I(112) 상에 제공된다. 일 실시예에서, 페이지 레이아웃(112,114)에는 다수의 패널(panels)이 제공되는데, 패널 내의 콘텐츠는 소정 타입의 장치 상에서만 디스플레이된다. 따라서, 많은 양의 수치 데이터를 포함하는 패널은 컴퓨터 상에서 디스플레이될 웹 페이지 내에 포함되는 패널로서 웹 페이지 개발자에 의해 식별될 수 있다. 그러나, 이러한 수치 데이터는 모바일 장치 상에 디스플레이될 웹 페이지에는 포함되지 않을 것이다. 데이터베이스는 또한 다양한 채널(104,106)을 포함한다. 다양한 채널(104,106) 각각은 다양한 템플릿 요소와 연관된다. 예를 들어, 모바일 채널(104)은 마스터 페이지 I(108) 및 레이아웃 I(112)와 연관되고, 컴퓨터 채널(106)은 마스터 페이지 II(110) 및 레이아웃 II(114)와 연관된다.
일 실시예에서, 데이터베이스(102)는 사용자들이 뉴 지오그래픽 매거진에 대한 웹사이트를 방문하는 경우 사용자들에게 웹 페이지를 제공하는 웹서버 상에서 호스팅된다. 사용자가 웹 페이지를 요청하는 경우, 사용자는 또한 웹 페이지를 방문하기 위해 사용자에 의해 사용되는 장치와 같은 사용자에 대한 다양한 다른 정보, 사용자를 식별하는 다른 정보 등을 전송한다. 이러한 정보의 일 예는 사용자 에이전트 스트링이 사용자 장치 브라우저로부터 웹 페이지를 제공하는 웹서버로 전송한 하이퍼텍스트 전송 프로토콜(http)이다. 예를 들어, 사용자가 브라우저를 사용하여 뉴 지오그래픽 매거진의 웹사이트를 액세스하는 경우, www.newgeographic.com의 URL(130)과 함께 사용자 스트링을 포함하는 http 요청은 웹사이트를 호스팅하는 웹서버에 전송된다. http 요청에 포함된 사용자 에이전트 스트링은 사용자를 식별하는 다양한 정보, 예를 들어 사용자에 의해 사용되는 브라우저, 사용자에 의해 사용되는 장치, 사용자의 지리적 위치 등을 포함한다. 따라서, 예를 들어, 모바일 전화 사용자(122)가 뉴 지오그래픽 매거진의 웹사이트를 액세스하기 위한 요청을 전송하는 경우, 이러한 요청에 첨부된 사용자 에이전트 스트링은 모바일 전화 사용자(122)에 의해 사용되는 장치, 모바일 전화 사용자(122)에 의해 사용되는 브라우저 등을 식별하는 정보를 포함한다. 이러한 사용자 에이전트 스트링(user agent string)의 일 예는 다음과 같다.
Figure pct00001
이러한 User Agent String I는 모바일 전화 사용자(122)로부터 전송된 요청이 장치를 브라우저로서 "모바일 사파리"를 사용하는 것으로 식별하는 것으로 확인한다. 한편, 컴퓨터 사용자(124)가 뉴 지오그래픽 매거진의 웹사이트를 액세스하기 위한 요청을 전송하는 경우, 이러한 요청에 첨부된 사용자 에이전트 스트링은 상이한 컴포넌트들 또는 컴포넌트 값들을 포함할 것이다. 이러한 사용자 스트링의 일 예는 다음과 같다.
Figure pct00002
웹사이트를 액세스하기 위한 요청이 수신되면, 장치 식별 엔진(132)은 이러한 요청을 파싱하고 사용자 에이전트 스트링의 다양한 컴포넌트들을 분석한다. 따라서, User Agent String I을 수신하면, 장치 식별 엔진(132)은 사용자 장치를 SafariTM 웹 브라우저를 사용하는 AndroidTM 모바일 장치로서 식별한다. 한편, User Agent String II가 수신되는 경우, 장치 식별 엔진(132)은 사용자 장치를 Internet ExplorerTM 8을 웹 브라우저로 사용하는 컴퓨터로서 식별한다. 이어서, 채널 선택 엔진(134)이 사용자 장치의 식별에 기초하여 채널을 선택한다. 예를 들어, 사용자 장치가 모바일 장치로 식별되는 경우, 채널 선택 엔진(134)은 모바일 채널(104)을 선택한다. 한편, 사용자 장치가 컴퓨터로서 식별되는 경우, 채널 선택 엔진(134)은 컴퓨터 채널(106)을 선택한다.
채널 선택 엔진(134)이 채널을 선택하면, 선택된 채널과 연관된 마스터 페이지 및 페이지 레이아웃이 사용되어 사용자에게 제공될 웹 페이지를 렌더링한다. 예를 들어, 모바일 채널(104)이 선택되는 경우, 마스터 페이지 I(108) 및 레이아웃 I(112)이 사용되어 모바일 웹 페이지(140)를 렌더링한다. 한편, 컴퓨터 채널(106)이 선택되는 경우, 마스터 페이지 II(110) 및 레이아웃 II(114)가 사용되어 컴퓨터 웹 페이지(142)를 렌더링한다. 일 실시예에서, 렌더링된 웹 페이지(140,142)는 향후에 사용하기 위해 캐싱되어 임의의 다른 사용자가 뉴 지오그래픽 매거진의 웹사이트로부터의 웹 페이지를 요청하는 경우, 이러한 웹 페이지는 마스터 페이지, 레이아웃 및 콘텐츠를 조합하지 않고도 전달될 수 있다. 또한, 웹 페이지의 콘텐츠에 임의의 변경이 있을 때라도, 웹 페이지(140,142) 모두는 자동으로 생성되고 향후 사용을 위해 캐시에 저장된다. 웹 페이지의 이러한 동시적인 캐싱 및 업데이트는 웹 페이지 최적화 시스템(100)의 성능을 강화시킨다. 웹 페이지가 캐싱되면, 웹사이트를 호스팅하는 서버 및 데이터베이스(102)는 또 다른 사용자로부터의 특정 요청이 캐시로부터 서비싱될 수 있는지 여부를 결정한다. 일 실시예에서, 특정 요청이 서비싱될 수 없는 것으로 결정되면, 시스템은 웹 페이지(140,142) 모두를 또 다시 렌더링한다.
웹 페이지 최적화 시스템(100)의 예시적인 실시예는 2개의 채널만을 나타내고 있지만, iPadTM 등과 같은 태블릿 장치를 서빙하기 위한 태블릿 채널과 같은 추가의 채널이 또한 제공될 수 있다. 또한, 웹 페이지 최적화 시스템(100)의 예시되어 있는 실시예는 모든 모바일 장치용으로 선택된 하나의 모바일 채널(104)만을 개시하고 있지만, 또 다른 실시예에서는, 다른 유형의 모바일 장치용으로 다른 채널이 제공된다. 따라서, 이러한 실시예에서, AppleTM 스마트폰, WindowsTM 스마트폰, AndroidTM 스마트폰 등에 대해 별개의 채널이 제공된다. 이와 달리, 웹 페이지 최적화 시스템(100)의 실시예는 웹 페이지를 액세스하는데 사용되는 브라우저에 의해 식별되는 채널을 포함한다. 따라서, 예를 들어, 별개의 채널들이 FirefoxTM 브라우저, Internet ExplorerTM 브라우저, SafariTM 브라우저 등을 서비싱한다.
몇몇 경우, 장치 식별 엔진(132)이 사용자 에이전트 스트링을 파싱하는 경우, 장치 식별 엔진(132)은 지정된 채널이 없는 사용자 장치 또는 사용자 브라우저를 식별할 것이다. 이러한 상황을 해결하기 위해, 데이터베이스(102)의 실시예는 채널들(104,106) 중 하나를 기본 채널(default channel)로서 지정하는데, 이 기본 채널은 사용자 에이전트 스트링으로부터 이용가능한 정보에 기초하여서는 다른 채널이 선택될 수 없는 경우에 선택된다. 이와 달리, 웹 최적화 시스템(100)은 또한 기본 마스터 페이지, 기본 레이아웃 등을 지정한다.
웹 최적화 시스템(100)은 장치 유형, 브라우저 유형 등에 기초하여 선택되는 상이한 채널들을 갖는 것으로 예시되어 있지만, 또 다른 실시예에서, 상이한 채널은 사용자 요청으로부터 수신된 다른 정보에 기초하여 선택된다. 예를 들어, 사용자 요청이 사용자의 지리적 위치 등과 같은 사용자를 식별하는 다른 정보와 함께 쿠키를 포함하고, 웹 최적화 시스템(100)이 이러한 사용자 식별 정보를 사용할 수 있는 권한을 가지고 있는 경우, 이러한 사용자 식별 정보를 사용하여 특정 채널이 선택된다.
또한, 웹 페이지 최적화 시스템(100)은 채널(104,106) 각각이 이러한 채널과 연관된 하나의 마스터 페이지 및 하나의 레이아웃을 갖는 것으로 나타내고 있지만, 또 다른 실시예에서, 둘 이상의 채널에 의해 하나의 마스터 페이지가 사용된다. 이와 달리, 다수의 채널이 동일한 마스터 페이지와 연관될 수 있지만 다른 레이아웃과도 연관될 수 있다. 이는, 데이터베이스(102)의 설계자가 이러한 채널 각각에 대한 템플릿을 개발하지 않은 경우에도, 그 설계자에게 다수의 채널을 지정할 수 있는 융통성을 제공한다. 사용자가 생성할 수 있는 채널의 수는 다양한 최적화 및 효율성 기준에 기초하여 결정될 수 있다.
웹 최적화 시스템(100)의 실시예는 다수의 오버라이드 룰(override rules)을 제공한다. 예를 들어, 오버라이드 룰은, 사용자가 컴퓨터 웹 페이지(142)에 관심 있음을 웹 요청 또는 쿠키가 제시한 경우 채널 선택 엔진(134)이 웹 요청을 서빙하기 위해 모바일 채널(104)을 선택할지라도, 웹 요청은 컴퓨터 채널(106)과 연관되도록 한다. 이와 달리, 이러한 오버라이드 룰은 마스터 페이지와 레이아웃의 상이한 조합을 요청할 수 있다. 따라서, 예시적인 사용자 오버라이드는 마스터 페이지 I(108)와 레이아웃 II(114)를 사용하여 생성되는 웹 페이지를 요청한다. 이러한 경우, 웹 최적화 시스템(100)은 이러한 웹 페이지를 생성하여 향후 사용을 위해 캐싱할 것이다. 또한, 오버라이드 룰에 대한 계층은 또한 둘 이상의 오버라이드 요청이 수신되는 경우, 웹 페이지 최적화 시스템(100)이 이러한 요청들 간에 우선순위를 부여하도록 한다.
웹 최적화 시스템(100)의 오버라이드 능력을 사용하게 되면, 사용자는 사용자 에이전트 스트링으로부터의 데이터에 기초하여 생성된 웹 페이지와 다른 웹 페이지의 버전을 요청할 수 있다. 예를 들어, iPadTM을 사용하는 사용자가 웹 페이지를 요청하는 경우, 사용자 에이전트 스트링에 기초하여, 채널 선택 엔진(134)은 태블릿 채널을 선택한다. 그러나, 사용자는 자신이 컴퓨터 웹 페이지(142)를 수신하는 것에 관심이 있음을 쿠키를 사용하여 웹 최적화 시스템(100)에 알릴 수 있고, 이 경우, 컴퓨터 채널(106)이 선택된다. 또한, 쿠키는 영속적이기 때문에, 웹 최적화 시스템(100)은 쿠키에 의해 식별된 선택을 기억한다.
웹 최적화 시스템(100)의 또 다른 실시예는 또한 웹 사이트 개발자가 맞춤 로직을 플러그인할 수 있도록 해주는 프로그램가능성 훅(programmability hook)을 제공한다. 예를 들어, 사용자는 채널이 개발자의 맞춤 요구에 부응하는 기능을 수행하게 하기 위해 소정의 맞춤 로직을 사용할 수 있다. 이러한 프로그램가능성 훅은 또한 웹 페이지 최적화 시스템(100)의 인수(argument) 또는 행위를 변경하는데 사용될 수 있다. 일 실시예에서, 이러한 프로그램가능 훅은 사용자가 iPhoneTM용의 App와 같은 특정 애플리케이션을 사용하여 웹사이트를 액세스하고 있다는 검출에 응답하여 웹 페이지를 생성하기 위해 마스터 페이지 및 레이아웃의 조합을 개발자가 선택할 수 있도록 해준다. 이와 달리, 개발자는 웹 페이지 요청의 사용자 에이전트 스트링에 의해 암시되는 장치 스크린의 크기를 검출하는 것에 기초하여 채널 선택을 오버라이드할 수 있다.
개발자가 다양한 웹 페이지(140,142)를 볼 수 있도록 하기 위해, 마스터 페이지 및 레이아웃의 개발 단계 동안, 웹 최적화 시스템(100)은 또한 다양한 웹 페이지 렌더링을 시뮬레이팅할 수 있는 능력을 사용자에게 제공한다. 예를 들어, 개발 모드 동안, 개발자가 컴퓨터를 사용하여 웹 최적화 시스템(100)으로 요청을 보낼지라도, 개발자는 모바일 웹 페이지(140)가 렌더링되도록 지정할 수 있다. 일 실시예는 또한 시뮬레이팅된 모바일 장치 스크린 상의 모바일 웹 페이지(140)를 컴퓨터 상에 디스플레이할 시뮬레이션 애플리케이션을 제공한다.
도 2는 뉴 지오그래픽 매거진 웹서버에 의해 사용되는 웹 페이지 최적화 시스템에서 사용되는 예시적인 요소 데이터베이스(200)를 나타낸다. 요소 데이터베이스(200)는 다수의 채널(202)을 마스터 페이지(204) 및 레이아웃(206)에 연관시킨다. 도시되어 있는 바와 같이, 모바일 채널(210)은 모바일 마스터 페이지(220) 및 모바일 레이아웃(230)과 연관된다. 따라서, 웹 페이지 요청의 사용자 에이전트 스트링의 컴포넌트들에 기초하여 모바일 채널(210)이 선택되는 경우, 모바일 마스터 페이지(220) 및 모바일 레이아웃(230)이 사용되어 웹 페이지를 생성한다. 도시되어 있는 바와 같이, 모바일 마스터 페이지(220)는 모바일 전화기에 쉽게 디스플레이될 수 있는 보다 좁은 배너를 이용하여 설계된다. 이와 유사하게, 모바일 레이아웃(230)은 또한 임의의 이미지, 그래픽 등 없이 조밀하게 설계된다.
한편, 웹 페이지 요청의 사용자 에이전트 스트링의 컴포넌트들에 기초하여 컴퓨터 채널(212)이 선택되는 경우, 컴퓨터 마스터 페이지(222) 및 컴퓨터 레이아웃(232)이 사용되어 웹 페이지를 생성한다. 컴퓨터 마스터 페이지(222)는 보다 넓은 머리말, 로고 및 광고를 포함한다. 유사하게, 컴퓨터 레이아웃(232)은 콘텐츠에 대한 넓은 머리말 및 스토리의 콘텐츠와 함께 디스플레이될 그래프를 포함한다. 컴퓨터 레이아웃(232)은 패널(240)에 래핑되는(wrapped) 그래프 컴포넌트를 포함한다. 데이터베이스(200)의 일 실시예에서, 컴퓨터 레이아웃(232)의 개발자는 패널 콘텐츠가 디스플레이되는 장치의 유형을 식별하는 룰을 제공한다. 예를 들어, 하나의 특정 실시예에서, 개발자는 컴퓨터 레이아웃(232)의 패널 콘텐츠가 컴퓨터 상에서만 디스플레이되도록 정의한다. 이와 달리, 이러한 룰은 사용자 에이전트 스트링에 의해 식별되는 바와 같이, 사용자의 브라우저에 기초할 수 있다. 따라서, 예를 들어, 컴퓨터 레이아웃(232)의 그래프는 AdobeTM 플래시 플레이어를 지원하는 브라우저 상에서만 디스플레이된다.
태블릿 채널(214)은 컴퓨터 마스터 페이지(222) 및 컴퓨터 레이아웃(232)과 연관된다. 데이터베이스(200)의 실시예가 태블릿 채널(214)에 대한 별개의 마스터 페이지 및 별개의 레이아웃을 가지지는 않지만, 태블릿 마스터 페이지 및 태블릿 레이아웃은 이후의 단계에서 추가될 수 있고 태블릿 채널(214)과 연관될 수 있다. 데이터베이스(200)는 또한 기본 채널(218)을 포함한다. 사용자 에이전트 스트링이 웹 페이지 요청을 생성하는 장치, 브라우저 등을 식별할 수 없는 경우, 기본 채널(218)이 사용되어 기본 마스터 페이지(224) 및 기본 레이아웃(234)을 선택하여 웹 페이지를 렌더링한다. 컴퓨터 레이아웃(232)에서와 같이, 기본 레이아웃(234)에 의해 디스플레이될 콘텐츠의 부분은 패널(242)에 래핑된다. 이러한 경우, 기본 레이아웃의 개발자는 패널 픽처의 디스플레이와 관련된 룰을 지정할 수 있다.
요소 데이터베이스(200)는 채널(202)을 다양한 웹 페이지 요소(204,206)에 연관시키는 것으로 도시되어 있지만, 또 다른 실시예에서, 다른 필드들이 또한 제공된다. 예를 들어, 또 다른 하나의 실시예에서, 채널(202) 각각은 하나의 장치에 관련된다. 따라서, 예를 들어 iPadTM은 태블릿 채널(214)에 관련되고, BlackberryTM 전화기는 모바일 채널(210)에 관련된다. 데이터베이스(200)의 요소들이 그래프로 도시되어 있지만, 실제로, 데이터베이스는 데이터베이스(200)의 요소를 나타내는 객체에 대한 포인터만을 포함하도록 구성될 수 있다.
도 3은 웹 페이지 최적화 시스템의 예시적인 컴퓨터 마스터 페이지(300) 및 예시적인 컴퓨터 레이아웃(302)을 나타낸다. 구체적으로, 컴퓨터 마스터 페이지(300)는 헤더(304), 광고를 갖는 사이드바(305) 및 로고(308)와 같은, 웹사이트 상의 모든 페이지에 의해 공유되는 일반화된 영역을 제공한다. 한편, 레이아웃(302)은 개개의 웹 페이지들의 콘텐츠에 대한 구조를 제공하는 2차적인 시각적 템플릿이다. 예를 들어, 뉴스 스토리를 디스플레이하는 웹 페이지에 대해, 레이아웃(302)은 뉴스 스토리 머리말(312), 뉴스 스토리에 관련된 그래프(314), 및 뉴스 스토리(316)의 콘텐츠를 비롯하여, 이러한 스토리의 다양한 컴포넌트들에 대해 포지셔닝, 스타일 등을 제공한다. 컴퓨터 레이아웃(302)의 그래프 컴포넌트(314)는 패널(318)에 래핑되어, 웹 페이지 개발자는 이러한 패널 컴포넌트들이 웹 페이지 상에 디스플레이될 시기에 관련된 룰을 정의할 수 있다.
컴퓨터 마스터 페이지(300) 및 컴퓨터 레이아웃(302)은 결합되어 렌더링되는 컴퓨터 웹 페이지(320)를 생성한다. 이 특정 예에서, 그래프(314)는 렌더링된 컴퓨터 웹 페이지(320) 상에 디스플레이된다. 이것은 패널(318)에 래핑된 콘텐츠가 컴퓨터 웹 페이지 상에 디스플레이되어야 함을 지정하는 패널(318)에 첨부된 룰때문일 수 있다. 그러나, 룰이 패널(318)에 래핑된 콘텐츠가 모바일 웹 페이지 상에 디스플레이되지 않아야 함을 지정하는 경우, 컴퓨터 레이아웃(302)을 사용하여 생성된 모바일 웹 페이지는 그래프(314)를 포함하지 않을 것이다.
도 4는 웹 페이지를 요청하는 클라이언트(402)와 웹사이트의 웹 페이지를 제공하는 서버(404) 간의 예시적인 통신(400)을 나타낸다. 클라이언트(402)는 웹 페이지 요청(410)을 서버(404)에 전송한다. 이러한 웹 페이지 요청(410)은 예를 들어 사용자가 웹사이트의 URL을 브라우저에 타이핑하는 것, 사용자가 웹사이트에 대한 링크를 클릭하는 것, 사용자가 스마트폰 상에 애플리케이션을 활성화하는 것 등에 응답하여 생성된다. 웹 페이지 요청(410)은 사용자 장치, 사용자 브라우저 등을 식별하는 정보를 포함하는 사용자 에이전트 스트링을 포함한다. 일 실시예에서, 사용자 에이전트 스트링은 또한 쿠키 또는 쿠키를 식별하는 정보를 포함한다. 참조번호(412)에서, 서버(404)는 클라이언트의 웹 페이지 요청과 연관되어야 하는 채널을 결정한다. 예를 들어, 요청 장치가 모바일 장치인 것으로 서버(404)가 결정하는 경우, 모바일 채널이 웹 페이지 요청과 연관된다.
이어서, 참조번호(414)에서, 웹 페이지 요청(410)을 서비싱하는데 사용될 수 있는 캐시 내에 웹 페이지가 있는지를 서버(404)가 판정한다. 서버(404)가 최근 유사한 장치를 사용하는 클라이언트를 서비싱한 경우, 서버의 캐시는 요청된 웹 페이지를 가질 것이며 서버(404)는 캐시로부터의 이러한 웹 페이지를 사용하여 웹 페이지 요청(410)에 응답한다(426). 캐시 내에 웹 페이지가 발견되지 않는 경우, 참조번(416)에서, 서버는 웹 페이지 요청(410)을 서비싱하는데 필요한 정보를 수집한다. 이러한 정보는 식별된 채널과 연관된 마스터 페이지, 식별된 채널과 연관된 레이아웃, 식별된 마스터 페이지 및 식별된 레이아웃과 연관된 콘텐츠 등을 포함한다. 수집된 정보를 이용하여, 참조번호(418)에서, 서버는 웹 페이지를 렌더링한다. 참조번호(420)에서 렌더링된 페이지는 클라이언트(402)에 전달되고 참조번호(422)에서 클라이언트(402)는 웹 페이지를 디스플레이한다. 이어서, 참조번호(424)에서, 또 다른 클라이언트가 웹 페이지 요청을 서버(404)에 전송하는 경우, 서버(404)는 캐시로부터의 렌더링된 웹 페이지를 클라이언트(402)로 전달하고(426) 참조번호(428)에서 클라이언트는 웹 페이지를 디스플레이한다.
도 5는 웹 페이지 최적화 시스템에 대한 예시적인 동작(500)을 나타낸다. 동작(502)은 클라이언트 웹 페이지 요청을 서비싱하는데 사용될 다양한 채널을 정의한다. 예를 들어, 모바일 채널, 랩탑 채널, 데스크탑 채널 등이 정의된다. 이와 달리, 채널들은 클라이언트 장치의 스크린 크기, 클라이언트 장치에 의해 사용되는 브라우저 등과 같은 다른 파라미터에 기초하여 정의될 수 있다. 동작(504)은 웹 페이지를 렌더링하는데 사용되는 마스터 페이지 및 레이아웃을 설계한다. 또 다른 실시예에서, 페이지 레이아웃은 반복되는 콘텐츠를 디스플레이하고 다양한 장치 상에서의 디스플레이에 최적화된 소정의 레이아웃 영역에 의해 사용되는 디스플레이 템플릿을 포함한다. 예를 들어, 상이한 방식으로 상이한 장치 상에서 반복되는 이러한 콘텐츠를 렌더링하기 위해 상이한 디스플레이 템플릿이 사용될 수 있다. 또한, 페이지 콘텐츠는 웹 페이지 레이아웃 상에 장치 특정 콘텐츠를 추가함으로써 최적화될 수 있다. 예를 들어, 페이지 레이아웃은 가상 컨테이너에 콘텐츠를 포함시키고, 이러한 콘텐츠를 패널에 래핑하며, 패널 또는 가상 컨테이너로부터의 콘텐츠를 디스플레이하는 룰을 정의함으로써 소정의 장치 상에 보여지지 않을 콘텐츠를 포함한다.
이어서, 동작(506)은 마스터 페이지 및 레이아웃을 채널에 연관시킨다. 예를 들어, 태블릿 채널은 컴퓨터 마스터 페이지 및 모바일 페이지 레이아웃과 연관될 수 있다. 동작(508)은 클라이언트로부터 웹 페이지에 대한 웹 페이지 요청을 수신한다. 예를 들어, 이와 같은 요청은 웹사이트 또는 특정 웹 페이지의 URL을 식별하는 http 요청이다. 이러한 웹 페이지 요청은 종종 요청 장치, 요청 브라우저 등을 식별하는 정보를 포함하는 사용자 에이전트 스트링을 포함한다. 동작(510)은 이러한 사용자 식별 정보를 결정하기 위해 웹 페이지 요청에 첨부된 사용자 에이전트 스트링을 분석한다.
사용자 에이전트 스트링으로부터의 정보에 기초하여, 동작(512)은 요청된 웹 페이지를 생성하는데 사용될 채널을 결정한다. 예를 들어, 사용자 에이전트 스트링이 요청 장치를 iPadTM로 식별하는 경우, 동작(512)은 그것이 요청 장치에 전송될 웹 페이지의 컴포넌트들 및 콘텐츠를 모으기 위해 태블릿 채널을 사용할 수 있음을 판정한다. 동작(514)은 마스터 페이지, 레이아웃 및 콘텐츠와 같은 컴포넌트들을 웹 서버 상의 데이터베이스로부터 인출한다.
이어서, 동작(516)은 다양한 컴포넌트들 및 콘텐츠를 합침으로써 웹 페이지를 렌더링한다. 동작(518)은 렌더링된 웹 페이지를 캐시에 저장한다. 이러한 저장된 웹 페이지는 다른 사용자로부터의 향후 요청을 서비싱하기 위해 사용될 수 있다. 렌더링된 웹 페이지는 동작(520)에 의해 요청 장치로 전달된다. 요청 장치는 요청 장치가 이러한 웹 페이지 요청을 생성하기 위해 처음에 사용한 동일한 웹 어드레스로부터 렌더링된 웹 페이지를 수신한다. 따라서, 동작(500)은 다른 URL 어드레스로의 사용자의 요청의 임의의 리다이렉팅을 포함하지 않는다.
도 6은 전술한 기술을 구현하는데 유용할 수 있는 예시적인 시스템을 나타낸다. 전술한 기술을 구현하기 위한 도 6의 예시적인 하드웨어 및 운영 환경은 게이밍 콘솔 또는 컴퓨터(20)의 형태의 범용 컴퓨팅 장치, 모바일 전화기, 개인 보조 단말기(PDA), 셋탑 박스와 같은 컴퓨팅 장치, 또는 그 밖의 다른 유형의 컴퓨팅 장치를 포함한다. 도 6의 실시예에서, 예를 들어, 컴퓨터(20)는 처리 장치(21), 시스템 메모리(22) 및 시스템 메모리를 포함한 다양한 시스템 구성요소들을 처리 장치(21)에 동작가능하게 연결하는 시스템 버스(23)를 포함할 수 있다. 처리 장치(21)는 오직 하나 또는 그 이상 존재할 수 있고, 따라서 컴퓨터(20)의 프로세서는 단일 중앙 처리 장치를 포함하거나, 또는 병렬 처리 환경으로 흔히 지칭되는 복수의 처리 장치를 포함한다. 컴퓨터(20)는 범용 컴퓨터, 분산형 컴퓨터, 또는 임의 다른 유형의 컴퓨터일 수 있으나, 본 발명은 이에 국한되지 않는다.
시스템 버스(23)는 임의의 다양한 버스 아키텍처를 사용하는 메모리 버스 또는 메모리 제어기, 주변 버스, 스위치형 패브릭, 포인트 투 포인트 연결, 및 로컬 버스를 포함하는 임의의 몇몇 유형의 버스 구조를 가질 수 있다. 시스템 메모리는 간단히 메모리로 지칭될 수 있고, ROM(read only memory)(24) 및 RAM(random access memory)(25)을 포함한다. 가령 시동 중에, 컴퓨터(20) 내 컴포넌트들 사이에서 정보를 전달하는 것을 돕는 기본 루틴들을 포함하는 기본 입출력 시스템(26)(BIOS)은 통상적으로 ROM(24)에 저장된다. 컴퓨터(20)는 하드 디스크(미도시)로부터 판독하고 및 그에 기록하는 하드 디스크 드라이브(27), 이동식 자기 디스크(29)로부터 판독하고 그에 기록하는 자기 디스크 드라이브(28), 및 CD ROM, DVD 또는 다른 광 매체와 같은 이동식 광 디스크(31)로부터 판독하고 그에 기록하는 광 디스크 드라이브(30)를 또한 포함할 수 있다.
하드 디스크 드라이브(27), 자기 디스크 드라이브(28) 및 광학 디스크 드라이브(30)는 각각 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33) 및 광학 디스크 드라이브 인터페이스(34)에 의해 시스템 버스(23)에 연결된다. 드라이브 및 그들의 연관된 컴퓨터 판독가능 매체는 컴퓨터(20)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 그 밖의 다른 데이터의 비휘발성 저장을 제공한다. 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 임의의 유형의 컴퓨터 판독가능 매체, 예를 들어, 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, RAM, ROM 등이 예시적인 운영 환경에서 사용될 수 있음을 당업자라면 알 수 있을 것이다.
운영 체제(35), 하나 이상의 애플리케이션 프로그램(36), 다른 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함한 다수의 프로그램 모듈이 하드 디스크, 자기 디스크(29), 광학 디스크(31), ROM(24) 또는 RAM(25)에 저장될 수 있다. 사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치들을 통해 개인용 컴퓨터(20) 안에 명령과 정보를 입력할 수 있다. 다른 입력 장치들(도시되지 않음)에는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 포함될 수 있다. 이들 및 기타 입력 장치들은 흔히 시스템 버스에 연결된 직렬 포트 인터페이스(46)를 통해 처리 장치(21)에 연결되나, 병렬 포트나 게임 포트 또는 유니버설 시리얼 버스(USB) 같은 다른 인터페이스에 의해 연결될 수도 있다. 모니터(47) 또는 다른 유형의 디스플레이 장치 역시 비디오 인터페이스(48)와 같은 인터페이스를 통해 시스템 버스(23)에 연결된다. 모니터 외에, 컴퓨터들은 전형적으로 스피커 및 프린터와 같은 다른 주변기기 출력 장치들(미도시)을 포함한다.
컴퓨터(20)는 원격 컴퓨터(49)와 같은 한 개 이상의 원격 컴퓨터로의 논리 접속(logical connection)을 이용하여 네트워킹 환경 안에서 동작할 수 있다. 이들 논리적 접속은 컴퓨터(20) 또는 컴퓨터(20)의 일부에 결합된 통신 장치에 의해 달성되나, 본 발명은 특정 유형의 통신 장치에 국한되지는 않는다. 원격 컴퓨터(49)는 또 다른 컴퓨터, 서버, 라우터, 네트워크 PC, 클라이언트, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 도 6에는 메모리 저장 장치(50)만이 도시되었지만 통상적으로 컴퓨터(20)와 관련해 앞서 기술된 구성요소들 중 다수나 전부를 포함한다. 도 6에 도시된 논리 접속들은 LAN(local area network)(51) 및 WAN(wide area network)(52)을 포함한다. 그러한 네트워킹 환경은 모두가 네트워크 유형인 사무실 네트워크, 기업(enterprise-wide) 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(20)는 통신 장치의 일 유형인 네트워크 인터페이스나 어댑터(53)를 통해 LAN(51)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(20)는 통상적으로 WAN(52)을 통한 통신을 설정하기 위한 모뎀(54), 네트워크 어댑터, 일 유형의 통신 장치 또는 임의의 다른 유형의 통신 장치를 포함한다. 내장형 또는 외장형일 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 연결될 수 있다. 네트워킹 환경에서, 개인용 컴퓨터(20)와 관련해 묘사된 프로그램 엔진 또는 그의 일부는 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 다른 수단 및 통신 장치 역시 사용될 수 있다는 것을 알 수 있을 것이다.
예시적인 실시예에서, 웹 페이지 최적화 시스템의 다양한 컴포넌트들이 메모리(22) 및/또는 저장 장치(29 또는 31)에 저장된 명령어들에 의해 구체화되고 처리 장치(21)에 의해 처리될 수 있다. 웹 페이지 요소 데이터베이스, 마스터 페이지, 페이지 레이아웃 및 그 밖의 다른 데이터는 영구적인 데이터저장소로서의 메모리(22) 및/또는 저장 장치(29 또는 31)에 저장될 수 있다. 더 나아가, 웹 페이지 최적화 시스템은 네트워크 연결 시스템을 위한 서비스 기능을 제공하도록 구성된 하드웨어 및/또는 소프트웨어를 나타낸다. 이러한 서비스는 범용 컴퓨터 및 특별화된 소프트웨어(예를 들어, 서버 실행 서비스 소프트웨어), 전용 컴퓨팅 시스템 및 특별화된 소프트웨어(예를 들어, 모바일 장치 또는 네트워크 장치 실행 서비스 소프트웨어), 또는 다른 컴퓨팅 구성을 이용하여 구현될 수 있다.
도 7은 전술한 기술을 구현하는데 유용할 수 있는 다른 실시예의 시스템(모바일 장치(700)로 표시됨)을 예시한다. 모바일 장치(700)는 프로세서(702), 메모리(704), 디스플레이(706)(예컨대 터치 스크린 디스플레이) 및 다른 인터페이스(708)(예컨대 키보드)를 포함한다. 메모리(704)는 일반적으로 휘발성 메모리(예컨대 RAM)과 비휘발성 메모리(예컨대 플래시 메모리)를 모두 포함한다. 비록 다른 운영 체제가 채용될 수 있음이 이해될지라도, 예컨대 Microsoft Window® Phone 7 운영 체체와 같은 운영 체계(710)가 메모리(704) 내에 상주하고, 프로세서(702)에 의해 실행된다.
하나 이상의 애플리케이션 프로그램(712)이 메모리(704)에 로드되어, 프로세스(702)에 의해 운영 체제(710)상에서 실행된다. 애플리케이션(712)의 예로서, 한정하는 것은 아니지만, e메일 프로그램, 스케줄링 프로그램, 개인 정보 관리자, 인터넷 브라우징 프로그램, 멀티미디어 플레이어 애플리케이션 등이 있다. 알림 관리자(notification manager)(714)도 메모리(704)에 로드되고, 프로세서(702)에 의해 실행되어 사용자에게 알림을 제공한다. 예를 들어, 판촉 행사가 시작되어 쇼핑객에게 제공될 때, 알림 관리자(714)는 모바일 장치(700)가 알림음이나 진동(진동 장치(718)를 통해)을 유발하게 할 수 있고, 디스플레이(706)에 판촉 행사를 디스플레이하게 할 수도 있다.
모바일 장치(700)는 전원(716)을 포함하는데, 이것은 하나 이상의 배터리나 다른 전원에 의해 동력을 공급받으며, 모바일 장치(700)의 다른 구성 요소로 전력을 제공한다. 전원(716)은 내장 배터리 혹은 다른 전원을 대체하거나 재충전하는 외부 전원에 연결될 수도 있다.
모바일 장치(700)는 네트워크 연결성(예컨대 모바일 폰 네트워크, Wi-Fi®, Bluetooth® 등)을 제공하기 위해 하나 이상의 통신 송수신기(730)를 포함한다. 모바일 장치(700)는 또한 예컨대 포지셔닝 시스템(720)(예컨대 GPS 송수신기), 하나 이상의 가속도계(722), 하나 이상의 카메라(724), 오디오 인터페이스(726)(예컨대 마이크로폰, 오디오 증폭기 및 스피커 및/또는 오디오 잭(audio jack)) 및 추가의 저장 장치(728)와 같은 다양한 다른 구성 요소들도 포함한다. 그 밖의 다른 구성도 채용될 수 있다.
예시적인 실시예에서, 웹 페이지 최적화 시스템, 및 다른 모듈 및 서비스는 메모리(704) 및/또는 저장 장치(728) 내에 저장된 명령어들로 구현되고, 처리 장치(702)에 의해 처리될 수 있다. 마스터 페이지, 레이아웃 및 그 밖의 다른 데이터는 영구적인 데이터저장소로서의 메모리(704) 및/또는 저장 장치(728)에 저장될 수 있다.
일부 실시예들은 제조물을 포함할 수도 있다. 제조물은 로직을 저장하는 저장 매체를 포함할 수 있다. 저장 매체의 예로서, 휘발성 메모리나 비휘발성 메모리, 이동식 또는 비이동식 메모리, 소거 가능 혹은 소거 불능 메모리, 기록 가능 혹은 재기록 가능 메모리 등을 포함하여 전자적 데이터를 저장할 수 있는 하나 이상의 유형의 컴퓨터 판독 가능 저장 매체를 들 수 있다. 로직의 예로서, 예컨대 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시저, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 집합, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값들, 심볼 혹은 이들의 임의의 조합처럼 다양한 소프트웨어 요소를 들 수 있다. 일 실시예로, 예를 들어 제조물은 실행 가능한 컴퓨터 프로그램 명령어를 저장할 수 있고, 이 컴퓨터 프로그램 명령어는 컴퓨터에 의해 실행시에 컴퓨터로 하여금 전술한 실시예에 따른 방법 및/또는 동작들을 수행하게 한다. 실행 가능한 컴퓨터 프로그램 명령어는 예컨대 소스 코드, 컴파일된 코드(compiled code), 인터프리트된 코드(interpreted code), 실행 가능한 코드, 정적인 코드, 동적인 코드 등과 같은 임의의 적절한 유형의 코드를 포함할 수 있다. 실행 가능 컴퓨터 프로그램 명령어는 특정 기능을 수행하도록 컴퓨터에게 명령하는 사전 정의된 컴퓨터 언어, 방식 혹은 신택스에 따라 구현될 수 있다. 명령어들은 임의의 적절한 고수준, 저수준, 객체 지향, 비주얼(visual), 컴파일형 및/또는 인터프리트형 프로그램 언어를 이용하여 구현될 수 있다.
본 명세서에 설명된 본 발명의 실시예들은 하나 이상의 컴퓨터 시스템에서 논리 단계들로서 구현된다. 본 발명의 논리 동작은 (1) 하나 이상의 컴퓨터 시스템에서 실행되는 프로세서 구현된 단계들의 시퀀스로서, (2) 하나 이상의 컴퓨터 시스탬 내부의 상호 연결된 머신 혹은 회로 모듈로서 구현된다. 이런 구현은 본 발명을 구현하는 컴퓨터 시스템의 성능 요건에 따른 선택의 문제이다. 따라서, 본명세서에 설명된 본 발명의 실시예를 구성하는 논리 동작은 동작, 단계, 객체 또는 모듈로 다양하게 불린다. 더 나아가, 그 순서가 명시적으로 기재되지 않거나 또는 특정 순서가 청구 내용에 의해 본질적으로 필요하지 않는 한, 논리 동작은 임의의 순서로 수행될 수 있음을 이해해야 한다.
위의 설명, 예시 및 데이터는 본 발명의 예시적인 실시예의 구조 및 이용의 완벽한 설명을 제공한다. 본 발명의 사상과 범주를 벗어나지 않으면서 본 발명의 많은 실시예들이 구성될 수 있으므로, 본 발명은 이후에 첨부된 특허청구범위에 귀속된다. 더 나아가, 상이한 실시예들의 구조적 특징들은 특허청구범위로부터 벗어남이 없이 또 다른 실시예에 조합될 수 있다.

Claims (10)

  1. 다수의 템플릿 요소 각각을 다수의 채널 중 하나에 연관시키는 단계와,
    웹 페이지 요청의 사용자 에이전트 스트링의 적어도 하나의 컴포넌트에 기초하여 상기 다수의 채널 중 하나를 식별하는 단계와,
    상기 식별된 채널과 연관된 상기 다수의 템플릿 요소 중 하나 이상을 렌더링하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 웹 페이지 요청을 생성하는 사용자 장치에게 상기 렌더링된 템플릿 요소를 전달하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 다수의 템플릿 요소를 정의하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 다수의 템플릿 요소를 정의하는 단계는 하나 이상의 마스터 페이지를 정의하는 단계 및 하나 이상의 페이지 레이아웃을 정의하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 사용자 에이전트 스트링의 상기 적어도 하나의 컴포넌트는 상기 웹 페이지 요청을 생성하는데 사용되는 장치, 상기 웹 페이지 요청을 생성하는데 사용되는 상기 장치의 지리적 위치 및 상기 웹 페이지 요청을 생성하는데 사용되는 브라우저 중 적어도 하나를 식별하는 방법.
  6. 제1항에 있어서,
    상기 웹 페이지 요청은 하이퍼텍스트 전송 프로토콜 요청인 방법.
  7. 제1항에 있어서,
    상기 웹 페이지 요청은 쿠키를 식별하는 방법.
  8. 제7항에 있어서,
    상기 쿠키의 적어도 하나의 컴포넌트에 기초하여 상기 다수의 채널 중 상기 하나를 식별하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    다수의 패널을 갖는 페이지 레이아웃을 정의하는 단계를 더 포함하되, 상기 다수의 패널 각각은 상기 다수의 채널 중 하나와 연관되는 방법.
  10. 제3항에 있어서,
    상기 다수의 템플릿 요소를 정의하는 단계는 상기 다수의 채널 중 웹 페이지 요청의 사용자 에이전트 스트링의 하나의 컴포넌트에 기초하여 식별된 상기 하나의 채널을, 쿠키에 지정된 사용자 지정 룰에 기초하는 상기 다수의 채널 중 하나의 채널로 대체하는 단계를 더 포함하는 방법.
KR1020147010288A 2011-10-18 2012-10-17 웹 페이지의 맞춤 최적화 기법 KR102021317B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/275,346 US8627204B2 (en) 2011-10-18 2011-10-18 Custom optimization of web pages
US13/275,346 2011-10-18
PCT/US2012/060689 WO2013059375A1 (en) 2011-10-18 2012-10-17 Custom optimization of web pages

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197026189A Division KR102132137B1 (ko) 2011-10-18 2012-10-17 웹 페이지의 맞춤 최적화 기법

Publications (2)

Publication Number Publication Date
KR20140078676A true KR20140078676A (ko) 2014-06-25
KR102021317B1 KR102021317B1 (ko) 2019-09-16

Family

ID=47696876

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147010288A KR102021317B1 (ko) 2011-10-18 2012-10-17 웹 페이지의 맞춤 최적화 기법
KR1020197026189A KR102132137B1 (ko) 2011-10-18 2012-10-17 웹 페이지의 맞춤 최적화 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197026189A KR102132137B1 (ko) 2011-10-18 2012-10-17 웹 페이지의 맞춤 최적화 기법

Country Status (6)

Country Link
US (2) US8627204B2 (ko)
EP (1) EP2769311A4 (ko)
JP (1) JP6279475B2 (ko)
KR (2) KR102021317B1 (ko)
CN (1) CN102937979B (ko)
WO (1) WO2013059375A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190005855A (ko) * 2016-05-12 2019-01-16 알리바바 그룹 홀딩 리미티드 페이지 컴포넌트 동적 레이아웃
JP2022013169A (ja) * 2020-07-03 2022-01-18 株式会社Shift 作成支援装置およびプログラム

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904595B2 (en) 2001-01-18 2011-03-08 Sdl International America Incorporated Globalization management system and method therefor
US20120272134A1 (en) * 2002-02-06 2012-10-25 Chad Steelberg Apparatus, system and method for a media enhancement widget
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US20130145257A1 (en) * 2011-12-06 2013-06-06 Google Inc. Edition Designer
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
CN102693280B (zh) * 2012-04-28 2014-08-13 广州市动景计算机科技有限公司 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端
US9348932B2 (en) * 2012-04-30 2016-05-24 Penske Truck Leasing Co., L.P. Method and apparatus for redirecting webpage requests to appropriate equivalents
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US20140035945A1 (en) * 2012-08-03 2014-02-06 Todd Anglin Computing device applications with an automatically adapting user interface
US20140053065A1 (en) * 2012-08-16 2014-02-20 Motorola Mobility Llc System and method for adjusting website displays
US20140067556A1 (en) * 2012-08-30 2014-03-06 Sharon Burt Methods and systems for establishing a mobile-optimized web presence and a mobile-optimized marketing campaign
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US11222362B2 (en) * 2013-01-15 2022-01-11 Motionpoint Corporation Dynamic determination of localization source for web site content
US10296562B2 (en) * 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
KR20140132938A (ko) * 2013-05-09 2014-11-19 삼성전자주식회사 웹 페이지 표시 방법 및 그 장치
KR102110779B1 (ko) * 2013-06-27 2020-05-14 삼성전자 주식회사 사용자 전자기기의 애플리케이션에서 페이지 표시 모드 관리 방법 및 장치
US20150040000A1 (en) * 2013-08-02 2015-02-05 Moboom Ltd. Methods and systems for generating server-side media queries
US9311422B2 (en) 2013-09-12 2016-04-12 Adobe Systems Incorporated Dynamic simulation of a responsive web page
WO2015108526A1 (en) * 2014-01-17 2015-07-23 Hewlett-Packard Development Company, L.P. Automatic adjustment of documents
WO2015116592A1 (en) 2014-01-28 2015-08-06 Moboom Ltd. Adaptive content management
US10698591B2 (en) 2014-03-31 2020-06-30 Microsoft Technology Licensing, Llc Immersive document interaction with device-aware scaling
US9582829B2 (en) 2014-05-06 2017-02-28 Bank Of America Corporation Dynamically modifying an application questionnaire
US9632984B2 (en) 2014-05-06 2017-04-25 Bank Of America Corporation Customizing content presentation format in accordance with the category of device used to access the content
AU2015264474A1 (en) * 2014-05-23 2016-10-06 Search Optics, LLC Systems and methods for programming behavior of a website to respond to capabilities of different devices
WO2015183235A1 (en) * 2014-05-27 2015-12-03 Hewlett Packard Development Company, L.P. Response based on browser engine
US11075976B2 (en) * 2014-12-24 2021-07-27 Vmware, Inc. Remoting application user interfaces
US10693923B2 (en) 2015-01-28 2020-06-23 Vmware, Inc. Establishing streaming sessions during remote sessions
CN104699840B (zh) * 2015-03-31 2016-10-19 北京奇虎科技有限公司 用于提供移动终端搜索结果的方法及装置
CN104850595B (zh) * 2015-04-27 2018-07-27 小米科技有限责任公司 优化网页打开时间的方法和装置
US9977506B2 (en) 2015-05-22 2018-05-22 Microsoft Technology Licensing, Llc Input optimization based on frequency of use
US10397301B2 (en) * 2015-09-08 2019-08-27 International Business Machines Corporation Web page view customization
US10614167B2 (en) 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
CN105868240A (zh) * 2015-12-10 2016-08-17 乐视致新电子科技(天津)有限公司 一种自适应显示网页的方法及装置
CN105718517A (zh) * 2016-01-14 2016-06-29 浪潮通用软件有限公司 一种网页的显示控制方法及系统、应用服务器
US10970101B2 (en) 2016-06-03 2021-04-06 Vmware, Inc. System and method for dynamically configuring virtual displays and virtual inputs for different remote sessions that each present content for a virtual machine
US10360288B2 (en) 2017-01-25 2019-07-23 International Business Machines Corporation Web page design snapshot generator
CN107229711B (zh) * 2017-05-27 2021-06-08 北京小米移动软件有限公司 网页显示方法及装置
CN107315785A (zh) * 2017-06-09 2017-11-03 天脉聚源(北京)传媒科技有限公司 新闻模板的管理方法及装置
JP7163588B2 (ja) * 2018-02-07 2022-11-01 株式会社リコー 表示データ生成装置、表示データ生成方法、プログラム及び情報処理システム
CN108958831B (zh) * 2018-06-12 2021-10-15 北京奇艺世纪科技有限公司 一种ViewGroup动态布局方法、装置及电子设备
US11609963B2 (en) * 2018-10-24 2023-03-21 Citrix Systems, Inc. Dynamically change user interfaces for web applications and associated methods
US11270354B2 (en) * 2019-07-29 2022-03-08 TapText llc System and methods for advertisement campaign tracking and management using a multi-platform adaptive ad campaign manager
US11354369B2 (en) * 2019-08-13 2022-06-07 Raytheon Company Multi-headed web-application architecture and messaging structure
CN111125577A (zh) * 2019-11-22 2020-05-08 百度在线网络技术(北京)有限公司 网页处理方法、装置、设备及存储介质
CN113468456B (zh) * 2021-07-12 2022-04-22 工银科技有限公司 网页渲染方法及装置、电子设备和计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010094927A1 (en) * 2009-02-19 2010-08-26 Aceplan Investments Limited Content access platform and methods and apparatus providing access to internet content for heterogeneous devices

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US6632248B1 (en) * 1996-12-06 2003-10-14 Microsoft Corporation Customization of network documents by accessing customization information on a server computer using uniquie user identifiers
US6026433A (en) * 1997-03-17 2000-02-15 Silicon Graphics, Inc. Method of creating and editing a web site in a client-server environment using customizable web site templates
US6148330A (en) * 1997-11-17 2000-11-14 Netscape Communications Corp. System and method for automatically generating content for a network channel
US6278448B1 (en) * 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
GB2371902B (en) * 1999-09-10 2004-11-17 Avantgo Inc System, method, and computer program product for interactive interfacing with mobile devices
US6966034B2 (en) * 2000-06-30 2005-11-15 Microsoft Corporation Supplemental request header for applications or devices using web browsers
GB0023570D0 (en) * 2000-09-26 2000-11-08 Volantis Systems Ltd Web server
US20020120779A1 (en) * 2000-11-14 2002-08-29 Douglas Teeple Mediation software for delivery of interactive mobile messaging and personalized content to mobile devices
US20020116534A1 (en) * 2000-11-14 2002-08-22 Doug Teeple Personalized mobile device viewing system for enhanced delivery of multimedia
JP2002259283A (ja) * 2001-03-01 2002-09-13 Sanyo Electric Co Ltd データ提供装置及びデータ提供方法並びにプログラム
US7567575B2 (en) * 2001-09-07 2009-07-28 At&T Corp. Personalized multimedia services using a mobile service platform
US7389471B2 (en) * 2003-06-11 2008-06-17 Microsoft Corporation Utilizing common layout and functionality of multiple web pages
US7409710B1 (en) * 2003-10-14 2008-08-05 Sun Microsystems, Inc. Method and system for dynamically generating a web-based user interface
US7293034B2 (en) * 2004-02-23 2007-11-06 Microsoft Coporation Dynamically customizing a user interface for the aggregation of content
US20060048051A1 (en) 2004-08-25 2006-03-02 Research In Motion Limited Method for rendering formatted content on a mobile device
US7653875B2 (en) * 2005-04-07 2010-01-26 Microsoft Corporation Browser sensitive web content delivery
US7840648B1 (en) * 2005-04-29 2010-11-23 Google Inc. Web-page authoring tool for automatic enrollment in advertising program
US7509374B2 (en) 2005-09-09 2009-03-24 Alchemic Solutions Group, Inc. Systems and methods for creating customized applications
US7814410B2 (en) * 2005-09-12 2010-10-12 Workman Nydegger Initial server-side content rendering for client-script web pages
US8739027B2 (en) * 2006-03-01 2014-05-27 Infogin, Ltd. Methods and apparatus for enabling use of web content on various types of devices
US20080172608A1 (en) * 2006-06-06 2008-07-17 Bellsouth Intellectual Property Corporation Site builder
US8117545B2 (en) 2006-07-05 2012-02-14 Magnify Networks, Inc. Hosted video discovery and publishing platform
US8020094B2 (en) * 2006-12-06 2011-09-13 Microsoft Corporation Editing web pages via a web browser
CA2578466A1 (en) * 2007-01-12 2008-07-12 Truecontext Corporation Method and system for customizing a mobile application using a web-based interface
CN101276362B (zh) 2007-03-26 2011-05-11 国际商业机器公司 定制网页的装置和方法
CN101657813A (zh) 2007-04-04 2010-02-24 香港科技大学 移动设备上网页的自定义渲染
US8103865B2 (en) 2007-08-01 2012-01-24 Phunware, Inc. Server method and system for rendering content on a wireless device
US8397212B2 (en) * 2007-08-29 2013-03-12 Yahoo! Inc. Module hosting and content generation platform
US20120167047A1 (en) * 2007-12-17 2012-06-28 Infogin Ltd. System and method for automatic creation of web content for mobile communicators
US8078989B2 (en) * 2008-02-29 2011-12-13 Red Hat, Inc. Internet access GUI for mobile devices
US7877461B1 (en) * 2008-06-30 2011-01-25 Google Inc. System and method for adding dynamic information to digitally signed mobile applications
US9286045B2 (en) 2008-08-18 2016-03-15 Infosys Limited Method and system for providing applications to various devices
US8700803B2 (en) 2009-06-03 2014-04-15 Netcordant, Inc. Web page optimization
US7627648B1 (en) 2009-07-23 2009-12-01 Yahoo! Inc. Customizing and storing web pages for mobile on web
AU2010306755B2 (en) 2009-10-14 2015-12-24 Theravasc Inc. Pharmaceutical formulations of nitrite and uses thereof
US8438312B2 (en) 2009-10-23 2013-05-07 Moov Corporation Dynamically rehosting web content
CN101808110B (zh) * 2009-12-31 2013-07-10 优视科技有限公司 一种基于移动通讯设备终端访问论坛的方法
CN101778168B (zh) * 2010-02-05 2012-07-18 中国电信股份有限公司 一种移动终端浏览器上网页优化显示方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010094927A1 (en) * 2009-02-19 2010-08-26 Aceplan Investments Limited Content access platform and methods and apparatus providing access to internet content for heterogeneous devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190005855A (ko) * 2016-05-12 2019-01-16 알리바바 그룹 홀딩 리미티드 페이지 컴포넌트 동적 레이아웃
JP2022013169A (ja) * 2020-07-03 2022-01-18 株式会社Shift 作成支援装置およびプログラム

Also Published As

Publication number Publication date
CN102937979B (zh) 2016-08-10
KR20190107299A (ko) 2019-09-19
JP2015501029A (ja) 2015-01-08
EP2769311A1 (en) 2014-08-27
EP2769311A4 (en) 2015-05-27
KR102021317B1 (ko) 2019-09-16
JP6279475B2 (ja) 2018-02-14
US9887873B2 (en) 2018-02-06
US8627204B2 (en) 2014-01-07
US20140108945A1 (en) 2014-04-17
KR102132137B1 (ko) 2020-07-08
WO2013059375A1 (en) 2013-04-25
US20130097488A1 (en) 2013-04-18
CN102937979A (zh) 2013-02-20

Similar Documents

Publication Publication Date Title
KR102132137B1 (ko) 웹 페이지의 맞춤 최적화 기법
JP6761112B2 (ja) 提示するためのネイティブコンテンツをサーバ側でレンダリングするための方法およびシステム
US8738448B2 (en) Web page ad slot identification
CN110020388A (zh) 一种页面展示方法及系统
US8463896B2 (en) Dynamic portal creation based on personal usage
US9348939B2 (en) Web site sectioning for mobile web browser usability
US20190332654A1 (en) Optimizing loading of web page based on aggregated user preferences for web page elements of web page
CN107656768B (zh) 控制页面跳转的方法及其系统
US11132209B2 (en) Integrated profile simulation for dynamic content
KR20130126610A (ko) 스타일 시트를 위한 식별자
US9542384B2 (en) Contextually aware web application platform
Jordan Building mobile tourist guide applications using different development mobile platforms
Xinogalos et al. Recent advances delivered by HTML 5 in mobile cloud computing applications: a survey
CN110618811B (zh) 信息呈现方法和装置
CN110647327A (zh) 基于卡片的用户界面动态控制的方法和装置
CN108139900B (zh) 传送关于应用的更新的信息
US20100057701A1 (en) Embeddable web application agent
US20200320158A1 (en) System for creating dynamic logic-based content variants
CN112051952A (zh) 图片动态浏览方法、装置、电子设备及可读存储介质
CN114035792A (zh) 页面生成方法、装置、电子设备及存储介质
JP2014160360A (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
CN118302763A (en) Efficient, flexible and secure dynamic digital content creation
CN117707369A (zh) 展示方法、装置和电子设备
Xinogalos et al. Recent advances delivered by HTML 5 in mobile cloud computing applications
JP2019028797A (ja) 情報表示プログラム、情報表示方法、情報表示装置、及び配信装置

Legal Events

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