KR101720071B1 - 온보드 하드웨어 기능들을 가진 웹페이지들 - Google Patents

온보드 하드웨어 기능들을 가진 웹페이지들 Download PDF

Info

Publication number
KR101720071B1
KR101720071B1 KR1020157006397A KR20157006397A KR101720071B1 KR 101720071 B1 KR101720071 B1 KR 101720071B1 KR 1020157006397 A KR1020157006397 A KR 1020157006397A KR 20157006397 A KR20157006397 A KR 20157006397A KR 101720071 B1 KR101720071 B1 KR 101720071B1
Authority
KR
South Korea
Prior art keywords
web page
client
client application
information
page data
Prior art date
Application number
KR1020157006397A
Other languages
English (en)
Other versions
KR20150043438A (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 KR20150043438A publication Critical patent/KR20150043438A/ko
Application granted granted Critical
Publication of KR101720071B1 publication Critical patent/KR101720071B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • G06F17/2247
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

클라이언트 애플리케이션에 웹페이지 데이터를 전송하는 것은: 상기 클라이언트 애플리케이션에 의해 전송된 웹페이지 요청을 수신하는 것; 상기 웹페이지 요청에서 표시 파라미터를 검출하는 것; 상기 표시 파라미터에 적어도 부분적으로 기초하여 상기 클라이언트 애플리케이션의 클라이언트 유형을 결정하는 것; 상기 클라이언트 유형이 브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 상기 클라이언트 애플리케이션에 웹페이지 정보를 포함한 제 1 웹페이지 데이터를 전송하는 것; 상기 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 상기 클라이언트 애플리케이션에 온보드 하드웨어 기능을 실행하기 위한 코드 및 웹페이지 정보를 포함한 제 2 웹페이지 데이터를 전송하는 것을 포함한다.

Description

온보드 하드웨어 기능들을 가진 웹페이지들{WEBPAGES WITH ONBOARD HARDWARE FUNCTIONS}
다른 출원들에 대한 상호 참조
본 출원은 2012년 10월 17일에 출원된, "페이지들을 되돌려 보내기 위한 방법; 페이지들을 생성하기 위한 방법 및 디바이스"라는 제목의, 중화 인민 공화국 특허 출원 번호 제201210395535.4호에 대한 우선권을 주장하며, 이것은 여기에서 모든 목적들을 위해 참조로서 통합된다.
본 출원은 웹페이지 기술의 분야에 관한 것이다. 특히, 그것은 상이한 유형들의 클라이언트들 상에서 웹페이지들을 생성 및 디스플레이하기 위한 기술에 관한 것이다.
스마트 폰들의 개발로, 점점 더 많은 웹사이트들이 이동 전화 클라이언트들을 도입하고 있다. 사용자들이 그것들의 이동 전화들을 갖고 웹사이트에 로깅할 때, 그들은 브라우저를 갖고 또는 인스턴트 메시징 클라이언트와 같은 웹사이트에 의해 제공된 특별한 클라이언트를 갖고 로깅할 수 있다.
카메라, 마이크로폰, 또는 다른 하드웨어 장비를 위한 기능들은 종종 사용자 동작을 용이하게 하기 위해 전화 클라이언트에 부가된다. 예를 들면, 이동 전화 마이크로블로그 클라이언트 애플리케이션은 실시간 사진-촬영 및 업로딩 기능들을 가질 수 있거나, 또는 전화기에서의 인스턴트 메시징 클라이언트는 음성 채팅 기능들을 가질 수 있다. 이러한 기능들은, 통상적으로 기존의 브라우저 애플리케이션들이 통상적으로 단지 데이터 입력, 파일 업로드 등과 같은 기능들만을 허용하지만, 브라우저 애플리케이션을 동작시키는 디바이스 상에서 특정 하드웨어의 액세스를 허용하지 않기 때문에, 브라우저들에 디스플레이된 웹페이지들로부터 생략된다.
통상적으로, 사용자들이 브라우저들 및 클라이언트들을 갖고 웹사이트들을 방문할 때, 서버는 동일한 웹페이지 데이터를 되돌려 보낸다. 브라우저가 웹페이지 데이터를 수신한 후, 그것은 디스플레이를 위한 웹페이지를 생성하기 위한 근거로서 웹페이지 데이터에서의 웹페이지 정보를 사용할 수 있다. 클라이언트가 웹페이지 데이터를 수신한 후, 클라이언트 프로그램은 웹페이지 데이터에서의 웹페이지 정보로부터 생성된 웹페이지에 하드웨어 기능을 부가할 것이다. 즉, 클라이언트 프로그램은 하드웨어 기능을 생성하고 그것을 웹페이지에 부가하기 위해 온보드 하드웨어 정보를 호출하며, 궁극적으로 하드웨어 기능을 포함한 웹페이지를 디스플레이할 것이다. 그러므로, 브라우저들 및 클라이언트들 양쪽 모두가 로그인하기 위해 사용될 수 있지만, 그것들의 특정한 기능들은, 웹페이지들의 주요 콘텐트가 기본적으로 동일할지라도, 웹사이트 서버에 의해 되돌려 보내지는 웹페이지 데이터에 대하여 상이하다.
상기 설명된 방법에서처럼 웹페이지들에 디스플레이된 콘텐트를 변경한다면, 보통 서버 단에서 수정들을 하는 것이 필요할 것이다. 부가적으로, 하드웨어-관련 기능들을 변경한다면, 클라이언트 단에서 수정들을 하고 그 후 클라이언트를 업그레이드하는 것이 필요할 것이다. 서버 및 클라이언트는 개별적으로 수정될 필요가 있을 것이며, 수정된 기능들은 클라이언트가 업그레이드된 후까지 경험되지 않을 수 있다. 클라이언트는 또한 업그레이딩 동안 동작되지 않을 수 있다. 업그레이드 프로세스는 개발자들 및 사용자들 양쪽 모두에 대해 복잡하며 시간-소모적이다.
본 발명에 따라 클라이언트 애플리케이션에 웹페이지 데이터를 전송하는 것은: 상기 클라이언트 애플리케이션에 의해 전송된 웹페이지 요청을 수신하는 것; 상기 웹페이지 요청에서 표시 파라미터를 검출하는 것; 상기 표시 파라미터에 적어도 부분적으로 기초하여 상기 클라이언트 애플리케이션의 클라이언트 유형을 결정하는 것; 상기 클라이언트 유형이 브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 상기 클라이언트 애플리케이션에 웹페이지 정보를 포함한 제 1 웹페이지 데이터를 전송하는 것; 상기 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 상기 클라이언트 애플리케이션에 온보드 하드웨어 기능을 실행하기 위한 코드 및 웹페이지 정보를 포함한 제 2 웹페이지 데이터를 전송하는 것을 포함한다.
본 발명에 따르면, 업그레이딩 프로세스가 대단히 간소화된다. 사용자들은 웹페이지들 또는 비-브라우저 클라이언트 애플리케이션들에서의 기능 변화들을 고려하지 않고 웹사이트를 액세스할 수 있으며, 동작들은 수행하기에 용이하다.
도 1a는 온보드 하드웨어 기능들을 가진 웹페이지들을 지원하는 환경의 실시예를 예시한 블록도.
도 1b는 웹페이지 정보를 전송하기 위한 프로세스의 실시예를 예시한 플로차트.
도 2는 웹페이지들 생성 및 디스플레이하기 위한 프로세스의 실시예를 예시한 플로차트.
도 3은 웹페이지 정보를 전송하기 위한 디바이스의 실시예의 구조도.
도 4는 본 출원의 실시예에 설명된 바와 같이 웹페이지들을 생성하기 위한 디바이스의 실시예의 구조도.
도 5는 브라우저 애플리케이션 및 비-브라우저 클라이언트 애플리케이션에 의해 디스플레이된 예시적인 웹페이지들의 사용자 인터페이스 다이어그램들.
본 발명의 다양한 실시예들이 다음의 상세한 설명 및 첨부한 도면들에 개시된다.
본 발명은 프로세스; 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체 상에 구체화된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리 상에 저장되며 및/또는 그것에 의해 제공된 지시들을 실행하도록 구성된 프로세서와 같은, 프로세서로서 포함하여, 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들로서 불리울 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 서술되지 않는다면, 태스크를 수행하도록 구성되는 바와 같이 설명된 프로세서 또는 메모리와 같은 구성요소는 주어진 시간에 태스크를 수행하도록 임시로 구성되는 일반 구성요소 또는 태스크를 수행하기 위해 제조되는 특정한 구성요소로서 구현될 수 있다. 여기에 사용된 바와 같이, 용어('프로세서')는 컴퓨터 프로그램 지시들과 같은, 데이터를 프로세싱하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 프로세싱 코어들을 나타낸다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부한 도면들과 함께 이하에 제공된다. 본 발명은 이러한 실시예들과 관련되어 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 단지 청구항들에만 제한되며 본 발명은 다수의 대안들, 수정들, 및 등가물들을 포함한다. 다수의 특정한 세부사항들이 본 발명의 철저한 이해를 제공하기 위해 다음의 설명에 제시된다. 이들 세부사항들은 예시의 목적을 위해 제공되며 본 발명은 이들 특정한 세부사항들 중 일부 또는 모두 없이 청구항들에 따라 실시될 수 있다. 명료함을 위해, 본 발명과 관련된 기술 분야들에 알려진 기술 자료는 본 발명이 불필요하게 모호해지지 않도록 상세히 설명되지 않았다.
본 출원은 서버가 브라우저 및 비-브라우저 클라이언트 애플리케이션들을 위한 상이한 웹페이지 데이터를 되돌려 보내도록 클라이언트 유형-특정 웹페이지들을 생성하기 위한 기술을 제공한다. 예를 들면, 비-브라우저 클라이언트 애플리케이션들을 위한 웹페이지 데이터는 사진들을 업로딩하는 것, 마이크로폰을 통한 채팅 등과 같은 온보드 하드웨어를 요구하는 특정한 기능들을 포함할 수 있는 반면, 브라우저 클라이언트를 위한 웹페이지 데이터는 이러한 기능들을 생략할 수 있거나 또는 상이한 기능들을 포함할 수 있다. 비-브라우저 클라이언트 애플리케이션들은 웹페이지 데이터를 위한 컨테이너들로서 간주될 수 있다. 서버는 디스플레이되는 웹페이지들 및 콘텐트를 결정한다. 그러므로, 웹페이지 디스플레이 콘텐트에 대한 변화들 및 하드웨어 기능들에 대한 변화들 양쪽 모두는 서버 단에서 실행될 수 있다. 클라이언트는 업그레이드될 필요가 없다. 그러므로 업그레이딩 프로세스는 대단히 간소화된다. 사용자들은 웹페이지들 또는 비-브라우저 클라이언트 애플리케이션들에서의 기능 변화들을 고려하지 않고 웹사이트를 액세스할 수 있다. 동작들은 수행하기에 용이하다.
도 1a는 온보드 하드웨어 기능들을 갖고 웹페이지들을 지원하는 환경의 실시예를 예시한 블록도이다. 클라이언트 디바이스들(101)은 개인용 컴퓨터들, 스마트폰들 또는 태블릿들과 같은 이동 단말들, 또는 임의의 다른 적절한 디바이스들일 수 있다. 클라이언트 디바이스들은 네트워크(예로서, 인터넷)를 통해 서버(103)와 통신한다.
사용자가 스마트폰 또는 태블릿 디바이스와 같은 클라이언트 디바이스를 사용하여 웹사이트를 액세스할 때, 그 또는 그녀는 브라우저(예로서, 사파리(Safari)?, 크롬(Chrome)?, 인터넷 익스플로러(Internet Explorer)? 등)와 같은 클라이언트 애플리케이션을 가진 웹사이트 또는 상기 웹사이트를 위한 특수화된 클라이언트(또한 비-브라우저 애플리케이션으로서 불리우는)를 로그 온하거나 또는 그 외에 액세스할 수 있다. 클라이언트 애플리케이션은 웹사이트 서버와의 데이터 교환들에 참여한다. 몇몇 실시예들에서, 클라이언트 디바이스는 비-브라우저 애플리케이션에 의해 액세스될 수 있는 카메라 또는 마이크로폰과 같은 특정한 온보드 하드웨어를 포함한다. 따라서, 특정한 하드웨어 기능들은 웹사이트와 상호작용하기 위해 사용자에게 보다 많은 방식들을 제공하도록 비-브라우저 애플리케이션에 디스플레이될 웹 페이지들에 부가된다.
도 1b는 웹페이지 정보를 전송하기 위한 프로세스의 실시예를 예시한 플로차트이다. 프로세스(100)는 도 1a의 103과 같은 서버 시스템상에서 수행될 수 있다.
102에서, 웹페이지 요청이 수신된다.
사용자가 브라우저를 사용한 웹사이트 또는 그의 클라이언트 장비 상에서 동작하는 비-브라우저 클라이언트 애플리케이션을 로그 인하거나 또는 그 외에 처음에 액세스할 때, 그는 먼저 서버에 의해 수신되는 웹페이지 요청을 전송한다. 상기 웹페이지 요청은 요청된 웹페이지 어드레스, 즉 요청된 웹페이지에 대한 유니버셜 리소스 로케이터(URL)를 포함할 수 있다. 이하에 보다 상세히 논의될 바와 같이, 웹페이지 요청은 클라이언트 유형을 나타내는 표시를 포함한다.
104에서, 웹페이지 요청을 전송한 클라이언트에 대한 클라이언트 유형을 식별하기 위해 사용된 표시(marking) 파라미터가 검출된다. 상기 표시 파라미터는 웹페이지 요청을 전송한 클라이언트 유형을 액세스하기 위한 근거로서 사용된다.
여기에 사용된 바와 같이, 클라이언트 유형들은 브라우저 애플리케이션들(예로서, 사파리?, 구글 크롬?, 인터넷 익스플로러? 등) 및 비-브라우저 클라이언트 애플리케이션들(예로서, iOS?를 위한 타오바오(Taobao)의 쇼핑 애플리케이션, 안드로이드(Android)?를 위한 타오바오의 쇼핑 애플리케이션 등)을 포함한다. 몇몇 실시예들에서, 비-브라우저 클라이언트 애플리케이션들은 하이브리드 애플리케이션들일 수 있다. 몇몇 실시예들에서, 상이한 클라이언트 유형 필드들이 표시 파라미터를 사용하여 상이한 웹페이지 요청들에 설정된다. 몇몇 실시예들에서, 브라우저로부터 온 웹페이지 요청들에 대해, 웹페이지 요청에서 표시 파라미터를 설정할 필요가 없다. 비-브라우저 클라이언트 애플리케이션으로부터 온 웹페이지 요청들에 대해, 표시 파라미터는 웹페이지 요청의 소스를 식별하기 위해 웹페이지 요청에 설정된다. 예를 들면, 브라우저를 사용한 사용자는 원하는 URL로서 http://www.taobao.com을 입력할 수 있으며, 브라우저에 의해 전송된 대응하는 웹페이지 요청은 http://www.taobao.com의 URL을 포함한다. 비-브라우저 클라이언트 애플리케이션은 부가적인 파라미터들을 갖고 동일한 URL을 액세스하도록 구성된다. 비-브라우저 클라이언트 애플리케이션에 의해 전송된 웹페이지 요청은 http://www.taobao.com/version=1&type=1의 URL을 포함할 수 있으며, 여기에서 "type"의 파라미터 및 그것의 대응하는 값들의 의미들은 클라이언트 프로그램의 프로그래머에 의해 특정된다(예로서, "type=1"은 클라이언트 프로그램이 비-브라우저 프로그램임을 나타낸다). 다른 파라미터들 및 값들이 사용될 수 있다.
서버가 웹페이지 요청들을 수신한 후, 그것은 웹페이지 요청에 대한 소스(즉, 요청을 만든 클라이언트 애플리케이션의 유형)를 결정할 것이며, 상이한 요청 소스들을 위한 상이한 웹페이지 데이터를 되돌려 보낼 것이다.
106에서, 서버는 먼저 웹페이지 요청이 표시 파라미터를 포함하는지를 검출한다. 웹페이지 요청이 표시 파라미터를 포함하지 않는다면, 웹페이지 요청이 브라우저로부터 왔다고 결정되며, 제어가 107로 전달된다. 웹페이지 요청이 표시 파라미터를 포함한다면, 제어는 108로 전달된다.
107에서, 웹페이지 요청은 브라우저에 의해 전송된 것으로 간주된다; 그러므로, 브라우저-기반 웹페이지 데이터가 클라이언트에 전송된다. 몇몇 실시예들에서, 브라우저-기반 웹페이지 데이터는 웹페이지 정보, 즉, 브라우저로 되돌려 보내진 웹페이지들에 의해 디스플레이된 콘텐트에 대한 관련 데이터를 포함한다.
108에서, 웹페이지 요청은 비-브라우저 클라이언트 애플리케이션에 의해 전송되었다고 간주되며; 그러므로, 특정 비-브라우저 클라이언트 애플리케이션에 기초한 비-브라우저 웹페이지 데이터는 클라이언트에 전송된다. 몇몇 실시예들에서, 비-브라우저 웹페이지 데이터는 하나 이상의 온보드 하드웨어 기능들을 수행하기 위해 웹페이지 정보 및 하드웨어 기능 정보를 포함한다.
웹페이지 정보는 그에 의해 브라우저 또는 비-브라우저 클라이언트 애플리케이션이 웹페이지의 페이지 레이아웃, 폰트, 컬러, 텍스트 정보, 그래픽 정보 등을 특정하는, HTML 코드, 자바스크립트(JavaScript) 코드, 및/또는 CSS 코드와 같은, 인터넷 웹페이지를 다운로딩하며 형성한다. 상기 하드웨어 기능 정보는 클라이언트에 의한 실행을 위해 제공된 코드를 포함하며 탑재 카메라를 사용하여 사진 또는 비디오를 촬영하고, 탑재 마이크로폰을 사용하여 음성-기반 코멘트를 기록하는 등을 위한 하드웨어 API 호출들을 호출하는 자바스크립트 코드와 같은, 온보드 하드웨어 기능들을 호출하기 위해 사용된다. 따라서, 특정한 온보드 하드웨어를 갖고 클라이언트 디바이스 상에서 구동하는 비-브라우저 클라이언트 애플리케이션에 의해 디스플레이된 웹페이지는 온보드 하드웨어를 사용하는 부가적인 기능들을 포함할 수 있다.
도 5는 브라우저 애플리케이션 및 비-브라우저 클라이언트 애플리케이션에 의해 디스플레이된 예시적인 웹페이지들의 사용자 인터페이스 다이어그램들을 도시한다. 사용자 인터페이스 다이어그램들(500 및 502) 양쪽 모두는 상이한 클라이언트 애플리케이션들에 디스플레이된, 동일한 웹사이트 상에서의 동일한 제품에 대한 제품 피드백 페이지를 디스플레이한다. 500은 브라우저에 의해 디스플레이된 예시적인 웹페이지이다. 502는 비-브라우저 클라이언트 애플리케이션에 의해 디스플레이된 예시적인 웹페이지이다. 페이지들은 100과 같은 프로세스를 사용하여 각각의 클라이언트 애플리케이션들로 다운로딩된다. 도시된 바와 같이, 502는 온보드 하드웨어에 의존하는 부가적인 기능들, 특히 각각 버튼들(504 및 506) 상에서의 사용자 클릭에 의해 호출되는 "사진 촬영" 기능 및 "코멘트들 기록" 기능을 포함한다.
상기를 요약하기 위해, 본 애플리케이션의 서버가 웹페이지 요청을 수신한 후, 그것은 웹페이지 요청에서의 웹페이지 요청을 전송한 클라이언트 유형을 식별하기 위해 표시 파라미터를 검출하며 웹페이지 요청을 전송한 클라이언트 유형을 평가한다. 클라이언트 유형이 브라우저인 것으로 결정될 때, 서버는 웹페이지 정보를 포함한 제 1 웹페이지 데이터를 되돌려 보낸다. 웹페이지 요청의 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션이라고 결정될 때, 서버는 제 2 웹페이지 데이터를 되돌려 보낸다. 상기 제 2 웹페이지 데이터는 하나 이상의 지정된 온보드 하드웨어 기능들을 실행하기 위한 코드(예로서, 하드웨어 API 호출들을 호출하는 자바스크립트 코드) 및 웹페이지 정보를 포함한다. 몇몇 실시예들에서, 웹페이지 요청 클라이언트 유형은 서버 단으로부터 평가된다. 상이한 클라이언트 유형들에 대한 상이한 데이터(웹페이지 정보 및 하드웨어 기능들을 포함한)는 서버에 의해 전송된다. 따라서, 비-브라우저 클라이언트 애플리케이션들은 서버-전송 데이터의 컨테이너들로서 간주된다. 그러므로, 웹페이지 디스플레이 콘텐트에 대한 변화들 및 하드웨어 기능들에 대한 변화들 양쪽 모두는 서버 단에서 실행될 수 있다. 비-브라우징 클라이언트 프로그램은 업그레이딩될 필요가 없다. 모든 사용자가 할 필요가 있는 것은 로그 인하거나 또는 그 외 서버를 액세스하는 것이며 클라이언트 프로그램에 대한 부가적인 변화들을 수행하도록 요구되지 않는다. 업그레이드 프로세스는 간소화되며 수행하기 용이하다.
몇몇 실시예들에서, 웹페이지 요청은 선택적으로 플랫폼 정보를 포함한다. 상이한 이동 전화들은 상이한 운영 시스템들을 가진다. 예들은 안드로이드?, iOS?, 및 윈도우즈 폰 7(WP7)을 포함한다. 그러므로, 클라이언트 애플리케이션들은 상이한 운영 시스템들에 설치될 수 있다. 상이한 운영 시스템들의 메커니즘들이 상이하기 때문에, 그것들이 하드웨어 기능들을 활성화하는 방식들이 또한 상이하다. 그러므로, 상이한 운영 시스템들에 설치된 비-브라우저 클라이언트 애플리케이션들은 하드웨어 기능들을 로딩할 때 상이한 데이터를 요구한다. 예를 들면, 상이한 애플리케이션 프로그래밍 인터페이스(API) 정보가 상이한 플랫폼들 상에서 하드웨어 기능들을 지원하기 위해 요구된다. 그러므로, 서버는 비-브라우저 클라이언트 애플리케이션이 설치된 운영 시스템의 종류를 식별할 필요가 있다. 몇몇 실시예들에서, 식별 프로세스를 용이하게 하기 위해, 웹페이지 요청은 비-브라우저 클라이언트 애플리케이션이 설치되는 운영 시스템을 식별하기 위해 사용되는 플랫폼 정보를 더 포함한다.
몇몇 실시예들에서, 요청이 비-브라우저 클라이언트로부터 왔다고 결정한 후, 프로세스는 클라이언트 애플리케이션이 동작하는 플랫폼 환경(즉, 클라이언트 프로그램의 구동을 지원하는 운영 시스템)을 구별하도록 플랫폼 정보를 검출하는 것을 더 포함한다. 몇몇 실시예들에서, 부가적인 파라미터들이 클라이언트 애플리케이션(예로서, 하드-코딩되고, 구성 파일 또는 다른 위치로부터 판독된 등)에 의해 구성되며 웹페이지 요청에 포함된다. 예를 들면, iOS 디바이스에 의해 전송된 요청은 http://www.taobao.com/version=1&platform=ios&type=1의 URL을 포함할 수 있으며, 안드로이드-기반 클라이언트 프로그램에 의해 전송된 요청은 http://www.taobao.com/version=1&platform=Android&type=2의 URL을 포함할 수 있다.
몇몇 실시예들에서, 웹페이지 요청을 전송한 클라이언트 유형을 식별하는 웹페이지 요청에서의 표시 파라미터는 웹페이지 요청의 클라이언트 유형이 브라우저 애플리케이션인지 또는 비-브라우저 클라이언트 애플리케이션인지를 결정하기 위해 사용된다. 다음으로, 서버는 클라이언트 프로그램이 설치되는 운영 시스템의 유형을 결정한다. 몇몇 실시예들에서, 상기 예에 도시된 플랫폼 정보 파라미터는 웹페이지 요청의 클라이언트 소스를 구별하기 위해 사용된다. 즉, 플랫폼 정보는 클라이언트 애플리케이션이 구동하는 플랫폼(예로서, 운영 시스템)을 평가하기 위한 근거로서 사용되며, 온보드 하드웨어 기능들을 실행하기 위해 코드에 의해 요구된 플랫폼-특정 지원 정보가 클라이언트 애플리케이션에 전송된다.
다양한 실시예들에서, 비-브라우저 클라이언트 애플리케이션들은 안드로이드?, iOS?, WP7? 등과 같은 다수의 상이한 플랫폼들 상에서 실행한다.
플랫폼상에서 구동한 클라이언트가 하드웨어 기능들을 로딩할 때, 그것은 상기 플랫폼을 위한 API 정보, 사진의 최대 크기, 기록의 최대 길이, 하드웨어에 의해 캡처된 데이터가 서버로 로딩될 수 있는지 여부 등과 같은 하드웨어 제한들과 같은, 상기 플랫폼에 대한 지원 정보를 전송하도록 서버에 요구한다. 상기 지원 정보는 플랫폼-특정적이며; 다시 말해서, 상이한 지원 정보가 상이한 플랫폼들에 의해 요구된다. 클라이언트가 클라이언트가 호출하는 하드웨어 기능들을 지원하지 않는 플랫폼상에서 구동된다면, 어떤 부가적인 지원 정보도 전송될 필요가 없다.
선택적으로, 웹페이지 요청이 제 1 플랫폼상에서 구동되는 클라이언트 프로그램으로부터 온다면, 제 2 웹페이지 데이터는 하드웨어 기능들을 로딩하기 위해 제 1 플랫폼에 의해 요구된 지원 정보를 더 포함할 것이다. 상기 지원 정보는 하드웨어 기능들을 로딩하기 위한 지원을 제공하기 위한 것이다. 특정 지원 정보는 상이한 플랫폼들, 즉 운영 시스템들에 따라 변한다.
몇몇 실시예들에서, 하드웨어 기능들을 지원하는 플랫폼들은 플랫폼 데이터를 요구한다. 예를 들면, 비-브라우저 클라이언트 애플리케이션이 폰갭(PhoneGap) 툴을 통해 개발된다면, 안드로이드 플랫폼상에서 비-브라우저 클라이언트 애플리케이션을 구동하기 위해, 폰갭 JS 라이브러리가 하드웨어 기능들을 로딩하는 동안 로딩된다. 안드로이드 플랫폼을 위한 안드로이드.js 파일, 또는 iOS 플랫폼을 위한 ios.js 등과 같은, 로컬 플랫폼상에서 자바스크립트를 지원하기 위한 다른 자바스크립트 코드가 몇몇 실시예들에서 요구되며 다운로딩될 수 있다.
몇몇 실시예들에서, 지원 정보는 기능 호출들, 파라미터들, 반환 값들 등과 같은, 하드웨어 기능들에 관계된 API 정보를 포함한다. 따라서, 클라이언트 플랫폼들은 서버가 되돌려 보내야 하는지 여부/어떤 유형의 지원 정보를 서버가 되돌려 보내야 하는지에 대한 요청의 규격, 뿐만 아니라 클라이언트에 의한 운영 시스템의 실제 규격에 의해 구별될 수 있다. 많은 상이한 플랫폼들이 가능하며 특정 플랫폼을 구별하기 위한 임의의 적절한 기술이 사용될 수 있다.
상기를 요약하기 위해, 본 애플리케이션에 설명된 웹페이지 요청들은 서버가 클라이언트 프로그램들이 위치되는 플랫폼들을 구별할 수 있도록 클라이언트 프로그램이 구동하는 플랫폼을 식별하는 정보를 더 포함한다. 온보드 하드웨어 기능들을 호출하는 코드에 의해 요구된 플랫폼-특정 지원 정보가 결정되며 플랫폼들로 전송된다. 그러므로, 서버에 의해 되돌려 보내진 웹페이지 데이터는 다양한 종류들의 운영 시스템들의 요구들을 충족시킬 수 있다.
예시를 위해, 다음의 논의들은 예시적인 온보드 하드웨어 기능들로서 카메라 기능들 및/또는 마이크로폰 기능들을 사용한다. 하드웨어 기능 정보의 유형은 클라이언트 디바이스 상에서 이용 가능한 특정 하드웨어에 의존한다. 가속도계 기능들, 바이오센서 기능들 등과 같은 다른 하드웨어 기능들이 또한 사용될 수 있다.
도 2는 웹페이지를 생성 및 디스플레이하기 위한 프로세스의 실시예를 예시한 플로차트이다. 프로세스(200)는 클라이언트 디바이스 상에서 수행될 수 있다.
202에서, 클라이언트는 요구된 대로 웹페이지 요청을 전송한 클라이언트 유형을 식별하는 표시 파라미터를 웹페이지 요청에 부가하며, 웹페이지 요청을 전송한다.
사용자가 클라이언트 웹사이트로 로깅하기 위해 클라이언트 프로그램을 사용할 때, 클라이언트는 웹페이지가 로딩되도록 요청하기 위해 웹페이지 요청을 전송할 것이다. 서버로 하여금 웹페이지 요청이 어떤 유형의 클라이언트로부터 오는지를 식별할 수 있게 하기 위해, 표시 파라미터가 적절하게 웹페이지 요청에 부가된다. 표시 파라미터의 존재는 비-브라우저 클라이언트 애플리케이션으로서 클라이언트를 식별한다. 예를 들면, "플랫폼"의 표시 파라미터는 웹페이지 요청에 포함되며, 클라이언트 프로그램의 구현에 의존하여, 표시 파라미터의 값은 "iOS", "안드로이드", "WP7" 등으로서 설정될 수 있다.
204에서, 웹페이지 데이터가 수신된다. 웹페이지 데이터는 웹페이지 요청에 응답하여 되돌려 보내진다.
클라이언트는 웹페이지 요청을 전송한 클라이언트 프로그램을 식별한 후 서버에 의해 되돌려 보내진 클라이언트 프로그램-특정 웹페이지 데이터를 수신한다. 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션일 때, 웹페이지 데이터는 하드웨어 기능 정보 및 웹페이지 정보(즉, 클라이언트에서 웹페이지에 의해 디스플레이된 콘텐트)를 포함한다.
웹페이지 정보는 웹페이지를 로딩 및 형성하기 위해 클라이언트에 공급된 웹페이지 데이터(예를 들면, 웹페이지를 포맷팅하는 HTML 문서 정보)를 포함한다. 하드웨어 기능 정보는 클라이언트에 의한 실행을 위해 제공된 코드를 포함하며 온보드 하드웨어 기능들을 호출하기 위해 사용된다(예로서, hardware.useCamera()와 같은 자바스크립트 API 호출).
206에서, 하나 이상의 웹페이지들이 웹페이지 데이터에 따라 생성되며, 디스플레이된다.
클라이언트 유형이 비-브라우저 클라이언트 애플리케이션일 때, 클라이언트 프로그램은 웹페이지들을 디스플레이하기 위한 컨테이너로서 간주될 수 있다. 컨테이너에 의해 운반된 데이터는 서버에 의해 전송되었다. 그러므로, 클라이언트가 웹페이지 데이터를 수신한 후, 그것은 웹페이지 데이터에 따라 하드웨어 기능들을 포함한 웹페이지들을 생성할 수 있다. 예를 들면, 서버가 클라이언트 플랫폼이 안드로이드?임을 검출한다면, 반환된 웹페이지 데이터는 반환된 웹페이지 데이터에서 다음의 스크립트를 포함함으로써 안드로이드의 온보드 하드웨어 기능들을 지원하는 자바스크립트 파일들을 구체적으로 호출하는 데이터를 포함한다: <script type="text/javascript" src=http://cdn.taobao.com/android/hardwar.js/>. 사진에 대한 최대 픽셀 크기, 기록된 메시지에 대한 최대 길이 등과 같은 부가적인 지원 데이터가 서버로부터 획득된다. 클라이언트 애플리케이션은 그 후 기존의 기술들을 사용하여 웹페이지들을 디스플레이한다.
종래 기술에서, 비-브라우저 클라이언트들에서의 하드웨어 기능들이 클라이언트 코드로서 구현되기 때문에, 클라이언트 웹페이지들에서의 하드웨어 기능 변화들은 먼저 클라이언트를 업데이트하지 않고 구현될 수 없다. 본 출원에서, 그러나, 하드웨어 기능들을 구현하기 위한 관련 데이터가 서버에 의해 제공된다. 그러므로, 하드웨어 기능들에 대한 변화들은 서버 단에서 완료될 수 있다. 업그레이드는 클라이언트를 업그레이드하는 것을 요구하지 않으며, 그러므로 업그레이딩 프로세스는 사용자에게 투명하다.
상기를 요약하기 위해, 클라이언트가 본 애플리케이션에서 웹페이지들을 요청할 때, 그것은 웹페이지 요청의 클라이언트 유형을 나타내기 위해 웹페이지 요청에 표시 파라미터를 부가할 것이다. 상기 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션일 때, 클라이언트 애플리케이션은 서버에 의해 되돌려 보내진 웹페이지 데이터(하드웨어 기능 정보를 포함한)를 수신하고, 온보드 하드웨어 기능들을 포함한 웹페이지들을 생성하며, 그것들을 디스플레이한다. 클라이언트 프로그램이 본 애플리케이션에서 웹페이지들을 로딩할 때, 그것은 클라이언트 디바이스의 플랫폼에 의해 제공된 기존의 API들을 호출함으로써, 단지 서버에 의해 되돌려 보내진 웹페이지 데이터에 기초하여 로딩한 하드웨어 기능을 구현할 수 있다. 클라이언트 프로그램은 웹페이지들을 디스플레이하기 위한 컨테이너로서 간주될 수 있어서, 그것을 클라이언트 프로그램을 동작시키기에 매우 용이하게 만든다. 웹페이지 데이터 및 하드웨어 기능들에서의 변화들을 만드는 것은 클라이언트 애플리케이션 업그레이드들을 요구하지 않는다.
몇몇 실시예들에서, 웹페이지 요청을 전송하기 전에, 클라이언트 프로그램은 또한 클라이언트 프로그램이 구동되는 플랫폼상에서 정보를 획득하며, 여기에서 상기 플랫폼 정보는 클라이언트 프로그램이 구동되는 플랫폼을 평가하기 위한 근거로서 사용되고, 상기 플랫폼은 그에 의해 플랫폼상에서의 클라이언트 프로그램이 온보드 하드웨어 기능들을 실행하는 코드에 의해 요구된 지원 정보를 획득하기 위한 근거로서 작용한다.
또한, 플랫폼 정보는 웹페이지 요청에 부가된다. 플랫폼 정보는 클라이언트 프로그램이 구동되는 운영 시스템에 대한 정보이다.
상기 클라이언트 프로그램이 상이한 운영 시스템들 상에 설치될 수 있으며, 상이한 운영 시스템들이 하드웨어 기능들을 로딩할 때 상이한 데이터를 요구하기 때문에, 클라이언트 프로그램은 또한 그것이 전송하는 웹페이지 요청에 대응하는 플랫폼 정보를 획득할 필요가 있다. 그것은 그 후 웹페이지 요청에 플랫폼 정보를 부가한다. 플랫폼 정보는 클라이언트 프로그램이 로딩된 운영 시스템을 식별하도록 작용한다.
상기 플랫폼 정보에 대한 클라이언트 소스가 온보드 하드웨어의 호출을 지원하는 플랫폼이라면, 웹페이지 데이터는 플랫폼 지원 정보를 더 포함한다. 예를 들면, JS 라이브러리들은 안드로이드 시스템이 하드웨어 기능들을 로딩하는 동안 로딩될 필요가 있으며, JS 라이브러리 로딩은 연관된 코드의 지원을 요구한다. 그러므로, 웹페이지 데이터는 클라이언트 플랫폼의 지원 정보를 더 포함한다. 지원 정보는 하드웨어 기능들의 로딩을 지원하기 위한 것이며, 특정 유형의 지원 정보는 상이한 플랫폼들, 즉 운영 시스템들에 따라 변한다.
몇몇 실시예들에서, 온보드 하드웨어 기능들을 포함한 웹페이지들을 생성하기 위한 근거로서 상기 웹페이지 데이터를 사용하는 것은 웹페이지 정보를 렌더링하기 위해 페이지 렌더링 엔진(트라이덴트(Trident), 게코(Gecko), 웹키트(WebKit), 프레스토(Presto) 등과 같은)을 호출하는 것 및 렌더링 프로세스에 온보드 하드웨어 기능들을 실행하기 위한 코드를 부가하는 것을 포함한다.
웹페이지들을 생성하는 프로세스는 또한 웹페이지 렌더링의 프로세스이다. 예를 들면, 웹페이지 정보는 웹페이지 HTML 코드일 수 있으며, 이 경우에, 웹페이지 렌더링은 하향식으로 HTML 코드의 실행일 수 있다. 화상, 플래시, 및 다른 이러한 데이터는 웹페이지에 대해 요구될 때 서버로부터 획득된다. 렌더링 프로세스에서, 코드 실행이 기능 요구 하드웨어에 도달할 때, 온보드 하드웨어 기능들을 실행하기 위한 코드가 부가되며, 그 후 코드가 실행된다. 예를 들면, 카메라 기능을 부가하기 위해, hardware.useCamera()의 기능 호출이 부가된다. 그 후, HTML 코드의 실행은 HTML 코드의 실행이 끝날 때까지 계속되며, 이 포인트에서, 온보드 하드웨어 기능을 포함한 웹페이지가 생성된다.
상기 프로세스에서, 부가되는 하드웨어 기능의 실행은 두 개의 유형들을 포함한다: 1) 즉시 실행 -- 예를 들면, 접촉 정보를 로딩할 때, 하드웨어 기능 코드와 같은 하드웨어 기능 정보가 직접 로딩될 수 있다. 2) 비-즉시 실행 -- 예를 들면, 하드웨어 기능이 버튼에 의해 트리거된다. 이 경우에, 하드웨어 인터페이스는 인터페이스가 하드웨어 기능 정보에 연결하도록 웹페이지에서 구성될 수 있다. 웹페이지가 디스플레이된 후, 및 사용자가 버튼을 클릭한 후, 인터페이스가 트리거될 수 있으며, 그 후 하드웨어 기능 정보가 실행된다.
상기 프로세스에서, 본 출원에서의 클라이언트는 폰갭을 사용하여 개발될 수 있다. HTML, CSS 및 자바스크립트를 갖고 형성된, 폰갭은 모바일 크로스-플랫폼 이동 애플리케이션들을 빨리 개발하기 위한 플랫폼이다. 그것은 개발자들로 하여금 아이폰, 안드로이드, 팜(Palm), 심비안(Symbian), WP7, 바다(Bada), 및 블랙베리와 같은 스마트폰들의 핵심 기능들(지리적 위치 결정, 가속도계, 접촉들, 음성 및 진동 등을 포함한)을 사용할 수 있게 한다. 또한, 폰갭은 다수의 기능들을 확대시키게 할 수 있는, 많은 플러그-인들을 가진다.
폰갭은 클라이언트 개발 미들웨어의 종류를 제공하며, 이것은 온보드 하드웨어 기능들을 호출하기 위해 프론트-엔드 개발 기술을 사용하는 인터페이스를 제공한다. 폰갭에서의 SDK(소프트웨어 개발 키트)에 의해 제공된 웹뷰(WebView) 제어는 웹키트(WebKit)(개방-소스 브라우저 엔진)에 기초하며; 핵심은 웹페이지들의 렌더링 및 디스플레이를 실현할 수 있다.
몇몇 실시예들에서, 웹페이지 데이터가 지원 정보를 더 포함한다면, 웹페이지 데이터에 따라 생성된 하드웨어 기능-포함 웹페이지들은 웹페이지 정보를 렌더링하기 위해 페이지 렌더링 엔진을 호출하는 것 및 온보드 하드웨어 기능들을 포함한 웹페이지들을 생성하기 위해 상기 렌더링에 위치 하드웨어 기능들을 실행하기 위한 코드 및 지원 정보를 부가하는 것을 포함한다.
웹페이지들을 생성하는 프로세스는 또한 웹페이지 렌더링의 프로세스이다. 예를 들면, 웹페이지 정보는 웹페이지 HTML 코드일 수 있으며, 이 경우에, 웹페이지 렌더링은 하향식으로 HTML 코드의 실행일 수 있다. 화상, 플래시, 및 다른 이러한 데이터가 웹페이지에 대해 요구될 때 서버로부터 획득된다. 렌더링 프로세스에서, 코드 실행이 기능 요구 하드웨어에 도달할 때, 하드웨어 기능 코드는 하드웨어 기능 로딩 때문에 실행 동안 지원 정보를 요구한다. 예를 들면, 안드로이드 운영 시스템에서, JS 라이브러리 및 다른 이러한 정보는 하드웨어 로딩 동안 호출될 필요가 있다. 그러므로, 그것은 서버에 의해 되돌려 보내진 지원 정보를 요구한다. 적절한 JS 라이브러리는 하드웨어 기능 정보의 로딩을 완료하기 위해 하드웨어 기능 로딩 동안 호출된다. 그 후 HTML 코드는 HTML 코드의 실행이 끝날 때까지 계속해서 실행되며, 이 포인트에서 온보드 하드웨어 기능들을 포함한 웹페이지가 생성될 수 있다.
실제 프로세싱에서, 폰갭 툴들은 상이한 운영 시스템들을 위해 상이한 클라이언트 프로그램들을 구성할 것이다. 상이한 클라이언트 프로그램들이 하드웨어 기능들을 호출할 때, 그것들이 사용하는 기술들은 변할 것이다. 그러므로, 요구된 데이터가 또한 변할 것이다. 예를 들면, 상이한 지원 정보 및 상이한 인터페이스 구성들이 요구될 것이다. 그러므로, 서버 측이 검출을 수행하고 그 후 검출 결과들에 따라 상이한 웹페이지 데이터를 되돌려 보내기 위해 표시 파라미터들 및 플랫폼 정보를 사용하는 것이 바람직하다.
카메라 기능 정보는 웹페이지들에서 사진들을 로딩하는 것, 스캐닝, 카메라 플래시, 및 다른 이러한 하드웨어 기능들과 같은, 카메라-관련 기능들을 생성할 수 있다. 마이크로폰 기능 정보는 기록 및 다른 이러한 음성-수집 하드웨어 기능들과 같은, 마이크로폰-관련 기능들을 생성할 수 있다.
바람직하게는, 온보드 하드웨어 기능들을 포함한 웹페이지들에서의 하드웨어 기능들이 이벤트 트리거들을 지원하는 버튼, 링크, 또는 다른 인터페이스 디바이스들을 통해 실현된다. 많은 다른 구현들이 가능하다.
몇몇 실시예들에서, 웹페이지에서 온보드 하드웨어 기능은 버튼을 사용하여 구현된다. 즉, 사용자가 웹페이지 상에서의 버튼을 클릭할 때, 이벤트가 적절한 하드웨어의 활성화를 트리거한다. 일 예를 위해 도 5를 참조하면, 버튼(504)("사진 촬영")이 클릭될 때, 카메라가 활성화되며 사진을 촬영하기 위해 카메라를 사용하기 위한 API가 호출된다.
몇몇 실시예들에서, 온보드 하드웨어 기능이 링크를 사용하여 구현된다. 버튼들과 유사하게, 링크 어드레스가 사용자에 의해 선택될 때, 링크를 포함한 웹페이지가 적절한 하드웨어를 활성화하며 적절한 하드웨어 기능들을 호출한다.
몇몇 실시예들에서, 온보드 하드웨어 기능이 이벤트 트리거를 사용하여 구현된다. 예를 들면, 웹페이지에서의 애플리케이션은 음성에 의해 실행된다. 이러한 애플리케이션이 선택될 때, 그것은 마이크로폰을 켜기 위해 마이크로폰을 트리거할 것이다.
도 3은 웹페이지 정보를 전송하기 위한 디바이스의 실시예의 구조도이다. 디바이스(300)는 서버를 사용하여 구현될 수 있으며, 수신 모듈(11), 검출 모듈(12), 제 1 반환 모듈(13), 및 제 2 반환 모듈(14)을 포함한다. 수신 모듈(11)은 웹페이지 요청들을 수신하도록 구성된다. 검출 모듈(12)은 웹페이지 요청에서 웹페이지를 전송한 클라이언트 유형을 식별하며 웹페이지 요청을 전송한 클라이언트 유형을 평가하는 표시 파라미터를 검출하도록 구성된다. 제 1 반환 모듈(13)은 웹페이지 요청의 클라이언트 유형이 브라우저라고 결정할 때, 브라우저에 기초한 제 1 웹페이지 데이터를 되돌려 보내도록 구성되며, 제 1 웹페이지 데이터는 웹페이지 정보를 포함한다. 제 2 반환 모듈(14)은 웹페이지 요청의 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션이라고 결정할 때, 클라이언트 프로그램에 기초한 제 2-페이지 데이터를 되돌려 보내도록 구성되며, 상기 제 2-페이지 데이터는 지정된 온보드 하드웨어 기능들을 실행하기 위한 코드 및 웹페이지 정보를 포함한다.
본 출원에서, 웹페이지 요청을 전송한 클라이언트의 유형이 비-브라우저 클라이언트 애플리케이션일 때, 웹페이지 요청은 클라이언트 프로그램이 구동되는 플랫폼을 식별하는 정보를 더 포함한다. 제 1 반환 모듈(13)은 또한 클라이언트 프로그램이 구동되는 플랫폼을 평가하며, 상기 플랫폼에 따라, 그에 의해 플랫폼상에서의 클라이언트 프로그램이 온보드 하드웨어 기능들을 실행하는 코드에 의해 요구되 지원 정보를 되돌려 보내기 위한 근거로서 플랫폼 정보를 사용하도록 구성된다.
도 4는 본 출원의 실시예에 설명된 바와 같이 웹페이지들을 생성하기 위한 디바이스의 실시예의 구조도이다.
디바이스(400)는 비-브라우저 클라이언트 애플리케이션을 실행한 클라이언트 디바이스로서 구현될 수 있다. 디바이스(400)는 프로세스(200)를 구현할 수 있다. 디바이스(400)는 전송 모듈(21), 수신 모듈(22), 및 생성 및 디스플레이 모듈(23)을 포함한다. 전송 모듈(21)은 웹페이지 요청을 전송하며 웹페이지 요청을 전송한 클라이언트 유형을 식별하는 표시 파라미터를 웹페이지 요청에 부가하도록 구성되며, 상기 클라이언트 유형은 비-브라우저 클라이언트 애플리케이션이다. 수신 모듈(22)은 웹페이지 요청 및 표시 파라미터에 따라 되돌려 보내진 웹페이지 데이터를 수신하도록 구성되며, 여기에서 상기 웹페이지 데이터는 지정된 온보드 하드웨어 기능들을 실행하기 위한 코드 및 웹페이지 정보를 포함한다. 생성 및 디스플레이 모듈(23)은 온보드 하드웨어 기능들을 포함한 웹페이지들을 생성하며 상기 웹페이지들을 디스플레이하기 위한 근거로서 상기 웹페이지 데이터를 사용하도록 구성된다.
도시된 예에서, 전송 모듈(21)은 또한 클라이언트 프로그램이 구동되는 플랫폼에 대한 정보를 획득하도록 구성되며; 상기 플랫폼 정보는 클라이언트 프로그램이 구동되는 플랫폼을 평가하기 위한 근거로서, 뿐만 아니라 그에 의해 플랫폼상에서의 클라이언트 프로그램이 온보드 하드웨어 기능들을 실행하는 코드에 의해 요구된 지원 정보를 획득하기 위한 근거로서 사용될 수 있다.
상기 도시된 예에서, 생성 및 디스플레이 모듈(23)은 구체적으로 웹페이지 정보를 렌더링하기 위해 및 하드웨어 기능들을 포함한 웹페이지들을 생성하기 위해 렌더링 프로세스에 온보드 하드웨어 기능 정보를 실행하기 위한 코드를 부가하기 위해 페이지 렌더링 엔진을 호출하도록 구성된다.
상기 도시된 예에서, 온보드 하드웨어 기능들은 카메라 기능들, 마이크로폰 기능들, 및/또는 임의의 다른 적절한 하드웨어 기능들을 포함한다.
상기 도시된 예에서, 온보드 하드웨어 기능들을 포함한 웹페이지들에서의 하드웨어 기능들은 버튼들, 링크들, 또는 이벤트 트리거들을 통해 실현된다.
본 설명에 포함된 실시예들의 각각은 순차적 방식으로 설명되고, 각각의 실시예의 설명은 다른 실시예들로부터의 차이의 영역들에 초점을 맞추며, 그 설명들은 동일하거나 또는 유사한 각각의 실시예의 부분들에 대해 상호 참조될 수 있다.
상기 설명된 모듈들은, 프로그램 가능한 논리 디바이스들 및/또는 특정한 기능들을 수행하도록 설계된 애플리케이션 특정 집적 회로들 또는 그것의 조합과 같은 하드웨어로서, 하나 이상의 프로세서들 상에서 실행한 소프트웨어 구성요소들로서 구현될 수 있다. 몇몇 실시예들에서, 모듈들은 컴퓨터 디바이스(개인용 컴퓨터들, 서버들, 네트워크 장비 등)가 본 출원의 실시예들에 설명된 방법들을 구현하게 하기 위한 다수의 지시들을 포함하여, 비휘발성 저장 매체(광 디스크, 플래시 저장 디바이스, 이동 하드 디스크 등과 같은)에 저장될 수 있는 소프트웨어 제품들의 형태에 의해 구체화될 수 있다. 모듈들은 단일 디바이스 상에서 구현될 수 있거나 또는 다수의 디바이스들에 걸쳐 분배될 수 있다. 모듈들의 기능들은 서로 병합될 수 있거나 또는 다수의 서브-모듈들로 추가로 분리될 수 있다.
본 발명은 본 발명의 방법들, 장비(시스템들) 및 컴퓨터 프로그램 제품들에 기초한 플로차트들 및/또는 블록도들을 참조하여 설명된다. 플로차트들 및/또는 블록도들에서의 각각의 프로세스 및/또는 블록, 및 플로차트들 및/또는 블록도들에서의 프로세스들 및/또는 블록들의 조합들이 컴퓨터 프로그램 명령들을 통해 달성될 수 있다는 것이 이해되어야 한다. 이것은, 다른 프로그램 가능한 데이터 프로세싱 장비의 프로세서 또는 컴퓨터를 통해 실행된 명령들이 플로차트에서의 하나 이상의 프로세스들 및/또는 블록도에서의 하나 이상의 블록들에 의해 지정된 기능들을 실현하기 위해 사용되는 디바이스를 야기한다는 결과를 갖고, 기계를 야기하도록 범용 컴퓨터, 특수화된 컴퓨터, 내장 프로세서 또는 다른 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 이들 컴퓨터 명령들을 제공할 수 있다.
이들 컴퓨터 프로그램 명령들은 또한, 이들 컴퓨터-판독 가능한 디바이스들 상에 저장된 명령들이 명령 디바이스들을 포함하는 제품들을 야기한다는 결과를 갖고, 컴퓨터들 또는 다른 프로그램 가능한 데이터 프로세싱 장비를 안내할 수 있는 특수-동작 컴퓨터-판독 가능한 저장 디바이스들 상에 저장될 수 있다. 이들 명령 디바이스들은 플로차트에서의 하나 이상의 프로세스들 및/또는 블록도에서의 하나 이상의 블록들에 지정된 기능들을 실현한다.
이들 컴퓨터 프로그램 명령들은 또한, 일련의 동작 단계들이 컴퓨터 프로세싱을 야기하도록 컴퓨터 또는 다른 프로그램 가능한 장비 상에서 실행된다는 결과를 갖고, 컴퓨터 또는 다른 프로그램 가능한 데이터 프로세싱 장비로 로딩될 수 있다. 이러한 방식으로, 컴퓨터 또는 다른 프로그램 가능한 장비 상에서 실행된 명령들은 플로차트에서의 하나 이상의 프로세스들 및/또는 블록도에서의 하나 이상의 블록들에 의해 지정된 기능들을 실현하기 위한 단계들을 제공한다.
본 발명에 의해 제공되는, 웹페이지들을 되돌려 보내기 위한 방법 및 디바이스 및 웹페이지들을 생성하기 위한 방법 및 디바이스가 상기에 상세히 설명되었다. 본 문서는 본 발명의 구현의 형태들 및 원리들을 자세히 설명하기 위해 특정 실시예들을 이용하였다. 상기 실시예 설명들은 단지 본 발명의 방법들의 및 그것의 핵심 개념들의 이해를 돕도록 의도된다. 게다가, 이 기술 분야에서 일반적인 기술을 가진 사람은, 본 발명의 개념들에 기초하여, 특정한 형태들의 구현에 대한 및 애플리케이션들의 범위에 대한 수정들을 할 수 있다. 상기를 요약하기 위해, 이러한 설명의 콘텐트들은 본 발명을 제한하는 것으로서 이해되지 않아야 한다.
앞서 말한 실시예들은 이해의 명료함을 위해 일부 상세히 설명되었지만, 본 발명은 제공된 세부사항들에 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방식들이 있다. 개시된 실시예들은 예시적이며 제한적이지 않다.
11: 수신 모듈 12: 검출 모듈
13: 제 1 반환 모듈 14: 제 2 반환 모듈
21: 전송 모듈 22: 수신 모듈
23: 생성 및 디스플레이 모듈 300: 디바이스
400: 디바이스

Claims (18)

  1. 클라이언트 디바이스 상에서 실행하는 클라이언트 애플리케이션에 웹페이지 데이터를 전송하기 위한 시스템에 있어서,
    하나 이상의 프로세서들로서:
    상기 클라이언트 디바이스 상에서 실행하는 상기 클라이언트 애플리케이션에 의해 전송된 웹페이지 요청을 수신하고;
    상기 웹페이지 요청에서 표시 파라미터를 검출하고, 상기 표시 파라미터는 상기 웹페이지 요청을 전송한 상기 클라이언트 애플리케이션의 클라이언트 유형을 나타내고, 상기 웹페이지 요청과 연관된 유니버셜 리소스 로케이터(Universal Resource Locator; URL)에 첨부된 스트링에 대응하고;
    복수의 클라이언트 유형들 중에서 상기 표시 파라미터에 적어도 부분적으로 기초하여, 상기 클라이언트 애플리케이션이 대응하는 상기 클라이언트 유형을 결정하고;
    웹페이지 데이터를 구성하여 상기 클라이언트 애플리케이션의 상기 결정된 클라이언트 유형에 따른 상기 클라이언트 디바이스에 상기 웹페이지 데이터를 전송하고, 상기 웹페이지 데이터의 구성 및 전송은:
    상기 클라이언트 유형이 브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 웹페이지 정보를 포함한 제 1 웹페이지 데이터를 상기 클라이언트 애플리케이션에 전송하며;
    상기 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 상기 클라이언트 디바이스 상에서 온보드 하드웨어 기능을 실행하기 위해 코드 및 웹페이지 정보를 포함한 제 2 웹페이지 데이터를 상기 클라이언트 애플리케이션에 전송하는 것을 포함하도록 구성된, 상기 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되며, 지시들을 상기 하나 이상의 프로세서들에 제공하도록 구성된 하나 이상의 메모리들을 포함하는, 웹페이지 데이터를 전송하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 상기 하나 이상의 프로세서들은 또한 상기 클라이언트 애플리케이션이 실행되는 플랫폼을 식별하기 위해 상기 웹페이지 요청에 포함된 플랫폼 정보를 사용하도록 구성되는, 웹페이지 데이터를 전송하기 위한 시스템.
  3. 제 2 항에 있어서,
    상기 하나 이상의 프로세서들은 또한 상기 플랫폼상에서 상기 온보드 하드웨어 기능을 실행하기 위해 요구된 지원 정보를 전송하도록 구성되는, 웹페이지 데이터를 전송하기 위한 시스템.
  4. 제 3 항에 있어서,
    상기 지원 정보는 플랫폼-특정인, 웹페이지 데이터를 전송하기 위한 시스템.
  5. 제 1 항에 있어서,
    상기 온보드 하드웨어 기능은 카메라 기능, 마이크로폰 기능, 또는 양쪽 모두를 포함하는, 웹페이지 데이터를 전송하기 위한 시스템.
  6. 제 3 항에 있어서,
    상기 지원 정보는 상기 온보드 하드웨어 기능에 관계된 API 정보를 포함하는, 웹페이지 데이터를 전송하기 위한 시스템.
  7. 하나 이상의 프로세서들을 사용하여 클라이언트 애플리케이션에 웹페이지 데이터를 전송하기 위한 방법에 있어서:
    상기 클라이언트 애플리케이션에 의해 전송된 웹페이지 요청을 수신하는 단계;
    상기 웹페이지 요청에서 표시 파라미터를 검출하는 단계로서, 상기 표시 파라미터는 상기 웹페이지 요청을 전송한 상기 클라이언트 애플리케이션의 클라이언트 유형을 나타내고, 상기 웹페이지 요청과 연관된 유니버셜 리소스 로케이터(URL)에 첨부된 스트링에 대응하는, 상기 표시 파라미터 검출 단계;
    복수의 클라이언트 유형들 중에서 상기 표시 파라미터에 적어도 부분적으로 기초하여, 상기 클라이언트 애플리케이션이 대응하는 상기 클라이언트 유형을 결정하는 단계; 및
    웹페이지 데이터를 구성하여 상기 클라이언트 애플리케이션의 상기 결정된 클라이언트 유형에 따른 상기 클라이언트 디바이스에 상기 웹페이지 데이터를 전송하는 단계를 포함하고,
    상기 웹페이지 데이터의 구성 및 전송 단계는:
    상기 클라이언트 유형이 브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 웹페이지 정보를 포함한 제 1 웹페이지 데이터를 상기 클라이언트 애플리케이션에 전송하는 단계; 및
    상기 클라이언트 유형이 비-브라우저 클라이언트 애플리케이션인 것으로 결정되는 경우에, 온보드 하드웨어 기능을 실행하기 위해 코드 및 웹페이지 정보를 포함한 제 2 웹페이지 데이터를 상기 클라이언트 애플리케이션에 전송하는 단계를 포함하는, 웹페이지 데이터를 전송하기 위한 방법.
  8. 디스플레이를 위한 웹페이지를 생성하기 위한 시스템에 있어서,
    하나 이상의 프로세서들로서:
    복수의 클라이언트 유형들 중에서, 상기 시스템상에서 실행하는 클라이언트 애플리케이션이 대응하는 클라이언트 유형을 식별하는 표시 파라미터를 포함한 웹페이지 요청을 생성하고, 상기 클라이언트 애플리케이션의 상기 클라이언트 유형은 비-브라우저 클라이언트 애플리케이션이고, 상기 표시 파라미터는 상기 웹페이지 요청과 연관된 유니버셜 리소스 로케이터(URL)에 첨부된 스트링에 대응하고;
    상기 클라이언트 애플리케이션을 사용하여 상기 웹페이지 요청을 전송하고;
    상기 웹페이지 요청에 응답하여 전송되는 웹페이지 데이터를 수신하고, 상기 웹페이지 데이터는 상기 시스템상에서의 지정된 온보드 하드웨어 기능을 실행하기 위해 사용된 웹페이지 정보 및 코드를 포함하고, 상기 웹페이지 데이터는 상기 시스템 상에서 실행중인 상기 클라이언트 애플리케이션의 특정 클라이언트 유형에 따라 구성되고;
    상기 온보드 하드웨어 기능을 제공하며 디스플레이되는 상기 웹페이지를 생성하기 위한 근거로서 상기 웹페이지 데이터를 사용하도록 구성된, 상기 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되며, 지시들을 상기 하나 이상의 프로세서들에 제공하도록 구성된 하나 이상의 메모리들을 포함하는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  9. 제 8 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    상기 클라이언트 애플리케이션이 실행되는 플랫폼을 식별하는 플랫폼 정보를 획득하며;
    상기 플랫폼 정보에 적어도 부분적으로 기초하여, 상기 시스템상에서 상기 지정된 온보드 하드웨어 기능을 실행하기 위해 사용된 상기 코드에 의해 요구된 지원 정보를 획득하도록 구성되는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  10. 제 8 항에 있어서,
    상기 웹페이지를 생성하기 위한 근거로서 상기 웹페이지 데이터를 사용하는 것은:
    상기 웹페이지 정보를 렌더링하기 위해 페이지 렌더링 엔진을 호출하는 것; 및
    상기 렌더링된 웹페이지 정보에 상기 온보드 하드웨어 기능을 실행하기 위해 사용된 상기 코드를 부가하는 것을 포함하는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  11. 제 10 항에 있어서,
    상기 웹페이지를 생성하기 위한 근거로서 상기 웹페이지 데이터를 사용하는 것은:
    상기 렌더링된 웹페이지 정보에 상기 온보드 하드웨어 기능을 실행하기 위한 지원 정보를 부가하는 것을 포함하는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  12. 제 8 항에 있어서,
    상기 온보드 하드웨어 기능은 카메라 기능, 마이크로폰 기능, 또는 양쪽 모두를 포함하는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  13. 제 8 항에 있어서,
    상기 온보드 하드웨어 기능은 상기 웹페이지와 연관된 버튼, 링크, 또는 이벤트 트리거를 통해 호출되는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  14. 제 9 항에 있어서,
    상기 지원 정보는 상기 온보드 하드웨어 기능에 관계된 API 정보를 포함하는, 디스플레이를 위한 웹페이지를 생성하기 위한 시스템.
  15. 하나 이상의 프로세서들을 사용하여 디스플레이를 위한 웹페이지를 생성하기 위한 방법에 있어서,
    복수의 클라이언트 유형들 중에서, 클라이언트 디바이스 상에서 실행중인 클라이언트 애플리케이션이 대응하는 클라이언트 유형을 식별하는 표시 파라미터를 포함한 웹페이지 요청을 생성하는 단계로서, 상기 클라이언트 애플리케이션의 상기 클라이언트 유형은 비-브라우저 클라이언트 애플리케이션이고, 상기 표시 파라미터는 상기 웹페이지 요청과 연관된 유니버셜 리소스 로케이터(URL)에 첨부된 스트링에 대응하는, 상기 웹페이지 요청 생성 단계;
    상기 클라이언트 애플리케이션을 사용하여 상기 웹페이지 요청을 전송하는 단계;
    상기 웹페이지 요청에 응답하여 전송되는 웹페이지 데이터를 수신하는 단계로서, 상기 웹페이지 데이터는 지정된 온보드 하드웨어 기능을 실행하기 위해 사용된 웹페이지 정보 및 코드를 포함하고, 상기 웹페이지 데이터는 상기 클라이언트 디바이스 상에서 실행중인 상기 클라이언트 애플리케이션의 상기 결정된 클라이언트 유형에 따라 구성되는, 상기 웹페이지 데이터 수신 단계; 및
    상기 클라이언트 디바이스 상에서 상기 온보드 하드웨어 기능을 제공하고 디스플레이되는 상기 웹페이지를 생성하기 위한 근거로서 상기 웹페이지 데이터를 사용하는 단계를 포함하는, 디스플레이를 위한 웹페이지를 생성하기 위한 방법.
  16. 제 3 항에 있어서,
    상기 지원 정보는 상기 클라이언트 디바이스 상에서 구동되는 운영 시스템을 결정하는 정보를 포함하는, 웹페이지 데이터를 전송하기 위한 시스템.
  17. 삭제
  18. 삭제
KR1020157006397A 2012-10-17 2013-10-11 온보드 하드웨어 기능들을 가진 웹페이지들 KR101720071B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201210395535.4 2012-10-17
CN201210395535.4A CN103777967B (zh) 2012-10-17 2012-10-17 页面返回方法、页面生成方法和装置
US14/050,841 2013-10-10
US14/050,841 US20140108914A1 (en) 2012-10-17 2013-10-10 Webpages with onboard hardware functions
PCT/US2013/064485 WO2014062490A1 (en) 2012-10-17 2013-10-11 Webpages with onboard hardware functions

Publications (2)

Publication Number Publication Date
KR20150043438A KR20150043438A (ko) 2015-04-22
KR101720071B1 true KR101720071B1 (ko) 2017-03-27

Family

ID=50476598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157006397A KR101720071B1 (ko) 2012-10-17 2013-10-11 온보드 하드웨어 기능들을 가진 웹페이지들

Country Status (8)

Country Link
US (1) US20140108914A1 (ko)
EP (1) EP2909998B1 (ko)
JP (1) JP6110950B2 (ko)
KR (1) KR101720071B1 (ko)
CN (1) CN103777967B (ko)
IN (1) IN2015DN01139A (ko)
TW (1) TWI608416B (ko)
WO (1) WO2014062490A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970882A (zh) * 2014-05-19 2014-08-06 小米科技有限责任公司 渲染页面的方法及装置
CN105574049B (zh) * 2014-10-30 2020-07-03 阿里巴巴集团控股有限公司 移动应用的页面处理方法、装置和系统
CN105791992B (zh) * 2014-12-23 2019-07-02 中国电信股份有限公司 机顶盒web页面的控制方法、系统及机顶盒
CN104954867A (zh) * 2015-06-26 2015-09-30 努比亚技术有限公司 媒体播放方法及装置
US10613713B2 (en) 2015-10-07 2020-04-07 Google Llc Integration of content in non-browser applications
CN107092818A (zh) * 2016-02-17 2017-08-25 阿里巴巴集团控股有限公司 活体识别的实现方法和装置
CN108345479A (zh) * 2017-01-22 2018-07-31 北京优朋普乐科技有限公司 一种页面返回及标识入栈的方法及系统
US10796591B2 (en) * 2017-04-11 2020-10-06 SpoonRead Inc. Electronic document presentation management system
CN111158677A (zh) * 2018-11-08 2020-05-15 广州微粤信息科技有限公司 一种用于多平台的页面布局数据处理方法和系统
CN109740090A (zh) * 2018-12-25 2019-05-10 南京天溯自动化控制系统有限公司 一种基于混合开发的android页面返回跳转方法及其系统
US11329930B2 (en) * 2019-05-29 2022-05-10 Red Hat, Inc. Generating scenarios for automated execution of resources in a cloud computing environment
US10963538B2 (en) * 2019-07-31 2021-03-30 Salesforce.Com, Inc. Client application for web application execution
CN110765869B (zh) * 2019-09-18 2024-05-07 平安科技(深圳)有限公司 分渠道采集数据的唇语活体检测方法、系统和计算机设备
CN112860283B (zh) * 2019-11-12 2024-04-02 深圳怡化电脑股份有限公司 Sp升级包的自识别升级方法、装置及计算机设备
US11710373B2 (en) 2020-01-23 2023-07-25 SpoonRead Inc. Distributed ledger based distributed gaming system
CN114647807A (zh) * 2020-12-18 2022-06-21 永中软件股份有限公司 web登录页面的主题定制方法、计算装置及可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070765A1 (en) * 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based configuration for event processing networks
US20120220263A1 (en) * 2011-02-28 2012-08-30 Unwired Nation, Inc. Mobile application system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167441A (en) * 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
JP2006195979A (ja) * 2005-01-04 2006-07-27 Microsoft Corp ウェブアプリケーションアーキテクチャ
US8079080B2 (en) * 2005-10-21 2011-12-13 Mathew R. Syrowik Method, system and computer program product for detecting security threats in a computer network
US20070100648A1 (en) * 2005-11-03 2007-05-03 Anthony Borquez Systems and Methods for Delivering Content Customized for a Plurality of Mobile Platforms
CN101132413B (zh) * 2007-09-18 2010-10-06 中兴通讯股份有限公司 基于Web应用的ActiveX组件的复用方法
US8830291B2 (en) * 2010-04-09 2014-09-09 Citibank, N.A. System and method for providing customer support on a user interface
US8060414B1 (en) * 2010-05-25 2011-11-15 Amazon Technologies, Inc. Encoding and decoding of product properties in a uniform resource locator
US8615712B2 (en) * 2011-03-01 2013-12-24 Weever Apps Inc. Executing a populated code template to generate a browser-executable software program to present a web page as a mobile application
US8521848B2 (en) * 2011-06-28 2013-08-27 Microsoft Corporation Device sensor and actuation for web pages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070765A1 (en) * 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based configuration for event processing networks
US20120220263A1 (en) * 2011-02-28 2012-08-30 Unwired Nation, Inc. Mobile application system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Popov.K et al., An efficient incremental marshaling framework for distributed systems, FGCS v.21 no.5 pp.717-724, 2005.

Also Published As

Publication number Publication date
IN2015DN01139A (ko) 2015-06-26
CN103777967B (zh) 2017-08-04
WO2014062490A1 (en) 2014-04-24
CN103777967A (zh) 2014-05-07
JP6110950B2 (ja) 2017-04-05
US20140108914A1 (en) 2014-04-17
JP2015535376A (ja) 2015-12-10
TW201416977A (zh) 2014-05-01
KR20150043438A (ko) 2015-04-22
TWI608416B (zh) 2017-12-11
EP2909998A1 (en) 2015-08-26
EP2909998B1 (en) 2018-12-05

Similar Documents

Publication Publication Date Title
KR101720071B1 (ko) 온보드 하드웨어 기능들을 가진 웹페이지들
US11025750B2 (en) Determining whether to perform requests at a server or at a client device based on resources provided by the client device
US11921996B2 (en) Information processing terminal and control method
US10613916B2 (en) Enabling a web application to call at least one native function of a mobile device
US9448776B1 (en) Method and apparatus for converting a website into a native mobile application
US10255255B2 (en) Customization of mobile applications using web-based technology
TWI690812B (zh) 頁面元件動態佈局方法、裝置及客戶端
US20190327287A1 (en) Data acquisition method and device
KR102159416B1 (ko) 하이브리드 모바일 애플리케이션을 구축하고 사용하는 시스템 및 방법
CN108416021B (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
US20130081010A1 (en) Template and server content download using protocol handlers
JP2018500670A (ja) 非構造化メッセージの処理
CN111008050B (zh) 页面任务执行方法、装置、终端及存储介质
CN108376090A (zh) 网页图片的操作方法、装置、终端及存储介质
CN115525305A (zh) 数据处理、应用启动方法、装置、计算机设备和存储介质
US11770437B1 (en) Techniques for integrating server-side and client-side rendered content
CN115905738A (zh) 应用内存快照的获取方法、装置及计算机可读存储介质
Karki Progressive Web Applications (PWAs): powerful websites, functional as native mobile apps
Sreekumar Cross Platform Lightweight Social Networking Application for Next Generation E-Commerce

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200311

Year of fee payment: 4