KR101670699B1 - 웹 페이지들 간에 통신하기 위한 방법 및 시스템 - Google Patents
웹 페이지들 간에 통신하기 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR101670699B1 KR101670699B1 KR1020157000089A KR20157000089A KR101670699B1 KR 101670699 B1 KR101670699 B1 KR 101670699B1 KR 1020157000089 A KR1020157000089 A KR 1020157000089A KR 20157000089 A KR20157000089 A KR 20157000089A KR 101670699 B1 KR101670699 B1 KR 101670699B1
- Authority
- KR
- South Korea
- Prior art keywords
- page
- flash
- group
- host
- identifier
- Prior art date
Links
Images
Classifications
-
- G06F17/2235—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G06F17/30873—
-
- G06F17/3089—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 출원의 실시예들은 클라이언트에서 디스플레이될 페이지들 간에 통신하기 위한 방법, 클라이언트에서 디스플레이될 페이지들 간에 통신하기 위한 시스템, 및 클라이언트에서 디스플레이될 페이지들 간에 통신하기 위한 컴퓨터 프로그램 제품에 관한 것이다. 클라이언트에서 디스플레이될 페이지들 간에 통신하기 위한 방법이 제공된다. 방법은 제 1 페이지가 데이터를 제 2 페이지로 송신할지의 여부를 검출하는 단계, 제 1 페이지가 데이터를 제 2 페이지로 송신할 경우, 제 1 페이지 및 제 2 페이지를 저장하는 현재의 페이지 그룹 내의 제 2 페이지의 통신 식별자를 획득하는 단계, 통신 식별자에 기초하여 제 1 페이지와 제 2 페이지 간에 통신 링크를 확립하는 단계, 및 송신될 데이터를 제 2 페이지로 전송하기 위해 통신 링크를 사용하는 단계를 포함한다.
Description
다른 출원들에 대한 상호 참조
이 출원은, 모든 목적들을 위해 참조로서 여기에 통합된, 2012년 7월 13일자 제출된, 발명의 명칭이 클라이언트 페이지들 간의 통신을 위한 방법 및 디바이스인(A METHOD AND DEVICE FOR COMMUNICATION BETWEEN CLIENT PAGES), 중화인민공화국 특허 출원 제201210244355.6호의 우선권을 주장한다.
본 출원은 클라이언트 페이지들 간에 통신하기 위한 방법 및 시스템에 관한 것이다.
전형적으로, 클라이언트 장치 상의 브라우저에 디스플레이되는 복수의 웹 페이지들은 그들 간에 직접적으로 통신하지 못한다. 일반적으로 하나의 페이지가 또 다른 페이지와 직접적으로 통신하지 못하므로, 복수의 페이지들 간에 직접적으로 데이터를 송신하는 것은 일반적으로 불가능하다.
예를 들면, 데이터를 간접적으로 업데이트하기 위한 3개의 접근법들은 다음과 같다:
데이터를 업데이트하기 위한 제 1 접근법은 HTML5의 국부적 저장소(localstorage)를 사용하는 것이다. 즉, 브라우저는 서버로부터 업데이트 데이터를 획득한다. 그 후 브라우저는 획득한 업데이트 데이터를 업데이트될 브라우저의 페이지들의 각각으로 송신한다. 현재, 많은 브라우저들은 국부적 저장소를 지원하지 않고, 상이한 브라우저들은 서로 통신하지 못한다. 상이한 브라우저들은 상이한 시간 사이클들에 기초하여 업데이트 데이터를 획득하기 때문에, 페이지 업데이트는 보통 다양한 브라우저들 간에 동기화되지 않는다.
데이터를 업데이트하기 위한 제 2 접근법은 자바스크립트 폴링 접근법(JavaScript(JS) polling approach)이다. 이 접근법에서, 클라이언트는 서버로부터 업데이트 데이터를 획득한다. 각각의 페이지는 새로운 데이터가 있는지의 여부를 묻기 위해 규칙적으로 서버에 폴링한다. 페이지 데이터의 적시성(timeliness)을 보증하기 위해, 폴링 시간은 가능한 짧게 설정된다. 폴링 시간이 짧게 설정될수록, 페이지의 기능에 대한 영향이 커지고, 폴링될 페이지들의 수가 많아지고, 전체 시스템에 대한 영향이 커진다. 서버 데이터가 바뀌지만 페이지가 업데이트를 적시에 요청하지 않으면, 페이지의 정확성은 영향을 받을 것이다.
데이터를 업데이트하기 위한 제 3 접근법은, 각각의 페이지에 대해, 서버와 긴 링크를 확립하는 것이다. 긴 링크는 또한 HTTP 지속 접속, HTTP 킵-어라이브(keep-alive), 또는 HTTP 접속 재사용으로 알려져 있다. 긴 링크는 다수의 HTTP 요청들/응답들을 전송 및 수신하기 위해 동일한 TCP 접속을 사용할 수 있다. 이와 달리, 새로운 TCP 접속이 모든 단일 요청/응답 쌍에 대해 열려있어야 한다. 긴 링크들의 사용은 HTTP 성능을 높이는 것을 돕고 신속성을 보증하지만, 많은 수의 페이지들이 서버에 및 서버로부터 전송될 수 있으므로, 이 접근법은 대역폭 자원들을 낭비한다.
따라서, 클라이언트 페이지들 간의 직접적인 통신이 유익할 것이다.
본 발명은 프로세서; 장치; 시스템; 물질의 구성; 컴퓨터 판독가능한 저장 매체 상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리 상에 저장되고/되거나 그것에 의해 제공된 명령들을 실행하도록 구성된 프로세서와 같은, 프로세서로서 포함하는, 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들로서 불리울 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 서술되지 않는다면, 태스크를 수행하도록 구성되는 것으로서 설명된 프로세서 또는 메모리와 같은 구성요소는 주어진 시간에 태스크를 수행하도록 임시로 구성되는 일반 구성요소 또는 태스크를 수행하기 위해 제조되는 특정 구성요소로서 구현될 수 있다. 여기에 사용된 바와 같이, 용어('프로세서')는 컴퓨터 프로그램 명령들과 같은, 데이터를 프로세싱하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 프로세싱 코어들을 나타낸다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부한 도면들과 함께 이하에 제공된다. 본 발명은 이러한 실시예들에 관련하여 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 단지 청구항들에 의해서만 제한되고 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 다수의 특정 세부사항들은 본 발명의 철저한 이해를 제공하기 위해 다음의 설명에 제시된다. 이들 세부사항들은 예를 위해 제공되고 본 발명은 이들 특정 세부사항들의 일부 또는 모두 없이 청구항들에 따라 실시될 수 있다. 명료함을 위해, 본 발명에 관련된 기술 분야들에 알려져 있는 기술적 자료는 본 발명이 불필요하게 모호해지지 않도록 상세히 설명되지 않는다.
본 발명의 다양한 실시예들이 다음의 상세한 설명 및 첨부된 도면들에 개시되어 있다.
도 1은 페이지들 간의 통신 처리의 일 실시예의 흐름도.
도 2는 통신 링크들의 확립 처리의 일 실시예의 흐름도.
도 3은 페이지들 간의 통신 처리의 또 다른 실시예의 흐름도.
도 4는 현재의 비-호스트(non-host) 접속 식별자 생성 처리의 일 실시예의 흐름도.
도 5 내지 도 8은 호스트 접속 FLASH 파일 및 비-호스트 접속 FLASH 파일들의 확립 처리의 일 실시예의 도면들.
도 9는 페이지들 간의 통신 처리의 일 실시예의 흐름도.
도 10은 동기 업데이트 처리의 일 실시예의 흐름도.
도 11은 페이지들 간에 통신하기 위한 디바이스의 일 실시예의 조직도.
도 12a는 통신 유닛의 일 실시예의 조직도.
도 12b 내지 도 12d는 페이지들 간에 통신하기 위한 디바이스의 일 실시예의 조직도들.
도 13은 페이지들 간의 통신 시스템의 일 실시예의 도면.
도 2는 통신 링크들의 확립 처리의 일 실시예의 흐름도.
도 3은 페이지들 간의 통신 처리의 또 다른 실시예의 흐름도.
도 4는 현재의 비-호스트(non-host) 접속 식별자 생성 처리의 일 실시예의 흐름도.
도 5 내지 도 8은 호스트 접속 FLASH 파일 및 비-호스트 접속 FLASH 파일들의 확립 처리의 일 실시예의 도면들.
도 9는 페이지들 간의 통신 처리의 일 실시예의 흐름도.
도 10은 동기 업데이트 처리의 일 실시예의 흐름도.
도 11은 페이지들 간에 통신하기 위한 디바이스의 일 실시예의 조직도.
도 12a는 통신 유닛의 일 실시예의 조직도.
도 12b 내지 도 12d는 페이지들 간에 통신하기 위한 디바이스의 일 실시예의 조직도들.
도 13은 페이지들 간의 통신 시스템의 일 실시예의 도면.
도 1은 페이지들 간의 통신 처리의 일 실시예의 흐름도이다. 처리(100)는 도 13의 클라이언트(1310)에 의해 구현될 수 있고 다음을 포함한다:
110에서, 클라이언트는 페이지가 또 다른 페이지에 데이터를 송신할지의 여부를 검출한다.
다른 페이지로 송신될 데이터는 페이지-간(inter-page) 통신의 상이한 응용들에 따라 다양하다. 일례에서, 페이지가 업데이트될 경우, 업데이트 데이터가 업데이트를 요청한 페이지로 송신될 것이다. 또 다른 예에서, 동기 페이지 동작들이 수행될 경우, 새로운 동작을 명령하는 동작 데이터가 하나의 페이지로부터 또 다른 페이지로 송신될 것이다. 설명은 구체적인 응용들과 함께 제공된다.
120에서, 페이지가 다른 페이지에 데이터를 송신할 경우, 클라이언트는 페이지에 의해 저장된 현재의 페이지 그룹 내의 다른 페이지의 통신 식별자를 획득한다.
일부 실시예들에서, 페이지 그룹들은 페이지들의 사전-확립된 그룹들이다. 각각의 그룹은 적어도 2개의 페이지들을 갖는다. 통신 식별자들은 페이지 그룹들이 확립될 때 각각의 페이지 그룹 내의 각각의 페이지에 할당된다. 각각의 페이지 그룹 내의 각각의 페이지는 그 각각의 페이지 그룹 내의 다른 페이지들에 대한 통신 식별자들을 저장한다. 이들 통신 식별자들은 각각의 페이지를 고유하게 식별하기 위해 사용되는 식별자들이다. 일부 실시예들에서, 식별자들은 미리설정된 규칙에 따라 생성된다. 예를 들면, 제 1 페이지의 식별자는 page_1이고, 제 2 페이지의 식별자는 page_2인 등이다. 일부 실시예들에서, 통신 링크들이 통신 식별자들에 기초하여 페이지들 간에 확립된다. 예를 들면, 페이지 식별자가 page_1이면, 통신 링크는 comm_page_1인 등이다. 일부 실시예들에서, 페이지 식별자는 통신 링크에 대응하고, 페이지들이 서로 통신할 때, 통신은 통신 링크를 사용하여 수행된다.
일부 실시예들에서, 페이지 그룹들이 생성된다. 예를 들면, 하나의 웹 주소에 기초하여 열린 복수의 페이지들이 복수의 페이지들의 동기 업데이트를 위한 페이지 그룹으로서 셋업(set up)된다. 일부 실시예들에서, 동일한 사용자에 대응하는 페이지들을 포함하는 단일 페이지 그룹이 사용자가 마주치는 웹 사이트들, 예를 들면, QQ(QzoneTM)과 같은 소셜 네트워킹 사이트들, 텐센트 웨이보(Tencent Weibo) 또는 시나 웨이보(Sina Weibo)와 같은 마이크로블로그 사이트들 상의 사용자 프로파일/개인적인 페이지들에 기초하여 셋업된다. 따라서, Qzone 페이지 서명 및 다른 메시지들이 마이크로블로그 페이지들과 동기적으로 업데이트된다. 페이지 그룹들은 당업자에 의해 이해되는 임의의 방식으로 셋업될 수 있다.
페이지 그룹들은 상이한 기준에 기초하여 확립되므로, 동일한 페이지가 복수의 페이지 그룹들에 속할 수 있다. 따라서, 데이터의 송신이 검출된 경우, 데이터의 속성 정보에 기초한 현재의 페이지 그룹이 또한 결정된다. 일부 실시예들에서, 페이지 그룹은, 예를 들면, rain_group, cloud_group 등으로 명명된다. 검출된 데이터는 그 후 현재의 페이지 그룹의 페이지들 간에 송신된다.
일부 실시예들에서, 데이터의 속성 정보는 전형적으로 데이터의 송신 속성 정보이다. 일부 실시예들에서, 복수의 페이지들은, 예를 들면, 구름으로 명명된 그룹과 같은 그룹을 형성하고 그룹의 페이지들은 cloud_page_host, cloud_page_1, cloud_page_2 등을 포함한다. cloud_page_host는 데이터를 전송할 책임이 있고, 그룹의 다른 페이지들은 데이터를 수신한다. 데이터가 바뀌면, 바뀐 데이터가 호스트 페이지를 통해 다른 페이지들로 전송된다. 예를 들면, 데이터가 Qzone 또는 마이크로블로그들 내에 디스플레이되는 서명 메시지들인 경우, 현재의 페이지 그룹은 Qzone 또는 마이크로블로그 페이지들을 포함하는 페이지 그룹이다. 데이터가 동일한 근본 페이지들 간에 송신되어야 하는 경우, 현재의 페이지 그룹은 동일한 근본 페이지들을 포함하는 페이지 그룹이다.
130에서, 클라이언트는 통신 식별자에 기초하여 페이지와 다른 페이지 간에 통신 링크를 확립하고, 다른 페이지로 송신할 데이터를 전송하도록 통신 링크를 사용한다.
도 2는 통신 링크들의 확립 처리의 일 실시예의 흐름도이다. 일부 실시예들에서, 처리(200)는 처리(100) 중 130을 구현하도록 사용되고 다음을 포함한다:
210에서, 클라이언트는 송신될 데이터를 갖는 페이지의 FLASH 영역 내에 저장된 FLASH 그룹 내의 다른 FLASH 파일들의 식별자들을 획득한다. FLASH 그룹은 현재의 페이지 그룹 내의 페이지들에 대응하는 FLASH 파일들을 포함한다. 각각의 페이지의 FLASH 영역은 FLASH 그룹 내의 다른 FLASH 파일들의 식별자들을 저장한다. FLASH는 어도비 플래시를 의미한다.
220에서, 클라이언트는 FLASH 그룹 내의 다른 FLASH 파일들의 저장된 식별자들에 기초하여 전송될 페이지 내의 FLASH 파일을 호출한다(invoke). FLASH 파일의 호출(invocation)은 다른 FLASH 파일들로 송신될 데이터를 포함하는 메시지 수신 요청을 전송하는 것을 포함한다. FLASH는 그룹을 생성하기 위해 사용되고, 각각의 그룹 멤버는 플래시에 의해 생성된 swf 파일이고, 데이터는 그룹 내의 멤버들에 중에서 동기화된다. swf 파일은 어도비 플래시 포맷이다.
다른 FLASH 파일들은 데이터를 획득하기 위한 메시지 수신 요청을 수신한다.
일부 실시예들에서, 클라이언트는 또한 통신 식별자들에 기초하여 데이터의 페이지-간 송신을 위한 데이터 송신 기능들을 갖는 페이지 내의 다른 유닛들을 사용한다.
도 3은 페이지들 간의 통신 처리의 또 다른 실시예의 흐름도이다. 처리(300)는 도 13의 클라이언트(1310)에 의해 구현될 수 있고 다음을 포함한다:
310에서, 클라이언트는 현재의 페이지에 대한 속성 정보를 획득한다.
일부 실시예들에서, "현재의 페이지"는 클라이언트에 의해 검출된 현재 열려있는 페이지를 의미한다. 페이지가 열려있는 경우, 클라이언트는 그 페이지에 대한 속성 정보를 획득한다. "속성 정보"는 페이지가 다른 페이지들과 통신할지 및 어떤 통신이 어떤 페이지들에 대하여 수행될지의 여부를 나타내기 위해 사용된 정보와 관련된다. 예를 들면, 클라이언트는 페이지가 또 다른 페이지와의 동기 업데이트를 위해 확립되었는지의 여부를 결정하고, 페이지가 다른 페이지와의 동기 동작을 위해 확립되었는지의 여부를 결정하고, 동기 업데이트를 위한 데이터 유형들을 결정하고, 동기 동작들을 위한 동작들 유형들을 결정하는 등이다. 일부 실시예들에서, 동일한 페이지가 페이지의 상이한 속성들에 기초하여 복수의 페이지 그룹들에 추가된다. 예를 들면, 페이지는 구름 그룹에 가입하고, 페이지는 cloud_page_1으로 식별된다. 동시에, 동일한 페이지가 비 그룹에 가입하고, 페이지는 또한 rain_page_1으로 식별된다. 동일한 페이지가 또한 추가적인 그룹들에 가입할 수 있다. 각각의 그룹은 하나의 유형의 데이터를 동기화되게 유지할 책임이 있다. 예를 들면, 구름 그룹은 데이터를 동기화되게 유지할 책임이 있고, 비 그룹은 상태를 동기화되게 유지할 책임이 있다.
320에서, 클라이언트는 현재의 페이지가 속성 정보에 기초하여 페이지 그룹에 추가될지의 여부를 평가한다.
예를 들면, 속성 정보가 현재의 페이지(A)가 또 다른 페이지(B)와 서명 메시지 동기 업데이팅을 수행할 것이라고 나타내는 경우, 클라이언트는 현재의 페이지(A)가 대응하는 페이지 그룹에 추가된다고 평가한다.
일부 실시예들에서, 동일한 근본 페이지들 간의 동기 업데이트는 현재의 네트워크들의 디폴트 요구사항이다. 즉, 각각의 페이지는 또 다른 동일한 근본 페이지와 동기적으로 업데이트되어야 한다. 따라서, 각각의 페이지는 동일한 근본 페이지 동기 업데이트를 위해 페이지 그룹에 추가된다. 일부 실시예들에서, 근본 페이지는 그룹의 호스트 페이지의 여부를 나타내고, 근본 페이지는 다른 페이지들을 근본 페이지가 수신한 데이터와 동기화할 책임이 있다.
330에서, 현재의 페이지가 페이지 그룹에 추가될 경우, 클라이언트는 호스트 접속 FLASH 파일을 확립하기 위한 동작을 개시하기 위해 현재의 페이지의 FLASH 파일을 호출한다. 예를 들면, 구름이라 명명된 그룹을 사용하여, 그룹 호스트의 이름은 cloud_page_host이다. 그룹 호스트는 그룹 멤버들 간에 데이터를 동기화되게 유지할 책임이 있다.
일부 실시예들에서, 하나의 클라이언트가 복수의 페이지 그룹들을 셋업한다. 일부 실시예들에서는, 페이지 그룹들에 대응하는 FLASH 그룹들은 사용자에 의해 주어진 이름들에 의해 구별된다. 일부 실시예들에서, 사용자는 그룹이 확립될 때 그룹을 명명한다. 페이지 그룹들에게 주어지는 구체적인 이름들에 대해 어떠한 제한도 없다. 예를 들면, 페이지 그룹들은 "구름", "비" 등으로 불린다. 추가적으로, 동일한 페이지가 복수의 상이한 페이지 그룹들에 추가될 수 있다. 따라서, 동일한 페이지가 상이한 FLASH 파일들을 호출할 수 있다. 호출될 상이한 FLASH 파일들을 구별하기 위해, 하나의 페이지에 대한 다양한 FLASH 파일들의 각각이 대응하는 FLASH 그룹 이름에 기초하여 셋업된다. 예를 들면, 호스트 접속 FLASH 파일의 이름은 "FLASH group name_HOST"로 확립될 수 있다. 따라서, 이름은, 그룹 접속 FLASH 파일이 위치된 FLASH 그룹을 의미한다.
일부 실시예들에서, 페이지가 런칭(launching)된 경우, 클라이언트는 호스트 접속 FLASH 파일을 생성하고자 시도하는 동작을 개시하기 위해 "생성" 인터페이스를 호출한다. FLASH 그룹 이름이 "구름"인 경우, 호스트 접속 이름은 "cloud_HOST"이다.
335에서, 클라이언트는 FLASH 그룹이 이미 호스트 접속 FLASH 파일을 가졌는지의 여부를 결정한다.
일부 실시예들에서, 그룹이 호스트를 갖지 않으면, 자신을 호스트로서 지정한 제 1 그룹 멤버가 그룹 호스트가 된다. 따라서, 호스트는 거의 항상 존재한다.
340에서, FLASH 그룹이 이미 호스트 접속 FLASH 파일을 가진 경우, 클라이언트는 현재의 비-호스트 접속 FLASH 파일을 확립하기 위해 현재의 페이지의 FLASH 파일을 FLASH 그룹에 추가하는 것을 호출하고 실질적으로 동시에 현재의 비-호스트 접속 식별자를 생성 및 기록한다.
일부 실시예들에서, 단지 하나의 호스트 접속 FLASH 파일이 존재한다. 일부 실시예들에서, 복수의 비-호스트 접속 FLASH 파일들이 존재한다. 비-호스트 접속 FLASH 파일들을 서로로부터 구별하기 위해, 생성된 비-호스트 접속 식별자들은 고유하다.
도 4는 현재의 비-호스트 접속 식별자의 생성 처리의 일 실시예의 흐름도이다. 일부 실시예들에서, 처리(400)는 처리(300) 중 340을 구현하도록 사용되고 다음을 포함한다:
410에서, 클라이언트는 이름 "FLASH group name_non-host-connection identifier A"을 가진 비-호스트 접속 FLASH 파일을 생성하기 위해 "가입" 인터페이스를 호출한다. 식별자 A가 이미 존재하는 경우, 생성된 식별자가 FLASH 그룹에 존재하지 않을 때까지, 클라이언트는 이름 "FLASH group name_non-host-connection identifier B" 등을 가진 비-호스트 접속 FLASH 파일을 생성하도록 시도한다.
일부 실시예들에서, 비-호스트 접속 식별자들은 무작위로 생성된다. 일부 실시예들에서, 비-호스트 접속 식별자들은 시퀀스(sequence)에 따라 생성된다.
350에서, 클라이언트는 현재의 비-호스트 접속 식별자를 호스트 접속 FLASH 파일로 전송하기 위해 현재의 비-호스트 접속 FLASH 파일을 호출한다.
360에서, 클라이언트는 FLASH 그룹 식별자를 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일에 저장 및 전송하기 위해 호스트 접속 FLASH 파일을 호출한다. FLASH 그룹 식별자는 호스트 접속 식별자 및 각각의 비-호스트 접속 식별자를 포함한다.
370에서, 클라이언트는 FLASH 그룹 식별자를 저장하기 위해 각각의 비-호스트 접속 FLASH 파일을 호출한다.
일부 실시예들에서, FLASH 그룹이 단지 호스트 접속 FLASH 파일 및 현재의 비-호스트 접속 FLASH 파일만을 포함하는 경우, FLASH 그룹 식별자는 호스트 접속 식별자 및 현재의 비-호스트 접속 식별자를 포함하고, "각각의 비-호스트 접속"은 현재의 비-호스트 접속 FLASH 파일에 관련된다.
FLASH 그룹이 호스트 접속 FLASH 파일, 현재의 비-호스트 접속 FLASH 파일, 및 다른 비-호스트 접속 FLASH 파일들을 포함하는 경우, FLASH 그룹 식별자는 호스트 접속 식별자, 현재의 비-호스트 접속 식별자, 및 다른 비-호스트 접속 FLASH 파일들의 비-호스트 접속 식별자들을 포함하고, "각각의 비-호스트 접속"은 현재의 비-호스트 접속 FLASH 파일 및 다른 비-호스트 접속 FLASH 파일들에 관련된다.
현재의 FLASH 그룹이 호스트 접속 FLASH 파일을 갖지 않는 경우, 클라이언트는 호출된 FLASH 파일을 호스트 접속 FLASH 파일로서 확립하고, 동시에, 호스트 접속 식별자는 생성 및 기록된다. FLASH 그룹이 적어도 하나의 비-호스트 접속 FLASH 파일을 갖는 경우, 클라이언트는 비-호스트 접속 식별자를 호스트 접속 FLASH 파일로 전송하기 위해 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일을 호출한다.
일부 실시예들에서, 클라이언트는 FLASH 그룹 식별자를 각각의 비-호스트 접속 FLASH 파일로 전송하기 위해 호스트 접속 FLASH 파일을 호출한다. FLASH 그룹 식별자는 호스트 접속 식별자 및 각각의 비-호스트 접속 식별자를 포함한다.
일부 실시예들에서, 클라이언트는 FLASH 그룹 식별자를 저장하기 위해 각각의 비-호스트 접속 FLASH 파일을 호출한다.
FLASH 통신 메커니즘은 상기 처리들 중 적어도 하나를 통해 확립된다. FLASH 영역은 FLASH 그룹 내의 임의의 FLASH 파일의 식별자를 저장하므로 다음 통신에 대한 조건들을 제공한다. 상기 처리들에서, 호스트 접속 FLASH 파일은 서버의 역할을 수행하고 다양한 비-호스트 접속 FLASH 파일들 간의 통신을 확립하도록 사용된다.
일부 실시예들에서, 호스트 접속 FLASH 파일은 동작을 멈춘다. 예를 들면, 호스트 접속 FLASH 파일에 대응하는 페이지가 닫히면, 호스트 접속 FLASH 파일은 페이지와 함께 사라진다. 새로운 비-호스트 접속 FLASH 파일이 이어서 확립되는 경우, 일부 경우들에서, FLASH 그룹에 가입하는 것이 불가능하다.
이어서, FLASH 그룹 내의 임의의 비-호스트 접속 FLASH 파일이 호스트 접속 FLASH 파일을 재확립하기 위해 호출된다. 호스트 접속 FLASH 파일이 무효한 경우, 비-호스트 접속 FLASH 파일(그에 의해 호스트 접속 FLASH 파일의 확립이 재개시되었음)이 새로운 호스트 접속 FLASH 파일로서 확립되고 실질적으로 동시에 새로운 호스트 접속 식별자가 생성 및 기록된다. 일부 실시예들에서, 이 처리는 실시간으로 수행된다. 일부 실시예들에서, 이 처리는 주기적으로 수행된다. 일부 실시예들에서, 생성된 새로운 호스트 접속 식별자는 근본 호스트 접속 식별자와 동일하다.
새로운 호스트 접속 FLASH 파일이 새로운 호스트 접속 식별자에 기초하여 자가-저장(self-stored) FLASH 그룹 식별자를 업데이트하기 위해 호출되고, 업데이트된 FLASH 그룹 식별자는 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일로 전송된다.
새로운 호스트 접속 FLASH 파일이 생성된 후, 클라이언트는 그룹 멤버들을 업데이트하기 위해 새로운 호스트 접속 FLASH 파일을 호출하고, 호스트 접속 FLASH 파일이 비-호스트 접속 FLASH 파일이었을 때 존재했던 식별자를 삭제하고, 새로운 호스트 접속 식별자에 따라 자가-저장 FLASH 그룹 식별자를 업데이트하고, 그 후 업데이트된 FLASH 그룹 식별자를 현재의 FLASH 그룹의 모든 비-호스트 접속 FLASH 파일들로 전송한다.
각각의 비-호스트 접속 FLASH 파일은 자가-저장되었던 FLASH 그룹 식별자를 업데이트하기 위한 기반으로서 수신되고 업데이트된 FLASH 그룹 식별자를 사용하기 위해 호출된다.
도 5 내지 도 8은 호스트 접속 FLASH 파일 및 비-호스트 접속 FLASH 파일들의 확립 처리의 일 실시예의 도면들이다.
특정 응용에서, 4개의 페이지들(A, B, C, 및 D)이 동기 업데이팅을 수행한다. 따라서, 페이지 그룹은 4개의 페이지들(A, B, C, 및 D)에 관련하여 확립된다. 페이지 그룹에 대응하는 FLASH 그룹의 이름은 "구름"으로 설정된다. 각각의 FLASH 파일은 동일한 콘텐트를 갖는다.
우선, 도 5에 나타낸 바와 같이, 페이지(A)가 열리고, 대응하는 FLASH 파일이 호출된다. FLASH 파일은 우선 이름 "cloud_HOST"를 갖는 국부적 접속을 확립하기 위해 "생성" 인터페이스를 호출하도록 시도한다. FLASH 그룹이 아직 호스트 접속을 갖지 않으므로, 국부적 접속을 확립하기 위한 시도는 성공하고, 호스트 접속 식별자는 HOST로서 기록된다. FLASH 파일은 서버 역할을 수행하는 호스트 접속 FLASH 파일이다.
다음, 페이지(B)가 열리고, 대응하는 FLASH 파일이 호출된다. FLASH 파일은 우선 이름 "cloud_HOST"을 갖는 국부적 접속을 확립하기 위해 "생성" 인터페이스를 호출하도록 시도한다. FLASH 그룹은 이미 호스트 접속을 가지므로, 국부적 접속을 확립하기 위한 시도는 실패한다. 이때, "가입" 인터페이스가 비-호스트 접속 FLASH 파일을 확립하기 위해 호출되고 페이지(B)에 대응하는 비-호스트 접속 FLASH 파일을 그룹에 추가한다. "가입" 인터페이스가 호출되면, FLASH 파일은 이름 "cloud_1"을 갖는 국부적 접속을 생성하도록 시도한다. FLASH 그룹이 국부적 접속과 동일한 이름을 갖지 않으므로, 시도는 성공하고, 성공 ID가 1로 기록된다. 다음, 클라이언트는 1의 클라이언트 ID를 호스트 접속 FLASH 파일로 전달하는 그룹 가입 요청을 송신하기 위해 비-호스트 접속 FLASH 파일을 호출한다. 호스트 FLASH 파일은 요청을 수신하고 ID, 즉, 1를 저장하고, 호스트는 FLASH 그룹 식별자(HOST, 1)를 포함 및 생성한다. 그 후, 호스트 FLASH 파일은 FLASH 그룹 식별자(HOST, 1)를 포함하는 업데이트 요청을 페이지(B)에 대응하는 비-호스트 접속 FLASH 파일로 전송한다. 호스트 FLASH 파일의 업데이트 요청을 수신하면, 비-호스트 접속 FLASH 파일은 FLASH 그룹 식별자(HOST, 1)를 기록한다.
다음, 페이지(C)가 열리고, 대응하는 FLASH 파일이 호출된다. FLASH 파일은 우선 이름 "cloud_HOST"을 갖는 국부적 접속을 확립하기 위해 "생성" 인터페이스를 호출하도록 시도한다. FLASH 그룹은 이미 호스트 접속을 가지므로, 국부적 접속을 확립하기 위한 시도는 실패한다. 이때, "가입" 인터페이스가 비-호스트 접속 FLASH 파일을 확립하기 위해 호출되고 페이지(C)에 대응하는 비-호스트 접속 FLASH 파일을 그룹에 추가한다. FLASH 파일은 이제 이름 "cloud_1"을 갖는 국부적 접속을 생성하고자 시도한다. FLASH 그룹이 이미 이 이름을 가졌기 때문에, 국부적 접속을 생성하기 위한 시도는 실패한다. FLASH 파일은 이제 또 다른 시도를 하고, 이름 "cloud_2"를 갖는 국부적 접속을 확립하고, 성공 ID를 2로서 기록한다. 도 6에 나타난 바와 같이, 다음으로, 클라이언트는 2의 그것의 ID를 포함하는 그룹 가입 요청을 호스트 접속 FLASH 파일로 전송하기 위해 비-호스트 접속 FLASH 파일을 호출한다. 호스트 FLASH 파일은 이 요청을 수신하고 ID, 즉, 2를 저장하고, FLASH 그룹 식별자(HOST, 1, 2)를 생성한다. 그 후, 호스트 FLASH 파일은 FLASH 그룹 식별자(HOST, 1, 2)를 포함하는 업데이트 요청들을 페이지들(B 및 C)에 대응하는 비-호스트 접속 FLASH 파일들로 전송한다. 호스트 FLASH 파일 업데이트 요청의 수신 시에, 페이지(B)에 대응하는 비-호스트 접속 FLASH 파일은 그것의 자가-저장 FLASH 그룹 식별자를 (HOST, 1, 2)로 업데이트하고, 페이지(C)에 대응하는 비-호스트 접속 FLASH 파일은 FLASH 그룹 식별자(HOST, 1, 2)를 저장한다.
다음, 페이지(D)가 열리고, 대응하는 FLASH 파일이 호출된다. FLASH 파일은 우선 이름 "cloud_HOST"을 갖는 국부적 접속을 확립하기 위해 "생성" 인터페이스를 호출하도록 시도한다. FLASH 그룹은 이미 호스트 접속을 가지므로, 국부적 접속을 확립하기 위한 시도는 실패한다. 이때, "가입" 인터페이스가 비-호스트 접속 FLASH 파일을 확립하기 위해 호출되고, 페이지(D)에 대응하는 비-호스트 접속 FLASH 파일을 이 그룹에 추가한다. FLASH 파일은 이제 이름 "cloud_1"을 갖는 국부적 접속을 확립하고자 시도한다. FLASH 그룹이 이미 이 이름을 가지므로, 국부적 접속을 확립하기 위한 시도는 실패한다. FLASH 그룹은 이제 이름 "cloud_2"를 갖는 국부적 접속을 확립하고 2의 성공 ID를 기록하기 위해 또 다른 시도를 한다. FLASH 그룹은 이미 이 이름을 가지므로, 국부적 접속을 확립하기 위한 시도는 실패한다. FLASH 그룹은 이제 이름 "cloud_3"을 갖는 국부적 접속을 확립하기 위해 또 다른 시도를 한다. 국부적 접속을 확립하기 위한 시도는 성공하고, 성공 ID는 3으로 기록된다. 도 7에 나타난 바와 같이, 다음으로, 클라이언트는 3의 그것의 자신의 ID를 포함하는 그룹 가입 요청을 호스트 접속 FLASH 파일로 전송하기 위해 비-호스트 접속 FLASH 파일을 호출한다. 호스트 FLASH 파일은 그룹 가입 요청을 수신하고 그것에 포함된 3의 ID를 저장하고, FLASH 그룹 식별자(HOST, 1, 2, 3)를 생성한다. 그 후, 호스트 FLASH 파일은 FLASH 그룹 식별자(HOST, 1, 2, 3)를 포함하는 업데이트 요청들을 페이지들(B, C, 및 D)에 대응하는 비-호스트 접속 FLASH 파일들로 전송한다. 호스트 FLASH 업데이트 요청의 수신 시에, 페이지들(B 및 C)에 대응하는 비-호스트 접속 FLASH 파일들은 그들의 자가-저장 FLASH 그룹 식별자를 (HOST, 1, 2, 3)로 업데이트하고, 페이지(D)에 대응하는 비-호스트 접속 FLASH 파일은 FLASH 그룹 식별자(HOST, 1, 2, 3)를 저장한다.
일반적으로, 새로운 페이지들이 열릴 때, 클라이언트는 다음을 연속적으로 실행하기 위해 새로운 페이지들에 대응하는 FLASH 파일들을 호출한다: 호스트 접속 FLASH 파일 및 비-호스트 접속 FLASH 파일들을 확립하고, 그들의 자신의 식별자들을 호스트 접속 FLASH 파일로 전송하고, FLASH 그룹 식별자를 수신함.
추가적으로, 페이지들(B, C, 및 D)에 대응하는 FLASH 파일들이 성공적으로 비-호스트 접속 FLASH 파일들을 확립한 후, FLASH 파일들은 규칙적인 시간 간격에서 호스트 접속 FLASH 파일이 되기 위해, 호스트 접속의 고유 특성들을 사용한다. 페이지(A)가 닫히지 않은 경우, 호스트 접속 FLASH 파일은 유효하게 남아있다. 따라서, 이 동작은 실패할 것이다.
도 8에 나타낸 바와 같이, 어떤 시점에서, 페이지(A)가 닫히고, 호스트 접속 FLASH 파일이 사라진다. 이 시각에, 페이지(B)의 FLASH 파일이 호스트 접속 FLASH 파일의 확립을 개시한다. 따라서, 호스트 접속 FLASH 파일의 확립의 개시는 성공하고, 페이지(B)에 대응하는 비-호스트 접속 FLASH 파일은 새로운 호스트 접속이 된다. 실질적으로 동시에, 새로운 호스트 접속 식별자가 생성되고, 새로운 호스트 접속 식별자는 또한 근본 호스트 접속 식별자와 같은 HOST로서 설정된다. 그 후, 새로운 호스트 접속 FLASH 파일이 그룹 멤버들을 업데이트하기 위해 호출된다. 근본 호스트 접속 식별자는 FLASH 그룹 식별자로부터 삭제되고, 1의 호스트 접속 식별자는 근본 호스트 접속 식별자 HOST로 바뀌고, 자가-저장 FLASH 그룹 식별자는 (HOST, 2, 3)으로 업데이트된다. 그 후, 업데이트된 FLASH 그룹 식별자를 포함하는 업데이트 요청은 페이지들(C 및 D)에 대응하는 비-호스트 접속 FLASH 파일들로 전송된다. 페이지들(C 및 D)에 대응하는 비-호스트 접속 FLASH 파일들이 업데이트 요청을 수신한 후, 페이지들(C 및 D)에 대응하는 비-호스트 접속 FLASH 파일들은 그들의 자가-저장 FLASH 그룹 식별자를 (HOST, 2, 3)으로 업데이트한다.
앞의 처리를 통해, FLASH 그룹 내의 각각의 FLASH 파일은 FLASH 그룹 내의 모든 FLASH 파일들의 식별자들을 저장한다. 통신은 각각의 FLASH 파일이 저장한 식별자에 기초하여 다양한 FLASH 파일들 간에 확립된다.
클라이언트 페이지들 간의 상기 직접적인 통신은 많은 응용들을 갖는다. 클라이언트 페이지들 간의 직접적인 통신의 예들은 아래에 설명된 바와 같은 페이지들 간의 동기 업데이트 및 페이지들 간의 동기 동작들에 적용되는 것을 포함한다.
도 9는 페이지들 간의 통신 처리의 일 실시예의 흐름도이다. 처리(900)는 도 13의 클라이언트(1310)에 의해 구현될 수 있으며 다음을 포함한다:
910에서, 클라이언트는 페이지 그룹 내의 페이지가 새로운 동작을 실행했는지의 여부를 결정한다.
일부 실시예들에서, "새로운 동작"은 콘텐트들의 업데이트가 아니라 오히려 페이지-관련 동작들(예를 들면, 페이지 스위칭)을 의미한다.
920에서, 페이지 그룹 내의 페이지가 새로운 동작을 실행한 경우, 클라이언트는 새로운 동작의 실행을 명령하기 위해 사용된 동작 데이터를 획득한다.
930에서, 클라이언트는 FLASH 그룹 내의 다른 FLASH 파일들의 저장된 식별자들에 기초하여 동작 데이터를 포함하는 메시지 수신 요청을 다른 FLASH 파일들로 전송하도록 새로운 동작이 실행되는 페이지 상의 FLASH 파일을 호출한다.
940에서, 클라이언트는 메시지 수신 요청에 기초하여 동작 데이터를 수신하기 위해 다른 FLASH 파일들을 호출한다.
동작들(930 및 940)에서, 일부 실시예들에서, FLASH 파일은 페이지의 JS를 통해 호출된다.
950에서, 클라이언트는 동작 데이터에 기초하여 다른 FLASH 파일들에 대응하는 페이지들 상에서 동작을 실행한다.
FLASH 파일이 다른 FLASH 파일들에 메시지 수신 요청을 전송할 수 있는 및 다른 FLASH 파일들이 메시지 수신 요청에 기초하여 동작 데이터를 수신하는 많은 옵션들이 존재한다. 일부 실시예들에서, FLASH 파일 내의 sendmessage 메시지 전송 기능 및 receivemessage 메시지 수신 기능이 메시지 전송 및 메시지 수신을 위해 사용된다.
도 10은 동기 업데이트 처리의 일 실시예의 흐름도이다. 처리(1000)는 도 13의 클라이언트(1310)에 의해 구현될 수 있고 다음을 포함한다:
처리(1000)는 페이지 스위칭의 예를 사용하여 소개될 것이다.
클라이언트는 페이지들(A, B, 및 C)을 포함하는 페이지 그룹을 확립한다. 페이지 그룹의 페이지(A)는 특정 시점에 제 1 하위-페이지에서 제 2 하위-페이지로 스위칭된다. 클라이언트가 새로운 동작을 검출한 후, 페이지는 페이지 상에서 제 1 하위-페이지에서 제 2 하위-페이지로 스위칭하는 동작을 명령하기 위해 사용된 동작 데이터, 예를 들면, "1, 2"를 획득한다. 이어서, 클라이언트는 페이지들(B 및 C)에 대응하는 FLASH 파일들에 대한 저장된 식별자들에 기초하여 페이지들(B 및 C)과의 통신 처리를 확립하기 위해 페이지(A) 내의 FLASH 파일을 호출한다. sendmessage 기능이 동작 데이터를 포함하는 receivemessage 요청을 페이지들(B 및 C)의 FLASH 파일들로 전송하기 위해 사용된다. 클라이언트는 receivemessage 요청을 수신하기 위해 receivemessage 기능을 사용하고 페이지에 포함된 동작 데이터:"1, 2"를 획득하기 위해 페이지들(B 및 C)의 FLASH 파일들을 호출한다. 클라이언트는 페이지들(B 및 C) 상에서 제 1 에서 제 2 하위-페이지들로 스위칭하는 동작을 실행하도록 동작 데이터를 사용한다.
1010에서, 클라이언트는 페이지 그룹 내의 페이지가 업데이트되었는지의 여부를 검출한다.
1020에서, 페이지 그룹 내의 페이지가 업데이트된 경우, 클라이언트는 업데이트된 페이지 내의 업데이트 데이터를 획득한다.
1030에서, 클라이언트는 다른 FLASH 파일들의 저장된 식별자들에 기초하여 업데이트 데이터를 포함하는 메시지 수신 요청을 FLASH 그룹 내의 다른 FLASH 파일들로 전송하기 위해 업데이트된 페이지 내의 FLASH 파일을 호출한다.
1040에서, 클라이언트는 메시지 수신 요청에 기초하여 업데이트 데이터를 수신하기 위해 다른 FLASH 파일들을 호출한다.
1050에서,클라이언트는 업데이트 데이터에 기초하여 다른 FLASH 파일들에 대응하는 페이지들을 업데이트한다.
상기 처리(1000)에서 보여질 수 있는 바로서, 페이지 그룹 내의 페이지는, 업데이트된 페이지가 업데이트 데이터를 다른 페이지들로 송신하기 위해 사용되기 전에 업데이트를 수행한다. 일부 실시예들에서, 이전에 업데이트를 수행한 페이지는 다음의 3개의 접근법들로 업데이트 데이터를 획득한다:
제 1 접근법은 브라우저-기반 국부적 저장소 솔루션이다. 이 접근법에서, 브라우저가 서버로부터 업데이트 데이터를 획득하기 위해 셋업된다. 이어서, 업데이트 데이터는, 적어도 하나의 페이지가 업데이트되는 브라우저 내의 적어도 하나의 페이지로 전송된다. 제 1 접근법은 오직 1개의 브라우저만에 관련되므로, 다른 브라우저들 내의 페이지들은, 상기 설명된 바와 같이, 페이지들 간의 직접적인 통신에 기초하여 업데이트된다. 따라서, 이 접근법은 브라우저-기반 국부적 저장소 솔루션이 페이지 업데이트 동안 상이한 브라우저들을 포괄하도록 허용한다.
제 2 접근법은 페이지 폴링(page polling)에 관련된다. 이 접근법에서, 클라이언트는 서버로부터 업데이트 데이터를 획득한다. 클라이언트는 주기적 페이지 폴링을 위해 셋업되고, 업데이트를 수행하기 위해 클라이언트로부터 업데이트 데이터를 획득한다. 이 접근법에서, 오직 1개의 페이지만이 관련되므로, 신속성 및 페이지 성능은 확실하다. 또한, 이 접근법에서, 적절한 페이지 양을 위해 폴링 클라이언트를 셋업하는 것이 가능하다. 페이지 양이 셋업되면, 페이지 성능은 확실해질 수 있다.
제 3 접근법은 서버 긴 링크들에 기초한다. 페이지 서버 긴 링크가 셋업되고, 업데이트 데이터가 업데이트를 수행하기 위해 서버로부터 획득된다. 이 접근법에서 오직 1개의 페이지만이 서버와의 긴 링크를 가지므로, 서버에 대해 적은 대역폭이 요구되어 서버 비용이 감소한다. 물론, 이 접근법에서, 서버의 대역폭 제한 내에서 적절한 페이지 양을 갖는 서버 긴 링크들을 셋업하는 것이 또한 가능하다.
이 실시예에서, FLASH 그룹 내의 FLASH 파일들은 동일한 웹 주소를 갖고 열려진 복수의 동일한 근본 페이지들에 대한 FLASH 파일들과 같이, 동일한 파일 콘텐트를 가질 수 있다. 물론 각각의 FLASH 파일은 또한, 예를 들면, 한명의 사용자의 Qzone 및 마이크로블로그 페이지들에 대한 FLASH 파일들과 같이, 상이한 콘텐트를 가질 수 있다.
일부 실시예들에서, 송신될 업데이트 데이터의 유형은 상이한 업데이트 바램들에 따라 달라진다. 예를 들면, 동일한 근본 페이지들 간에 동기 업데이트가 일어날 때 각각의 업데이트가 동기화되어야 하므로, "업데이트 데이터"는 페이지 상의 임의의 업데이트 데이터를 의미한다. 일부 실시예들에서, 단지 특정한 업데이트만이 동기화되어야 할 때, 업데이트 데이터는, 예를 들면, 앞서 언급된 한명의 사용자의 Qzone 및 마이크로블로그 페이지들의, 단지 특정 유형의 특정한 데이터이다. 이 경우에 페이지 상에서 검출된 유일한 데이터는 서명 데이터이고, 다른 데이터는 아니다. 따라서, 상이한 업데이트 바램들을 만족시키기 위해 업데이트 데이터에 대한 특정 유형들을 셋업하는 것이 가능하다.
다음의 예는 동일한 근본 페이지들 간의 통신을 통한 동기 업데이트의 응용 시나리오이다.
3개의 동일한 페이지들(A, B, 및 C)이 사용자에 의한 동일한 포럼 웹 주소의 클릭 3번에 기초하여 열린다. 3개의 페이지들은 동일한 페이지 그룹에 추가된다. 3개의 페이지들에 대응하는 FLASH 파일들이 FLASH 그룹이 된다. 각각의 FLASH 파일은 동일한 파일 콘텐트를 갖고, FLASH 파일들 모두는 FLASH 그룹 내의 다른 FLASH 파일들의 식별자들을 저장한다.
그 포럼 상의 또 다른 사용자가 메시지 "오늘 비가 올 것이다."를 게시한다. 이 예에서, 포럼은 그룹을 확립한다.
클라이언트는 게시된 메시지를 획득한다. 페이지(A)가 앞서 언급된 3개의 접근법들 중 하나의 접근법과 같은 특정 접근법을 통해 이 메시지를 획득한 후, 페이지(A)는 그것의 자신의 페이지를 업데이트한다. 이때, 페이지(A)는 페이지 "오늘 비가 올 것이다."를 디스플레이한다.
클라이언트는, 페이지(A)가 업데이트됐다는 것을 검출하고 그에 따라 페이지(A)로부터 업데이트 메시지 "오늘 비가 올 것이다."를 획득한다.
클라이언트는 페이지(B) FLASH 파일에 대한 자가-저장 식별자에 기초하여 메시지 "오늘 비가 올 것이다."를 포함하는 메시지 수신 요청을 페이지(B)의 FLASH 파일로 전송하기 위해 페이지(A)의 FLASH 파일을 호출한다. 실질적으로 동시에, 클라이언트는 페이지(C) FLASH 파일에 대한 자가-저장 식별자에 기초하여 메시지 "오늘 비가 올 것이다."를 포함하는 메시지 수신 요청을 페이지(C)의 FLASH 파일로 전송하기 위해 페이지(A)의 FLASH 파일을 호출한다.
클라이언트는 메시지 수신 요청들을 수신하고 그 요청에 포함된 "내일 비가 올 것이다." 메시지를 획득하기 위해 페이지들(B 및 C)의 FLASH 파일들을 호출한다.
클라이언트는 페이지들(B 및 C) 상에 "내일 비가 올 것이다." 메시지를 디스플레이한다.
페이지들(A, B, 및 C)은 이제 동기 업데이팅을 수행한다.
다음의 예는 상이한 근본 페이지들 간의 통신을 통한 동기 업데이트의 구체적인 응용 시나리오이다.
사용자가 그의 Qzone 페이지 및 텐센트 마이크로블로그 페이지를 열고, Qzone 페이지 서명 메시지를 텐센트 마이크로블로그 페이지와 동기화한다.
클라이언트는 Qzone 페이지 및 텐센트 마이크로블로그 페이지를 동일한 페이지 그룹에 추가한다. Qzone 페이지 FLASH 파일은 텐센트 마이크로블로그 페이지 FLASH 파일에 대한 식별자를 저장하고, 텐센트 마이크로블로그 페이지 FLASH 파일은 Qzone 페이지 FLASH 파일에 대한 식별자를 저장한다.
사용자가 서명 메시지를 "오늘 비가 올 것이다."로 수정할 때, Qzone 페이지는 앞서 언급된 3개의 접근법들 중 하나를 사용하여 메시지를 획득하고 그 메시지를 그의 자신의 페이지 상에 디스플레이한다.
클라이언트는 Qzone 페이지 서명 메시지가 업데이트됐다는 것을 검출하고 이에 따라 서명 메시지가 획득된다.
클라이언트는 텐센트 마이크로블로그 페이지 FLASH 파일에 대한 저장된 식별자에 기초하여 업데이트 데이터 "오늘 비가 올 것이다."를 포함하는 메시지 수신 요청을 텐센트 마이크로블로그 페이지 FLASH 파일로 전송하기 위해 Qzone 페이지의 FLASH 파일을 호출한다.
클라이언트는 메시지 수신 요청을 수신하고 메시지 수신 요청에 포함된 "오늘 비가 올 것이다." 업데이트 데이터를 획득하기 위해 텐센트 마이크로블로그 페이지 FLASH 파일을 호출한다.
클라이언트는 텐센트 마이크로블로그 페이지 상에 "오늘 비가 올 것이다."를 디스플레이한다.
Qzone 페이지 및 텐센트 마이크로블로그 페이지는 이제 동기 업데이팅을 수행한다.
다음, 사용자는 Qzone 페이지 상에 메모 "아직 비가 오지 않았다."를 추가한다.
클라이언트는 Qzone 페이지는 업데이트됐지만, 업데이트 메시지는 서명 메시지가 아님을 검출한다. 따라서, 이 업데이트 메시지는 획득되지 않는다.
상기 예에서, 동기 페이지-간 동작들에서, 페이지 FLASH 파일은 업데이트 데이터를 전송 및 수신하기 위해 sendmessage 기능 및 receivemessage 기능을 사용한다.
도 11은 페이지들 간에 통신하기 위한 장치의 일 실시예의 조직도이다. 디바이스(1100)는 제 1 검출 유닛(1110), 제 1 획득 유닛(1120), 식별자 호출 유닛(1130), 및 통신 유닛(1140)을 포함한다.
제 1 검출 유닛(1110)은 페이지가 또 다른 페이지와 데이터 송신들을 행할지의 여부를 결정한다.
페이지들 간에 송신될 데이터는 페이지-간 통신의 구체적인 응용들에서의 차이점들에 따라 다양하다. 예를 들면, 페이지가 업데이트되어야 하는 경우, 페이지들을 업데이트하는 것에 대한 업데이트 데이터가 송신되어야 한다. 아래에 설명된 바와 같이, 동기 페이지 동작들이 수행되어야 하는 경우, 새로운 동작들을 명령하기 위해 사용된 동작 데이터가 송신되어야 한다.
제 1 획득 유닛(1120)은 페이지가 송신될 데이터를 가질 경우 데이터를 획득한다.
식별자 호출 유닛(1130)은 페이지에 의해 저장된 현재의 페이지 그룹 내의 다른 페이지들의 통신 식별자들을 획득한다.
일부 실시예들에서, 페이지 그룹들은 적어도 2개의 페이지들의 사전-확립된 조합들이다. 통신 식별자는 페이지 그룹들이 확립될 때, 페이지 그룹들 내의 각각의 페이지에 할당된다. 페이지 그룹 내의 각각의 페이지는 페이지 그룹 내의 다른 페이지들에 대한 통신 식별자들을 저장한다. 이들 통신 식별자들은 각각의 페이지를 고유하게 식별하기 위해 사용된 식별자들이다. 일부 실시예들에서, 통신 링크들은 식별자들에 기초하여 페이지들 간에 확립된다.
일부 실시예들에서, 페이지 그룹들은 필요에 따라 생성된다. 예를 들면, 복수의 페이지들이 하나의 웹 주소에 기초하여 열리고 페이지들의 동기 업데이트를 위한 페이지 그룹으로서 셋업된다. 마이크로블로그 페이지들 상에 Qzone 페이지 서명들 및 다른 메시지들을 동기적으로 위치시키기 위해, 사용자의 Qzone 페이지들 및 사용자의 마이크로블로그 페이지들과 같은, 동일한 사용자에 대응하는 페이지들을 포함하는 단일 페이지 그룹을 셋업하는 것이 가능하다. 페이지 그룹들이 어떻게 조직되는지에 대해서는 제한이 없다.
일부 실시예들에서, 페이지 그룹들은 상이한 바램들에 기초하여 확립되므로, 동일한 페이지는 복수의 페이지 그룹들에 속할 수 있다. 따라서, 장치(1110)는 페이지 그룹 결정 유닛(1150)을 추가로 포함한다. 페이지 그룹 결정 유닛(1150)은 페이지들이 복수의 페이지 그룹들에 속할 때, 데이터의 속성 정보에 기초하여 페이지들의 현재의 페이지 그룹을 결정한다. 데이터는 그 후 현재의 페이지 그룹 내의 페이지들 간에 송신된다.
일부 실시예들에서, 데이터 속성 정보는 데이터에 대한 송신 속성 정보에 대응한다. 예를 들면, 데이터가 Qzone 및 마이크로블로그들 내에 서명 메시지들을 디스플레이하기 위해 사용될 때, 현재의 페이지 그룹은 Qzone 및 마이크로블로그 페이지들로 구성된 페이지 그룹이다. 데이터가 동일한 근본 페이지들 간에 송신되어야 할 때, 현재의 페이지 그룹은 동일한 근본 페이지들로 이루어진 페이지 그룹이다.
통신 유닛(1140)은 통신 식별자들에 기초하여 페이지와 다른 페이지들 간에 통신 링크들을 확립하고 통신 링크들을 사용하여 송신될 데이터를 다른 페이지들로 전송한다.
클라이언트들이 통신 링크들을 확립하기 위해 페이지들의 통신 식별자들을 사용하는 많은 방식들이 존재한다. 일부 실시예들에서, 페이지들은 페이지들 간에 통신 링크들을 확립하도록 페이지-간 FLASH 파일들을 사용한다.
도 12a는 통신 유닛의 일 실시예의 조직도이다. 일부 실시예들에서, 통신 유닛(1210)은 디바이스(1100)의 통신 유닛(1140)을 구현하기 위해 사용되고, 제 1 결정 유닛(1211), 제 2 획득 유닛(1213), 식별자 호출 유닛(1215), 제 1 데이터 전송 유닛(1217), 및 데이터 수신 유닛(1219)을 포함한다.
제 1 결정 유닛(1211)은 페이지가 또 다른 페이지와 데이터 통신을 수행할지의 여부를 검출한다.
제 2 획득 유닛(1213)은 페이지가 송신될 데이터를 가질 때 데이터를 획득한다.
식별자 호출 유닛(1215)은 송신될 데이터를 갖는 페이지의 FLASH 영역 내에 저장된 FLASH 그룹 내의 다른 FLASH 파일들의 식별자들을 획득한다. FLASH 그룹은 현재의 페이지 그룹 내의 페이지들에 대응하는 FLASH 파일들을 포함하고, 각각의 페이지의 FLASH 영역은 FLASH 그룹 내의 다른 FLASH 파일들의 식별자들을 저장한다.
제 1 데이터 전송 유닛(1217)은 FLASH 그룹 내의 다른 FLASH 파일들의 저장된 식별자들에 기초하여 데이터를 포함하는 메시지 수신 요청을 다른 FLASH 파일들로 전송하기 위해 페이지 내의 FLASH 파일을 호출한다.
데이터 수신 유닛(1219)은 메시지 수신 요청을 수신하고 데이터를 획득하기 위해 다른 FLASH 파일들을 호출한다.
일부 실시예들에서, 디바이스(1100)는 또한 통신 식별자들을 사용하여 데이터의 페이지-간 통신을 위한 데이터 송신 기능들을 갖는 페이지 내의 다른 유닛들을 사용한다.
일부 실시예들에서, 페이지 그룹들은 미리 생성된다. 따라서, 디바이스(1100)는 생성 유닛(1160)을 추가로 포함한다. 생성 유닛(1160)은 페이지 그룹들을 생성한다.
일부 실시예들에서, 페이지 그룹들은 필요에 따라 생성된다. 예를 들면, 하나의 웹 주소에 기초하여 열린 복수의 페이지들이 페이지들의 동기 업데이트를 위한 페이지 그룹으로서 셋업된다. 마이크로블로그 페이지들 상에 Qzone 페이지 서명 및 다른 메시지들을 동기적으로 놓기 위해, 사용자의 Qzone 페이지들 및 사용자의 마이크로블로그 페이지들과 같은, 동일한 사용자에 대응하는 페이지들을 포함하는 단일 페이지 그룹을 셋업하는 것이 가능하다.
도 12b 내지 도 12d는 페이지들 간에 통신하기 위한 장치의 일 실시예의 조직도들이다. 디바이스(1100)는 속성 정보 획득 유닛(1232), 평가 유닛(1234), 제 1 호스트 접속 개시 유닛(1236), 비-호스트 접속 유닛(1238), 제 1 식별자 전송 유닛(1240), 제 2 식별자 전송 유닛(1242), 및 제 1 저장 유닛(1244)을 포함한다.
속성 정보 획득 유닛(1232)은 현재 페이지의 속성 정보를 획득한다.
일부 실시예들에서, "현재의 페이지들"은 클라이언트에 의해 검출된 각각의 현재 열린 페이지를 의미한다. 페이지가 열려있는 경우, 속성 정보 획득 유닛(1232)은 페이지의 속성 정보를 획득한다. "속성 정보"는 페이지가 다른 페이지들과 통신하는지 및 어떤 통신 요구가 어느 페이지들에 대해 존재하는지의 여부를 나타내기 위해 사용된 정보를 의미한다. 예를 들면, 페이지가 다른 페이지들과의 동기 업데이트를 위해 셋업되었나?; 페이지가 다른 페이지들과의 동기 동작을 위해 셋업되었나?; 동기 업데이팅을 위한 데이터의 유형들이 무엇인가?; 동기 동작들을 위한 동작들의 유형들이 무엇인가? 등이다. 일부 실시예들에서, 동일한 페이지가 페이지의 상이한 속성들에 기초하여 복수의 페이지에 추가된다.
평가 유닛(1234)은 현재의 페이지가 속성 정보에 기초하여 페이지 그룹에 추가되는지의 여부를 평가한다.
예를 들면, 속성 정보가, 현재의 페이지(A)가 또 다른 페이지(페이지(B))와 서명 메시지 동기 업데이팅을 수행한다는 것을 나타내면, 제 1 호스트 접속 개시 유닛(1236)은 현재의 페이지(A)를 대응하는 페이지 그룹에 추가하도록 결정한다.
동일한 근본 페이지들 간의 동기 업데이트가 현재의 네트워크들의 디폴트 요구사항이라는 것을 주의하자. 즉, 각각의 페이지는 다른 동일한 근본 페이지들과 동기적으로 업데이트된다. 따라서, 각각의 페이지는 동일한 근본 페이지 동기 업데이팅을 위해 페이지 그룹에 추가된다.
현재의 페이지가 페이지 그룹에 추가될 때, 제 1 호스트 접속 개시 유닛(1236)은 호스트 접속 FLASH 파일을 확립하기 위한 동작을 개시하기 위해 현재의 페이지의 FLASH 파일을 호출한다.
일부 실시예들에서, 클라이언트는 복수의 페이지 그룹들을 셋업하고, 상이한 FLASH 그룹들에게 상이한 이름들을 줌으로써, 페이지 그룹들에 대응하는 FLASH 그룹을 구별하는 것이 가능하다. 그룹들에 주어지는 특정한 이름들에 대한 제한사항은 없다. 예를 들면, FLASH 그룹들은 "구름", "비" 등으로 불린다. 일부 실시예들에서, 동일한 페이지가 상이한 페이지 그룹들에 추가된다. 따라서, 동일한 페이지가 페이지를 호출하는 상이한 FLASH 파일들을 갖는다. FLASH 파일들을 구별하기 위해, 하나의 페이지를 위한 다양한 FLASH 파일들의 각각이 FLASH 그룹 이름들에 기초하여 셋업된다. 예를 들면, 호스트 접속 FLASH 파일의 이름은 "FLASH group name_HOST"로 셋업된다. 따라서, 이름은 호스트 접속 FLASH 파일이 위치되는 FLASH 그룹을 의미한다.
일부 실시예들에서, 페이지가 런칭될 때, 제 1 호스트 접속 개시 유닛(1236)은 호스트 접속 FLASH 파일을 생성하려고 시도하는 동작을 개시하기 위해 "생성" 인터페이스를 호출한다. FLASH 그룹 이름이 "구름"일 때, 호스트 접속 이름은 "cloud_HOST"이다.
호스트 접속 FLASH 파일이 이미 존재할 때, 비-호스트 접속 유닛(1238)은 현재의 페이지의 FLASH 파일을 FLASH 그룹에 추가하고 현재의 비-호스트 접속 FLASH 파일을 확립하는 것을 호출하고, 동시에 현재의 비-호스트 접속 식별자를 생성 및 기록한다.
일부 실시예들에서는, 오직 1개의 호스트 접속 FLASH 파일이 존재한다. 일 양태로서, 복수의 비-호스트 접속 FLASH 파일들이 존재한다. 비-호스트 접속 FLASH 파일들을 서로로부터 구별하기 위해, 고유한 비-호스트 접속 식별자들이 비-호스트 접속 유닛(1238)에 의해 생성된다.
비-호스트 접속 FLASH 파일이 생성될 때 고유성을 보증하기 위해, 비-호스트 접속 유닛(1238)은 이름 "FLASH group name_non-host-connection identifier A"을 갖는 비-호스트 접속 FLASH 파일을 생성하도록 "가입" 인터페이스를 호출한다. A가 이미 존재하는 경우, 생성된 식별자가 FLASH 그룹 내에 존재하지 않을 때까지, 이름 "FLASH group name_non-host-connection identifier B" 등을 갖는 비-호스트 접속 FLASH 파일을 생성하도록 시도된다.
일부 실시예들에서, 비-호스트 접속 유닛(1238)은 비-호스트 접속 식별자들을 무작위로 생성한다. 일부 실시예들에서, 비-호스트 접속 유닛(1238)은 시퀀스에 기초하여 비-호스트 접속 식별자들을 생성한다.
제 1 식별자 전송 유닛(1240)은 현재의 비-호스트 접속 식별자를 호스트 접속 FLASH 파일로 전송하기 위해 현재의 비-호스트 접속 FLASH 파일을 호출한다.
제 2 식별자 전송 유닛(1242)은 FLASH 그룹 식별자를 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일에 저장 및 전송하기 위해 호스트 접속 FLASH 파일을 호출한다. FLASH 그룹 식별자는 호스트 접속 식별자 및 각각의 비-호스트 접속 식별자를 포함한다.
제 1 저장 유닛(1244)은 FLASH 그룹 식별자를 저장하기 위해 각각의 비-호스트 접속 FLASH 파일을 호출한다.
일부 실시예들에서, FLASH 그룹이 단지 호스트 접속 FLASH 파일 및 현재의 비-호스트 접속 FLASH 파일만을 포함할 때, FLASH 그룹 식별자는 호스트 접속 식별자 및 현재의 비-호스트 접속 식별자를 포함하고, "각각의 비-호스트 접속"은 현재의 비-호스트 접속 FLASH 파일을 의미한다.
FLASH 그룹이 호스트 접속 FLASH 파일, 현재의 비-호스트 접속 FLASH 파일, 및 다른 비-호스트 접속 FLASH 파일들을 포함할 때, FLASH 그룹 식별자는 호스트 접속 식별자, 현재의 비-호스트 접속 식별자, 및 다른 비-호스트 접속 FLASH 파일들의 비-호스트 접속 식별자들을 포함하고, "각각의 비-호스트 접속"은 현재의 비-호스트 접속 FLASH 파일 및 다른 비-호스트 접속 FLASH 파일들을 의미한다.
일부 실시예들에서, 장지(1100)는 제 1 확인 유닛(1246), 제 3 식별자 전송 유닛(1248), 제 4 식별자 전송 유닛(1250), 및 제 2 저장 유닛(1252)을 추가로 포함한다.
FLASH 그룹이 호스트 접속 FLASH 파일을 갖지 않을 때, 제 1 확인 유닛(1246)은 현재의 파일의 FLASH 파일을 호스트 접속 FLASH 파일로서 확인하고, 동시에 호스트 접속 식별자를 생성 및 기록한다.
FLASH 그룹이 적어도 하나의 비-호스트 접속 FLASH 파일을 가질 때, 제 3 식별자 전송 유닛(1248)은 비-호스트 접속 식별자를 호스트 접속 FLASH 파일로 전송하기 위해 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일을 호출한다.
제 4 식별자 전송 유닛(1250)은 FLASH 그룹 식별자를 각각의 비-호스트 접속 FLASH 파일로 전송하기 위해 호스트 접속 FLASH 파일을 호출한다. FLASH 그룹 식별자는 호스트 접속 식별자 및 각각의 비-호스트 접속 FLASH 파일의 비-호스트 접속 식별자를 포함한다.
제 2 저장 유닛(1252)은 FLASH 그룹 식별자를 저장하기 위해 각각의 비-호스트 접속 FLASH 파일을 호출한다.
호스트 접속 FLASH 파일은 종종 동작을 멈춘다. 예를 들면, 호스트 접속 FLASH 파일에 대응하는 페이지가 닫힐 때, 호스트 접속 FLASH 파일은 닫힌 페이지와 함께 사라진다. 새로운 비-호스트 접속 FLASH 파일이 이어서 확립될 때, FLASH 그룹에 더이상 가입하지 않는 상황이 발생할 수 있다. 따라서, 적어도 이 상황을 처리하기 위해, 디바이스(1100)는 제 2 호스트 접속 개시 유닛(1254), 제 2 확인 유닛(1256), 제 1 식별자 업데이팅 유닛(1258), 제 5 식별자 전송 유닛(1260), 및 제 2 식별자 업데이팅 유닛(1262)을 추가로 포함한다.
제 2 호스트 접속 개시 유닛(1254)은 호스트 접속 FLASH 파일을 재확립하기 위한 동작을 개시하기 위해 FLASH 그룹 내의 비-호스트 접속 FLASH 파일을 호출한다. 일부 실시예들에서, 그 동작은 실시간으로 수행된다. 일부 실시예들에서, 동작은 주기적으로 수행된다.
제 2 확인 유닛(1256)은 호스트 접속 FLASH 파일이 무효할 때, 비-호스트 접속 FLASH 파일(그에 따라 호스트 접속 FLASH 파일을 재확립하기 위한 동작)이 새로운 호스트 접속 FLASH 파일로서 개시되고 동시에 새로운 호스트 접속 식별자가 생성 및 기록되는 것을 확인한다. 일부 실시예들에서, 생성된 새로운 호스트 접속 식별자는 근본 호스트 접속 식별자와 동일하다.
제 1 식별자 업데이팅 유닛(1258)은 새로운 호스트 접속 식별자에 따라 자가-저장 FLASH 그룹 식별자를 업데이트하도록 새로운 호스트 접속 FLASH 파일을 호출한다. 새로운 호스트 접속 FLASH 파일이 생성된 후, 제 1 식별자 업데이팅 유닛(1258)은 그룹 멤버들을 업데이트하기 위해 새로운 호스트 접속 FLASH 파일을 호출하고, 새로운 호스트 접속 FLASH 파일이 비-호스트 접속 FLASH 파일이었을 때 존재했던 식별자를 삭제하고, 생성된 새로운 호스트 접속 식별자에 따라 자가-저장 FLASH 그룹 식별자를 업데이트한다.
제 5 식별자 전송 유닛(1260)은 업데이트된 FLASH 그룹 식별자를 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일로 전송하기 위해 새로운 호스트 접속 FLASH 파일을 호출한다.
제 2 식별자 업데이팅 유닛(1262)은 자가-저장되었던 FLASH 그룹 식별자를 업데이트하기 위한 기반으로서, 수신되고 업데이트된 FLASH 그룹 식별자를 사용하기 위해 각각의 비-호스트 접속 FLASH 파일을 호출한다.
클라이언트 페이지들 간의 직접적인 통신은 복수의 응용들을 갖는다. 예를 들면, 아래에 설명된 바와 같이, 클라이언트 페이지들 간의 직접적인 통신은 페이지들 간의 동기 업데이트 및 페이지들 간의 동기 동작들에 적용된다.
동기 페이지-간 동작들이 페이지들 간의 직접적인 통신에 기초하여 구현될 때, 디바이스(1100)는 제 2 결정 유닛(1264), 제 3 획득 유닛(1266), 제 2 데이터 전송 유닛(1268), 제 1 수신 유닛(1270), 및 동작 유닛(1272)을 추가로 포함한다.
제 2 결정 유닛(1264)은 페이지 그룹 내의 페이지가 새로운 동작을 실행하는지의 여부를 검출한다. "새로운 동작"은 콘텐트들의 업데이트가 아니라 오히려 페이지 관련 동작(예를 들면, 페이지 스위칭)을 의미한다.
제 3 획득 유닛(1266)은 페이지가 업데이트 동작을 실행할 때, 새로운 페이지 관련 동작의 실행을 명령하기 위해 사용된 동작 데이터를 획득한다.
제 2 데이터 전송 유닛(1268)은 FLASH 그룹 내의 다른 FLASH 파일들의 저장된 식별자들에 기초하여, 동작 데이터를 포함하는 메시지 수신 요청을 다른 FLASH 파일들로 전송하기 위한 새로운 동작을 실행하는 페이지 내의 FLASH 파일을 호출한다.
제 1 수신 유닛(1270)은 메시지 수신 요청에 기초하여 동작 데이터를 수신하기 위해 다른 FLASH 파일들을 호출한다.
동작 유닛(1272)은 동작 데이터에 기초하여 대응하는 페이지 상에서 동작을 실행한다.
일부 실시예들에서, FLASH 파일이 메시지 수신 요청을 다른 FLASH 파일들로 전송하는 많은 방식들이 존재하고, 다른 FLASH 파일들은 메시지 수신 요청에 따라 동작 데이터를 수신한다. 일부 실시예들에서, 디바이스(1100)는 제 3 데이터 전송 유닛(1274) 및 제 2 수신 유닛(1276)을 포함한다.
제 3 데이터 전송 유닛(1274) 및 제 2 수신 유닛(1276)은 메시지들을 전송 및 수신하기 위해 FLASH 파일 내의 sendmessage 기능(메시지 전송 기능) 및 receivemessage 기능(메시지 수신 기능)을 각각 사용한다.
제 3 데이터 전송 유닛(1274)은 동작 데이터를 포함하는 receivemessage 요청을 다른 FLASH 파일들로 전송하기 위해 sendmessage 기능을 사용하기 위한 새로운 동작을 실행하는 페이지 상의 FLASH 파일을 호출한다.
제 2 수신 유닛(1276)은 receivemessage 요청을 수신하기 위해 receivemessage 기능을 사용하고 receivemessage 요청에 포함된 동작 데이터를 획득하기 위해 다른 FLASH 파일들을 호출한다.
동기 페이지-간 업데이팅이 페이지들 간의 직접적인 통신에 기초하여 구현될 때, 디바이스(1100)는 제 2 검출 유닛(1278), 제 4 획득 유닛(1280), 제 3 데이터 전송 유닛(1282), 제 2 수신 유닛(1284), 및 페이지 업데이팅 유닛(1286)을 포함한다.
제 2 검출 유닛(1278)은 페이지 그룹 내의 페이지가 업데이트를 구현했는지의 여부를 검출한다.
제 4 획득 유닛(1280)은, 페이지가 업데이트를 구현할 때, 업데이트된 페이지로부터 업데이트 데이터를 획득한다.
제 3 데이터 전송 유닛(1282)은 FLASH 그룹 내의 다른 FLASH 파일들의 저장된 식별자들에 기초하여, 업데이트 데이터를 포함하는 메시지 수신 요청을 다른 FLASH 파일들로 전송하기 위해 업데이트된 페이지 내의 FLASH 파일을 호출한다.
제 2 수신 유닛(1284)은 메시지 수신 요청에 기초하여 업데이트 데이터를 수신하기 위해 다른 FLASH 파일들을 호출한다.
페이지 업데이팅 유닛(1286)은 업데이트 데이터에 기초하여 다른 FLASH 파일들에 대응하는 페이지들을 업데이트한다.
페이지 그룹 내의 페이지는 업데이트 데이터를 획득하고, 업데이트된 페이지가 업데이트 데이터를 다른 페이지들로 송신하기 위해 사용되기 전에 업데이트된다. 업데이트는 많은 접근법들에 기초할 수 있다. 그에 따라, 일부 실시예들에서, 디바이스(1100)는 브라우징 유닛(1288), 폴링 유닛(1290), 및 긴 링크 유닛(1292)을 추가로 포함한다.
브라우징 유닛(1288)은 서버로부터 업데이트 데이터를 획득하기 위해 브라우저를 셋업한다. 그 후 업데이트 데이터가 브라우저 내의 적어도 하나의 페이지에 전송되고, 그 결과 그 적어도 하나의 페이지는 업데이트된다. 이 접근법이 단지 하나의 브라우저에만 관련되기 때문에, 앞서 설명된 바와 같은 다른 브라우저들 내의 페이지들은 페이지들 간의 직접적인 통신에 기초하여 업데이트된다. 이 접근법은 페이지 업데이트 동안 상이한 브라우저들을 포괄하기 위해 브라우저-기반 국부적 저장소 솔루션의 능력을 가진다.
폴링 유닛(1290)은 주기적인 페이지 폴링을 위한 및 업데이팅을 구현하기 위해 클라이언트로부터 업데이트 데이터를 획득하기 위한 클라이언트를 셋업한다. 이 접근법에서, 단지 하나의 페이지만이 관련되므로, 신속성이 보증되는 동안, 이 접근법은 또한 페이지 성능을 보증한다. 물론, 일부 실시예들에서는, 폴링 유닛(1290)이 또한 적절한 페이지 양을 위한 폴링 클라이언트를 셋업한다.
긴 링크 유닛(1292)은 페이지 서버 긴 링크를 셋업하고, 업데이팅을 구현하기 위해 업데이트 데이터를 서버로부터 획득한다. 단지 하나의 페이지만이 서버와의 긴 링크를 가지므로, 서버에 대해 적은 대역폭이 존재하여, 서버 비용이 낮아진다. 물론, 일부 실시예들에서, 긴 링크 유닛(1292)은 또한 서버의 대역폭 제한 내에서 적절한 페이지 양을 갖는 서버 긴 링크들을 셋업한다.
일부 실시예들에서는, 페이지 그룹 내의 페이지들은 동일한 근본 페이지들이다. 일부 실시예들에서는, 페이지 그룹 내의 페이지들은 상이한 근본 페이지들이다.
일부 실시예들에서, 송신될 업데이트 데이터의 유형은 상이한 업데이트 바램들에 기초하여 다양하다. 예를 들면, 각각의 업데이트는 동기 업데이트가 동일한 근본 페이지들 간에 구현될 때 동기화되므로, "업데이트 데이터"는 페이지 상의 임의의 업데이트 데이터를 의미한다. 단지 특정한 업데이트만이 동기화되어야 할 때, 업데이트 데이터는, 예를 들면, 앞에서 언급된 하나의 사용자의 Qzone 및 마이크로블로그 페이지들의, 임의의 유형의 특정한 데이터이다. 이 경우에 단지 페이지 상에서 검출된 것만이 서명 데이터이고, 다른 데이터는 아니다. 본 응용에서, 상이한 업데이팅 바램들을 만족시키기 위해 업데이트 데이터에 대한 특정한 유형들을 셋업하는 것이 가능하다.
추가적으로, 동기 페이지-간 동작들과 함께인 경우에, 페이지 FLASH 파일은 업데이트 데이터를 전송 및 수신하기 위해 sendmessage 기능 및 receivemessage 기능을 사용한다.
도 13은 페이지들 간의 통신 시스템의 일 실시예의 도면이다. 시스템(1300)은 네트워크(1320)를 통해 클라이언트(1310)에 접속된 서버(1330)를 포함한다.
클라이언트(1310)는 서버(1330)로부터 업데이트 데이터를 수신한다.
앞서 설명된 유닛들은 프로그래밍가능한 논리 장치들과 같은 하드웨어로서의 하나 이상의 범용 프로세서들 및/또는 특정 기능들 또는 그것의 조합을 수행하도록 설계된 주문형 반도체들 상에서 실행하는 소프트웨어 구성요소들로서 구현될 수 있다. 일부 실시예들에서, 유닛들은 (개인용 컴퓨터들, 서버들, 네트워크 장비 등과 같은) 컴퓨터 디바이스가 본 발명의 실시예들에서 설명된 방법들을 구현하게 하기 위한 수많은 명령들을 포함하는, (광학 디스크, 플래시 저장 장치, 이동성 하드 디스크 등과 같은) 비휘발성 저장 매체에 저장될 수 있는 소프트웨어 제품들의 형태로 구현될 수 있다. 유닛들은 단일 디바이스 상에 구현되거나 다수의 디바이스들에 걸쳐 분산될 수 있다. 유닛들의 기능들은 하나의 또 다른 것들로 병합되거나 다수의 하위-유닛들로 추가로 분할될 수 있다.
여기에 개시된 실시예들에 관련하여 설명된 방법들 또는 알고리즘 단계들은 하드웨어, 프로세서-실행 소프트웨어 모듈들, 또는 둘의 조합을 사용하여 구현될 수 있다. 소프트웨어 모듈들은 RAM(random-access memory), 메모리, ROM(read-only memory), 전기적으로 프로그래밍가능한 ROM, 전기적으로 삭제가능하고 프로그래밍가능한 ROM, 레지스터들, 하드 드라이브들, 착탈가능한 디스크들, CD-ROM, 또는 기술 분야에서 알려진 임의의 다른 형태들의 저장 매체에 설치될 수 있다.
상기 실시예들이 명료한 이해를 위해 다소 상세하게 설명되었지만, 본 발명이 제공된 세부사항들에 한정되는 것은 아니다. 본 발명을 구현하는 많은 대안적인 방식들이 있다. 개시된 실시예들은 예시적인 것일 뿐 제한적인 것은 아니다.
1100: 디바이스 1110: 제 1 검출 유닛
1120: 제 1 획득 유닛 1130: 식별자 호출 유닛
1140: 통신 유닛 1210, 1140: 통신 유닛
1211: 제 1 결정 유닛 1213: 제 2 획득 유닛
1215: 식별자 호출 유닛 1217: 제 1 데이터 전송 유닛
1219: 데이터 수신 유닛 1232: 속성 정보 획득 유닛
1234: 평가 유닛
1236: 제 1 호스트 접속 개시 유닛
1238: 비-호스트 접속 유닛
1240: 제 1 식별자 전송 유닛
1242: 제 2 식별자 전송 유닛 1244: 제 1 저장 유닛
1246: 제 1 확인 유닛 1248: 제 3 식별자 전송 유닛
1250: 제 4 식별자 전송 유닛 1252: 제 2 저장 유닛
1254: 제 2 호스트 접속 개시 유닛 1256: 제 2 확인 유닛
1258: 제 1 식별자 업데이팅 유닛 1260: 제 5 식별자 전송 유닛
1262: 제 2 식별자 업데이팅 유닛 1264: 제 2 결정 유닛
1266: 제 3 획득 유닛 1268: 제 2 데이터 전송 유닛
1270: 제 1 수신 유닛 1272: 동작 유닛
1274: 제 3 데이터 전송 유닛 1276: 제 2 수신 유닛
1278: 제 2 검출 유닛 1280: 제 4 획득 유닛
1282: 제 3 데이터 전송 유닛 1284: 제 2 수신 유닛
1286: 페이지 업데이팅 유닛 1288: 브라우징 유닛
1290: 폴링 유닛 1292: 긴 링크 유닛
1310: 클라이언트 1320: 네트워크
1330: 서버
1120: 제 1 획득 유닛 1130: 식별자 호출 유닛
1140: 통신 유닛 1210, 1140: 통신 유닛
1211: 제 1 결정 유닛 1213: 제 2 획득 유닛
1215: 식별자 호출 유닛 1217: 제 1 데이터 전송 유닛
1219: 데이터 수신 유닛 1232: 속성 정보 획득 유닛
1234: 평가 유닛
1236: 제 1 호스트 접속 개시 유닛
1238: 비-호스트 접속 유닛
1240: 제 1 식별자 전송 유닛
1242: 제 2 식별자 전송 유닛 1244: 제 1 저장 유닛
1246: 제 1 확인 유닛 1248: 제 3 식별자 전송 유닛
1250: 제 4 식별자 전송 유닛 1252: 제 2 저장 유닛
1254: 제 2 호스트 접속 개시 유닛 1256: 제 2 확인 유닛
1258: 제 1 식별자 업데이팅 유닛 1260: 제 5 식별자 전송 유닛
1262: 제 2 식별자 업데이팅 유닛 1264: 제 2 결정 유닛
1266: 제 3 획득 유닛 1268: 제 2 데이터 전송 유닛
1270: 제 1 수신 유닛 1272: 동작 유닛
1274: 제 3 데이터 전송 유닛 1276: 제 2 수신 유닛
1278: 제 2 검출 유닛 1280: 제 4 획득 유닛
1282: 제 3 데이터 전송 유닛 1284: 제 2 수신 유닛
1286: 페이지 업데이팅 유닛 1288: 브라우징 유닛
1290: 폴링 유닛 1292: 긴 링크 유닛
1310: 클라이언트 1320: 네트워크
1330: 서버
Claims (23)
- 하나 이상의 프로세서들에 의해, 클라이언트에서 디스플레이될 페이지들 간에 통신하기 위한 방법에 있어서:
제 1 페이지가 데이터를 제 2 페이지로 송신할지의 여부를 검출하는 단계로서,
상기 데이터의 속성 정보에 기초하여 상기 제 1 페이지의 현재의 페이지 그룹을 결정하는 단계를 포함하는, 상기 검출하는 단계와;
상기 제 1 페이지가 상기 데이터를 상기 제 2 페이지로 송신할 경우, 상기 제 1 페이지 및 상기 제 2 페이지를 저장하는 상기 현재의 페이지 그룹 내의 상기 제 2 페이지의 통신 식별자를 획득하는 단계로서, 상기 페이지 그룹은 적어도 2개의 사전-확립된 페이지들을 포함하고, 상기 통신 식별자는 상기 페이지 그룹이 확립될 때 상기 페이지 그룹 내의 각각의 페이지에 할당되고, 상기 페이지 그룹 내의 각각의 페이지는 상기 제 2 페이지의 통신 식별자를 저장하고, 상기 제 1 페이지 및 상기 제 2 페이지를 저장하는 상기 현재의 페이지 그룹 내의 상기 제 2 페이지의 통신 식별자를 획득하는 단계는,
상기 제 1 페이지의 FLASH 영역 내에 저장된 FLASH 그룹 내의 다른 FLASH 파일의 식별자를 획득하는 단계를 포함하고, 상기 FLASH 그룹은 상기 현재의 페이지 그룹 내의 상기 적어도 2개의 페이지들에 대응하는 FLASH 파일들을 포함하고, 상기 제 1 페이지의 FLASH 영역은 상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 식별자를 저장하는, 상기 제 2 페이지의 통신 식별자를 획득하는 단계와;
상기 통신 식별자에 기초하여 상기 제 1 페이지와 상기 제 2 페이지 간에 통신 링크를 확립하는 단계로서,
상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 저장된 식별자에 기초하여 전송될 상기 제 1 페이지 내의 FLASH 파일을 호출하는 단계로서, 상기 데이터를 포함하는 메시지 수신 요청을 상기 다른 FLASH 파일로 전송하는 것을 포함하는, 상기 FLASH 파일을 호출하는 단계, 및
상기 데이터를 획득하기 위해 상기 메시지 수신 요청을 수신하기 위해 상기 다른 FLASH 파일을 호출하는 단계를 포함하는, 상기 통신 링크를 확립하는 단계와;
송신될 상기 데이터를 상기 제 2 페이지로 전송하기 위해 상기 통신 링크를 사용하는 단계를 포함하는, 통신 방법. - 삭제
- 삭제
- 제 1 항에 있어서,
상기 페이지 그룹을 확립하는 단계는:
상기 현재의 페이지의 데이터의 속성 정보를 획득하는 단계;
상기 현재의 페이지가 상기 속성 정보에 기초하여 상기 페이지 그룹에 추가되어야 하는지의 여부를 평가하는 단계;
상기 현재의 페이지가 상기 페이지 그룹에 추가된다고 평가되는 경우, 호스트 접속 FLASH 파일을 확립하기 위한 동작을 개시하기 위해 상기 현재의 페이지의 상기 FLASH 파일을 호출하는 단계;
상기 FLASH 그룹이 이미 상기 호스트 접속 FLASH 파일을 갖는지의 여부를 결정하는 단계;
상기 FLASH 그룹이 상기 호스트 접속 FLASH 파일을 갖는 경우, 상기 현재의 페이지의 FLASH 파일을 상기 FLASH 그룹에 추가하는 것을 호출하고, 현재의 비-호스트 접속 FLASH 파일을 확립하고, 동시에 현재의 비-호스트 접속 식별자를 생성 및 기록하는 단계;
상기 현재의 비-호스트 접속 식별자를 상기 호스트 접속 FLASH 파일로 전송하기 위해 상기 현재의 비-호스트 접속 FLASH 파일을 호출하는 단계;
FLASH 그룹 식별자를 상기 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일에 저장 및 전송하기 위해 상기 호스트 접속 FLASH 파일을 호출하는 단계로서, 상기 FLASH 그룹 식별자는 호스트 접속 식별자 및 상기 비-호스트 접속 식별자를 포함하는, 상기 호스트 접속 FLASH 파일을 호출하는 단계; 및
상기 FLASH 그룹 식별자를 저장하기 위해 상기 비-호스트 접속 FLASH 파일을 호출하는 단계를 포함하는, 통신 방법. - 제 4 항에 있어서,
상기 FLASH 그룹이 호스트 접속 FLASH 파일을 갖지 않는 경우,
상기 현재의 페이지의 FLASH 파일을 상기 호스트 접속 FLASH 파일로서 확인하고, 동시에, 상기 호스트 접속 식별자를 생성 및 기록하고;
상기 FLASH 그룹이 적어도 하나의 비-호스트 접속 FLASH 파일을 갖는 경우, 비-호스트 접속 식별자를 상기 호스트 접속 FLASH 파일로 전송하기 위해 상기 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일을 호출하고;
상기 FLASH 그룹 식별자를 상기 각각의 비-호스트 접속 FLASH 파일로 전송하기 위해 상기 호스트 접속 FLASH 파일을 호출하는 것으로서, 상기 FLASH 그룹 식별자는 상기 호스트 접속 식별자 및 각각의 비-호스트 접속 식별자를 포함하는, 상기 상기 호스트 접속 FLASH 파일을 호출하고;
상기 FLASH 그룹 식별자를 저장하기 위해 상기 각각의 비-호스트 접속 FLASH 파일을 호출하는, 통신 방법. - 제 4 항에 있어서,
상기 현재의 비-호스트 접속 식별자를 생성하는 단계는 상기 현재의 비-호스트 접속 식별자를 무작위로 또는 특정 시퀀스에 기초하여 생성하는 단계를 포함하는, 통신 방법. - 제 4 항에 있어서,
상기 호스트 접속 FLASH 파일을 재-확립하기 위한 동작을 개시하기 위해 상기 FLASH 그룹 내의 상기 비-호스트 접속 FLASH 파일을 호출하는 단계;
상기 호스트 접속 FLASH 파일이 무효가 됐는지의 여부를 결정하는 단계;
상기 호스트 접속 FLASH 파일이 무효가 된 경우, 상기 비-호스트 접속 FLASH 파일을 확인하는 단계로서, 그에 의해 상기 호스트 접속 FLASH 파일을 확립하기 위한 상기 동작이 새로운 호스트 접속 FLASH 파일로서 재개시되는, 상기 비-호스트 접속 FLASH 파일을 확인하는 단계, 동시에, 새로운 호스트 접속 식별자를 생성 및 기록하는 단계;
상기 새로운 호스트 접속 식별자에 기초하여 자가-저장(self-stored) FLASH 그룹 식별자를 업데이트하기 위해 상기 새로운 호스트 접속 FLASH 파일을 호출하고, 상기 업데이트된 FLASH 그룹 식별자를 상기 FLASH 그룹 내의 상기 비-호스트 접속 FLASH 파일로 전송하는 단계; 및
상기 업데이트된 FLASH 그룹 식별자를 사용하기 위해 상기 비-호스트 접속 FLASH 파일에 기초하여 상기 자가-저장 FLASH 그룹 식별자를 업데이트하는 단계를 추가로 포함하는, 통신 방법. - 제 1 항에 있어서,
상기 데이터에 기초하여 상기 제 2 페이지 상에서 페이지-관련 동작들을 실행하는 단계를 추가로 포함하고, 상기 데이터는 동작 데이터인, 통신 방법. - 제 1 항에 있어서,
상기 데이터에 따라 상기 제 2 페이지를 업데이트하는 단계를 추가로 포함하고, 상기 데이터는 업데이트 데이터인, 통신 방법. - 제 1 항에 있어서,
전송될 상기 제 1 페이지 상의 상기 FLASH 파일을 호출하는 단계는 상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 식별자에 기초하여 상기 데이터를 포함하는 상기 메시지 수신 요청을 상기 다른 FLASH 파일로 전송하는 단계를 포함하고,
상기 다른 FLASH 파일은 상기 메시지 수신 요청을 수신하고 상기 데이터를 획득하기 위해 receivemessage 기능을 사용하는, 통신 방법. - 제 1 항에 있어서,
상기 페이지 그룹 내의 상기 페이지들은 동일한 근본 페이지들인, 통신 방법. - 클라이언트에서 디스플레이될 페이지들 간에 통신하기 위한 시스템에 있어서,
적어도 하나의 프로세서로서:
제 1 페이지가 데이터를 제 2 페이지로 송신할지의 여부를 검출하도록 구성되고, 상기 검출은,
상기 데이터의 속성 정보에 기초하여 상기 제 1 페이지의 현재의 페이지 그룹을 결정하는 것을 포함하고;
상기 제 1 페이지가 상기 데이터를 상기 제 2 페이지로 송신할 경우, 상기 제 1 페이지 및 상기 제 2 페이지를 저장하는 상기 현재의 페이지 그룹 내의 상기 제 2 페이지의 통신 식별자를 획득하도록 구성되고, 상기 페이지 그룹은 적어도 2개의 사전-확립된 페이지들을 포함하고, 상기 통신 식별자는 상기 페이지 그룹이 확립될 때 상기 페이지 그룹 내의 각각의 페이지에 할당되고, 상기 페이지 그룹 내의 각각의 페이지는 상기 제 2 페이지의 통신 식별자를 저장하고, 상기 제 1 페이지 및 상기 제 2 페이지를 저장하는 상기 현재의 페이지 그룹 내의 상기 제 2 페이지의 통신 식별자의 획득은,
상기 제 1 페이지의 FLASH 영역 내에 저장된 FLASH 그룹 내의 다른 FLASH 파일의 식별자를 획득하는 것을 포함하고, 상기 FLASH 그룹은 상기 현재의 페이지 그룹 내의 상기 적어도 2개의 페이지들에 대응하는 FLASH 파일들을 포함하고, 상기 제 1 페이지의 FLASH 영역은 상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 식별자를 저장하고;
상기 통신 식별자에 기초하여 상기 제 1 페이지와 상기 제 2 페이지 간에 통신 링크를 확립하도록 구성되고, 상기 확립은,
상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 저장된 식별자에 기초하여 전송될 상기 제 1 페이지 내의 FLASH 파일을 호출하는 것으로서, 상기 데이터를 포함하는 메시지 수신 요청을 상기 다른 FLASH 파일로 전송하는 것을 포함하는, 상기 FLASH 파일을 호출하는 것과,
상기 데이터를 획득하기 위해 상기 메시지 수신 요청을 수신하기 위해 상기 다른 FLASH 파일을 호출하는 것을 포함하고;
송신될 상기 데이터를 상기 제 2 페이지로 전송하기 위해 상기 통신 링크를 사용하도록 구성되는, 상기 적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 결합되고 상기 적어도 하나의 프로세서에 명령들을 제공하도록 구성된 메모리를 포함하는, 통신 시스템. - 삭제
- 삭제
- 제 12 항에 있어서,
상기 페이지 그룹을 확립하는 것은:
상기 현재의 페이지의 데이터의 속성 정보를 획득하는 것;
상기 현재의 페이지가 상기 속성 정보에 기초하여 상기 페이지 그룹에 추가되어야 하는지의 여부를 평가하는 것;
상기 현재의 페이지가 상기 페이지 그룹에 추가된다고 평가되는 경우, 호스트 접속 FLASH 파일을 확립하기 위한 동작을 개시하기 위해 상기 현재의 페이지의 FLASH 파일을 호출하는 것;
상기 FLASH 그룹이 이미 상기 호스트 접속 FLASH 파일을 갖는지의 여부를 결정하는 것;
상기 FLASH 그룹이 상기 호스트 접속 FLASH 파일을 갖는 경우, 상기 현재의 페이지의 FLASH 파일을 상기 FLASH 그룹에 추가하는 것을 호출하고, 현재의 비-호스트 접속 FLASH 파일을 확립하고, 동시에 현재의 비-호스트 접속 식별자를 생성 및 기록하는 것;
상기 현재의 비-호스트 접속 식별자를 상기 호스트 접속 FLASH 파일로 전송하기 위해 상기 현재의 비-호스트 접속 FLASH 파일을 호출하는 것;
FLASH 그룹 식별자를 상기 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일에 저장 및 전송하기 위해 상기 호스트 접속 FLASH 파일을 호출하는 것으로서, 상기 FLASH 그룹 식별자는 호스트 접속 식별자 및 상기 비-호스트 접속 식별자를 포함하는, 상기 호스트 접속 FLASH 파일을 호출하는 것; 및
상기 FLASH 그룹 식별자를 저장하기 위해 상기 비-호스트 접속 FLASH 파일을 호출하는 것을 포함하는, 통신 시스템. - 제 15 항에 있어서,
상기 FLASH 그룹이 호스트 접속 FLASH 파일을 갖지 않는 경우,
상기 현재의 페이지의 FLASH 파일을 상기 호스트 접속 FLASH 파일로서 확인하고, 동시에, 상기 호스트 접속 식별자를 생성 및 기록하고;
상기 FLASH 그룹이 적어도 하나의 비-호스트 접속 FLASH 파일을 갖는 경우, 비-호스트 접속 식별자를 상기 호스트 접속 FLASH 파일로 전송하기 위해 상기 FLASH 그룹 내의 각각의 비-호스트 접속 FLASH 파일을 호출하고;
상기 FLASH 그룹 식별자를 상기 각각의 비-호스트 접속 FLASH 파일로 전송하기 위해 상기 호스트 접속 FLASH 파일을 호출하는 것으로서, 상기 FLASH 그룹 식별자는 상기 호스트 접속 식별자 및 각각의 비-호스트 접속 식별자를 포함하는, 상기 호스트 접속 FLASH 파일을 호출하고;
상기 FLASH 그룹 식별자를 저장하기 위해 상기 각각의 비-호스트 접속 FLASH 파일을 호출하는, 통신 시스템. - 제 15 항에 있어서,
상기 현재의 비-호스트 접속 식별자를 생성하는 것은 상기 현재의 비-호스트 접속 식별자를 무작위로 또는 특정 시퀀스에 기초하여 생성하는 것을 포함하는, 통신 시스템. - 제 15 항에 있어서,
상기 프로세서는:
상기 호스트 접속 FLASH 파일을 재-확립하기 위한 동작을 개시하기 위해 상기 FLASH 그룹 내의 상기 비-호스트 접속 FLASH 파일을 호출하고;
상기 호스트 접속 FLASH 파일이 무효가 됐는지의 여부를 결정하고;
상기 호스트 접속 FLASH 파일이 무효가 된 경우, 상기 비-호스트 접속 FLASH 파일을 확인하는 것으로서, 그에 의해 상기 호스트 접속 FLASH 파일을 확립하기 위한 상기 동작이, 새로운 호스트 접속 FLASH 파일로서 재개시되는, 상기 비-호스트 접속 FLASH 파일을 확인하고, 동시에, 새로운 호스트 접속 식별자를 생성 및 기록하고;
상기 새로운 호스트 접속 식별자에 기초하여 자가-저장 FLASH 그룹 식별자를 업데이트하기 위해 상기 새로운 호스트 접속 FLASH 파일을 호출하고, 상기 업데이트된 FLASH 그룹 식별자를 상기 FLASH 그룹 내의 상기 비-호스트 접속 FLASH 파일로 전송하고;
상기 업데이트된 FLASH 그룹 식별자를 사용하기 위해 상기 비-호스트 접속 FLASH 파일에 기초하여 상기 자가-저장 FLASH 그룹 식별자를 업데이트하도록 추가로 구성된, 통신 시스템. - 제 12 항에 있어서,
상기 프로세서는:
상기 데이터에 기초하여 상기 제 2 페이지 상에서 페이지-관련 동작들을 실행하도록 추가로 구성되고, 상기 데이터는 동작 데이터인, 통신 시스템. - 제 12 항에 있어서,
상기 적어도 하나의 프로세서는:
상기 데이터에 따라 상기 제 2 페이지를 업데이트하도록 추가로 구성되고, 상기 데이터는 업데이트 데이터인, 통신 시스템. - 제 12 항에 있어서,
전송될 상기 제 1 페이지 상의 상기 FLASH 파일을 호출하는 것은 상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 식별자에 기초하여 상기 데이터를 포함하는 상기 메시지 수신 요청을 상기 다른 FLASH 파일로 전송하는 것을 포함하고,
상기 다른 FLASH 파일은 상기 메시지 수신 요청을 수신하고 상기 데이터를 획득하기 위해 receivemessage 기능을 사용하는, 통신 시스템. - 제 12 항에 있어서,
상기 페이지 그룹 내의 상기 페이지들은 동일한 근본 페이지들인, 통신 시스템. - 컴퓨터로 하여금 클라이언트에서 디스플레이될 페이지들 간에 통신할 수 있도록 하는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서, 상기 컴퓨터 프로그램은,
비-일시적 컴퓨터 판독가능한 저장 매체에 구현되고,
제 1 페이지가 데이터를 제 2 페이지로 송신할지의 여부를 검출하도록 하고, 상기 검출은,
상기 데이터의 속성 정보에 기초하여 상기 제 1 페이지의 현재의 페이지 그룹을 결정하는 것을 포함하고;
상기 제 1 페이지가 상기 데이터를 상기 제 2 페이지로 송신할 경우, 상기 제 1 페이지 및 상기 제 2 페이지를 저장하는 상기 현재의 페이지 그룹 내의 상기 제 2 페이지의 통신 식별자를 획득하도록 하고, 상기 페이지 그룹은 적어도 2개의 사전-확립된 페이지들을 포함하고, 상기 통신 식별자는 상기 페이지 그룹이 확립될 때 상기 페이지 그룹 내의 각각의 페이지에 할당되고, 상기 페이지 그룹 내의 각각의 페이지는 상기 제 2 페이지의 통신 식별자를 저장하고, 상기 제 1 페이지 및 상기 제 2 페이지를 저장하는 상기 현재의 페이지 그룹 내의 상기 제 2 페이지의 통신 식별자를 획득하도록 하는 것은,
상기 제 1 페이지의 FLASH 영역 내에 저장된 FLASH 그룹 내의 다른 FLASH 파일의 식별자를 획득하는 것을 포함하고, 상기 FLASH 그룹은 상기 현재의 페이지 그룹 내의 상기 적어도 2개의 페이지들에 대응하는 FLASH 파일들을 포함하고, 상기 제 1 페이지의 FLASH 영역은 상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 식별자를 저장하고;
상기 통신 식별자에 기초하여 상기 제 1 페이지와 상기 제 2 페이지 간에 통신 링크를 확립하도록 하고, 상기 확립은,
상기 FLASH 그룹 내의 상기 다른 FLASH 파일의 저장된 식별자에 기초하여 전송될 상기 제 1 페이지 내의 FLASH 파일을 호출하는 것으로서, 상기 데이터를 포함하는 메시지 수신 요청을 상기 다른 FLASH 파일로 전송하는 것을 포함하는, 상기 FLASH 파일을 호출하는 것과,
상기 데이터를 획득하기 위해 상기 메시지 수신 요청을 수신하기 위해 상기 다른 FLASH 파일을 호출하는 것을 포함하고;
송신될 상기 데이터를 상기 제 2 페이지로 전송하기 위해 상기 통신 링크를 사용하도록 하기 위한 컴퓨터 명령들을 포함하는, 컴퓨터 판독가능한 기록 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244355.6A CN103546513B (zh) | 2012-07-13 | 2012-07-13 | 一种客户端页面间通信的方法及装置 |
CN201210244355.6 | 2012-07-13 | ||
US13/939,870 | 2013-07-11 | ||
US13/939,870 US9323727B2 (en) | 2012-07-13 | 2013-07-11 | Method and system for communicating between client pages |
PCT/US2013/050212 WO2014011962A1 (en) | 2012-07-13 | 2013-07-12 | Method and system for communicating between web pages |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150022972A KR20150022972A (ko) | 2015-03-04 |
KR101670699B1 true KR101670699B1 (ko) | 2016-10-31 |
Family
ID=49915077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157000089A KR101670699B1 (ko) | 2012-07-13 | 2013-07-12 | 웹 페이지들 간에 통신하기 위한 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9323727B2 (ko) |
JP (1) | JP5945367B2 (ko) |
KR (1) | KR101670699B1 (ko) |
CN (1) | CN103546513B (ko) |
TW (1) | TW201403335A (ko) |
WO (1) | WO2014011962A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078785B (zh) * | 2019-11-27 | 2023-12-01 | 贝壳技术有限公司 | 一种数据可视化展示的方法、装置、电子设备及存储介质 |
CN112995252B (zh) * | 2019-12-13 | 2023-08-08 | 阿里巴巴集团控股有限公司 | 页端与客户端间的数据传输方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295018A1 (en) * | 2007-05-24 | 2008-11-27 | Nokia Corporation | Apparatus, method and computer program product providing an adaptive forward button for a browser application |
US20110185271A1 (en) | 2010-01-25 | 2011-07-28 | Samsung Electronics Co., Ltd. | Marking documents with executable text for processing by computing systems |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748100A (en) * | 1995-10-06 | 1998-05-05 | Motorola, Inc. | Reliable wireless message distribution system |
JP2000020357A (ja) | 1998-07-03 | 2000-01-21 | Nec Software Shikoku Ltd | Wwwブラウザのコンポーネント間連携方法 |
US6853867B1 (en) * | 1998-12-30 | 2005-02-08 | Schneider Automation Inc. | Interface to a programmable logic controller |
JP2000267964A (ja) | 1999-03-18 | 2000-09-29 | Nec Eng Ltd | ドキュメントの動的表示方法、システムおよび記録媒体 |
US6446111B1 (en) * | 1999-06-18 | 2002-09-03 | Epicrealm Operating Inc. | Method and apparatus for client-server communication using a limited capability client over a low-speed communications link |
JP2002182971A (ja) | 2000-12-19 | 2002-06-28 | Nippon Yunishisu Kk | Webブラウザでマルチウインドウに表示されているHTMLドキュメント間の情報連携システム |
GB2383853A (en) * | 2001-01-26 | 2003-07-09 | Xmg Ltd | A method system and apparatus for networking devices over an asynchronous network such as the internet |
US20040205547A1 (en) * | 2003-04-12 | 2004-10-14 | Feldt Kenneth Charles | Annotation process for message enabled digital content |
WO2005010730A2 (en) * | 2003-07-24 | 2005-02-03 | Idea Place Corporation | Mobile memory device with integrated applications and online services |
JP2005056163A (ja) * | 2003-08-05 | 2005-03-03 | Internatl Business Mach Corp <Ibm> | コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム |
US8528003B2 (en) * | 2003-10-27 | 2013-09-03 | Yahoo! Inc. | Communication among browser windows |
GB0407977D0 (en) | 2004-04-08 | 2004-05-12 | Ibm | Communication between browser windows |
KR100943935B1 (ko) * | 2005-03-24 | 2010-02-24 | 노키아 코포레이션 | 후속 송신 세션에 대한 수신 장치로의 통보 |
US20070260520A1 (en) * | 2006-01-18 | 2007-11-08 | Teracent Corporation | System, method and computer program product for selecting internet-based advertising |
US8145719B2 (en) * | 2006-03-03 | 2012-03-27 | Gogroups | Method and system for messaging and communication based on groups |
US8009603B2 (en) * | 2006-09-06 | 2011-08-30 | Futurewei Technologies, Inc. | Transmitting page and broadcast control channel through the same time frequency resources across the sectors in a wireless communications system |
US8302013B2 (en) * | 2007-08-16 | 2012-10-30 | Yahoo! Inc. | Personalized page modules |
US20090049380A1 (en) * | 2007-08-16 | 2009-02-19 | Joshua Allen Rehling | Page Modules and States |
US8600413B2 (en) * | 2007-10-30 | 2013-12-03 | Qualcomm Incorporated | Control arrangement and method for communicating paging messages in a wireless communication system |
US8065617B2 (en) * | 2008-08-28 | 2011-11-22 | Microsoft Corporation | Discovering alternative user experiences for websites |
US8972496B2 (en) * | 2008-12-10 | 2015-03-03 | Amazon Technologies, Inc. | Content sharing |
JP5872753B2 (ja) * | 2009-05-01 | 2016-03-01 | ソニー株式会社 | サーバ装置、電子機器、電子書籍提供システム、サーバ装置の電子書籍提供方法、電子機器の電子書籍表示方法及びプログラム |
JP4929330B2 (ja) | 2009-09-17 | 2012-05-09 | ヤフー株式会社 | 入力支援プログラム、端末及びWebシステム |
JP5682996B2 (ja) | 2010-02-04 | 2015-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法 |
CN101867622A (zh) | 2010-07-02 | 2010-10-20 | 苏州阔地网络科技有限公司 | 一种网页上实现的p2p视频通讯的方法 |
US9153000B2 (en) * | 2010-12-13 | 2015-10-06 | Microsoft Technology Licensing, Llc | Presenting content items shared within social networks |
EP2469389B1 (en) * | 2010-12-24 | 2018-10-10 | Lg Electronics Inc. | Mobile terminal and method for changing page thereof |
-
2012
- 2012-07-13 CN CN201210244355.6A patent/CN103546513B/zh active Active
- 2012-11-13 TW TW101142226A patent/TW201403335A/zh unknown
-
2013
- 2013-07-11 US US13/939,870 patent/US9323727B2/en active Active
- 2013-07-12 JP JP2015521831A patent/JP5945367B2/ja active Active
- 2013-07-12 WO PCT/US2013/050212 patent/WO2014011962A1/en active Application Filing
- 2013-07-12 KR KR1020157000089A patent/KR101670699B1/ko active IP Right Grant
-
2016
- 2016-03-17 US US15/073,209 patent/US10108588B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295018A1 (en) * | 2007-05-24 | 2008-11-27 | Nokia Corporation | Apparatus, method and computer program product providing an adaptive forward button for a browser application |
US20110185271A1 (en) | 2010-01-25 | 2011-07-28 | Samsung Electronics Co., Ltd. | Marking documents with executable text for processing by computing systems |
Also Published As
Publication number | Publication date |
---|---|
US10108588B2 (en) | 2018-10-23 |
TW201403335A (zh) | 2014-01-16 |
JP2015526802A (ja) | 2015-09-10 |
CN103546513B (zh) | 2016-12-21 |
JP5945367B2 (ja) | 2016-07-05 |
US9323727B2 (en) | 2016-04-26 |
US20140019838A1 (en) | 2014-01-16 |
CN103546513A (zh) | 2014-01-29 |
WO2014011962A1 (en) | 2014-01-16 |
KR20150022972A (ko) | 2015-03-04 |
US20160196242A1 (en) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11122067B2 (en) | Methods for detecting and mitigating malicious network behavior and devices thereof | |
JP5755813B2 (ja) | ネットワークリソースダウンロード情報の共有制御システムと方法 | |
CN109388762B (zh) | 应用分享的方法和装置 | |
US20170085498A1 (en) | Accessing a cloud-based service using a communication device linked to another communication device via a peer-to-peer ad hoc communication link | |
KR102208935B1 (ko) | 데이터 교환을 위한 컨텍스트를 설정하는 http 프로토콜을 통한 메시징 api | |
CN112769837B (zh) | 基于WebSocket的通信传输方法、装置、设备、系统及存储介质 | |
CN104468852A (zh) | 客户端选择ip链接地址的方法、装置及系统 | |
CN108124007A (zh) | 消息数据实时传输的方法与装置 | |
WO2015121453A1 (en) | Instant messaging with non subscriber users | |
US20150006622A1 (en) | Web contents transmission method and apparatus | |
CN104486397A (zh) | 在浏览器中进行数据传输的方法、客户端和移动终端 | |
CN111831513A (zh) | 日志查询方法、装置、电子设备、及存储介质 | |
KR20140009581A (ko) | 네트워크 어플리케이션 간 스위칭 방법, 시스템과 장치, 컴퓨터 저장 매체 | |
KR20220006605A (ko) | 클라우드 통신 방법 및 장치, 사용자 기기, 네트워크 기기 | |
KR101670699B1 (ko) | 웹 페이지들 간에 통신하기 위한 방법 및 시스템 | |
CN109587210A (zh) | 一种多浏览器兼容的信息推送的实现方法 | |
CN106790176B (zh) | 一种访问网络的方法及系统 | |
CN105721231A (zh) | 一种业务质量感知探测方法及装置 | |
CN111385324A (zh) | 一种数据通信方法、装置、设备和存储介质 | |
CN102904742B (zh) | 对可执行节点的操作方法及系统 | |
US20140047014A1 (en) | Network access system | |
US10182119B2 (en) | System and methods for facilitating communication among a subset of connections that connect to a web application | |
CN104320456A (zh) | 一种页面推送方法及相关设备 | |
EP3176986A1 (en) | Method, device and system for remote desktop protocol gateway to conduct routing and switching | |
CN107547615B (zh) | 一种远程管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |