KR20130123378A - 클라이언트측 데이터의 저장 - Google Patents

클라이언트측 데이터의 저장 Download PDF

Info

Publication number
KR20130123378A
KR20130123378A KR1020137008673A KR20137008673A KR20130123378A KR 20130123378 A KR20130123378 A KR 20130123378A KR 1020137008673 A KR1020137008673 A KR 1020137008673A KR 20137008673 A KR20137008673 A KR 20137008673A KR 20130123378 A KR20130123378 A KR 20130123378A
Authority
KR
South Korea
Prior art keywords
client
side data
code
application
storage
Prior art date
Application number
KR1020137008673A
Other languages
English (en)
Inventor
롤랜드 엠. 호치무스
Original Assignee
휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. filed Critical 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Publication of KR20130123378A publication Critical patent/KR20130123378A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • 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/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

코드가 제1 장치에 의해 수신되고, 제2 장치에 의해 보내질 수 있다. 제1 장치는 클라이언트측 데이터를 생성하기 위해 제2 장치로부터의 코드를 실행할 수 있다. 클라이언트측 데이터가 제1 장치와 제2 장치 중의 하나 이상에 저장되는지가 판정된다.

Description

클라이언트측 데이터의 저장{STORE CLIENT SIDE DATA}
본 발명은 클라이언트측 데이터의 저장에 관한 것이다.
컴퓨터는 태스크를 수행하는 애플리케이션을 실행한다. 애플리케이션은 C, C++, Java 또는 기타 언어를 이용하여 프로그래밍될 수 있다. 예컨대 워드 프로세서 또는 데이터베이스와 같은 애플리케이션은 워드 프로세서에 의해 작성된 텍스트 문서 또는 데이터베이스의 테이블 내의 데이터 입력(data entry)과 같은 데이터를 저장할 수 있다. 웹페이지는 하이퍼텍스트 마크업 랭귀지(HTML)와 같은 언어를 이용하여 프로그래밍될 수 있다. HTML은 텍스트, 화상, 링크가 웹페이지를 액세스하는 사용자에게 보여지게 하는 방법을 규정하는 스크립팅 언어(scripting language)이다. 웹 브라우저는 보여주기 위한 HTML 문서를 웹키트(webkit)와 같은 레이아웃 엔진을 이용하여 렌더링할 수 있다.
애플리케이션은 예컨대 텍스트를 Java로 프로그래밍하는 태스크를 완료하기 위해 복수의 언어를 이용할 수 있으며, 이것은 텍스트를 HTML로 프로그래밍하고 HTML을 렌더링하기 위해 레이아웃 엔진을 이용하는 것보다 효율적이지 못할 것이다.
본 발명의 일특징에 따라, 코드의 적어도 일부분이 스크립팅 언어(scripting language)인 상기 코드를 제2 장치로부터 수신하는 수신기와, 상기 코드로부터의 클라이언트측 데이터를 저장하는, 장치 내의 스토리지와, 상기 코드를 실행하고, 상기 클라이언트측 데이터가 상기 스토리지와 상기 제2 장치 중의 하나 이상에 저장되는지를 판정하는 컨트롤러를 포함하는 장치가 제공된다.
이하의 도면을 참조하여 본 발명의 일부 실시예를 설명한다.
도 1은 일례의 실시예에 따른 장치의 블록도이다.
도 2는 일례의 실시예에 따른 시스템의 블록도이다.
도 3은 일례의 실시예에 따른 방법의 흐름도이다.
도 4는 일례의 실시예에 따른 방법의 흐름도이다.
도 5는 일례의 실시예에 따른 시스템의 블록도이다.
오퍼레이팅 시스템은 컴퓨터의 작동을 제어하고, 프로그램의 처리를 총괄한다. 프로그램의 총괄 및 처리는 메모리 내에 저장 공간을 할당하고 입력 및 출력 기능을 제어함으로써 이루어질 수 있다. 오퍼레이팅 시스템은 예컨대 webkit®와 같은 스크립트 랭귀지 레이아웃 엔진을 가질 수 있다. 레이아웃 엔진은 마크드 업 컨텐츠(marked up content)(HTML, XML, 이미지 파일 등과 같은) 및 포매팅 정보(CSS, XSL 등과 같은)를 취하고, 포맷화된 컨텐츠를 스크린 상에 디스플레이한다. 레이아웃 엔진을 포함하는 오퍼레이팅 시스템의 예로는 Palm WebOS®이 있다.
데이터의 다운로딩을 더욱 효율적으로 하기 위해, 오퍼레이팅 시스템을 실행하는 장치는 데이터를 렌더링하기 위해 레이아웃 엔진을 포함할 수 있다. 장치 상에서 레이아웃 엔진에 의해 렌더링되는 적어도 부분 스크립트 언어인 애플리케이션은 저장을 위해 더 적은 메모리를 이용할 것이며, 그러므로 장치들 간의 트랜스퍼(transfer)를 더욱 효율적으로 행할 수 있다. 예컨대, 서버로부터 클라이언트 장치로 트랜스퍼되거나 또는 제1 장치로부터 제2 장치로 트랜스퍼될 수 있고, 수신 장치 상의 레이아웃 엔진에 의해 렌더링될 수 있는 HTML 코드를 적어도 부분적으로 포함하는 애플리케이션은, 레이아웃 엔진을 이용하지 않는 프로그램보다 더 효율적인 것이 될 수 있다.
웹 기반 애플리케이션(web based application)은 웹 브라우저를 URL(Uniform Resource Locator)로 지시함으로써 실행되는 애플리케이션이다. 웹 기반 애플리케이션은 웹 브라우저에 의해 렌더링된다. 웹 기반 애플리케이션은 컴퓨터 상에서 실행되고 있는 애플리케이션과 유사한 것으로 나타나게 될 수도 있으며, 예컨대 브라우저 내에서 실행되는 웹 기반 워드 프로세서는 컴퓨터 상에서 실행되는 워드 프로세서와 유사한 것으로 나타나게 될 수도 있다. 웹 브라우저 내에서 실행되는 웹 기반 애플리케이션은, 웹 기반 애플리케이션을 이 애플리케이션을 실행하고 있는 웹 브라우저에 제공하는 시스템 상의 스토리지에 대한 액세스를 갖는다. 예컨대, 웹 기반 애플리케이션은, 웹 기반 애플리케이션에 의해 생성된 데이터를, 웹 기반 애플리케이션을 제공하는 시스템 상에 저장할 수 있다. 웹 브라우저가 클라이언트측 데이터를 저장할 수 있다면, 웹 기반 애플리케이션은 클라이언트 상에서 실행되는 애플리케이션과 유사한 것으로 나타나게 될 수 있다.
HTML을 포함하는 애플리케이션을 렌더링하기 위해 레이아웃 엔진을 포함하는 오퍼레이팅 시스템을 갖는 장치는 또 다른 장치에 연결될 수 있다. 장치 상의 애플리케이션은 다른 장치에 의해 실행될 수도 있다. 애플리케이션에 따라서는, 클라이언트측 데이터가 그 장치 또는 다른 장치 상에 저장될 수도 있다. 예컨대, 게임에 대한 클라이언트측 데이터가 그 장치 상에 저장될 수 있고, 워드 프로세싱 애플리케이션으로부터의 클라이언트측 데이터가 다른 장치 상에 저장될 수 있다. 클라이언트측 데이터를 어디에 저장할지는, 그 장치 및 다른 장치의 용량에 기초하여, 애플리케이션에 기초하여, 또는 기타 기준에 기초하여 애플리케이션의 사용자에 의해 결정될 수 있다.
일실시예에서, 장치는 제2 장치로부터 코드를 수신하기 위해 수신기를 포함하며, 코드 중의 적어도 일부분이 스크립팅 언어일 수도 있다. 저장 장치가 코드로부터의 클라이언트측 데이터를 저장할 수 있다. 컨트롤러는 코드를 실행하고, 클라이언트측 데이터가 스토리지 및 제2 장치 중의 적어도 하나에 저장되는지를 판정할 수 있다.
도 1을 참조하면, 도 1은 일례의 실시예에 따른 제1 장치(100)의 블록도이다. 제1 장치(100)는 제2 장치로부터 코드(125)를 수신하기 위해 수신기(120)를 포함한다. 제1 장치(100)는 셀룰러 전화 또는 노트북 컴퓨터와 같은 휴대형 시스템이어도 된다. 제2 장치는 셀룰러 전화 또는 노트북 컴퓨터와 같은 휴대형 시스템이어도 되고, 또는 타워(tower) 또는 올인원(all in one)과 같은 고정형 장치이어도 된다. 코드(125)는 애플리케이션이어도 되며, 코드(125) 중의 적어도 일부분은 스크립팅 언어이다. 스크립팅 언어는 레이아웃 엔진에 의해 렌더링되는 언어이다. 스크립팅 언어는 예컨대 HTML, XML(extensible markup language) 또는 또 다른 스크립팅 언어일 수 있다. 스크립팅 언어가 HTML이면, 레이아웃 엔진은 예컨대 web kit™일 수 있다.
제1 장치(100)에서의 스토리지(115)는 코드(125)로부터의 클라이언트측 데이터(110)를 저장할 수 있다. 클라이언트측 데이터(110)는 컨트롤러(105)에 의해 코드(125)가 실행되면 컨트롤러(105)에 의해 생성될 수 있다. 컨트롤러(105)는 예컨대 범용 프로세서이어도 되고, 그래픽 프로세서이어도 되며, 또는 주문형 반도체(ASIC)이어도 된다. 범용 프로세서는, 상이한 오퍼레이팅 시스템, 또는 제1 장치(100) 상의 컨트롤러(105)에 의해 실행되는 웹 브라우저와 같은 애플리케이션, 제1 장치(100) 상의 컨트롤러(105)에 의해 실행되는 워드 프로세서, 또는 제1 장치(100) 상의 컨트롤러(105)에 의해 실행되는 또 다른 애플리케이션으로부터의 다양한 명령어(instruction)를 처리할 수 있다.
컨트롤러(105)는 또한 클라이언트측 데이터(110)가 스토리지(115)와 제2 장치 중의 적어도 하나에 저장되는지를 판정할 수 있다. 스토리지(115)는 예컨대 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리이어도 되고, 또는 하드 디스크 드라이브, 광미디어, 플래시 메모리 또는 또 다른 저장 장치와 같은 비휘발성 메모리이어도 된다.
제1 장치는 코드의 최초 발생지(origin)를 결정하기 위해 로직을 포함할 수 있다. 로직은 하드웨어, 펌웨어, 또는 컴퓨터 판독 가능한 명령어이어도 된다. 코드의 최초 발생지는 제1 장치, 또는 제2 장치와 같은 외부 장치 중의 하나인 것으로 판정될 수 있다. 로직은 코드의 최초 발생지에 기초하여 클라이언트측 데이터를 어디에 저장할지를 결정할 수 있다. 예컨대, 로직은 코드가 제2 장치로부터 수신된 경우에는 코드를 실행함으로써 생성된 클라이언트측 데이터를 제2 장치에 저장하도록 결정하고, 코드가 제2 장치와 같은 외부 소스로부터 수신되지 않은 경우에는 클라이언트측 데이터를 스토리지(115)에 저장하도록 결정할 수 있다. 로직은 또한 사용자에 의해 제어된 기준, 애플리케이션에 의해 제어된 기준, 또는 또 다른 기준과 같은 클라이언트측 데이터를 어디에 저장할지를 결정하기 위한 다른 기준을 이용할 수도 있다. 사용자 제어된 기준은, 클라이언트측 데이터를 어디에 저장할지를 선택하기 위한 사용자에 대한 메시지와 같은 사용자에 대한 프롬프트를 포함할 수 있다. 사용자에 대한 프롬프트는, 예컨대, 애플리케이션의 실행이 개시될 때, 애플리케이션이 클라이언트측 데이터를 생성할 때, 애플리케이션이 닫힐 때, 또는 또 다른 시점에서 이루어질 수 있다. 그 기준이 애플리케이션에 의해 제어된 기준이면, 애플리케이션은 클라이언트측 데이터를 어디에 저장할지를 애플리케이션의 제작자(author)에 의해 미리 정해진 바대로 결정할 수도 있고, 또는 애플리케이션 자체에 의해 동적으로 결정할 수도 있다.
일실시예에서, 레이아웃 엔진은 데이터베이스를 생성하거나 기존의 데이터베이스를 이용할 수 있다. 클라이언트측 데이터는 제1 장치, 또는 제2 장치와 같은 외부 소스 상의 데이터베이스에 저장될 수 있다.
도 2는 일례의 실시예에 따른 시스템의 블록도이다. 시스템은 제2 장치(210)에 접속된 제1 장치(200)를 포함한다. 제1 장치는 애플리케이션(205)을 실행하는 런타임(runtime)(230)을 갖는다. 애플리케이션은 제2 장치(210)로부터 제1 장치(200)로 복사되거나 트랜스퍼될 수 있다.
런타임(230)은 HTML 웹 스토리지 및 스토리지 라우터(240)를 포함할 수 있다. HTML 웹 스토리지는 런타임(230)에 의해 생성된 데이터를 저장한다. 스토리지 라우터(240)는 애플리케이션(205)에 의해 생성된 클라이언트측 데이터를 어디로 보낼지를 결정한다. 스토리지 라우터(240)는 클라이언트측 데이터를 제1 장치(200) 상의 스토리지(255)에 보낼 수도 있다. 제1 장치 상의 스토리지(255)는 스토리지(255) 상의 데이터를 저장하기 위해 이용되는 데이터베이스(250)를 포함할 수 있다.
애플리케이션(205)에 의해 생성된 클라이언트측 데이터가 제2 장치에 저장되는 것으로 스토리지 라우터(240)가 결정하면, 스토리지 라우터(204)는 클라이언트측 데이터를 제2 장치(210)의 또 다른 송수신기(265)에 접속된 송수신기(260)에 보낸다. 송수신기(260)와 제2 장치의 송수신기(265)는 유선 또는 무선으로 접속될 수 있다. 예컨대, 송수신기(260)와 제2 장치의 송수신기(265)는 802.11 와이파이, Bluetooth®, 무선 USB, 셀룰러 데이터 프로토콜 또는 또 다른 무선 프로토콜과, USB, IEEE 1394, SATA(Serial Advanced Technology Attachment) 또는 또 다른 유선 프로토콜로 접속될 수 있다. 일실시예에서, 클라이언트측 데이터는 송수신기(260, 265)에 의해 제2 장치(210)에 전송하기 전에 리포맷(reformat)된다.
제2 장치(210)의 송수신기(265)는 버스에 의해 제2 장치 상의 HTML 웹 스토리지(270) 및 스토리지(275)에 접속될 수 있다. 클라이언트측 데이터가 데이터베이스에 저장될 수 있다면, 클라이언트측 데이터를 저장하기 위해 데이터베이스(280)가 생성될 수 있다.
송수신기(260, 265)는 애플리케이션(205)을 전송하기 위해 이용될 수 있다. 예컨대, 제1 장치(200)가 제2 장치(210)로부터 애플리케이션(205)을 요청하면, 송수신기(260, 265)는 제2 장치(210)로부터 제1 장치(200)로 애플리케이션(205)을 복사할 수 있다. 애플리케이션은 또한 제2 장치(210)로부터 제1 장치(200)로 트랜스퍼될 수도 있으며, 이러한 트랜스퍼 후에는 제2 장치(210) 상에 저장되지 않는다. 일실시예에서는, 제2 장치(210)로부터 제1 장치(200)로 애플리케이션의 일부분이 트랜스퍼될 수도 있다.
애플리케이션(205)이 제1 장치 상의 런타임(230)에 의해 실행된 후, 애플리케이션(205)은 추후의 애플리케이션(205) 실행을 위해 제1 장치(200) 상에 남아 있을 수도 있거나, 제1 장치(205)로부터 삭제될 수도 있거나, 또는 예컨대 역으로 제2 장치(210)에 트랜스퍼될 수 있다. 애플리케이션(205)은 애플리케이션(205)을 역으로 제2 장치(210)로 트랜스퍼하기 전에 제1 장치(200)에 의해 업데이트될 수도 있다.
제1 장치(200)와 제2 장치(210) 간의 접속이 해제되면, 제1 장치는 무엇을 할지를 결정할 수 있다. 예컨대, 제1 장치는, 제2 장치(210) 상에 저장될 클라이언트측 데이터가 제2 장치(210) 상에 저장되도록, 제1 장치(200)가 제2 장치(210)에 접속될 때까지, 애플리케이션(205)의 실행을 연기할 수 있다. 제1 장치는, 클라이언트측 데이터가 제2 장치(210)에 저장될 수 있을 때까지, 제2 장치 상에 저장될 클라이언트측 데이터를 스토리지(255)에 저장할 수도 있다.
도 3은 일례의 실시예에 따른 방법의 흐름도이다. 이 방법은 제1 장치에 접속된 경우의 제2 장치를 작동하기 위한 것이다. 단계 305에서는, 제2 장치가 HTML 코드를 제2 장치로부터 제1 장치로 보낼 수 있다. 제2 장치는 제1 장치가 HTML 코드를 요청하는 경우에 HTML 코드를 제1 장치에 보낼 수 있다. HTML 코드는 태스크를 수행하기 위한 애플리케이션이어도 된다. 제1 장치는 HTML 코드를 실행할 수 있다. 제1 장치 상에서의 HTML 코드의 실행에 의해 클라이언트측 데이터가 생성될 수 있다. 제1 장치는 클라이언트측 데이터가 제2 장치 상에 저장되어야 하는 것으로 판정할 수도 있다.
단계 310에서는, HTML 코드가 실행되면, 제2 장치가 제1 장치로부터 생성된 클라이언트측 데이터를 수신할 수 있다. 클라이언트측 데이터는 예컨대 송수신기에 의해 제2 장치에 통신될 수 있다.
단계 315에서는, 제2 장치가 제1 장치로부터 수신된 클라이언트측 데이터를 저장할 수 있다. 제2 장치는 클라이언트측 데이터를 휘발성 또는 비휘발성 메모리에 저장할 수 있다.
도 4는 일례의 실시예에 따른 방법의 흐름도이다. 이 방법은 제1 장치에 접속된 경우의 제2 장치를 작동하기 위한 것이다. 단계 405에서는, 제2 장치가 제2 장치로부터 HTML 코드를 요구하는 제1 장치에 의한 요청을 수신할 수 있다.
단계 410에서는, 제2 장치가 제2 장치로부터 제1 장치로 HTML 코드를 보낼 수 있다. HTML 코드는 태스크를 수행하기 위한 애플리케이션이어도 된다. 제1 장치가 HTML 코드를 실행할 수 있다. 제1 장치 상의 HTML 코드의 실행은 클라이언트측 데이터를 생성할 수 있다. 제1 장치는 클라이언트측 데이터가 제2 장치 상에 저장되어야 하는 것으로 결정할 수 있다.
단계 415에서는, HTML 코드가 실행되면, 제2 장치가 제1 장치로부터 발생된 클라이언트측 데이터를 수신할 수 있다. 클라이언트측 데이터는 예컨대 송수신기에 의해 제2 장치에 통신될 수 있다.
단계 420에서는, 제2 장치가 클라이언트측 데이터를 제2 장치에 저장하기 위한 데이터베이스를 생성할 수 있다. 단계 425에서는, 제2 장치가 제1 장치로부터 수신된 클라이언트측 데이터를 저장할 수 있다. 제2 장치는 클라이언트측 데이터를 휘발성 또는 비휘발성 메모리에 저장할 수 있다.
제1 장치에서의 HTML 코드의 실행은 제1 장치로 하여금 제2 장치로부터 클라이언트측 데이터를 요청하게 할 수도 있다. 제2 장치는 제2 장치에 의해 저장된 클라이언트측 데이터를 제1 장치에 보낼 수 있다. 예컨대, HTML 코드는 제2 장치 상에서 사용자에 의해 플레이될 수 있거나 또는 제1 장치에 복사되어 플레이되는 게임일 수 있다. 게임이 사용자 기호 및 게임 상황과 같은 클라이언트측 데이터를 생성하면, 제1 장치는 클라이언트측 데이터를 제2 장치 상에 저장할 수 있으며, 이로써, 제2 장치에 의해 게임이 실행되면, 제1 장치와 제2 장치가 접속해제된 후에도, 사용자 기호 및 게임 상황이 이용 가능하게 된다. 제1 장치가 제2 장치에 재접속되면, 제2 장치는 클라이언트측 데이터를 제1 장치에 보내어, 게임이 제1 장치 상에서 실행되는 경우 게임이 이용 가능하게 되도록 한다.
도 5는 일례의 실시예에 따른 장치(500)의 블록도이다. 예컨대, 장치(500)는 다른 실시예에 관련하여 설명한 바와 같은 제1 장치 또는 제2 장치이어도 된다. 장치(500)는 컨트롤러 허브(510)에 접속된 프로세서(505)를 포함할 수 있다. 컨트롤러 허브(510)는 그래픽 컨트롤러(520), 입력/출력 컨트롤러(525), 또는 컴퓨터 판독 가능한 매체(515 또는 516)에 접속될 수 있다. 프로세서(505), 컨트롤러 허브(510), 입력/출력 컨트롤러(525), 그래픽 컨트롤러(520) 중의 하나 이상이, 하나의 회로 패키지에 있거나 또는 하나의 회로 다이 상에 있을 수 있다.
프로세서(505)는 다양한 태스크를 수행할 수 있는 범용 프로세서이어도 된다. 컨트롤러 허브(510)는 프로세서(505)를 컨트롤러에 접속할 수 있다. 입력/출력 컨트롤러(525)는 예컨대 USB 컨트롤러, IEEE 1394 컨트롤러, 와이파이 컨트롤러, 또는 기타 입력/출력 컨트롤러를 포함할 수 있다. 입력/출력 컨트롤러는 키보드 및 마우스와 같은 주변 장치를 장치(500)에 접속할 수도 있고, 또는 장치(500)를 또 다른 장치에 접속할 수도 있다. 그래픽 컨트롤러(520)는 디스플레이(530) 상에 디스플레이하기 위한 그래픽을 처리할 수 있다. 키보드, 마우스, 및 디스플레이는 장치(500)의 기타 부품과 동일한 인클로저 내에 있을 수도 있고, 또는 예컨대 장치(500)의 외부에 있을 수도 있다.
컨트롤러 허브(510)는 또한 컴퓨터 판독 가능한 미디어(515 또는 516)에도 접속할 수 있다. 예컨대, 장치(500)가 제1 장치인 경우, 컴퓨터 판독 가능한 미디어는, 프로세서에 의해 실행될 경우 장치로 하여금 장치 상의 코드를 실행하도록 하여 클라이언트측 데이터를 생성하게 하는 명령어를 포함할 수 있다. 명령어는 클라이언트측 데이터를 생성한 코드가 제2 장치에서 최초 발생된 것인 경우에는 클라이언트측 데이터를 제2 장치에 보내어 저장되도록 할 수 있다. 명령어는 클라이언트측 데이터를 생성한 코드가 제1 장치에서 최초 발생된 것인 경우에는 클라이언트측 데이터를 제1 장치 상에 저장할 수 있다.
명령어는 클라이언트측 데이터를 제1 장치 상에 저장하기 위한 데이터베이스를 생성할 수 있다. 명령어는 클라이언트측 데이터의 포맷을 클라이언트측 데이터를 제2 장치에 보내기 위한 포맷으로 변환할 수 있다. 명령어는 실행할 코드를 제2 장치로부터 요청할 수 있다. 명령어는 제1 장치 상에 저장된 클라이언트측 데이터와 제2 장치에 보내진 클라이언트측 데이터를 동기화할 수 있다.
전술한 기술은 컴퓨팅 시스템을 방법을 실행하도록 구성하기 위한 컴퓨터 판독 가능한 매체에서 구현될 수 있다. 컴퓨터 판독 가능한 매체는, 몇 가지만 말하자면, 디스크 및 테이프 저장 매체를 포함한 자기 저장 매체; 컴팩트 디스크 매체(예컨대, CD-ROM, CD-R 등) 및 디지털 비디오 디스크(DVD) 저장 매체와 같은 광디스크 매체; 홀로그래픽 메모리; FLASH 메모리, EEPROM, EPROM, ROM과 같은 반도체 기반 메모리 유닛을 포함하는 비휘발성 메모리 저장 매체; 강자성체 디지털 메모리; 레지스터, 버퍼 또는 캐시, 메인 메모리, RAM 등을 포함하는 휘발성 저장 매체; 및 인터넷 중의 어떠한 것도 포함할 수 있으며, 이러한 것으로 한정되지 않는다. 본 명세서에서 설명된 소프트웨어 모듈을 저장 및/또는 전송하기 위해 새롭고 다양한 타입의 다른 컴퓨터 판독 가능한 매체가 이용될 수도 있다. 컴퓨팅 시스템은, 몇 가지만 말하자면, 메인프레임, 미니컴퓨터, 서버, 워크스테이션, 개인용 컴퓨터, 노트패드, 디지털 보조 장치(PDA), 다양한 무선 장치, 및 임베디드 시스템을 포함한 다수의 형태로 될 수 있으며, 이러한 것으로 한정되지 않는다.
전술한 설명에서, 본 발명의 이해를 제공하기 위해 많은 세부 사항이 설명되었다. 그러나, 당업자라면 이러한 세부 사항이 없이도 본 발명을 실시할 수 있을 것이라는 것을 이해할 것이다. 본 발명을 제한된 개수의 실시예에 대하여 설명하였지만, 당업자라면 이러한 실시예로부터 다수의 수정예 및 변형예가 가능하다는 것을 이해할 것이다. 첨부된 청구범위는 이러한 수정예 및 변형예를 본 발명의 진정한 사상 및 범위 내에 있는 것으로 하도록 되어 있다.

Claims (15)

  1. 코드의 적어도 일부분이 스크립팅 언어(scripting language)인 상기 코드를 제2 장치로부터 수신하는 수신기;
    상기 코드로부터의 클라이언트측 데이터를 저장하는, 장치 내의 스토리지; 및
    상기 코드를 실행하고, 상기 클라이언트측 데이터가 상기 스토리지와 상기 제2 장치 중의 하나 이상에 저장되는지를 판정하는 컨트롤러를 포함하는,
    장치.
  2. 제1항에 있어서,
    상기 스크립팅 언어는 하이퍼텍스트 마크업 랭귀지(HTML)인, 장치.
  3. 제1항에 있어서,
    상기 코드의 최초 발생지(origin)를 결정하는 로직(logic)을 더 포함하는, 장치.
  4. 제3항에 있어서,
    상기 클라이언트측 데이터는 상기 코드의 최초 발생지에 기초하여 상기 스토리지와 상기 제2 장치 중의 하나 이상에 저장되는, 장치.
  5. 제1항에 있어서,
    상기 장치의 상기 컨트롤러에 의해 실행할 수 있는 웹 브라우저(web browser)를 더 포함하는, 장치.
  6. 제1항에 있어서,
    상기 클라이언트측 데이터를 저장하기 위한 데이터베이스를 더 포함하는, 장치.
  7. 제2 장치가 제1 장치에 접속되는 경우에 제2 장치를 작동하는 방법에 있어서,
    상기 제2 장치로부터 상기 제1 장치로 하이퍼텍스트 마크업 랭귀지(HTML) 코드를 전송하는 단계;
    상기 하이퍼텍스트 마크업 랭귀지 코드가 실행되는 경우에 상기 제1 장치로부터 생성된 클라이언트측 데이터를 상기 제2 장치에 의해 수신하는 단계; 및
    상기 제1 장치로부터 수신된 상기 클라이언트측 데이터를 상기 제2 장치에 의해 저장하는 단계를 포함하는,
    작동 방법.
  8. 제7항에 있어서,
    상기 제2 장치에 의해 저장된 상기 클라이언트측 데이터를 상기 제1 장치에 전송하는 단계를 더 포함하는, 작동 방법.
  9. 제7항에 있어서,
    상기 제1 장치 상에 상기 클라이언트측 데이터를 저장하기 위한 데이터베이스를 생성하는 단계를 더 포함하는, 작동 방법.
  10. 제7항에 있어서,
    상기 제1 장치로부터 상기 하이퍼텍스트 마크업 랭귀지 코드를 요구하는 상기 제2 장치에 의한 요청을 수신하는 단계를 더 포함하는, 작동 방법.
  11. 명령어(instruction)를 포함하는 컴퓨터 판독 가능한 매체로서, 상기 명령어는, 실행 시에, 제1 장치의 프로세서로 하여금,
    클라이언트측 데이터를 생성하기 위해 상기 제1 장치 상에서 코드를 실행하도록 하고,
    상기 클라이언트측 데이터를 생성한 코드가 제2 장치 상에서 최초 발생된 것인 경우에, 상기 클라이언트측 데이터를 상기 제2 장치에 보내어 저장되도록 하고,
    상기 클라이언트측 데이터를 발생한 코드가 상기 제1 장치 상에서 최초 발생된 것인 경우에, 상기 클라이언트측 데이터를 상기 제1 장치에 저장하도록 하는,
    컴퓨터 판독 가능한 매체.
  12. 제11항에 있어서,
    실행 시에, 상기 제1 장치의 상기 프로세서로 하여금, 상기 클라이언트측 데이터를 상기 제1 장치에 저장하기 위한 데이터베이스를 생성하도록 하는, 명령어를 더 포함하는, 컴퓨터 판독 가능한 매체.
  13. 제11항에 있어서,
    실행 시에, 상기 제1 장치의 상기 프로세서로 하여금, 상기 클라이언트측 데이터의 포맷을 상기 클라이언트측 데이터를 상기 제2 장치에 보내기 위한 포맷으로 변환하도록 하는, 명령어를 더 포함하는, 컴퓨터 판독 가능한 매체.
  14. 제11항에 있어서,
    실행 시에, 상기 제1 장치의 상기 프로세서로 하여금, 실행할 코드를 상기 제2 장치로부터 요청하도록 하는, 명령어를 더 포함하는, 컴퓨터 판독 가능한 매체.
  15. 제11항에 있어서,
    실행 시에, 상기 제1 장치의 상기 프로세서로 하여금, 상기 제1 장치 상에 저장된 클라이언트측 데이터를 상기 제2 장치에 보내진 클라이언트측 데이터와 동기화하도록 하는, 명령어를 더 포함하는, 컴퓨터 판독 가능한 매체.
KR1020137008673A 2010-10-20 2010-10-20 클라이언트측 데이터의 저장 KR20130123378A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/053337 WO2012054026A1 (en) 2010-10-20 2010-10-20 Store client side data

Publications (1)

Publication Number Publication Date
KR20130123378A true KR20130123378A (ko) 2013-11-12

Family

ID=45975509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137008673A KR20130123378A (ko) 2010-10-20 2010-10-20 클라이언트측 데이터의 저장

Country Status (8)

Country Link
US (1) US20130246571A1 (ko)
EP (1) EP2630581B1 (ko)
JP (1) JP2014505278A (ko)
KR (1) KR20130123378A (ko)
CN (1) CN103119575A (ko)
BR (1) BR112013009620A2 (ko)
TW (1) TWI464674B (ko)
WO (1) WO2012054026A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250739A (ja) * 2012-05-31 2013-12-12 Fujitsu Ltd 情報処理装置、情報処理方法およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093005B2 (en) * 2000-02-11 2006-08-15 Terraspring, Inc. Graphical editor for defining and creating a computer system
US20040205068A1 (en) * 2002-11-05 2004-10-14 Everypath, Inc. Unified platform for building and operating connected and disconnected mobile applications
US7437371B2 (en) * 2004-02-10 2008-10-14 Microsoft Corporation Systems and methods for the implementation of unordered and ordered collections in a data store
US20050268214A1 (en) * 2004-05-31 2005-12-01 De-Jen Lu Simple input method for a web browser
TWI250427B (en) * 2004-09-14 2006-03-01 Inventec Corp System using distributed database to save the information of documents and its method
US20060253773A1 (en) * 2005-05-09 2006-11-09 Hsieh Cheng H Web-based client/server interaction method and system
US7409413B2 (en) * 2005-12-21 2008-08-05 International Business Machines Corporation Detecting granular data store changes
US20090259744A1 (en) 2008-04-14 2009-10-15 Kolke Daniel J System and Method for Running a Web-Based Application while Offline
GB0720534D0 (en) * 2007-10-19 2007-11-28 Ceravision Ltd Lamp
TW200933382A (en) * 2008-01-25 2009-08-01 Inventec Corp System and method for reading database to generate web page under client-server structure
JPWO2009139437A1 (ja) * 2008-05-14 2011-09-22 日本電気株式会社 クライアント装置、その制御方法、プログラム、サーバ装置、その制御方法、通信システム及びその制御方法
US20100162142A1 (en) * 2008-12-22 2010-06-24 Lockheed Martin Corporation Common style sheets for compiled and scripting language applications
US8473588B2 (en) * 2010-03-30 2013-06-25 Lenovo (Singapore) Ptd. Ltd. Local and remote client computer system booting

Also Published As

Publication number Publication date
EP2630581A1 (en) 2013-08-28
BR112013009620A2 (pt) 2016-07-12
US20130246571A1 (en) 2013-09-19
EP2630581A4 (en) 2014-04-02
JP2014505278A (ja) 2014-02-27
WO2012054026A1 (en) 2012-04-26
TW201222404A (en) 2012-06-01
CN103119575A (zh) 2013-05-22
TWI464674B (zh) 2014-12-11
EP2630581B1 (en) 2019-03-27

Similar Documents

Publication Publication Date Title
US10394909B2 (en) Reducing redirects
US8910115B2 (en) Systems and methods for application development
US8887039B2 (en) Web page based program versioning
US20180069947A1 (en) Automatic Integrity Checking of Content Delivery Network Files
JP5789255B2 (ja) コンピュータネットワークにおける電子ドキュメントのレンディションをデプロイするサーバ前処理の利用する方法
US20090271690A1 (en) Handling cross-domain web service calls
US20110239108A1 (en) Configurable dynamic combination of html resources for download optimization in script based web page
US9798532B1 (en) Precompiling locally-stored instructions for a web application
JP2007287146A (ja) マークアップ言語ファイルの格納及び送信の最適化
WO2013130328A1 (en) Persistent storage of profile data for script compilation
TW201207639A (en) Late resource localization binding for web services
US8112500B2 (en) Technique of relaying communications between client apparatus and server apparatus
US11176223B1 (en) Page rendering by an intermediary system that uses a truncated library
US9727397B2 (en) Container-less JSP template
CN113449216A (zh) 一种文件处理方法、装置及存储介质
KR20130123378A (ko) 클라이언트측 데이터의 저장
US20150205766A1 (en) Serving combined resources to a browser client
CN115062255B (zh) 网站适配的方法、装置、电子设备及计算机可读存储介质
Escolar et al. MMW-4S: a model-based approach for generating context-aware user interfaces for the mobile Web.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application