KR102276159B1 - 모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술 - Google Patents

모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술 Download PDF

Info

Publication number
KR102276159B1
KR102276159B1 KR1020177022038A KR20177022038A KR102276159B1 KR 102276159 B1 KR102276159 B1 KR 102276159B1 KR 1020177022038 A KR1020177022038 A KR 1020177022038A KR 20177022038 A KR20177022038 A KR 20177022038A KR 102276159 B1 KR102276159 B1 KR 102276159B1
Authority
KR
South Korea
Prior art keywords
messaging
user account
web browser
messaging application
remote web
Prior art date
Application number
KR1020177022038A
Other languages
English (en)
Other versions
KR20170115059A (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 KR20170115059A publication Critical patent/KR20170115059A/ko
Application granted granted Critical
Publication of KR102276159B1 publication Critical patent/KR102276159B1/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]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • H04L51/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • H04L51/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술이 서술된다. 일실시예에서, 장치는 원격 웹 브라우저로부터 요청을 수신하고; 메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하고; 메시징 애플리케이션에서 메시징 업데이트를 수신하고; 및 메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하도록 프로세서 회로 상에서 동작하는 메시징 애플리케이션을 포함하고, 요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다. 다른 실시예가 서술되고 청구된다.

Description

모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술
본 출원은 35 U.S.C. §119(e)에 따라 전체가 참조로 본 명세서에 통합되는 2015년 1월 13일자로 출원된 “Techniques for Managing a Remote Web Client from an Application on a Mobile Device”라는 제목의 미국임시특허출원 제62/102,815호에 대한 우선권의 이익을 주장한다.
스마트폰과 같은 모바일 장치의 사용자는 그 모바일 장치를 사용하여 애플리케이션을 실행할 수 있다. 이들 애플리케이션은 그 사용자를 대신하여 통신 및 네트워크 작업을 수행할 수 있다. 애플리케이션은 사용자들 간의 메시지를 위한 메시징 애플리케이션을 포함할 수 있다. 사용자는 메시징 애플리케이션을 사용하여 친구와 대화할 수 있고 메시징 애플리케이션에 대한 접근을 중요하게 생각할 수 있다.
이하에서는, 본 명세서에 기술되는 일부 새로운 실시예의 기본적인 이해를 제공하기 위해 간략화된 요약이 제시된다. 본 요약은 광범위한 개관이 아니며, 키/결정적인 요소를 식별하거나 그 범위를 기술하려는 것은 아니다. 그것의 유일한 목적은 그 이후 제시되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 일부 개념을 제시하기 위함이다.
다양한 실시예는 일반적으로 모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술에 관한 것이다. 일부 실시예는 특히 모바일 장치 상의 메시징 애플리케이션에서 메시징 서비스를 위한 원격 웹 클라이언트를 관리하는 기술에 관한 것인데 메시징 애플리케이션은 사용자의 메시징 서비스와의 상호작용을 위한 진리 소스(source of truth)이다. 일실시예에서, 예를 들어, 장치는 원격 웹 브라우저로부터 요청을 수신하고; 메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하고; 메시징 애플리케이션에서 메시징 업데이트를 수신하고; 및 메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하도록 프로세서 회로 상에서 동작하는 메시징 애플리케이션을 포함할 수 있고, 요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다. 다른 실시예가 기술되고 청구된다.
상술한 관련 목표를 달성하기 위해, 특정한 예시적인 태양들이 본 명세서에서 하기의 상세한 설명 및 첨부도면과 함께 기술된다. 이런 태양들은 본 명세서에 개시된 원리가 실행될 수 있는 다양한 방식을 나타내며, 모든 태양 및 그 균등물은 청구된 발명의 주제의 범위 내에 있도록 의도된다. 다른 이점 및 신규한 특징이 도면과 함께 고려될 때 하기의 상세한 설명으로부터 명백해질 것이다.
본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 대한 첨부된 청구항에 개시되고, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템에도 청구될 수 있다. 첨부된 청구항의 인용 또는 참조는 형식상의 이유를 위해 선택되었을 뿐이다. 하지만 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계 없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
본 발명에 따른 일실시예에서, 컴퓨터 구현 방법은 모바일 장치 상의 메시징 애플리케이션에서 원격 웹 브라우저로부터 요청을 수신하는 단계;
메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하는 단계;
메시징 애플리케이션에서 메시징 업데이트를 수신하는 단계; 및
메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하는 단계를 포함하고,
요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다.
본 발명에 따른 일실시예에서, 방법은 암호화 연결은 원격 웹 서버를 통해 송신되는 것을 더 포함할 수 있다.
본 발명에 따른 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 원격 웹 서버는 미래의 웹 브라우저 세션을 위해 제1 사용자 계정에 대한 메시징 상태를 캐시하도록 동작할 수 있고, 방법은 원격 웹 서버에 캐시된 메시징 상태로의 접근은 모바일 장치 상의 메시징 애플리케이션에 의해 제어되는 것을 더 포함할 수 있다.
본 발명에 따른 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 메시징 업데이트는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응할 수 있고, 방법은:
모바일 장치 상의 로컬 저장소로부터 제1 사용자 계정과 연관된 메시징 상태를 검색하는 단계; 및
원격 웹 서버로 메시징 상태를 송신하는 단계를 더 포함할 수 있고,
메시징 상태는 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함하고, 메시징 상태는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화의 내역을 포함한다.
본 발명에 따른 일실시예에서, 방법은 제1 사용자 계정을 위한 연락처 리스트를 검색하는 단계; 및
연락처 리스트의 연락처의 메시징 활동에 기반하여 연락처 리스트의 일부를 결정하는 단계를 더 포함할 수 있다.
본 발명에 따른 일실시예에서, 방법은 모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하는 단계;
기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출하는 단계; 및
암호화 연결의 확립을 위하여 웹 세션 식별자에 기반하여 원격 웹 브라우저를 식별하는 단계를 더 포함할 수 있고,
기계 판독가능한 광학 라벨은 원격 웹 브라우저에 의해 디스플레이된다.
본 발명에 따른 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 방법은:
암호화 연결을 통해 원격 웹 브라우저로부터 발신 메시지를 수신하는 단계; 및
발신 메시지를 제2 메시징 애플리케이션으로 송신하는 단계를 더 포함할 수 있고,
발신 메시지는 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관되고,
제2 메시징 애플리케이션은 제2 사용자 계정과 연관된다.
또한 청구될 수 있는 본 발명에 따른 추가 일실시예에서, 장치는: 모바일 장치 상의 프로세서 회로;
원격 웹 브라우저로부터 요청을 수신하고; 메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하고; 메시징 애플리케이션에서 메시징 업데이트를 수신하고; 및 메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하도록 프로세서 회로 상에서 동작하는 메시징 애플리케이션을 포함하고,
요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다.
본 발명에 따른 추가 일실시예에서, 장치는 암호화 연결은 원격 웹 서버를 통해 송신될 수 있는 것을 더 포함할 수 있다.
본 발명에 따른 추가 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 원격 웹 서버는 미래의 웹 브라우저 세션을 위해 제1 사용자 계정에 대한 메시징 상태를 캐시하도록 동작할 수 있고, 장치는 원격 웹 서버에 캐시된 메시징 상태로의 접근은 모바일 장치 상의 메시징 애플리케이션에 의해 제어될 수 있는 것을 더 포함할 수 있다.
본 발명에 따른 추가 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 메시징 업데이트는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응할 수 있고, 메시징 애플리케이션은 모바일 장치 상의 로컬 저장소로부터 제1 사용자 계정과 연관된 메시징 상태를 검색하도록 더 동작할 수 있고,
메시징 상태는 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함할 수 있고, 메시징 상태는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화의 내역을 포함할 수 있고,
장치는 또한 원격 웹 서버로 메시징 상태를 송신할 수 있다.
본 발명에 따른 추가 일실시예에서, 메시징 애플리케이션은 제1 사용자 계정을 위한 연락처 리스트를 검색하도록 더 동작할 수 있고; 및 장치는 또한 연락처 리스트의 연락처의 메시징 활동에 기반하여 연락처 리스트의 일부를 결정할 수 있다.
본 발명에 따른 추가 일실시예에서, 메시징 애플리케이션은 모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하도록 더 동작할 수 있고; 기계 판독가능한 광학 라벨은 원격 웹 브라우저에 의해 디스플레이될 수 있고, 장치는 또한 기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출할 수 있고; 및 암호화 연결의 확립을 위하여 웹 세션 식별자에 기반하여 원격 웹 브라우저를 식별하도록 더 동작할 수 있다.
본 발명에 따른 추가 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 메시징 애플리케이션은 암호화 연결을 통해 원격 웹 브라우저로부터 발신 메시지를 수신하도록 더 동작할 수 있고; 발신 메시지는 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관될 수 있고, 및 장치는 또한 발신 메시지를 제2 메시징 애플리케이션으로 송신할 수 있고, 제2 메시징 애플리케이션은 제2 사용자 계정과 연관될 수 있다.
또한 청구될 수 있는 본 발명에 따른 추가 일실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체는 명령어를 포함하고, 명령어는 실행될 때, 시스템으로 하여금:
모바일 장치 상의 메시징 애플리케이션에서 원격 웹 브라우저로부터 요청을 수신하고;
메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하고;
메시징 애플리케이션에서 메시징 업데이트를 수신하고; 및
메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하도록 야기하고,
요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다.
본 발명에 따른 일실시예에서, 컴퓨터 판독가능한 저장 매체는 암호화 연결은 원격 웹 서버를 통해 송신되는 것을 더 포함할 수 있다.
본 발명에 따른 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 원격 웹 서버는 미래의 웹 브라우저 세션을 위해 제1 사용자 계정에 대한 메시징 상태를 캐시하도록 동작할 수 있고, 컴퓨터 판독가능한 저장 매체는 원격 웹 서버에 캐시된 메시징 상태로의 접근은 모바일 장치 상의 메시징 애플리케이션에 의해 제어되는 것을 더 포함할 수 있다.
본 발명에 따른 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 메시징 업데이트는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응할 수 있고, 컴퓨터 판독가능한 저장매체는, 실행될 때, 시스템으로 하여금:
제1 사용자 계정을 위한 연락처 리스트를 검색하고;
연락처 리스트의 연락처의 메시징 활동에 기반하여 연락처 리스트의 일부를 결정하고; 또는
모바일 장치 상의 로컬 저장소로부터 제1 사용자 계정과 연관된 메시징 상태를 검색하고; 및
원격 웹 서버로 메시징 상태를 송신하도록 야기하는 명령어를 더 포함할 수 있고,
메시징 상태는 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함하고, 메시징 상태는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화의 내역을 포함한다.
본 발명에 따른 일실시예에서, 컴퓨터 판독가능한 저장 매체는, 실행될 때, 시스템으로 하여금:
모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하고;
기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출하고; 및
암호화 연결의 확립을 위하여 웹 세션 식별자에 기반하여 원격 웹 브라우저를 식별하도록 야기하는 명령어를 더 포함할 수 있고,
기계 판독가능한 광학 라벨은 원격 웹 브라우저에 의해 디스플레이된다.
본 발명에 따른 일실시예에서, 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 컴퓨터 판독가능한 저장 매체는, 실행될 때, 시스템으로 하여금:
암호화 연결을 통해 원격 웹 브라우저로부터 발신 메시지를 수신하고; 및
발신 메시지를 제2 메시징 애플리케이션으로 송신하도록 야기하는 명령어를 더 포함할 수 있고,
발신 메시지는 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관되고,
제2 메시징 애플리케이션은 제2 사용자 계정과 연관된다.
본 발명에 따른 추가 실시예로, 하나 이상의 컴퓨터-판독가능한 비-일시적 저장매체는 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 실행시 동작가능한 소프트웨어를 포함한다.
본 발명에 따른 추가 실시예로, 시스템은 하나 이상의 프로세서; 및 프로세서에 결합되며 프로세서에 의해 실행가능한 명령어들을 포함하는 적어도 하나의 메모리를 포함하며, 상기 프로세서는 명령어들을 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명에 따른 추가 실시예로, 바람직하게는 컴퓨터-판독가능한 비-일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품이 데이터 처리 시스템에서 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명의 내용 중에 포함되어 있다.
도 1은 메시징 웹 액세스 시스템의 실시예를 도시한다.
도 2는 로컬 웹 서버가 모바일 장치 상에서 실행되는 메시징 웹 액세스 시스템의 실시예를 도시한다.
도 3은 원격 웹 서버가 별개의 웹 서버 장치 상에서 실행되는 메시징 웹 액세스 시스템의 실시예를 도시한다.
도 4는 메시징 시스템의 실시예를 도시한다.
도 5는 메시징 웹 액세스 시스템을 위한 논리 흐름의 실시예를 도시한다.
도 6은 도 1의 시스템을 위한 중앙 집중식 시스템의 실시예를 도시한다.
도 7은 도 1의 시스템을 위한 분산형 시스템의 실시예를 도시한다.
도 8은 컴퓨팅 구조의 실시예를 도시한다.
도 9는 통신 구조의 실시예를 도시한다.
도 10은 라디오 장치 구조의 실시예를 도시한다.
다양한 실시예는 웹 브라우저를 모바일 장치 상의 메시징 애플리케이션에 대한 액세스 포인트로서 확립하는 것에 관한 것이다. 메시징 애플리케이션은 메시징 서비스의 일부로서 사용자가 다른 사용자와 메시지를 주고 받을 수 있게 한다. 일부 구현에서, 모바일 장치 상의 메시징 애플리케이션은 사용자가 메시징 서비스에 접근하기 위한 권한, 사용자를 위한 메시징 서비스의 단일 진리점(single point of truth) 및 사용자의 메시징 서비스 사용을 위한 많은 정보를 위한 저장소로 사용될 수 있다. 따라서 모바일 메시징 애플리케이션은 메시징 서비스와 상호작용하기 위한 사용자의 주 종단점을 포함할 수 있다.
메시징 서비스의 사용자는 때때로 메시징 서비스에 접근하기 위하여 데스크탑 컴퓨터나 랩탑 컴퓨터와 같은 개인용 컴퓨터를 사용하기 원할 수 있다. 하지만, 메시징 애플리케이션이 사용자의 메시징 서비스와의 상호작용을 위한 종단점 제어로 작동하기 때문에, 개인용 컴퓨터는 모바일 장치와 같은 방식으로 메시징 서비스를 사용하기 위하여 간단히 메시징 서비스의 서버에 접속하지 않을 수 있다. 대신, 개인용 컴퓨터의 웹 브라우저는 모바일 장치 상의 메시징 애플리케이션에 접근하는데 사용되어, 제어 종단점으로서의 메시징 애플리케이션의 역할을 유지하며 개인용 컴퓨터 상에서 메시징 서비스로의 접근을 제공할 수 있다. 그 결과, 메시징 서비스에 대한 모바일 장치의 우선순위를 유지하며 메시징 서비스로의 접근은 개인용 컴퓨터로 확장될 수 있다.
이제 도면을 참조하면, 유사한 참조번호는 전체적으로 유사한 구성요소를 나타내도록 사용된다. 하기의 상세한 설명에서는 설명의 목적상, 많은 구체적인 세부사항들이 그에 대한 완전한 이해를 제공하기 위해 제시된다. 그러나, 신규한 실시예들은 이런 구체적인 세부사항 없이 실행될 수 있음이 명백할 수 있다. 다른 예들에서, 널리 알려진 구조 및 장치는 그에 대한 설명을 용이하게 하기 위해 블록 다이어그램 형태로 도시된다. 이는 청구되는 발명의 대상과 일관되는 모든 수정물, 균등물, 및 대안물을 포괄하려는 의도이다.
본 명세서에서 사용되는 "a", "b", "c" 및 유사한 지시어들은 임의의 양의 정수를 표현하는 변수들을 의도한 것이라는 점을 유의해야 한다. 따라서, 예컨대, 구현에서 a=5라고 설정하면, 컴포넌트(122-1 내지 122-a)로 도시되는 컴포넌트(122)의 전체 세트는 컴포넌트들(122-1, 122-2, 122-3, 122-4 및 122-5)을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
도 1은 메시징 웹 액세스 시스템(100)의 블록도를 도시한다. 일실시예에서, 일실시예로, 메시징 웹 액세스 시스템(100)은 하나 이상의 컴포넌트를 포함하는 소프트웨어 애플리케이션을 갖는 컴퓨터 구현된 시스템을 포함할 수 있다. 도 1에 도시된 메시징 웹 액세스 시스템(100)은 특정 배치에서 제한된 수의 요소를 가지지만, 메시징 웹 액세스 시스템(100)은 주어진 구현예를 위한 소정의 대안적 배치에서 더 많거나 적은 요소를 포함할 수 있음이 인식될 수 있다. 도 1에 도시된 바와 같이, 개인용 컴퓨터 장치(180)상의 원격 웹 브라우저(190)는 원격 메시징 클라이언트(170) 없이 메시징 대화를 수행하는 모바일 장치(120) 상의 메시징 애플리케이션에 대한 인터페이스로 사용될 수 있다.
모바일 장치(120)는 네트워크 트래픽을 교환하기 위해 무선 송신을 사용하여 다른 장치들과 통신할 수 있다. 가령, 메시징 업데이트(110)의 교환에 포함될 수 있는 네트워크 트래픽의 교환은 네트워크 인터페이스 컨트롤러(NIC)를 통해 네트워크 트래픽을 송신 및 수신하는 것을 포함할 수 있다. NIC는 컴퓨터 장치, 가령 모바일 장치(120)를 컴퓨터 네트워크로 연결하는 하드웨어 구성요소를 포함한다. NIC는 소프트웨어 애플리케이션이 NIC에 액세스하고 사용하도록 권한을 부여하는 소프트웨어 네트워크 인터페이스와 연관될 수 있다. 네트워크 트래픽은 데이터 링크 상에서 송신되는 신호로서 컴퓨터 네트워크 상에서 수신될 수 있다. 네트워크 트래픽은 이러한 신호를 캡처하고 해석함으로써 수신될 수 있다. NIC는 컴퓨터 네트워크 상에서 네트워크 트래픽을 수신하고 네트워크 인터페이스 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 소프트웨어 애플리케이션에 액세스가능한 메모리 저장소로 네트워크 트래픽을 전달할 수 있다.
모바일 장치(120)는 네트워크 상에서 액세스되는 네트워크 데이터를 사용하여 다양한 동작을 수행할 수 있다. 모바일 장치(120)는 셀룰러 신호(135)를 사용하여 셀룰러 시스템(130)에 액세스할 수 있다. 셀룰러 시스템(130)은 데이터 액세스를 포함하는 셀룰러 네트워크일 수 있고, 셀룰러 시스템(130)은 모바일 장치(120)의 사용자가 서비스 계약을 갖는 셀룰러 제공자에 의해 제공되며, 셀룰러 계약은 모바일 장치(120)에 대해 셀룰러 데이터 서버를 위한 것이다. 모바일 장치(120)는 셀룰러 시스템(130)을 사용하여 하나 이상의 다른 장치와 상호작용하기 위하여 공공의 인터넷(150)에 접속할 수 있다.
모바일 장치(120)는 Wi-Fi 신호(145)를 사용하여 하나 이상의 Wi-Fi 액세스 포인트(140)에 액세스할 수 있다. Wi-Fi 액세스 포인트(140)는 복수의 상이한 오퍼레이터에 의해 제공될 수 있다. 일부 Wi-Fi 액세스 포인트(140)는 가정용 인터넷 연결에 기반하는 모바일 장치(120)의 사용자에 의해 동작되는 가정의 Wi-Fi 네트워크와 같이 본질적으로 개인용일 수 있다. Wi-Fi 액세스 포인트(140)의 일부는 무료이거나, 또는 커피??, 호텔 및 다른 공공 편의시설에서의 무료 Wi-Fi 서비스와 같이 서비스의 무료 부분으로 제공될 수 있다. 모바일 장치(120)는 Wi-Fi 액세스 포인트(140)을 사용하여 하나 이상의 다른 장치와 상호작용하기 위하여 공공의 인터넷(150)에 접속할 수 있다. 인터넷(150)과 모바일 장치(120) 사이의 점선은 메시징 업데이트(110)가 인터넷(150)에 접속하기 위하여 매체로서 동작하는 셀룰러 시스템(130) 및 Wi-Fi 액세스 포인트(140) 중 하나로, 궁극적으로 인터넷(150)을 사용하여 다른 장치와 교환될 수 있음을 표시한다.
모바일 장치(120)는 원격 로컬 메시징 애플리케이션(220)(170)과의 메시징 대화에 참여할 수 있다. 메시징 대화는 메시징 업데이트(110)와 같은 메시징 업데이트의 교환을 포함할 수 있다. 메시징 업데이트는 메시지, 메시지 상태 업데이트 및 메시징 대화의 상태에 대한 다른 업데이트를 포함할 수 있다.
모바일 장치(120)의 동일 사용자는 개인용 컴퓨터 장치(180)를 소유하고 구동할 수 있다. 개인용 컴퓨터 장치(180)는 Mac OS® 장치, Windows® 장치, Linux® 장치 또는 다른 운영체제를 실행하는 다른 컴퓨터 장치를 포함할 수 있다. 개인용 컴퓨터 장치(180)는 이더넷 연결을 통해 인터넷(150)에 접속할 수 있는 이더넷 장치일 수 있다. 일부 실시예 및 일부 경우에서, 개인용 컴퓨터 장치(180)는 추가적으로 또는 대안적으로 인터넷(150)에 셀룰러, Wi-Fi 또는 다른 네트워크 기술을 사용할 수 있다. 개인용 컴퓨터 장치(180)는 웹 브라우저(190)를 실행하여 모바일 장치(120) 상의 메시징 애플리케이션에 접근하고 모바일 장치(120) 상의 메시징 애플리케이션으로부터 메시징 업데이트(110)와 같은 메시징 업데이트를 수신할 수 있다.
메시징 웹 액세스 시스템(100)은 사용자가 예컨대, 적절한 개인정보 설정을 설정함으로써 그들의 행위가 메시징 웹 액세스 시스템(100)에 의해 로그되거나 다른 시스템(예컨대, 제3자 시스템)과 공유되도록 하는 것에 참여하거나 참여하지 않도록 허용하는 인증 서버(또는 다른 적절한 컴포넌트(들))를 포함할 수 있다. 사용자의 개인정보 설정은 사용자와 연관된 어떤 정보가 로그될 수 있는지, 사용자와 연관된 정보가 어떻게 로그될 수 있는지, 사용자와 연관된 정보가 언제 로그될 수 있는지, 사용자와 연관된 정보를 누가 로그할 수 있는지, 사용자와 연관된 정보가 누구와 공유될 수 있는지, 및 어떤 목적으로 사용자와 연관된 정보가 로그되거나 공유되는지를 결정할 수 있다. 인증 서버 또는 다른 인증 컴포넌트가 적절한 경우 차단, 데이터 해싱, 익명화, 또는 다른 적절한 기술을 통해 메시징 웹 액세스 시스템(100)의 사용자들 및 소셜 네트워킹 시스템의 다른 요소들의 하나 이상의 개인정보 설정을 강제하는데 사용될 수 있다.
도 2는 로컬 웹 서버(250)가 모바일 장치(120) 상에서 실행되는 메시징 웹 액세스 시스템(100)의 실시예를 도시한다.
도 2에 도시된 바와 같이, 모바일 장치(120)는 로컬 메시징 애플리케이션(220)을 실행할 수 있다. 로컬 메시징 애플리케이션(220)은 모바일 장치(120)의 사용자에 의해 구동되어 다른 사용자와 각각의 장치로의 메시지 교환을 통해 메시지를 교환할 수 있다. 메시지는 텍스트 시퀀스, 이미지 파일, 비디오 파일, 사운드 파일 및 임의의 다른 형식의 미디어 파일 중 하나 이상을 포함할 수 있다. 로컬 메시징 애플리케이션(220)은 다른 사용자로부터 수신한 메시지를 디스플레이하고, 모바일 장치(120)의 사용자에 의한 메시지의 진입을 수신하고, 메시징과 연관된 다른 사용자 인터페이스 요소를 디스플레이하기 위하여 모바일 장치(120) 상의 인터페이스를 사용할 수 있다.
로컬 메시징 애플리케이션(220)은 메시지의 주요 목적을 가지는 전용 로컬 메시징 애플리케이션(220)일 수 있다. 전용 로컬 메시징 애플리케이션(220)은 메시징 서버를 포함하는 메시징 플랫폼을 관리하는 메시징 프로바이더와 특히 연관될 수 있거나 메시징 서버(110)를 포함하는 메시징 플랫폼을 관리하는 메시징 프로바이더를 포함하는 복수의 상이한 메시징 프로바이더와 작업하도록 동작하는 일반 클라이언트일 수 있다.
대안적으로, 로컬 메시징 애플리케이션(220)은 추가 기능을 제공하는 애플리케이션의 컴포넌트일 수 있다. 예를 들어, 소셜 네트워킹 서비스는 소셜 네트워킹 서비스에 접근하고 사용하기 위해 모바일 장치 상에서 사용하기 위한 소셜 네트워킹 애플리케이션을 제공할 수 있다. 소셜 네트워킹 서비스는 메시징 기능을 포함할 수 있고, 로컬 메시징 애플리케이션(220)은 모바일 장치(120)의 사용자에게 소셜 네트워킹 서비스의 메시징 기능에 접근을 제공한다.
로컬 메시징 애플리케이션(220)은 원격 웹 브라우저(190)로부터의 요청을 수신하도록 동작할 수 있고, 요청은 원격 웹 브라우저(190)를 위해 로컬 메시징 애플리케이션(220)으로부터 메시징 업데이트를 수신하기 위한 것이다. 이 요청은 로컬 메시징 애플리케이션(220)의 메시징 기능에 대한 웹 인터페이스와 연관된 웹 페이지를 위해 HTTP(hypertext transport protocol) 요청을 통해 수신될 수 있다. HTTP 요청은 HTTPS(hypertext transport protocol secure)이나 HTTP 표준의 다른 보안 변형으로 수신될 수 있다. 이 요청은 웹 페이지 상의 웹 기반 메시징 옵션의 선택을 통해 수신될 수 있다.
로컬 메시징 애플리케이션(220)은 요청에 응답하여 메시징 업데이트를 수신하기 위하여 로컬 메시징 애플리케이션(220)과 원격 웹 브라우저(190) 간의 암호화 연결을 확립할 수 있다. 로컬 메시징 애플리케이션(220)은 로컬 메시징 애플리케이션(220)에서 메시징 업데이트(110)를 수신하고 메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신할 수 있다. 메시징 업데이트(110)는 메시징 대화에 대해 원격 웹 브라우저(190)를 최신으로 유지하기 위하여 메시징 업데이트(110)를 수신하는 로컬 메시징 애플리케이션(220)에 응답하여 자동으로 전송될 수 있다.
적절한 대화의 흐름과 업데이트를 유지하기 위하여 원격 웹 브라우저(190)와 로컬 메시징 애플리케이션(220)은 메시징 업데이트의 엄격한 순서를 유지하는 혜택을 받는다. 로컬 메시징 애플리케이션(220)은 순서를 위한 제어점으로 작동하고 업데이트가 수신되고 로컬 메시징 애플리케이션(220)의 관점에서 생성된 순서에 기반하여 메시징 업데이트에 순서를 할당할 수 있다. 이와 같이, 각 수신된 메시징 업데이트(110)에 대하여, 로컬 메시징 애플리케이션(220)은 메시징 업데이트(110)를 원격 웹 브라우저(190)에 송신하기 전에 메시징 업데이트(110)에 시퀀스 번호를 할당할 수 있다. 일부 실시예에서, 로컬 메시징 애플리케이션(220)이 유일한 메시지 종단점일 때 엄격한 순서의 유지는 유리하지 않을 수 있다. 이와 같이, 로컬 메시징 애플리케이션(220)은 원격 웹 브라우저(190)로 메시징 업데이트 포워딩을 수행하는 로컬 메시징 애플리케이션(220)에 기반하여 메시징 업데이트(110)에 시퀀스 번호를 할당할 수 있다.
로컬 메시징 애플리케이션(220)으로부터 메시징 업데이트를 수신하기 위한 원격 웹 브라우저(190)로부터 수신된 요청에 응답하여, 로컬 메시징 애플리케이션(220)은 로컬 웹 서버(250) 및 원격 웹 브라우저(190) 간의 암호화 연결로 모바일 장치(120) 상의 로컬 웹 서버(250)를 시작한다. 로컬 웹 서버(250)는 로컬 메시징 애플리케이션(220)의 일부일 수 있거나, 로컬 메시징 애플리케이션(220)의 일부로서 실행되는 프로세스이거나, 로컬 메시징 애플리케이션(220)에 의한 명령에 응답하여 실행되는 모바일 장치(120) 상의 다른 애플리케이션을 포함할 수 있다.
일부 경우에, 로컬 웹 서버(250) 및 원격 웹 브라우저(190)는 공공 인터넷(150)의 인프라구조를 사용하여 통신할 수 있다. 하지만, 일부 경우에, 암호화 연결이 피어-투-피어 네트워크 연결을 통해 송신될 수 있다. 피어-투-피어 네트워크 연결은 모바일 장치(120) 및 개인용 컴퓨터 장치(180) 간의 블루투스 연결 및 직접 Wi-Fi 연결 중 하나를 포함할 수 있으나 이에 제한되지 않는다.
로컬 메시징 애플리케이션(220)은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있다. 메시징 업데이트는 제2 모바일 장치 상의 제2 메시징 애플리케이션으로부터 수신됐을 수 있는데, 제2 메시징 애플리케이션은 메시징 서비스와의 제2 사용자 계정과 연관된다. 그러므로 메시징 업데이트(110)는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화의 메시지를 포함할 수 있다. 이것은 제1 사용자 계정에서 제2 사용자 계정으로 전송된 메시지 또는 제2 사용자 계정에서 제1 사용자 계정으로 전송된 메시지일 수 있다. 메시지는 하나 이상의 텍스트 세그먼트, 이미지, 비디오 세그먼트 및 오디오 세그먼트를 포함할 수 있다.
일부 경우에, 메시지는 비디오 세그먼트나 오디오 세그먼트와 같은 미디어 세그먼트를 포함할 수 있다. 로컬 웹 서버(250)와 같은 웹 서버는 원격 웹 브라우저(190)에 메시징 업데이트(110)를 송신하기 전에 미디어 세그먼트를 원격 웹 브라우저(190)가 지원하는 미디어 포맷으로 변환할 수 있다. 일부 실시예에서, 원격 웹 브라우저(190)는 지원 포맷을 로컬 웹 서버(250)에 송신할 수 있고, 로컬 웹 서버(250)는 수신된 지원 포맷을 사용하여 미디어 세그먼트를 변환할 포맷을 결정한다. 다른 실시예에서, 로컬 웹 서버(250)는 웹 호환 미디어 포맷의 리스트로 구성되고 구성된 웹 호환 미디어 포맷 중 하나로 미디어 포맷을 변환할 수 있다.
원격 웹 브라우저(190)는 모바일 장치(120)나 원격 메시징 클라이언트(170)에서 발신된 메시지를 보는데 사용될 뿐만 아니라 메시지를 발신하는데 사용될 수 있다. 로컬 메시징 애플리케이션(220)은 원격 웹 브라우저(190)로부터 암호화 연결을 통해 발신 메시지를 수신할 수 있고, 발신 메시지는 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관된다. 로컬 메시징 애플리케이션(220)은 발신 메시지를 제2 메시징 애플리케이션으로 송신할 수 있고, 제2 메시징 애플리케이션은 제2 사용자 계정과 연관된다. 이 제2 메시징 애플리케이션은 원격 메시징 클라이언트(170)에 대응될 수 있다.
일부 실시예에서, 발신 메시징 종점은 그 발신 종점에서 송신된 메시지가 목적지 메시징 종점 상에 디스플레이될 때 통지될 수 있다. 이와 같이, 로컬 메시징 애플리케이션(220)은 제2 메시징 애플리케이션으로부터의 발신 메시지의 확인 응답을 수신하고 발신 메시지의 확인 응답에 따라 원격 웹 브라우저(190)로 발신 메시지를 업데이트할 수 있다. 원격 웹 브라우저(190)와 발신 메시지의 업데이트는 발신 메시지에 인접한 아이콘, 심볼 또는 다른 시각적 요소의 디스플레이를 포함하고, 시각적 요소는 그 수신자에 의해 열람되는 메시지와 시각적으로 연관된다.
원격 웹 브라우저(190)를 로컬 메시징 애플리케이션(220)에 접근하기 위한 종점으로 확립하는 것의 일부로서 원격 웹 브라우저(190)의 웹 세션은 로컬 메시징 애플리케이션(220)과 연관된 사용자 계정에 대한 메시징 상태로 로드될 수 있다. 로컬 메시징 애플리케이션(220)은 모바일 장치(120) 상에 로컬 저장소로부터 사용자 계정과 연관된 메시징 상태를 검색하고 메시징 상태를 원격 웹 브라우저(190)로 송신할 수 있다.
메시징 상태는 제1 사용자 계정과 제2 사용자 계정 간의 메시징 대화에 대응할 수 있다. 메시징 상태는 제1 사용자와 제2 사용자 간의 메시징 대화의 내역을 포함할 수 있다. 예를 들어, 모바일 장치(120)의 사용자는 원격 메시징 클라이언트(170)의 사용자와의 메시징 대화에 참여할 수 있다. 초기에 이 대화는 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)의 사용자에 의한 직접 사용을 포함할 수 있다. 하지만, 어떤 시점에서 사용자는 그 개인용 컴퓨터 장치(180)를 사용하여 대화를 계속하기 원할 수 있다. 예를 들어, 사용자는 집으로 이동하며 모바일 장치(120)를 사용했고 그 후 집으로 돌아와 개인용 컴퓨터 장치(180)를 사용하기 원할 수 있다. 내역을 개인용 컴퓨터 장치(180) 상의 원격 웹 브라우저(190)로 송신함으로써 사용자는 대화를 계속하는 것뿐만 아니라 그 대화와 다른 대화 내역을 떠올리고 싶을 수 있다.
메시징 상태는 제1 사용자 계정을 위한 연락처 리스트와 같은 추가적 또는 대안적인 정보를 포함할 수 있다. 일부 경우, 사용자 계정의 전체 연락처 리스트는 효율적으로 전송하기 너무 길 수 있으므로, 메시징 상태는 제1 사용자 계정을 위한 연락처 리스트의 일부를 포함할 수 있다. 로컬 메시징 애플리케이션(220)은 제1 사용자 계정을 위한 연락처 리스트를 모바일 장치(120) 상의 로컬 저장소로부터 검색하고 연락처 리스트의 연락처의 메시징 활동에 기반하여 연락처 리스트의 일부를 결정할 수 있다.
도 3은 원격 웹 서버(350)가 별개의 웹 서버 장치(355) 상에서 실행되는 메시징 웹 액세스 시스템(100)의 실시예를 도시한다. 도 3에 도시된 바와 같이, 원격 메시징 클라이언트(170) 간의 상호작용은 메시징 서버(320)를 통해 수행될 수 있다. 메시징 서버(320)와 웹 서버 장치(355) 모두 로컬 메시징 애플리케이션(220)을 포함하는 메시징 플랫폼을 관리하는 메시징 서버 프로바이더에 의해 관리될 수 있다. 일부 실시예에서 메시징 서버(320)와 웹 서버 장치(355) 중 하나만 사용될 수 있음을 이해할 것이다.
일부 실시예에서, 로컬 메시징 애플리케이션(220)과 원격 웹 브라우저(190) 간의 암호화 연결이 원격 웹 서버(350)를 통해 전송될 수 있다. 원격 웹 서버(350)는 원격 웹 브라우저(190)의 웹 세션을 호스팅할 수 있고, 웹 세션은 웹 세션을 통한 메시징의 수행을 위해 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)에 접근할 수 있게 한다. 이와 같이, 암호화 연결의 제1 부분은 암호화 TCP/IP(transmission control protocol / internet protocol) 연결과 같은 로컬 메시징 애플리케이션(220)와 웹 서버 장치(355) 간의 보안 연결을 포함할 수 있다. 암호화 연결의 제2 부분은 원격 웹 브라우저(190)와 원격 웹 서버(350) 간의 HTTPS 연결을 포함할 수 있다. 그러므로 원격 웹 서버(350)는 로컬 메시징 애플리케이션(220)와 원격 웹 브라우저(190) 간의 브리지로 작용하여 통신의 전체 길이를 위한 보안 연결을 유지할 수 있다.
일부 실시예에서, 로컬 메시징 애플리케이션(220)와 원격 웹 브라우저(190) 간의 암호화 연결은 원격 웹 서버(350)를 통해 유지되어 원격 웹 서버(350)나 웹 서버 장치(355)가 암호화 연결의 평문(즉, 암호화되지 않은) 컨텐츠에 접근하는 것을 방지할 수 있다. 원격 웹 서버(350)는 암호화된 웹 페이지와 암호화된 웹 요소(예컨대, 프레임, 이미지 및 개별 HTTPS 상호작용으로 전송되는 다른 요소)를 위한 중계로 작용하여, 웹 페이지나 암호화된 웹 요소는 로컬 메시징 애플리케이션(220)에 의해 암호화되고 원격 웹 서버(350)나 웹 서버 장치(355)가 암호화된 웹 페이지나 암호화된 웹 요소에 대한 해독 키에 접근하는 일 없이 원격 웹 브라우저(190)에 의해 해독된다.
로컬 메시징 애플리케이션(220)은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있다. 원격 웹 서버(350)는 미래의 웹 브라우저 세션을 위해 제1 사용자 계정에 대한 메시징 상태를 캐시하도록 동작할 수 있다. 일부 경우에, 원격 웹 브라우저(190)는 제1 사용자 계정에 대한 상태를 수신할 수 있다. 로컬 메시징 애플리케이션(220)가 모바일 장치(120) 상에 저장된 상태를 재전송해야 하는 것을 피하기 위하여 원격 웹 서버(350)는 이 상태를 캐시할 수 있다.
원격 웹 서버(350) 상에 캐시된 메시징 상태에 접근하는 것은 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)에 의해 제어될 수 있다. 로컬 메시징 애플리케이션(220)의 사용자는 로컬 메시징 애플리케이션(220)이 인증 해제 명령을 원격 웹 서버(350)로 전송하도록 지시하도록 권한을 부여 받을 수 있는데, 인증 해제 명령은 원격 웹 서버(350)로 원격 웹 브라우저(190)를 인증 해제한다. 이것은 원격 웹 브라우저(190)가 로컬 메시징 애플리케이션(220)에 의해 재인증되지 않는 한 캐시된 상태의 원격 웹 브라우저(190)에 의한 장래의 사용을 막을 수 있다. 유사하게, 이것은 원격 웹 브라우저(190)가 로컬 메시징 애플리케이션(220)에 의해 재인증되지 않는 한 원격 웹 브라우저(190)의 제1 사용자 계정을 위한 메시징 종단점으로서의 미래의 확립을 막을 수 있다. 원격 웹 서버(350)는 인증 해제 명령을 수신하는데 응답하여, 인증된 종단점의 기록을 수정하여 인증된 종단점의 리스트에서 원격 웹 브라우저(190)를 제거할 수 있다. 원격 웹 서버(350)는 인증 해제 명령을 수신하는데 응답하여, 원격 웹 브라우저(190)에 대한 캐시된 상태를 삭제할 수 있다.
원격 웹 브라우저(190)는 인증 정보를 제공받아 사용자가 모바일 장치(120) 상에서 연결 확립 동작을 수행할 필요 없이 신속하게 로컬 메시징 애플리케이션(220)에 연결을 재확립할 수 있게 한다. 로컬 메시징 애플리케이션(220)은 인증 정보를 원격 웹 브라우저(190)에 송신하고; 원격 웹 브라우저(190)로부터 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)에서 제2 요청을 수신하고, 원격 웹 브라우저를 위한 요청은 다시 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이고; 인증 정보를 사용하여 로컬 메시징 애플리케이션(220) 및 원격 웹 브라우저(190) 간의 제2 암호화 연결을 확립할 수 있다. 인증 정보는 보안 토큰을 포함할 수 있으나, 이에 제한되지 않는다.
다양한 기술이 암호화 연결의 확립을 위한 원격 웹 브라우저(190)를 식별하는데 사용될 수 있다. 일부 경우에, 기계 판독가능한 광학 라벨(예컨대, QR 코드)가 원격 웹 브라우저(190) 상에 디스플레이될 수 있다. 이 기계 판독가능한 광학 라벨은 원격 웹 브라우저(190)가 메시징 종단점으로 동작을 시도하는데 응답하여 및 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)이 식별되기 전에 원격 웹 서버(350)에 의해 디스플레이될 수 있다. 모바일 장치(120)는 기계 판독가능한 광학 라벨을 캡처하고 메시징 서버(320), 웹 서버 장치(355) 또는 메시징 웹 액세스 시스템(100)의 다른 컴포넌트에 송신하는 모바일 장치(120)에 기반하여 원격 웹 브라우저(190)에 연결될 수 있다.
이와 같이, 로컬 메시징 애플리케이션(220)는 모바일 장치(120)의 카메라를 이용하여 기계 판독가능한 광학 라벨을 캡처할 수 있고, 기계 판독가능한 광학 라벨은 원격 웹 브라우저(190)에 의해 디스플레이된다. 로컬 메시징 애플리케이션(220)은 기계 판독가능한 광학 라벨에서 웹 세션 식별자를 추출할 수 있다. 로컬 메시징 애플리케이션(220)은 웹 세션 식별자에 기반하여 암호화 연결의 확립을 위한 원격 웹 브라우저(190)를 식별할 수 있다.
기계 판독가능한 광학 라벨은 웹 서버 장치(355)에 의해 생성되고 원격 웹 서버(350)에 의해 원격 웹 브라우저(190)로 송신될 수 있다. 웹 서버 장치(355)는 기계 판독가능한 광학 라벨에 의해 인코딩된 데이터를 로컬 메시징 애플리케이션(220)과 같은 로컬 메시징 애플리케이션을 위한 프론트 엔드로 등록할 수 있다. 로컬 메시징 애플리케이션(220)은 기계 판독가능한 광학 라벨에 의해 인코딩된 데이터를 프론트 엔드로 보고하여 로컬 메시징 애플리케이션(220)과 기계 판독가능한 광학 라벨을 디스플레이하는 원격 웹 브라우저(190)를 서비스하는 원격 웹 서버(350) 간의 연결을 확립할 수 있다.
도 4는 메시징 시스템(400)의 다양한 기능을 구현하는 복수의 서버의 실시예를 도시한다. 상이한 작업 및 기능 분산이 메시징 시스템(400)의 다양한 실시예에서 사용될 수 있음이 이해될 것이다. 메시징 시스템(400)은 메시징 웹 액세스 시스템(100)을 포함할 수 있고 메시징 웹 액세스 시스템(100)은 메시징 시스템(400)의 전체 동작의 일부를 포함한다.
메시징 시스템(400)은 도메인 네임 프론트 엔드(410)를 포함할 수 있다. 도메인 네임 프론트 엔드(410)는 DNS(domain name system)의 메시징 시스템(400)과 연관된 하나 이상의 도메인 네임에 할당될 수 있다. 도메인 네임 프론트 엔드(410)는 들어오는 연결을 수신하고 다양한 메시징 서비스를 제공하는 서버에 연결을 분산시킨다.
메시징 시스템(400)은 하나 이상의 채팅 서버(415)를 포함할 수 있다. 채팅 서버(415)는 채팅 메시지와 같은 사용자-대-사용자 메시징 업데이트를 수신 및 송신하기 위한 프론트 엔드 서버를 포함할 수 있다. 수신 연결은 부하 균형에 기반하여 도메인 네임 프론트 엔드(410)에 의해 채팅 서버(415)에 할당될 수 있다.
메시징 시스템(400)은 백엔드 서버(430)를 포함할 수 있다. 백엔드 서버(430)는 채팅 서버(415)의 채팅 동작 지원에서 특별한 작업을 수행할 수 있다. 복수의 상이한 타입의 백엔드 서버(430)가 사용될 수 있다. 상이한 백엔드 서버(430)에 작업의 타입의 할당은 상이한 실시예에서 다를 수 있음을 이해할 것이다. 일부 실시예에서, 전용 서버에 의해 제공되는 일부 백엔드 서비스는 단일 서버 또는 각각 본 명세서에 서술되는 실시예에서 상이한 서버 간에 분할되는 복수의 작업을 수행하는 서버의 세트에 결합될 수 있다. 유사하게, 일부 실시예에서, 본 명세서에 서술되는 전용 백엔드 서버 중 일부의 작업은 상이한 서버 그룹의 상이한 서버 간에 분할될 수 있다.
메시징 시스템(400)은 하나 이상의 오프라인 저장소 서버(431)를 포함할 수 있다. 하나 이상의 오프라인 저장소 서버(431)는 메시징 종단점이 다시 연결될 때 현재 오프라인 메시징 종단점에 대한 메시징 컨텐츠를 보류할 수 있다.
메시징 시스템(400)은 하나 이상의 세션 서버(432)를 포함할 수 있다. 하나 이상의 세션 서버(432)는 연결된 메시징 종단점의 세션 상태를 유지할 수 있다.
메시징 시스템(400)은 하나 이상의 프리젠스 서버(433)를 포함할 수 있다. 하나 이상의 프리젠스 서버(433)는 메시징 시스템(400)을 위한 프리젠스 정보를 유지할 수 있다. 프리젠스 정보는 주어진 사용자가 온라인 메시징 종단점을 가지고 채팅을 위해 사용가능한지 여부, 온라인 메시징 종단점을 가지지만 현재 부재중인지, 온라인 메시징 종단점을 가지지 않는지 및 임의의 다른 프리젠스 상태를 가리키는 사용자 고유 정보에 대응할 수 있다.
메시징 시스템(400)은 하나 이상의 푸시 저장소 서버(434)를 포함할 수 있다. 하나 이상의 푸시 저장소 서버(434)는 푸시 요청을 캐시하고 메시징 종단점에 푸시 요청을 전송할 수 있다. 푸시 요청은 메시징 종단점을 깨우고, 메시징 종단점에게 메시징 업데이트가 사용가능하다고 알리고, 메시징 종단점과 서버측 기반 상호작용을 다르게 수행하는데 사용될 수 있다.
메시징 시스템(400)은 하나 이상의 그룹 서버(435)를 포함할 수 있다. 하나 이상의 그룹 서버(435)는 그룹의 리스트를 유지하고, 사용자를 그룹에 추가하고, 그룹에서 사용자를 제거하고, 그룹 채팅 메시지의 수신, 캐시, 전달을 수행할 수 있다.
메시징 시스템(400)은 하나 이상의 블록 리스트 서버(436)를 포함할 수 있다. 하나 이상의 블록 리스트 서버(436)는 사용자 고유 블록 리스트를 유지하고, 사용자 고유 수신 블록 리스트는 각 사용자에 대하여 그 사용자에게 메시지 전송이 금지된 하나 이상의 다른 사용자를 가리킨다. 대안적으로 또는 추가적으로, 하나 이상의 블록 리스트 서버(436)는 각 사용자에 대하여 그 사용자가 메시지를 전송하는 것이 금지된 하나 이상의 다른 사용자를 가리키는 사용자 고유 발신 블록 리스트를 유지할 수 있다. 수신 블록 리스트 및 발신 블록 리스트는 예컨대, 데이터베이스에, 블록 정보의 동일한 저장소의 상이한 관점을 나타내는 수신 블록 리스트 및 발신 블록 리스트와 조합되어 저장될 수 있음이 인식될 것이다.
메시징 시스템(400)은 하나 이상의 마지막 사용 정보 서버(437)를 포함할 수 있다. 하나 이상의 마지막 사용 정보 서버(437)는 마지막 사용 위치, 상태, 메시징 종점 및 메시징 시스템(400)와 사용자의 마지막 사용 연결의 다른 요소를 수신, 저장 및 유지할 수 있다.
메시징 시스템(400)은 하나 이상의 키 서버(438)를 포함할 수 있다. 하나 이상의 키 서버는 공개/개인 키 암호화 통신을 위한 공개 키를 호스팅할 수 있다.
메시징 시스템(400)은 하나 이상의 프로필 사진 서버(439)를 포함할 수 있다. 하나 이상의 프로필 사진 서버(439)는 메시징 시스템(400)의 복수의 사용자를 위한 검색 프로필 사진을 저장하고 사용가능하게 만들 수 있다.
메시징 시스템(400)은 하나 이상의 스팸 로깅 서버(440)를 포함할 수 있다. 하나 이상의 스팸 로깅 서버(440)는 알려진 및 의심되는 스팸(예컨대, 원치 않는 메시지, 특히 홍보 성격의 것)을 로그할 수 있다. 하나 이상의 스팸 로깅 서버(440)는 메시지를 분석하여 스팸인지 여부를 결정하고, 일부 실시예에서, 의심되는 스패머(스팸 메시지를 송신하는 사용자)에 대한 징계 조치를 수행할 수 있다.
메시징 시스템(400)은 하나 이상의 통계 서버(441)를 포함할 수 있다. 하나 이상의 통계 서버는 메시징 시스템(400)의 동작 및 메시징 시스템(400)의 사용자의 행동에 관한 통계 정보를 편집 및 저장할 수 있다.
메시징 시스템(400)은 하나 이상의 웹 서버(442)를 포함할 수 있다. 하나 이상의 웹 서버(442)는 웹 브라우저와 HTTP(hypertext transport protocol) 및 HTTPS(hypertext transport protocol secure) 연결에 관여할 수 있다. 일부 실시예에서, 하나 이상의 웹 서버(442)는 메시징 웹 액세스 시스템(100)의 동작의 일부로서 원격 웹 서버(350)를 호스팅할 수 있다.
메시징 시스템(400)은 하나 이상의 채팅 활동 모니터링 서버(443)를 포함할 수 있다. 하나 이상의 채팅 활동 모니터링 서버(443)는 사용자의 채팅을 모니터링하여 메시징 시스템(400)의 사용자의 인증되지 않거나 방해되는 행동을 결정할 수 있다. 하나 이상의 채팅 활동 모니터링 서버(443)는 스팸 로깅 서버(440) 및 블록 리스트 서버(436)과 협업하여 동작할 수 있는데, 하나 이상의 채팅 활동 모니터링 서버(443)는 스팸이나 다른 방해되는 행동을 식별하고 스팸 정보를 스팸 로깅 서버(440)에 및 적절한 경우, 블록 정보를 블록 리스트 서버(436)에 제공한다.
메시징 시스템(400)은 하나 이상의 싱크 서버(444)를 포함할 수 있다. 하나 이상의 싱크 서버(444)는 메시징 시스템(400)을 메시징 종단점으로부터의 연락처 정보, 예컨대 휴대 전화의 주소록과 동기화하여 메시징 시스템(400)의 사용자를 위한 연락처를 결정할 수 있다.
메시징 시스템(400)은 하나 이상의 멀티미디어 서버(445)를 포함할 수 있다. 하나 이상의 멀티미디어 서버는 메시징 종단점 간 이동중인 멀티미디어(예컨대, 이미지, 비디오, 오디오), 오프라인 종단점을 위해 캐시된 멀티미디어를 저장할 수 있고, 멀티미디어의 변환을 수행할 수 있다.
메시징 시스템(400)은 하나 이상의 결제 서버(446)를 포함할 수 있다. 하나 이상의 결제 서버(446)는 사용자로부터의 결제를 처리할 수 있다. 하나 이상의 결제 서버(446)는 결제 수행을 위해 외부 제3자 서버와 연결할 수 있다.
메시징 시스템(400)은 하나 이상의 등록 서버(447)를 포함할 수 있다. 하나 이상의 등록 서버(447)는 메시징 시스템(400)의 새로운 사용자를 등록할 수 있다.
메시징 시스템(400)은 하나 이상의 음성 중계 서버(448)를 포함할 수 있다. 하나 이상의 음성 중계 서버(448)는 VoIP(voice-over-internet-protocol) 호의 수행을 위해 메시징 종단점 간의 VoIP 음성 통신을 중계할 수 있다.
개시된 구조의 신규한 양태를 수행하기 위한 예시적인 방법론을 표현하는 흐름도의 세트가 본 명세서에 포함된다. 설명의 간소화를 위해, 예컨대 흐름도이나 흐름 다이어그램의 형태로 본 명세서에 도시된 하나 이상의 방법이 도시되고 일련의 행위로 기술되지만, 방법론은 몇몇의 행위는 그에 따라 본 명세서에 도시되고 기술되는 다른 행위들과 다른 순서로 및/또는 동시에 발생할 수 있기 때문에 그 행위의 순서에 국한되지 않는다고 이해되고 인식된다. 예컨대, 방법론은 가령 상태 다이어그램과 같이 일련의 상호연관된 상태나 이벤트로서 대안으로 표현될 수 있다고 당업자가 이해하고 인식할 것이다. 게다가, 방법론에 설명된 모든 행위들이 신규한 구현에 요구되는 것은 아닐 수 있다.
도 5는 논리 흐름(500)의 일실시예를 도시한다. 논리 흐름(500)은 본 명세서에 기술된 하나 이상의 실시예들에 의해 실행되는 동작들의 일부 또는 전부를 표현할 수 있다.
도 5에 도시된 실시예에서, 논리 흐름(500)은 블록(502)에서 원격 웹 브라우저(190)로부터 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)에서 요청을 수신하고, 요청은 원격 웹 브라우저(190)를 위해 로컬 메시징 애플리케이션(220)로부터 메시징 업데이트를 수신하기 위한 것이다.
논리 흐름(500)은 블록(504)에서 로컬 메시징 애플리케이션(220)과 원격 웹 브라우저(190) 간의 암호화 연결을 확립할 수 있다.
논리 흐름(500)은 블록(506)에서 로컬 메시징 애플리케이션(220)에서 메시징 업데이트(110)를 수신할 수 있다.
논리 흐름(500)은 블록(508)에서 로컬 메시징 애플리케이션(220)으로부터 원격 웹 브라우저(190)로 메시징 업데이트(110)를 송신할 수 있다.
실시예는 이 예시에 제한되지 않는다.
도 6은 중앙형 시스템(600)의 블록도를 도시한다. 중앙형 시스템(600)은 예컨대 단일 장치(620) 내에서 전체로서와 같이, 단일 컴퓨팅 엔티티의 메시징 웹 액세스 시스템(100)을 위한 구조 및/또는 동작의 일부 또는 전부를 구현할 수 있다.
장치(620)는 시스템(100)을 위해 정보를 수신하고, 프로세싱하며, 전송할 수 있는 임의의 전자 장치를 포함할 수 있다. 전자식 장치의 예들은 제한 없이 초-모바일(ultra-mobile) 장치, 모바일 장치, 개인용 정보 단말기(PDA), 모바일 컴퓨팅 장치, 스마트폰, 전화, 디지털 전화, 셀룰러 전화, 전자책 리더, 핸드셋, 단방향 페이저, 양방향 페이저, 메시징 장치, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 휴대용 컴퓨터, 태블릿 컴퓨터, 서버, 서버 어레이 또는 서버 팜(server farm), 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 가전, 웹 가전, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 소비자 전자기기, 프로그램가능한 소비자 전자기기, 게임 장치, 텔레비전, 디지털 텔레비전, 셋톱 박스, 무선 접속점, 기지국, 구독자 스테이션, 모바일 구독자 센터, 무선 네트워크 컨트롤러, 라우터, 허브, 게이트웨이, 브릿지, 스위치, 기계 또는 이들의 조합을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
장치(620)는 프로세싱 컴포넌트(630)를 사용하여 시스템(100)을 위한 동작 또는 로직의 프로세싱을 실행할 수 있다. 프로세싱 컴포넌트(630)는 다양한 하드웨어 요소, 소프트웨어 요소 또는 둘 모두의 조합을 포함할 수 있다. 하드웨어 요소의 예는 장치, 논리 장치, 컴포넌트, 프로세서, 마이크로 프로세서, 회로, 프로세서 회로, 회로 요소(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적 회로, ASIC(application specific integrated circuits), 프로그램가능한 논리 장치(PLD), 디지털 신호 프로세서(DSP), FPGA(field programmable gate array), 메모리 유닛, 논리 게이트, 레지스터, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, API(application program interfaces), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 이들의 임의의 조합을 포함할 수 있다. 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 실시예가 구현되는지 여부를 결정하는 것은 임의의 수의 요인, 가령 주어진 구현예를 위해 바람직한, 소정의 계산 속도, 전력 레벨, 열 내구성, 프로세싱 싸이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 디자인이나 성능 제약에 따라 다양할 수 있다.
장치(620)는 통신 컴포넌트(640)를 사용하여 시스템(100)을 위한 통신 동작 또는 논리를 실행할 수 있다. 통신 컴포넌트(640)는 임의의 널리 알려진 통신 기법 및 프로토콜, 가령 패킷-스위치 네트워크(예컨대, 인터넷과 같은 공용 네트워크, 사업체 인트라넷과 같은 사설 네트워크 등), 서킷-스위치 네트워크(예컨대, 공용 스위치 전화 네트워크), 또는 (적절한 게이트웨이와 변환기를 갖는) 패킷-스위치 네트워크와 서킷-스위치 네트워크의 조합을 사용하는데 적절한 기법을 구현할 수 있다. 통신 컴포넌트(640)는 가령 하나 이상의 통신 인터페이스, 네트워크 인터페이스, 네트워크 인터페이스 카드(NIC), 라디오, 무선 송신기/수신기(송수신기), 유선 및/또는 무선 통신 미디어, 물리적 커넥터 등과 같이 다양한 타입의 표준 통신 구성요소들을 포함할 수 있다. 예로서 제한 없이, 통신 미디어(612, 642)는 무선 통신 미디어 및 무선 통신 미디어를 포함한다. 유선 통신 미디어의 예들은 와이어, 케이블, 금속 리드(metal leads), 인쇄회로기판(PCB), 백플레인(backplanes), 스위치 패브릭(switch fabrics), 반도체 재료, 트위스트 페어 와이어(twisted-pair wire), 동축 케이블, 광섬유(fiber optics), 전파 신호(propagated signal) 등을 포함할 수 있다. 무선 통신 미디어의 예는 음향, 무선-주파수(RF) 스펙트럼, 적외선 및 다른 무선 미디어를 포함할 수 있다.
장치(620)는 통신 컴포넌트(640)를 통한 통신 신호(614, 644) 각각을 사용하여 통신 미디어(612, 642) 각각을 통해 다른 장치들(610, 650)과 통신할 수 있다. 장치(610, 650)들은 소정의 구현을 위해 적절한 경우 장치(620)의 내부 또는 외부에 있을 수 있다. 장치(610)는 모바일 장치(120) 상의 로컬 메시징 애플리케이션(220)과 같은 메시징 종단점을 포함할 수 있다. 장치(650)는 개인용 컴퓨터 장치(180) 상의 원격 웹 브라우저(190)과 같은 제2 메시징 종단점을 포함할 수 있다. 신호(614 및 644)는 로컬 메시징 애플리케이션(220)과 원격 웹 브라우저(190) 간의 암호화 연결을 공동으로 전달할 수 있다.
도 7은 분산형 시스템(700)의 블록도를 도시한다. 분산형 시스템(700)은 다수의 컴퓨팅 엔티티들에 걸쳐 시스템(100)을 위한 구조 및/또는 동작의 부분들을 분산시킬 수 있다. 분산형 시스템(700)의 예는 제한 없이, 클라이언트-서버 구조, 3-계층 구조, N-계층 구조, 밀접하게-커플링(tightly-coupled)되거나 클러스터화된 구조, 피어-투-피어 구조, 마스터-슬레이브(master-slave) 구조, 공유된 데이터베이스 구조 및 다른 타입의 분산형 시스템을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
분산형 시스템(700)은 클라이언트 장치(710) 및 서버 장치(750)를 포함할 수 있다. 일반적으로, 클라이언트 장치(710) 및 서버 장치(750)는 도 6과 관련하여 기술된 클라이언트 장치(820)와 동일하거나 유사할 수 있다. 예컨대, 클라이언트 시스템(710) 및 서버 시스템(750)은 각각 프로세싱 컴포넌트(730) 및 통신 컴포넌트(740)를 포함할 수 있고, 이들은 도 6과 관련하여 각각 기술된 프로세싱 컴포넌트(630) 및 통신 컴포넌트(640)와 동일하거나 유사하다. 다른 예로, 장치(710, 750)는 통신 구성요소(740)를 통해 통신 신호(714)를 사용하여 통신 미디어(712) 상에서 통신할 수 있다.
클라이언트 장치(710)는 기술된 실시예들에 따라 다양한 방법론을 수행하도록 동작하는 하나 이상의 클라이언트 프로그램을 포함하거나 이용할 수 있다. 일실시예에서, 예를 들어, 클라이언트 장치(710)는 로컬 메시징 애플리케이션(220)을 구현할 수 있다.
서버 장치(750)는 기술된 실시예에 따른 다양한 방법을 수행하도록 동작하는 하나 이상의 서버 프로그램을 포함하거나 이용할 수 있다. 일실시예에서, 예를 들어, 서버 장치(750)는 원격 웹 서버(350)를 구현할 수 있다.
도 8은 이전에 기술된 다양한 실시예들을 구현하기에 적절한 예시적인 컴퓨팅 구조(800)의 실시예를 도시한다. 일실시예로, 컴퓨팅 구조(800)는 전자 장치의 일부를 포함하거나 구현될 수 있다. 전자 장치의 예시는 다른 것들 사이에서 도 1을 참조하여 기술된 것들을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
본 출원에서 사용되는 바와 같이, "시스템" 및 "컴포넌트"란 용어는 컴퓨터-관련 엔티티, 어느 하나의 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 실행중의 소프트웨어, 예시적인 컴퓨팅 구조(800)에 의해 제공되는 예들을 일컫는 것으로 의도된다. 예컨대, 컴포넌트는 프로세서에서 실행하는 프로세스, 프로세서, 하드 디스크 드라이브, (광학 및/또는 자기 저장매체의) 다수의 저장 드라이브, 객체, 실행가능한 것들, 실행의 쓰레드(thread), 프로그램 및/또는 컴퓨터일 수 있으나 이에 국한되지 않는다. 예로서, 서버에서 실행하는 애플리케이션과 서버 모두는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행의 쓰레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터에 로컬화될 수 있고/있거나 2 이상의 컴퓨터들 사이에 분산될 수 있다. 게다가, 컴포넌트는 동작들을 편성하도록 다양한 타입의 통신 미디어에 의해 서로 통신가능하게 연결될 수 있다. 편성(coordination)은 정보의 단방향이나 양방향 교환을 포함할 수 있다. 예컨대, 컴포넌트는 통신 미디어를 통해 통신되는 신호의 형태로 정보를 통신할 수 있다. 정보는 다양한 신호 라인에 할당된 신호들로서 구현될 수 있다. 이런 할당에서, 각 메시지는 신호이다. 그러나, 추가의 실시예들이 대안으로 데이터 메시지를 이용할 수 있다. 이런 데이터 메시지는 다양한 연결을 통해 송신될 수 있다. 예시적인 연결은 병렬 인터페이스, 직렬 인터페이스 및 버스 인터페이스를 포함한다.
컴퓨팅 구조(800)는 가령 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서(co-processors), 메모리 유닛, 칩셋, 컨트롤러, 주변기기, 인터페이스, 오실레이터, 타이밍 장치, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 등과 같이 다양한 공통의 컴퓨팅 요소들을 포함한다. 그러나, 실시예들은 컴퓨팅 구조(800)에 의한 구현으로 국한되지 않는다.
도 8에 도시된 바와 같이, 컴퓨팅 구조(800)는 프로세싱 유닛(804), 시스템 메모리(806) 및 시스템 버스(808)를 포함한다. 프로세싱 유닛(804)은 제한 없이 AMD® Athlon®, Duron® 및 Opteron® 프로세서; ARM® 애플리케이션, 임베디드 및 보안 프로세서; IBM® 및 Motorola® DragonBall® 및 PowerPC® 프로세서; IBM 및 Sony® Cell 프로세서; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®, Xeon® 및 XScale® 프로세서; 및 유사한 프로세서들을 포함하는 임의의 다양한 영리적으로 이용가능한 프로세서일 수 있다. 또한, 듀얼 멀티프로세서, 멀티-코어 프로세서 및 다른 멀티-프로세서 구조가 프로세싱 유닛(804)으로 이용될 수 있다.
시스템 버스(808)는 시스템 메모리(806)를 포함하나 이에 국한되지 않는 시스템 구성요소용 인터페이스를 프로세싱 유닛(804)에 제공한다. 시스템 버스(808)는 임의의 다양한 영리적으로 이용가능한 버스 구조를 사용하여 (메모리 컨트롤러를 가지거나 가지지 않은) 메모리 버스, 주변기기 버스 및 로컬 버스와도 또한 상호연결할 수 있는 임의의 여러 타입의 버스 구조일 수 있다. 인터페이스 어댑터는 슬롯 구조를 통해 시스템 버스(808)와 연결할 수 있다. 예시적인 슬롯 구조는 제한 없이 AGP(Accelerated Graphics Port), 카드 버스, (E)ISA((Extended) Industry Standard Architecture), MCA(Micro Channel Architecture), NuBus, PCI(X)(Peripheral Component Interconnect (Extended)), PCI Express, PCMCIA(Personal Computer Memory Card International Association) 등을 포함할 수 있다.
컴퓨팅 구조(800)는 다양한 제조 물품을 포함하거나 구현할 수 있다. 제조 물품은 로직을 저장하는 컴퓨터-판독가능한 저장매체를 포함할 수 있다. 컴퓨터-판독가능한 저장 매체의 예는 전자 데이터를 저장할 수 있고, 휘발성 메모리 또는 비-휘발성 메모리, 제거가능하거나 제거불가한 메모리, 삭제가능하거나 삭제불가한 메모리, 쓰기가능하거나 다시쓰기가 가능한 메모리 등을 포함하는 임의의 실체적 매체를 포함할 수 있다. 논리의 예는 임의의 적절한 타입의 코드, 가령 소스 코드, 컴파일된 코드, 해석된 코드, 실행가능한 코드, 정적 코드, 동적 코드, 객체-지향 코드, 시각적 코드 등을 사용하여 구현되는 실행가능한 컴퓨터 프로그램 명령어를 포함할 수 있다. 또한, 실시예들은 본 명세서에 기술되는 동작들의 수행을 가능하게 하는 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는, 비-일시적 컴퓨터-판독가능한 매체에 포함되는 명령어로서 적어도 부분적으로 구현될 수 있다.
시스템 메모리(806)는 하나 이상의 고속 메모리 유닛, 가령 ROM(read-only memory), RAM(random-access memory), DRAM(dynamic RAM), DDRAM(Double-Data-Rate DRAM), SDRAM(synchronous DRAM ), SRAM(static RAM), PROM(programmable ROM), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 강유전성 폴리머 메모리와 같은 폴리머 메모리, 오보닉 메모리, 위상 변화 또는 강유전성 메모리, SONOS(silicon-oxide-nitride-oxide-silicon) 메모리, 자성 또는 광학 카드, RAID(Redundant Array of Independent Disk) 드라이브와 같은 장치들의 어레이, 솔리드 스테이트 메모리 장치(예컨대, USB 메모리, SSD(solid state drive)), 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체와 같은 형태인 다양한 타입의 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. 도 8에 도시되는 예시의 실시예에서, 시스템 메모리(806)는 비-휘발성 메모리(810) 및/또는 휘발성 메모리(812)를 포함할 수 있다. BIOS(basic input/output system)는 비-휘발성 메모리(810)에 저장될 수 있다.
컴퓨터(802)는 내부(또는 외부) 하드디스크 드라이브(HDD)(814), 착탈식 자기 디스크(818)로부터 판독하거나 자기 디스크에 기록하는 자기 플로피 디스크 드라이브(FDD)(816) 및 착탈식 광학 디스크(822)로부터 판독하거나 광학 디스크에 기록하는 광학 디스크 드라이브(820)(예컨대, CD-ROM 또는 DVD)를 포함하는 하나 이상의 저속 메모리 유닛의 형태의 다양한 타입의 컴퓨터-판독가능한 저장매체를 포함할 수 있다. HDD(814), FDD(816) 및 광학 디스크 드라이브(820)는 HDD 인터페이스(824), FDD 인터페이스(826) 및 광학 디스크 인터페이스(828)에 의해 각각 시스템 버스(808)와 연결될 수 있다. 외부 드라이브 구현을 위한 HDD 인터페이스(824)는 범용 시리얼 버스(USB) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 둘 다를 포함할 수 있다.
드라이브 및 관련 컴퓨터-판독가능한 매체는 휘발성 및/또는 비휘발성 데이터 저장, 데이터 구조, 컴퓨터-실행가능한 명령어 등을 제공한다. 예컨대, 다수의 프로그램 모듈은 운영 시스템(830), 하나 이상의 애플리케이션 프로그램(832), 다른 프로그램 모듈(834) 및 프로그램 데이터(836)를 포함하는 드라이브 및 메모리 유닛(810, 812)에 저장될 수 있다. 일실시예로, 하나 이상의 애플리케이션 프로그램(832), 다른 프로그램 모듈(834), 및 프로그램 데이터(836)는 예컨대, 메시징 웹 액세스 시스템(100)의 다양한 애플리케이션 및/또는 컴포넌트를 포함할 수 있다.
사용자는 예컨대 키보드(838) 및 마우스(840)와 같은 포인팅 장치와 같은 하나 이상의 유선/무선 입력 장치를 통해 명령 및 정보를 컴퓨터(802)로 입력할 수 있다. 다른 입력 장치는 마이크, 적외선(IR) 리모컨, 무선-주파수(RF) 리모컨, 게임 패드, 스타일러스 펜, 카드 판독기, 동글(dongle), 지문 판독기, 장갑, 그래픽 태블릿, 조이스틱, 키보드, 망막 판독기, 터치 스크린(예컨대, 용량성, 저항성 등), 트랙볼, 트랙 패드, 센서, 스타일러스 등을 포함할 수 있다. 이런 입력 장치 및 다른 입력 장치는 흔히 시스템 버스(808)와 연결되는 입력 장치 인터페이스(842)를 통해 프로세싱 유닛(804)과 연결되지만, 가령 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같이 다른 인터페이스들로 연결될 수 있다.
또한, 모니터(844) 또는 다른 타입의 디스플레이 장치는 가령 비디오 어댑터(846)와 같은 인터페이스를 통해 시스템 버스(808)와 연결된다. 모니터(844)는 컴퓨터(802)의 내부 또는 외부에 있을 수 있다. 모니터(844) 이외에, 컴퓨터는 가령 스피커, 프린터 등과 같은 다른 주변의 출력 장치들을 일반적으로 포함한다.
컴퓨터(802)는 가령 원격 컴퓨터(848)와 같은 하나 이상의 원격 컴퓨터로의 유선 및/또는 무선 통신을 통한 논리적 연결을 사용하여 네트워크형 환경에서 동작할 수 있다. 원격 컴퓨터(848)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 엔터테인먼트 가전, 피어 장치 또는 다른 공통의 네트워크 노드일 수 있고, 간결함을 위해 단지 하나의 메모리/저장 장치(850)만이 도시되지만, 일반적으로 컴퓨터(802)에 대하여 기술되는 많은 구성요소 또는 모든 구성요소를 포함한다. 도시되는 논리적 연결은 근거리 네트워크(LAN)(852)로의 유선/무선 연결 및/또는 예컨대 광역 네트워크(WAN)(854)와 같은 더 큰 네트워크를 포함한다. 이런 LAN 및 WAN 네트워킹 환경은 사무실과 회사에서 매우 흔하며, 가령 인트라넷과 같은 기업-광역 컴퓨터 네트워크를 용이하게 하는데 이들 모두는 예컨대 인터넷과 같은 글로벌 통신 네트워크와 연결할 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(802)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(856)를 통해 LAN(852)과 연결된다. 어댑터(856)는 LAN(852)으로의 유선 및/또는 무선 통신을 용이하게 할 수 있고, 이것은 또한 어댑터(856)의 무선 기능과 통신하기 위해 그곳에 배치되는 무선 접속점을 포함할 수 있다.
WAN 네트워킹 환경에서 사용될 때, 컴퓨터(802)는 모뎀(858)을 포함할 수 있거나, WAN(854)에서 통신 서버와 연결되거나, 가령 인터넷과 같이 WAN(854)을 통해 통신을 확립하기 위한 다른 수단을 가진다. 내부 또는 외부 및 유선 및/또는 무선 장치일 수 있는 모뎀(858)은 입력 장치 인터페이스(842)를 통해 시스템 버스(808)와 연결한다. 네트워크형 환경에서, 컴퓨터(802)에 대해 묘사되는 프로그램 모듈들 또는 이들의 부분들은 원격 메모리/저장 장치(850)에 저장될 수 있다. 도시된 네트워크 연결은 예시적이고 컴퓨터 사이의 통신 링크를 확립하는 다른 수단이 사용될 수 있음이 이해될 것이다.
컴퓨터(802)는 가령 무선 통신(예컨대, 무선(over-the-air) 변조 기술의 IEEE 802.5)에서 동작가능하게 배치되는 무선 장치와 같이 IEEE 802 표준 패밀리를 사용하여 유선 및 무선 장치 또는 엔티티와 통신하도록 동작한다. 이는 적어도 Wi-Fi(또는 Wireless Fidelity), WiMax 및 BluetoothTM 무선 기술 등을 포함한다. 따라서, 통신은 종래의 네트워크 또는 적어도 2개의 장치 사이의 간단한 애드 혹(ad hoc) 통신의 기정의된 구조일 수 있다. Wi-Fi 네트워크는 IEEE 802.5x(a, b, g, n 등)라고 하는 무선 기술을 사용하여 보안의 신뢰성 있는 신속한 무선 연결을 제공한다. Wi-Fi 네트워크는 (IEEE 802.3-관련 미디어 및 기능을 사용하여) 서로, 인터넷으로 그리고 유선 네트워크로 컴퓨터들을 연결하는데 사용될 수 있다.
도 9는 상술한 바와 같이 다양한 실시예들을 구현하는데 적절한 예시적인 통신 구조(900)의 블록도를 도시한다. 통신 구조(900)는 가령 송신기, 수신기, 송수신기, 라디오, 네트워크 인터페이스, 기저대역 프로세서, 안테나, 증폭기, 필터, 전원 등과 같이 다양한 공통의 통신 구성요소들을 포함한다. 그러나, 실시예들이 통신 구조(900)에 의한 구현으로 국한되는 것은 아니다.
도 9에 도시된 바와 같이, 통신 구조(900)는 하나 이상의 클라이언트(902) 및 서버(904)를 포함한다. 클라이언트(902)는 모바일 장치(120)와 같은 클라이언트 장치를 구현할 수 있다. 서버(904)는 메시징 서버(320)나 웹 서버 장치(355)와 같은 서버 장치를 구현할 수 있다. 클라이언트(902) 및 서버(904)는 가령 쿠키 및/또는 관련 컨텍스트형 정보와 같이 각각의 클라이언트(902) 및 서버(904)에 대한 로컬 정보를 저장하는데 이용될 수 있는 하나 이상의 각각의 클라이언트 데이터 스토어(908) 및 서버 데이터 스토어(910)와 동작가능하게 연결된다.
클라이언트(902) 및 서버(904)는 통신 프레임워크(906)를 사용하여 서로 간에 정보를 통신할 수 있다. 통신 프레임워크(906)는 임의의 잘 알려진 통신 기술 및 프로토콜을 구현할 수 있다. 통신 프레임워크(906)는 패킷-교환형 네트워크(예컨대, 인터넷과 같은 공중 네트워크, 기업 인트라넷과 같은 사적 네트워크 등), 회로-교환형 네트워크(예컨대, 공중 교환 전화망) 또는 (적절한 게이트웨이와 변환기를 가진) 패킷-교환형 네트워크와 회로-교환형 네트워크의 조합으로서 구현될 수 있다.
통신 프레임워크(906)는 통신 네트워크를 수락, 통신 및 연결하도록 배열되는 다양한 네트워크 인터페이스를 구현할 수 있다. 네트워크 인터페이스는 특수화된 형태의 입출력 인터페이스로 간주될 수 있다. 네트워크 인터페이스는 제한 없이 직접 연결, 이더넷(예컨대, thick, thin, twisted pair 10/100/1000 Base T 등), 토큰 링, 무선 네트워크 인터페이스, 셀룰러 네트워크 인터페이스, IEEE 802.11a-x 네트워크 인터페이스, IEEE 802.16 네트워크 인터페이스, IEEE 802.20 네트워크 인터페이스 등을 포함하는 연결 프로토콜을 이용할 수 있다. 게다가, 다수의 네트워크 인터페이스는 다양한 통신 네트워크 타입과 연계하는데 사용될 수 있다. 예컨대, 다수의 네트워크 인터페이스는 방송, 멀티캐스트 및 유니캐스트 네트워크를 통한 통신을 가능하게 하는데 이용될 수 있다. 프로세싱 조건이 더 높은 속도와 성능을 요구하면, 분산형 네트워크 컨트롤러 구조는 마찬가지로 클라이언트(902) 및 서버(904)에 의해 요구되는 통신 대역폭을 풀링(pool), 부하 균형(load balance) 및 증가하는데 이용될 수 있다. 통신 네트워크는 제한 없이 직접형 상호연결, 보안형 커스텀 연결, 사적 네트워크(예컨대, 기업 인트라넷), 공중 네트워크(예컨대, 인터넷), 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 대도시 네트워크(MAN), OMNI(Operating Missions as Nodes on the Internet), 광역 네트워크(WAN), 무선 네트워크, 셀룰러 네트워크 및 다른 통신 네트워크들을 포함하는 임의의 하나 및 유선 및/또는 무선 네트워크의 조합일 수 있다.
도 10은 메시징 웹 액세스 시스템(100)과 같은 멀티캐리어 OFDM 시스템에서 사용되기 위한 장치(1000)의 실시예를 도시한다. 장치(1000)는 예컨대, 메시징 웹 액세스 시스템(100) 및/또는 로직 회로(1030)를 참조하여 기술되는 것과 같은 소프트웨어 컴포넌트(1060)를 구현할 수 있다. 로직 회로(1030)는 메시징 웹 액세스 시스템(100)에 대해 기술된 동작들을 수행하는 물리적인 회로를 포함할 수 있다. 도 10에 도시되는 것처럼, 장치(1000)는 라디오 인터페이스(1010), 베이스밴드 회로부(1020) 및 컴퓨팅 플랫폼(1030)을 포함할 수 있으나, 실시예들은 이러한 구성으로 제한되지는 않는다.
장치(1000)는 가령 전적으로 단일 장치 내에서와 같이 단일 컴퓨팅 엔티티에서 메시징 웹 액세스 시스템(100) 및/또는 로직 회로(1030)에 대한 구조 및/또는 동작의 일부 또는 전부를 구현할 수 있다. 대안으로, 장치(1000)는, 분산형 시스템 구조, 가령 클라이언트-서버 구조, 3-티어 구조(3-tier architecture), N-티어 구조, 밀착-결합형 또는 클러스터형 구조, 피어-투-피어(peer-to-peer) 구조, 마스터-슬레이브(master-slave) 구조, 공유형 데이터베이스 구조 및 다른 타입의 분산형 시스템을 사용하여 다수의 컴퓨팅 엔티티들에 걸쳐 메시징 웹 액세스 시스템(100) 및/또는 로직 회로(1030)의 구조 및/또는 동작의 부분들을 분산할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
일실시예로, 실시예들은 임의의 특정 오버-더-에어 인터페이스나 변조 방식으로 제한되지는 않지만, 라디오 인터페이스(1010)는 단일 캐리어 또는 다중-캐리어 변조 신호(예컨대, CCK(complementary code keying) 및/또는 OFDM(orthogonal frequency division multiplexing) 심볼들을 포함함)를 송신 및/또는 수신하도록 구성되는 구성요소들의 조합 또는 하나의 구성요소를 포함할 수 있다. 라디오 인터페이스(1010)는 예컨대, 수신기(1012), 송신기(1016) 및/또는 주파수 합성기(1014)를 포함할 수 있다. 라디오 인터페이스(1010)는 바이어스 컨트롤, 크리스탈 발진기 및/또는 하나 이상의 안테나(1018)를 포함할 수 있다. 다른 실시예로, 라디오 인터페이스(1010)는 소정의 외부 전압-제어 발진기(voltage-controlled oscillators; VCOs), 표면 음파 필터(surface acoustic wave filter), 중간 주파수(IF) 필터 및/또는 RF 필터를 사용할 수 있다. 잠재적인 RF 인터페이스 디자인의 다양성으로 인해, 광범위한 설명은 생략된다.
베이스밴드 회로부(1020)는 신호를 수신 및/또는 송신하는 것을 프로세싱하기 위한 라디오 인터페이스(1010)와 통신할 수 있고, 예컨대 수신된 신호를 하향 변환하기 위한 아날로그-디지털 컨버터(1022) 및 신호를 송신을 위해 상향 변환하기 위한 디지털-아날로그 컨버터(1024)를 포함할 수 있다. 또한, 베이스밴드 회로부(1020)는 각각의 수신/송신 신호를 프로세싱하는 PHY 링크 계층을 위한 베이스밴드 또는 물리 계층(PHY) 프로세싱 회로(1056)를 포함할 수 있다. 베이스밴드 회로부(1020)는 예컨대, 매체 액세스 컨트롤(MAC)/데이터 링크 계층 프로세싱을 위한 프로세싱 회로(1028)를 포함할 수 있다. 베이스밴드 회로부(1020)는 예컨대, 하나 이상의 인터페이스(1034)를 통해 프로세싱 회로(1028) 및/또는 컴퓨팅 플랫폼(1030)과 통신하기 위한 메모리 컨트롤러(1032)를 포함할 수 있다.
일부 실시예로, PHY 프로세싱 회로(1026)는 통신 프레임, 가령 라디오 프레임을 구성 및/또는 해체하기 위해 가령 버퍼 메모리와 같은 추가 회로부와 조합되는 프레임 구성 및/또는 감지 모듈을 포함할 수 있다. 대안으로 또는 추가로, MAC 프로세싱 회로(1028)는 임의의 이러한 기능들의 프로세싱을 공유하거나 PHY 프로세싱 회로(1026)와는 독립적으로 이러한 프로세스를 수행할 수 있다. 일부 실시예로, MAC 및 PHY 프로세싱은 단일 회로로 통합될 수 있다.
컴퓨팅 플랫폼(1030)은 장치(1000)를 위한 컴퓨팅 기능을 제공할 수 있다. 도시되는 것처럼, 컴퓨팅 플랫폼(1030)은 프로세싱 컴포넌트(1040)를 포함할 수 있다. 베이스밴드 회로부(1020)에 추가로 또는 대안으로, 장치(1000)는 프로세싱 컴포넌트(1040)를 사용하여 메시징 웹 액세스 시스템(100) 및 로직 회로(1030)에 대한 동작 또는 로직을 프로세싱하는 것을 실행할 수 있다. 프로세싱 구성요소(1040) (및/또는 PHY(1026) 및/또는 MAC(1028))는 다양한 하드웨어 요소, 소프트웨어 요소 또는 둘 모두의 조합을 포함할 수 있다. 하드웨어 요소의 예들은 장치들, 로직 장치들, 컴포넌트들, 프로세서들, 마이크로프로세서들, 회로들, 프로세서 회로들, 회로 요소들(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적회로들, ASIC(application specific integrated circuits), PLD(programmable logic devices), DSP(digital signal processors), FPGA(field programmable gate array), 메모리 유닛들, 로직 게이트들, 레지스터들, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, API(application program interfaces), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 여부를 결정하는 것은 주어진 구현예를 위해 원하는 바에 따른 임의의 수의 요인들, 가령 소정의 계산 속도, 전력 레벨, 내열성, 프로세싱 사이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 디자인 또는 성능 제약에 따라 다양할 수 있다.
컴퓨팅 플랫폼(1030)은 다른 플랫폼 구성요소들(1050)을 더 포함할 수 있다. 다른 플랫폼 구성요소(1050)는 가령 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서(co-processors), 메모리 유닛, 칩셋, 컨트롤러, 주변기기, 인터페이스, 오실레이터, 타이밍 장치, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 등과 같은 공통의 컴퓨팅 요소들을 포함한다. 메모리 유닛의 예는 제한 없이, 하나 이상의 고속 메모리 유닛의 형태인 다양한 타입의 컴퓨터 판독가능 및 기계 판독가능한 저장 매체, 가령 ROM(read-only memory), RAM(random-access memory), DRAM(dynamic RAM), DDRAM(Double-Data-Rate DRAM), SDRAM(synchronous DRAM), SRAM(static RAM), PROM(programmable ROM), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 폴리머 메모리, 가령 강유전성 폴리머 메모리, 오보닉 메모리, 상변화 또는 강유전성 메모리, SONOS(silicon-oxide-nitride-oxide-silicon) 메모리, 자성 또는 광학 카드, RAID(Redundant Array of Independent Disks) 장치와 같은 장치들의 어레이, 솔리드 스테이트 메모리 장치(예컨대, USB 메모리, SSD(solid state drives)) 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체를 포함할 수 있다.
장치(1000)는 예컨대, 울트라-모바일 장치, 모바일 장치, 고정형 장치, M2M(machine-to-machine) 장치, PDA(personal digital assistant), 모바일 컴퓨팅 장치, 스마트폰, 전화, 디지털 전화, 셀룰러 전화, 사용자 장비, eBook 판독기, 핸드셋, 일방향 호출기, 쌍방향 호출기, 메시징 장치, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 서버, 서버 어레이 또는 서버 팜, 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 어플라이언스, 웹 어플라이언스, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 소비자 가전, 프로그램가능한 소비자 가전, 게임 장치, 텔레비전, 디지털 텔레비전, 셋톱 박스, 무선 액세스 포인트, 기지국, 노드 B, eNB(evolved node B), 가입자 스테이션, 모바일 가입자 센터, 라디오 네트워크 컨트롤러, 라우터, 허브, 게이트웨이, 브리지, 기계 또는 이들의 조합일 수 있다. 따라서, 본 명세서에 기술된 장치(1000)의 기능 및/또는 특정 구성은 적절하게 원하는 바에 따라 장치(1000)의 다양한 실시예들에서 포함되거나 생략될 수 있다. 일부 실시예에서, 장치(1000)는 본 명세서에서 인용하는 3GPP LTE 명세 및/또는 WMANs에 대한 IEEE 1002.16 표준 및/또는 다른 브로드밴드 무선 네트워크 중 하나 이상과 연관되는 프로토콜 및 주파수와 호환되도록 구성될 수 있으나, 실시예들은 이러한 관점으로 제한되지는 않는다.
장치(1000)의 실시예는 SISO(single input single output) 구조를 사용하여 구현될 수 있다. 하지만, 특정 구현예는 빔형성 또는 공간 분할 다중 액세스(spatial division multiple access; SDMA)를 위한 적응형 안테나 기술을 사용 및/또는 MIMO 통신 기술을 사용하여 송신 및/또는 수신을 하기 위한 다수의 안테나들(예컨대, 안테나(1018))를 포함할 수 있다.
장치(1000)의 구성요소 및 특징부는 별개의 회로부, ASICs(application specific integrated circuits), 로직 게이트 및/또는 단일 칩 구조의 임의의 조합을 사용하여 구현될 수 있다. 추가로, 장치(1000)의 특징부는 마이크로컨트롤러, 프로그램가능한 로직 어레이 및/또는 마이크로프로세서나 적절한 경우 전술한 것들의 임의의 조합을 사용하여 구현될 수 있다. 하드웨어, 펌웨어 및/또는 소프트웨어 요소는 본 명세서에서 "로직" 또는 "회로"라고 전체적으로 또는 개별적으로 지칭될 수 있음을 유의해야 한다.
도 10의 블록도에 도시된 예시적인 장치(1000)는 다수의 잠재적인 구현예의 하나의 기능적으로 설명된 예시를 표현할 수 있다. 따라서, 첨부되는 도면에 도시된 블록 기능의 분할, 생략 또는 포함은 이러한 기능을 구현하기 위한 하드웨어 구성요소, 회로, 소프트웨어 및/또는 요소가 실시예들에서 필수적으로 분할, 생략 또는 포함되어야 하는 것으로 추론되지 않는다.
컴퓨터 구현 방법은 모바일 장치 상의 메시징 애플리케이션에서 원격 웹 브라우저로부터 요청을 수신하는 단계; 메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하는 단계; 메시징 애플리케이션에서 메시징 업데이트를 수신하는 단계; 및 메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하는 단계를 포함하고, 요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다.
컴퓨터 구현 방법은 메시징 애플리케이션이 메시징 업데이트를 수신하는데 응답하여 자동으로 송신되는 메시징 업데이트를 더 포함할 수 있다.
컴퓨터 구현 방법은 모바일 장치 상의 웹 서버를 개시하는 단계를 더 포함할 수 있고, 암호화 연결은 웹 서버 및 원격 웹 브라우저 간의 것이다.
컴퓨터 구현 방법은 원격 웹 서버를 통해 송신되는 암호화 연결을 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 애플리케이션이 메시징 서비스와의 제1 사용자 계정과 연관되는 것을 더 포함할 수 있고, 원격 웹 서버는 미래의 웹 브라우저 세션을 위해 제1 사용자 계정에 대한 메시징 상태를 캐시하도록 동작할 수 있다.
컴퓨터 구현 방법은 원격 웹 서버에 캐시된 메시징 상태로의 접근은 모바일 장치 상의 메시징 애플리케이션에 의해 제어되는 것을 더 포함할 수 있다.
컴퓨터 구현 방법은 원격 웹 서버로 인증 해제 명령을 전송하는 단계를 더 포함할 수 있고, 인증 해제 명령은 원격 웹 서버로 원격 웹 브라우저의 인증을 해제한다.
컴퓨터 구현 방법은 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관되고, 메시징 업데이트는 제2 모바일 장치 상의 제2 메시징 애플리케이션으로부터 수신되고, 제2 메시징 애플리케이션은 메시징 서비스와의 제2 사용자 계정과 연관되고, 메시징 업데이트는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화의 메시징을 포함하는 것을 더 포함할 수 있다.
컴퓨터 구현 방법은 제1 사용자 계정에서 제2 사용자 계정으로 전송된 메시지 또는 제2 사용자 계정에서 제1 사용자 계정으로 전송된 메시지를 더 포함할 수 있다.
컴퓨터 구현 방법은 하나 이상의 텍스트 세그먼트, 이미지, 비디오 세그먼트 및 오디오 세그먼트를 더 포함할 수 있다.
컴퓨터 구현 방법은 미디어 세그먼트를 포함하는 메시지를 더 포함할 수 있는데, 미디어 세그먼트는 하나 이상의 비디오 세그먼트 및 오디오 세그먼트를 포함할 수 있고, 방법은: 원격 웹 브라우저로 메시징 업데이트를 송신하기 전에 원격 웹 브라우저가 지원하는 미디어 포맷으로 미디어 세그먼트를 변환하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 애플리케이션이 메시징 서비스와의 제1 사용자 계정과 연관되는 것을 더 포함할 수 있고, 방법은: 모바일 장치 상의 로컬 저장소로부터 제1 사용자 계정과 연관된 메시징 상태를 검색하는 단계; 및 원격 웹 서버로 메시징 상태를 송신하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 업데이트가 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응하는 것을 더 포함할 수 있고, 메시징 상태는 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화의 내역을 포함한다.
컴퓨터 구현 방법은 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함하는 메시지 상태를 더 포함할 수 있다.
컴퓨터 구현 방법은 제1 사용자 계정을 위한 연락처 리스트를 검색하는 단계; 및 연락처 리스트의 연락처의 메시징 활동에 기반하여 연락처 리스트의 일부를 결정하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 피어-투-피어 네트워크 연결을 통해 송신되는 암호화 연결을 더 포함할 수 있다.
컴퓨터 구현 방법은 블루투스 연결 및 Wi-Fi 연결 중 하나를 포함하는 피어-투-피어 연결을 더 포함할 수 있다.
컴퓨터 구현 방법은 모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하는 단계; 기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출하는 단계; 및 암호화 연결의 확립을 위하여 웹 세션 식별자에 기반하여 원격 웹 브라우저를 식별하는 단계를 더 포함할 수 있고, 기계 판독가능한 광학 라벨은 원격 웹 브라우저에 의해 디스플레이된다.
컴퓨터 구현 방법은 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관될 수 있고, 방법은: 암호화 연결을 통해 원격 웹 브라우저로부터 발신 메시지를 수신하는 단계; 및 발신 메시지를 제2 메시징 애플리케이션으로 송신하는 단계를 더 포함할 수 있고, 발신 메시지는 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관되고, 제2 메시징 애플리케이션은 제2 사용자 계정과 연관된다.
컴퓨터 구현 방법은 제2 메시징 애플리케이션으로부터의 발신 메시지의 확인 응답을 수신하는 단계; 및 발신 메시지의 확인 응답에 따라 원격 웹 브라우저(190)로 발신 메시지를 업데이트하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 업데이트를 원격 웹 브라우저에 송신하기 전에 메시징 업데이트에 시퀀스 번호를 할당하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 인증 정보를 원격 웹 브라우저에 송신하는 단계; 원격 웹 브라우저로부터 모바일 장치 상의 메시징 애플리케이션에서 제2 요청을 수신하는 단계, 원격 웹 브라우저를 위한 요청은 다시 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이고; 인증 정보를 사용하여 메시징 애플리케이션 및 원격 웹 브라우저 간의 제2 암호화 연결을 확립하는 단계를 더 포함할 수 있다.
장치는 모바일 장치 상의 프로세서 회로; 원격 웹 브라우저로부터 요청을 수신하고; 메시징 애플리케이션 및 원격 웹 브라우저 간의 암호화 연결을 확립하고; 메시징 애플리케이션에서 메시징 업데이트를 수신하고; 및 메시징 애플리케이션으로부터 원격 웹 브라우저로 메시징 업데이트를 송신하도록 프로세서 회로 상에서 동작하는 메시징 애플리케이션을 포함하고, 요청은 원격 웹 브라우저가 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이다. 장치는 본 명세서에 서술된 임의의 컴퓨터 구현 방법을 구현하도록 동작할 수 있다.
적어도 하나의 컴퓨터 판독가능한 저장 매체는 실행될 때 시스템으로 하여금 본 명세서에 서술된 임의의 컴퓨터 구현 방법을 수행하도록 야기하는 명령어를 포함할 수 있다.
일부의 실시예들은 "일실시예(one embodiment)" 또는 "하나의 실시예(an embodiment)"의 표현 및 그 파생어들을 사용하여 기술될 수 있다. 이들 용어는 그 실시예와 함께 기술되는 특정한 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함됨을 의미한다. 본 명세서의 곳곳에서 "일실시예로"라는 문구의 형태는 반드시 동일한 실시예를 일컫는 모든 것이 아니다. 게다가, 일부 실시예들은 표현 "결합된(coupled)" 및 "연결된"을 그들의 파생어들과 함께 사용하여 기술될 수 있다. 이들 용어는 서로에 대해 반드시 동의어로 의도되는 것은 아니다. 예컨대, 일부의 실시예들은 2 이상의 구성요소들이 서로에 대해 직접적인 물리적이거나 전기적으로 접촉함을 표시하기 위해 "연결되는(connected)" 및/또는 "결합되는(coupled)"의 용어를 사용하여 기술될 수 있다. 그러나, "결합되는(coupled)"이란 용어는 또한 2 이상의 구성요소들이 서로 직접 접촉하지는 않지만 여전히 함께 동작하거나 서로 상호작용함을 의미할 수 있다.
본 명세서에서 사용되는 표기법 및 명명법을 일반적으로 참조하여, 본 명세서의 상세한 설명은 컴퓨터 또는 컴퓨터의 네트워크에서 실행되는 프로그램 절차의 관점에서 제시될 수 있다. 이런 절차적 설명 및 표현은 당업자가 해당 기술분야의 다른 사람들에게 그 발명의 요지를 가장 효과적으로 전달하는데 사용된다.
절차는 본 명세서에서 일반적으로 소정의 결과로 이어지는 일관성 있는 일련의 동작들이라고 이해된다. 동작들은 물리량의 물리적 조작을 요구하는 동작들이다. 보통, 반드시 그런 것은 아니지만, 이런 물리량은 저장되고, 전달되며, 결합되고, 비교되며, 그렇지 않으면 조작될 수 있는 전기적 신호, 자기적 신호 또는 광학적 신호의 형태를 취한다. 원칙상 공통의 사용을 이유로 이런 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 일컫는 것이 때때로 간편하다고 판명되었다. 하지만, 이러한 것들 전부와 그와 유사한 용어들은, 적절한 물리적 수량과 연관되는 것이며, 이러한 수량들에 적용되는 편리한 라벨임을 유의해야 한다.
게다가, 수행되는 조작은 사람 운영자가 수행한 정신적인 동작과 통상 관련되는 가령 추가하기 또는 비교하기와 같은 용어들로 흔히 일컬어질 수 있다. 사람 운영자의 이런 능력이 하나 이상의 실시예들의 일부를 형성하는 본 명세서에 기술되는 임의의 동작에서 대부분의 경우 반드시 필요하거나 바람직한 것은 아니다. 그 대신, 동작들은 기계 동작들이다. 다양한 실시예들의 동작들을 수행하기 위한 유용한 기계는 범용의 디지털 컴퓨터 또는 유사한 장치들을 포함한다.
또한, 다양한 실시예들은 이런 동작들을 수행하기 위한 장치 또는 시스템에 관한 것이다. 이런 장치는 요구되는 목적으로 특수하게 구성될 수 있거나, 컴퓨터에 저장되는 컴퓨터 프로그램에 의해 선택적으로 활성되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 본 명세서에서 제시되는 절차가 본래적으로 특정 컴퓨터 또는 다른 장치에 관한 것은 아니다. 다양한 범용 기계는 본 명세서에 시사된 것에 따라 작성되는 프로그램으로 사용될 수 있거나, 요구되는 방법 단계들을 수행하도록 더 특수화된 장치를 구성하는 것이 간편하다고 판명될 수 있다. 다양한 이러한 기계들을 위해 요구되는 구조는 주어진 설명으로부터 나타날 것이다.
독자(reader)가 기술적 개시의 성질을 신속히 파악할 수 있게 하도록 본 명세서의 요약이 제공됨이 강조된다. 이런 요약의 제시가 청구항들의 범위 또는 의미를 해석하거나 제한하는데 사용되지 않는다고 이해될 것이다. 또한, 상술한 상세한 설명에서, 본 명세서를 간소화하기 위해 다양한 특징들이 하나의 실시예에서 함께 그룹화됨을 알 수 있다. 본 명세서의 이런 방법은 청구된 실시예들이 각 청구항에 명확히 기재되는 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로 해석되는 것은 아니다. 그 대신, 하기의 청구항들이 반영하는 바와 같이, 발명의 주제는 개시된 하나의 실시예의 모든 특징 미만 내에 있다. 따라서, 하기의 청구항들은 본 명세서에서 상세한 설명에 통합되며, 각 청구항은 개별 실시예로서 그 자체를 기초로 한다. 첨부된 청구항들에서, "포함하는(including)" 및 "여기서(in which)"란 용어는 각각의 "포함하는(comprising)" 및 "그 점에서(wherein)"이란 용어와 평이한 영어로 동등하게 각각 사용된다. 게다가, "제1의(first)", "제2의(second)", "제3의(third)" 등의 용어는 단지 라벨로 사용되며, 그 객체에 대해 수치적 요건을 부여하려는 의도는 아니다.
상술한 내용들은 본 발명의 개시된 구조의 예들을 포함한다. 물론, 컴포넌트들 및/또는 방법론들의 모든 구상가능한 조합을 기술하는 것은 불가능하지만, 당업자는 많은 추가의 조합과 치환이 가능함을 인식할 수 있다. 따라서, 새로운 구조는 첨부되는 청구항들의 정신 및 범위 내에 포함되는 이러한 모든 변경, 수정, 및 변형을 포괄하는 것으로 의도된다.

Claims (30)

  1. 모바일 장치 상의 메시징 애플리케이션으로 요청을 송신하는 단계로서, 상기 요청은 원격 웹 브라우저에서 발생하고, 상기 요청은 상기 원격 웹 브라우저가 상기 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이고, 상기 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관되는, 상기 요청을 송신하는 단계;
    웹 서버에서 상기 제1 사용자 계정에 대한 메시징 상태를 캐시하는 단계로서, 상기 웹 서버에 캐시된 상기 메시징 상태로의 접근은 상기 모바일 장치 상의 상기 메시징 애플리케이션에 의해 제어되는, 상기 메시징 상태를 캐시하는 단계;
    상기 메시징 애플리케이션 및 상기 원격 웹 브라우저 간의 암호화 연결을 확립하는 단계로서, 상기 암호화 연결을 확립하는 단계는:
    상기 모바일 장치의 지역 메시징 애플리케이션 및 상기 웹 서버 간의 제1 암호화 연결을 확립하는 단계; 및
    상기 원격 웹 브라우저 및 상기 웹 서버 간의 제2 암호화 통신 세션을 확립하는 단계를 포함하는, 상기 암호화 연결을 확립하는 단계;
    상기 웹 서버에서 상기 메시징 애플리케이션으로부터 메시징 업데이트를 수신하는 단계;
    상기 캐시에 상기 메시징 업데이트를 캐시하는 단계; 및
    상기 웹 서버가 상기 원격 웹 브라우저로 상기 메시징 업데이트를 송신하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 청구항 1에 있어서,
    상기 암호화 연결은 상기 웹 서버를 통해 송신되는, 컴퓨터 구현 방법.
  3. 삭제
  4. 청구항 1에 있어서,
    상기 메시징 애플리케이션은 상기 메시징 서비스와의 제1 사용자 계정과 연관되고, 상기 메시징 업데이트는 상기 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응하고, 상기 컴퓨터 구현 방법은:
    상기 모바일 장치 상의 로컬 저장소로부터 상기 제1 사용자 계정과 연관된 메시징 상태를 검색하는 단계; 및
    상기 원격 웹 브라우저로 상기 메시징 상태를 송신하는 단계를 더 포함하고,상기 메시징 상태는 상기 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함하고, 상기 메시징 상태는 상기 제1 사용자 계정 및 상기 제2 사용자 계정 간의 메시징 대화의 내역을 포함하는, 컴퓨터 구현 방법.
  5. 청구항 4에 있어서,
    상기 제1 사용자 계정을 위한 연락처 리스트를 검색하는 단계; 및
    상기 연락처 리스트의 연락처의 메시징 활동에 기반하여 상기 연락처 리스트의 일부를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  6. 청구항 1에 있어서,
    상기 모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하는 단계;
    상기 기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출하는 단계; 및
    암호화 연결의 확립을 위하여 상기 웹 세션 식별자에 기반하여 상기 원격 웹 브라우저를 식별하는 단계를 더 포함하고,
    상기 기계 판독가능한 광학 라벨은 상기 원격 웹 브라우저에 의해 디스플레이되는, 컴퓨터 구현 방법.
  7. 청구항 1에 있어서,
    상기 메시징 애플리케이션은 상기 메시징 서비스와의 제1 사용자 계정과 연관되고,
    암호화 연결을 통해 상기 원격 웹 브라우저로부터 발신 메시지를 수신하는 단계; 및
    상기 발신 메시지를 제2 메시징 애플리케이션으로 송신하는 단계를 더 포함하고,
    상기 발신 메시지는 상기 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관되고,
    상기 제2 메시징 애플리케이션은 상기 제2 사용자 계정과 연관되는, 컴퓨터 구현 방법.
  8. 프로세서 회로;
    모바일 장치 상의 메시징 애플리케이션으로 원격 웹 브라우저에서 발생하는 요청을 송신하고, 상기 요청은 상기 원격 웹 브라우저가 상기 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이고, 상기 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관되고,
    웹 서버에서 상기 제1 사용자 계정에 대한 메시징 상태를 캐시하고, 상기 웹 서버에 캐시된 상기 메시징 상태로의 접근은 상기 모바일 장치 상의 상기 메시징 애플리케이션에 의해 제어되고,
    상기 메시징 애플리케이션 및 상기 원격 웹 브라우저 간의 암호화 연결을 확립하고, 상기 암호화 연결의 확립은 상기 모바일 장치의 지역 메시징 애플리케이션 및 상기 웹 서버 간의 제1 암호화 연결 확립 및 상기 원격 웹 브라우저 및 상기 웹 서버 간의 제2 암호화 통신 세션 확립을 포함하고,
    상기 웹 서버에서 상기 메시징 애플리케이션으로부터 메시징 업데이트를 수신하고,
    상기 캐시에 상기 메시징 업데이트를 캐시하고,
    상기 웹 서버로부터 상기 원격 웹 브라우저로 상기 메시징 업데이트를 송신하도록 상기 프로세서 회로 상에서 동작하는 상기 웹 서버를 포함하는, 전자 장치.
  9. 청구항 8에 있어서,
    상기 암호화 연결은 상기 웹 서버를 통해 송신되는, 전자 장치.
  10. 삭제
  11. 청구항 8에 있어서,
    상기 메시징 애플리케이션은 상기 메시징 서비스와의 제1 사용자 계정과 연관되고, 상기 메시징 업데이트는 상기 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응하고, 상기 메시징 애플리케이션은 상기 모바일 장치 상의 로컬 저장소로부터 상기 제1 사용자 계정과 연관된 메시징 상태를 검색하고, 상기 원격 웹 브라우저로 상기 메시징 상태를 송신하도록 더 동작하고,
    상기 메시징 상태는 상기 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함하고, 상기 메시징 상태는 상기 제1 사용자 계정 및 상기 제2 사용자 계정 간의 메시징 대화의 내역을 포함하는, 전자 장치.
  12. 청구항 11에 있어서,
    상기 메시징 애플리케이션은 상기 제1 사용자 계정을 위한 연락처 리스트를 검색하고; 및 상기 연락처 리스트의 연락처의 메시징 활동에 기반하여 상기 연락처 리스트의 일부를 결정하도록 더 동작하는, 전자 장치.
  13. 청구항 8에 있어서,
    상기 메시징 애플리케이션은 상기 모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하고; 상기 기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출하고; 및 암호화 연결의 확립을 위하여 상기 웹 세션 식별자에 기반하여 상기 원격 웹 브라우저를 식별하도록 더 동작하고,
    상기 기계 판독가능한 광학 라벨은 상기 원격 웹 브라우저에 의해 디스플레이되는, 전자 장치.
  14. 청구항 8에 있어서,
    상기 메시징 애플리케이션은 상기 메시징 서비스와의 제1 사용자 계정과 연관되고, 상기 메시징 애플리케이션은 암호화 연결을 통해 상기 원격 웹 브라우저로부터 발신 메시지를 수신하고, 상기 발신 메시지를 제2 메시징 애플리케이션으로 송신하도록 더 동작하고,
    상기 발신 메시지는 상기 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관되고,
    상기 제2 메시징 애플리케이션은 상기 제2 사용자 계정과 연관되는, 전자 장치.
  15. 명령어를 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능한 저장 매체로서, 상기 명령어는 실행될 때, 시스템으로 하여금:
    모바일 장치 상의 메시징 애플리케이션으로 요청을 송신하고, 상기 요청은 원격 웹 브라우저에서 발생하고, 상기 요청은 상기 원격 웹 브라우저가 상기 메시징 애플리케이션으로부터 메시징 업데이트를 수신하기 위한 것이고, 상기 메시징 애플리케이션은 메시징 서비스와의 제1 사용자 계정과 연관되고,
    웹 서버에서 상기 제1 사용자 계정에 대한 메시징 상태를 캐시하고, 상기 웹 서버에 캐시된 상기 메시징 상태로의 접근은 상기 모바일 장치 상의 상기 메시징 애플리케이션에 의해 제어되고,
    상기 메시징 애플리케이션 및 상기 원격 웹 브라우저 간의 암호화 연결을 확립하고, 상기 암호화 연결의 확립은: 상기 모바일 장치의 지역 메시징 애플리케이션 및 상기 웹 서버 간의 제1 암호화 연결 확립 및 상기 원격 웹 브라우저 및 상기 웹 서버 간의 제2 암호화 통신 세션 확립을 포함하고,
    상기 웹 서버에서 상기 메시징 애플리케이션으로부터 메시징 업데이트를 수신하고,
    상기 캐시에 상기 메시징 업데이트를 캐시하고,
    상기 웹 서버가 상기 원격 웹 브라우저로 상기 메시징 업데이트를 송신하도록 하는, 비일시적 컴퓨터 판독가능한 저장 매체.
  16. 청구항 15에 있어서,
    상기 암호화 연결은 상기 웹 서버를 통해 송신되는, 비일시적 컴퓨터 판독가능한 저장 매체.
  17. 삭제
  18. 청구항 15에 있어서,
    상기 메시징 애플리케이션은 상기 메시징 서비스와의 제1 사용자 계정과 연관되고, 상기 메시징 업데이트는 상기 제1 사용자 계정 및 제2 사용자 계정 간의 메시징 대화에 대응하고, 상기 비일시적 컴퓨터 판독가능한 저장 매체는, 실행될 때, 시스템으로 하여금:
    상기 제1 사용자 계정을 위한 연락처 리스트를 검색하고,
    상기 연락처 리스트의 연락처의 메시징 활동에 기반하여 상기 연락처 리스트의 일부를 결정하고,
    상기 모바일 장치 상의 로컬 저장소로부터 상기 제1 사용자 계정과 연관된 메시징 상태를 검색하고,
    상기 원격 웹 브라우저로 상기 메시징 상태를 송신하도록 야기하는 명령어를 더 포함하고,
    상기 메시징 상태는 상기 제1 사용자 계정을 위한 연락처 리스트의 적어도 일부를 포함하고, 상기 메시징 상태는 상기 제1 사용자 계정 및 상기 제2 사용자 계정 간의 메시징 대화의 내역을 포함하는, 비일시적 컴퓨터 판독가능한 저장 매체.
  19. 청구항 15에 있어서,
    실행될 때, 시스템으로 하여금:
    상기 모바일 장치의 카메라 장치를 사용하여 기계 판독가능한 광학 라벨을 캡처하고;
    상기 기계 판독가능한 광학 라벨로부터 웹 세션 식별자를 추출하고; 및
    암호화 연결의 확립을 위하여 상기 웹 세션 식별자에 기반하여 상기 원격 웹 브라우저를 식별하도록 야기하는 명령어를 더 포함하고,
    상기 기계 판독가능한 광학 라벨은 상기 원격 웹 브라우저에 의해 디스플레이되는, 비일시적 컴퓨터 판독가능한 저장 매체.
  20. 청구항 15에 있어서,
    상기 메시징 애플리케이션은 상기 메시징 서비스와의 제1 사용자 계정과 연관되고, 상기 비일시적 컴퓨터 판독가능한 저장 매체는, 실행될 때, 시스템으로 하여금:
    암호화 연결을 통해 상기 원격 웹 브라우저로부터 발신 메시지를 수신하고,
    상기 발신 메시지를 제2 메시징 애플리케이션으로 송신하도록 야기하는 명령어를 더 포함하고,
    상기 발신 메시지는 상기 메시징 서비스의 제2 사용자 계정과의 메시징 대화와 연관되고,
    상기 제2 메시징 애플리케이션은 상기 제2 사용자 계정과 연관되는, 비일시적 컴퓨터 판독가능한 저장 매체.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020177022038A 2015-01-13 2015-04-03 모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술 KR102276159B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562102815P 2015-01-13 2015-01-13
US62/102,815 2015-01-13
US14/676,881 2015-04-02
US14/676,881 US9992258B2 (en) 2015-01-13 2015-04-02 Techniques for managing a remote web client from an application on a mobile device
PCT/US2015/024187 WO2016114806A1 (en) 2015-01-13 2015-04-03 Techniques for managing a remote web client from an application on a mobile device

Publications (2)

Publication Number Publication Date
KR20170115059A KR20170115059A (ko) 2017-10-16
KR102276159B1 true KR102276159B1 (ko) 2021-07-12

Family

ID=56368376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177022038A KR102276159B1 (ko) 2015-01-13 2015-04-03 모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술

Country Status (11)

Country Link
US (2) US9992258B2 (ko)
EP (2) EP3046292B1 (ko)
JP (2) JP6526208B6 (ko)
KR (1) KR102276159B1 (ko)
CN (1) CN108419452B (ko)
AU (1) AU2015377217B2 (ko)
BR (1) BR112017014984A2 (ko)
CA (1) CA2973559A1 (ko)
IL (1) IL253379B (ko)
MX (1) MX370797B (ko)
WO (1) WO2016114806A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US9559995B1 (en) * 2015-10-19 2017-01-31 Meteors Information Systems Limited System and method for broadcasting contents from web-based browser to a recipient device using extensible messaging and presence protocol (XMPP)
US9887975B1 (en) 2016-08-03 2018-02-06 KryptCo, Inc. Systems and methods for delegated cryptography
CN106790341B (zh) * 2016-09-08 2019-11-22 大连海事大学 移动Web服务应用的自适应部署方法
EP3364330B8 (en) * 2017-02-17 2021-04-21 WhatsApp LLC Methods and systems for processing an ephemeral content message
US10681202B2 (en) 2017-02-17 2020-06-09 Whatsapp Inc. Methods and systems for processing an ephemeral content message
US10706843B1 (en) * 2017-03-09 2020-07-07 Amazon Technologies, Inc. Contact resolution for communications systems
EP3382624A1 (en) * 2017-03-28 2018-10-03 WhatsApp, Inc. Techniques for templated messages
US10547577B2 (en) 2017-03-28 2020-01-28 Whatsapp Inc. Techniques for templated messages
US10536521B2 (en) * 2017-07-12 2020-01-14 Sap Se Web share
US10671375B1 (en) * 2018-11-09 2020-06-02 Capital One Services, Llc Tokenized mobile device update systems and methods
US11425205B1 (en) * 2019-07-16 2022-08-23 Whatsapp Inc. Methods and systems for transmitting an image in chunks
US11646983B1 (en) 2019-07-16 2023-05-09 Whatsapp Llc Methods and systems for transmitting an image with thumbnail data
US11651099B2 (en) * 2021-03-19 2023-05-16 Cloudflare, Inc. Persisting encrypted remote browser data at a local browser for use in a remote browser

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011115989A2 (en) * 2010-03-19 2011-09-22 Microsoft Corporation Dynamic contacts list management
US20120028615A1 (en) * 2010-08-02 2012-02-02 Microsoft Corporation Two-way communication of events between a mobile device and remote client
US20120079043A1 (en) * 2010-09-27 2012-03-29 Research In Motion Limited Method, apparatus and system for accessing an application across a plurality of computers

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983308B1 (en) * 1998-11-19 2006-01-03 Openwave Systems, Inc. Mail synchronization of remote and local mail systems
US6999912B2 (en) * 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US6968362B2 (en) 2001-12-28 2005-11-22 Bellsouth Intellectual Property Corp. Systems and methods for remote access to a display-based bulletin board in a shared user environment
US7836015B1 (en) * 2002-05-02 2010-11-16 Access Systems Americas, Inc. Fast synchronization of computer databases using coverage status
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
US7640293B2 (en) 2002-07-17 2009-12-29 Research In Motion Limited Method, system and apparatus for messaging between wireless mobile terminals and networked computers
KR100516504B1 (ko) * 2003-09-30 2005-09-26 (주)잉카엔트웍스 네트워크를 통하여 개인 휴대 단말기와 데이터 동기화를수행하기 위한 방법 및 그 시스템
KR100557192B1 (ko) * 2004-04-06 2006-03-03 삼성전자주식회사 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
US7707292B2 (en) * 2005-03-18 2010-04-27 Yahoo! Inc. Method for signing into a mobile device over a network
US8392836B1 (en) * 2005-07-11 2013-03-05 Google Inc. Presenting quick list of contacts to communication application user
US9479468B2 (en) * 2005-07-11 2016-10-25 Google Inc. Presenting instant messages
US7506029B2 (en) 2005-08-03 2009-03-17 Yahoo! Inc. Establishing communication between a messaging client and a remote device running a browsing application
US8751582B1 (en) * 2005-08-22 2014-06-10 Google Inc. Managing presence subscriptions for messaging services
JP2007133743A (ja) * 2005-11-11 2007-05-31 Nippon Telegr & Teleph Corp <Ntt> サービス提供サーバおよび認証システム
US8185644B2 (en) * 2005-12-30 2012-05-22 Honeywell International Inc. Method and apparatus for using SMS short code messaging to facilitate the transmission of a status update for a security system
US20080120696A1 (en) * 2006-11-21 2008-05-22 Aditya Desaraju Method and Product for Generating Network and Server Analytics
US7774356B2 (en) * 2006-12-04 2010-08-10 Sap Ag Method and apparatus for application state synchronization
US8850451B2 (en) * 2006-12-12 2014-09-30 International Business Machines Corporation Subscribing for application messages in a multicast messaging environment
US20080155112A1 (en) * 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds
CN101257375B (zh) * 2006-12-31 2012-08-08 华为技术有限公司 实现多终端的消息同步的方法及装置
JP2008171035A (ja) * 2007-01-05 2008-07-24 Hewlett-Packard Development Co Lp サービス提供システム、サービス提供装置およびその方法。
US20080248834A1 (en) 2007-04-03 2008-10-09 Palm, Inc. System and methods for providing access to a desktop and applications of a mobile device
US20080267067A1 (en) * 2007-04-30 2008-10-30 Gabriel Salazar Controlling the flow of data updates between a receiving station and a sending station
ES2333633B1 (es) * 2007-05-07 2011-02-10 Vodafone España, S.A. Acceso desde un terminal remoto a la informacion de un terminal movil.
KR101351821B1 (ko) * 2007-06-11 2014-01-16 에스케이플래닛 주식회사 이동단말기로 콘텐츠리스트 전송을 통한 콘텐츠 전송 방법,및 그를 위한 서버
US9143560B2 (en) * 2007-06-19 2015-09-22 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
US20090006559A1 (en) * 2007-06-27 2009-01-01 Bhogal Kulvir S Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment
JP5529033B2 (ja) * 2007-12-05 2014-06-25 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 端末の出力を同期させる方法およびシステム
CN101494534A (zh) * 2008-01-21 2009-07-29 华为技术有限公司 一种数据同步方法、装置及系统
CN101257431B (zh) * 2008-03-11 2010-09-08 网经科技(苏州)有限公司 逆向安全通道远程设备管理模式
CA2665803C (en) * 2008-05-14 2015-12-29 Canamex Corporation Method for establishing bi-directional messaging communications with wireless devices and with remote locations over a network
US8407338B2 (en) * 2008-09-12 2013-03-26 Salesforce.Com Methods and systems for polling an on demand service
US8112537B2 (en) * 2008-09-29 2012-02-07 Apple Inc. Trickle sync protocol
JP2012523629A (ja) * 2009-04-07 2012-10-04 エモーション グループ, インク. 同期通信装置を備えたソーシャルネットワーキングプラットフォーム
EP2251801A3 (en) * 2009-05-13 2010-12-29 Huawei Technologies Co., Ltd. Method, terminal and server for transcoding data
CN101925047B (zh) * 2009-06-11 2014-09-10 中兴通讯股份有限公司 用户数据融合网络系统及订阅通知的实现方法
US20110010643A1 (en) * 2009-07-07 2011-01-13 Samsung Electronics Co., Ltd. Device and method for performing reomote internet browsing between portable devices
CN101635728B (zh) * 2009-09-02 2012-09-26 中兴通讯股份有限公司 内容分发网络中数据同步的方法及系统
US8195824B2 (en) * 2009-10-28 2012-06-05 Samsung Electronics Co., Ltd User service profile-based plug-in update method and apparatus for internet protocol television service
US8990404B2 (en) * 2009-11-16 2015-03-24 Apple Inc. Directing data in a web browser from a portable electronic device
WO2011075825A1 (en) * 2009-12-21 2011-06-30 Kik Interactive, Inc. Systems and methods for accessing and controlling media stored remotely
US20110289155A1 (en) * 2010-05-20 2011-11-24 Kambiz David Pirnazar Method and Apparatus for the Implementation of a Real-Time, Sharable Browsing Experience
US20110319056A1 (en) * 2010-06-29 2011-12-29 Enterproid Hk Ltd Remote access to a mobile device
US8954515B2 (en) * 2010-06-30 2015-02-10 Alcatel Lucent Method and apparatus for reducing application update traffic in cellular networks
GB201014613D0 (en) * 2010-09-02 2010-10-13 Skype Ltd Instant messaging
CA2809899A1 (en) * 2010-09-07 2012-03-15 Apptui Inc. Control of computing devices and user interfaces
US8464324B2 (en) * 2010-12-06 2013-06-11 Mobilesphere Holdings LLC System and method for identity verification on a computer
KR20130035603A (ko) * 2011-09-30 2013-04-09 삼성전자주식회사 적어도 하나의 어플리케이션 데이터를 동기화하기 위한 장치 및 방법
US9294307B2 (en) * 2011-10-07 2016-03-22 Microsoft Technology Licensing, Llc Synchronization of conversation data
EP2777183B1 (en) * 2011-11-11 2016-08-10 Telefonaktiebolaget LM Ericsson (publ) Sync interval determination
CN103152266B (zh) * 2011-12-07 2016-08-03 华为技术有限公司 一种网络设备间的同步方法、网络设备及系统
CN103327037B (zh) * 2012-03-20 2017-09-29 中兴通讯股份有限公司 数据同步方法及装置
KR102001544B1 (ko) * 2012-03-27 2019-07-18 삼성전자주식회사 통신 시스템에서 사용자 인증을 대행하는 장치 및 방법
US9113283B2 (en) * 2012-04-03 2015-08-18 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for event notification framework in a machine-to-machine (M2M) context
KR101263423B1 (ko) * 2012-10-19 2013-05-10 김봉주 이동 사용자 단말기를 이용한 로그인 확인 및 승인 서비스 구현 방법
US9215195B2 (en) * 2012-11-12 2015-12-15 Tencent Technology (Shenzhen) Company Limited Method and apparatus for message synchronization in instant messaging applications
CN103118085A (zh) * 2012-12-04 2013-05-22 上海师范大学 一种基于互联网的串口服务器系统
KR101487583B1 (ko) 2012-12-07 2015-01-30 주식회사 다음카카오 퍼스널 컴퓨터를 활용하는 모바일 인스턴트 메시징 서비스 방법
KR102015534B1 (ko) * 2012-12-24 2019-08-28 삼성전자주식회사 복수의 단말들간의 메시지 싱크 방법, 기계로 읽을 수 있는 저장 매체 및 서버
US9471697B2 (en) * 2012-12-27 2016-10-18 Intel Corporation URI-Based host to mobile device setup and pairing
CN103916373A (zh) * 2013-01-07 2014-07-09 腾讯科技(深圳)有限公司 数据更新的方法、服务器、客户端以及系统
US9559992B2 (en) * 2013-04-28 2017-01-31 Tencent Technology (Shenzhen) Company Limited System and method for updating information in an instant messaging application
CN104065561B (zh) * 2013-04-28 2015-11-25 腾讯科技(深圳)有限公司 一种即时通讯方法、终端和系统
US9582561B2 (en) * 2013-07-16 2017-02-28 Sap Se Size-based data synchronization
US9197612B2 (en) * 2013-08-08 2015-11-24 Symbol Technologies, Llc Apparatus and method for deploying encrypted mobile off-line web applications
US9264890B2 (en) * 2013-09-05 2016-02-16 Htc Corporation Mobile device configuration system and method
US9426140B2 (en) * 2013-09-09 2016-08-23 Layer, Inc. Federated authentication of client computers in networked data communications services callable by applications
US20150088763A1 (en) * 2013-09-23 2015-03-26 MobilePoint Corporation Conversation and opportunity message sharing
CN104581611A (zh) * 2013-10-25 2015-04-29 中兴通讯股份有限公司 一种基于m2m的信息处理方法和m2m业务平台
US9274828B2 (en) * 2013-11-03 2016-03-01 Maestrano Pty Ltd. Systems and methods for event driven object management and distribution among multiple client applications
CN103618800B (zh) * 2013-12-05 2017-11-03 华为技术有限公司 订阅通知的实现方法和装置
CN104754560B (zh) * 2013-12-30 2018-11-30 华为终端(东莞)有限公司 一种位置隐私保护方法、装置及系统
US10122665B2 (en) * 2014-03-06 2018-11-06 Dropbox, Inc. Distributed synchronization data in a message management service
CN105100906A (zh) * 2014-04-17 2015-11-25 海信集团有限公司 一种播放控制方法和设备
US20160043981A1 (en) * 2014-08-11 2016-02-11 Facebook, Inc. Techniques for a persistent queue for message syncing
US20160088064A1 (en) * 2014-09-19 2016-03-24 Google Inc. Storing and transferring application data between devices
US11477261B2 (en) * 2014-09-29 2022-10-18 D2L Corporation System and method for rendering electronic content
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US9882862B2 (en) * 2015-05-01 2018-01-30 Facebook, Inc. Techniques for coordinating a messaging experience across platforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011115989A2 (en) * 2010-03-19 2011-09-22 Microsoft Corporation Dynamic contacts list management
US20120028615A1 (en) * 2010-08-02 2012-02-02 Microsoft Corporation Two-way communication of events between a mobile device and remote client
US20120079043A1 (en) * 2010-09-27 2012-03-29 Research In Motion Limited Method, apparatus and system for accessing an application across a plurality of computers

Also Published As

Publication number Publication date
JP2019149193A (ja) 2019-09-05
JP6594579B2 (ja) 2019-10-23
US20160205169A1 (en) 2016-07-14
EP3046292A1 (en) 2016-07-20
AU2015377217B2 (en) 2019-05-02
AU2015377217A1 (en) 2017-08-03
KR20170115059A (ko) 2017-10-16
CA2973559A1 (en) 2016-07-21
IL253379A0 (en) 2017-09-28
JP6526208B2 (ja) 2019-06-05
US9992258B2 (en) 2018-06-05
CN108419452B (zh) 2020-12-11
JP6526208B6 (ja) 2019-07-24
EP3576355A1 (en) 2019-12-04
CN108419452A (zh) 2018-08-17
EP3046292B1 (en) 2019-08-28
WO2016114806A1 (en) 2016-07-21
US10212213B1 (en) 2019-02-19
BR112017014984A2 (pt) 2018-03-20
MX370797B (es) 2020-01-03
IL253379B (en) 2019-10-31
MX2017009096A (es) 2018-04-20
JP2018511844A (ja) 2018-04-26

Similar Documents

Publication Publication Date Title
KR102276159B1 (ko) 모바일 장치 상의 애플리케이션에서 원격 웹 클라이언트를 관리하는 기술
US11005708B1 (en) Techniques to perform the dynamic configuration of load-balanced relay operations
US10917374B2 (en) Techniques to visualize messaging flow
US20170178373A1 (en) Techniques to configure device display
US10601762B2 (en) Techniques for coordinating a messaging experience across platforms
US11678136B1 (en) Techniques for sharing a device location via a messaging system
US11165899B1 (en) Techniques to manage contact records
US9948580B2 (en) Techniques to replicate data using uploads from messaging clients
US10157102B2 (en) Techniques to scan and reorganize media files to remove gaps
US20190068678A1 (en) Techniques to dynamically engage an all-intra-coded mode for streaming video encoding
US10313503B2 (en) Techniques to reconfigure messaging clients during contact information changes
EP4027257A1 (en) Methods and systems for end-to-end encrypted message history exchange
US11171900B1 (en) Techniques for media endpoint configuration
JP2020507962A (ja) 複数のステップサイズによる鍵ラチェットのための技法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant