KR101580023B1 - 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템 - Google Patents

컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템 Download PDF

Info

Publication number
KR101580023B1
KR101580023B1 KR1020137026662A KR20137026662A KR101580023B1 KR 101580023 B1 KR101580023 B1 KR 101580023B1 KR 1020137026662 A KR1020137026662 A KR 1020137026662A KR 20137026662 A KR20137026662 A KR 20137026662A KR 101580023 B1 KR101580023 B1 KR 101580023B1
Authority
KR
South Korea
Prior art keywords
mobile device
information
web server
cpw
end portion
Prior art date
Application number
KR1020137026662A
Other languages
English (en)
Other versions
KR20130129312A (ko
Inventor
맥슨 알. 윌러
윌리엄 엔. 2세 캠프
리엔 티. 마미츠카
크리스토퍼 에이. 미트라
스캇 아이. 퓨터만
카이 웨이
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 KR20130129312A publication Critical patent/KR20130129312A/ko
Application granted granted Critical
Publication of KR101580023B1 publication Critical patent/KR101580023B1/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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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/55Push-based network services
    • 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/562Brokering proxy services
    • 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
    • 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
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

일 실시예에서, 제1 컨텐츠 프로바이더 웹사이트와 모바일 디바이스 사이의 통신을 용이하게 하는 방법은 웹 서버에서 제1 네트워크를 통해 컨텐츠 프로바이더 웹사이트로부터 어떠한 이메일 메시지도 포함하지 않는 제1 정보를 획득하는 단계를 포함하는데, 이 경우 획득하는 단계는 웹 서버의 백 엔드 부분에 의해 컨텐츠 프로바이더 웹사이트로부터 제1 정보를 풀링하는 단계를 포함한다. 또한, 본 방법은 처리된 제1 정보를 제공하기 위해 웹 서버의 백 엔드 부분 및 프런트 엔드 부분 중 적어도 하나에서 제1 정보를 처리하는 단계 및 제1 정보의 새로운 컨텐츠에 대한 통지를 모바일 디바이스에 의한 수신을 위해 웹 서버의 프런트 엔드 부분으로부터 제1 네트워크나 제2 네트워크 중 하나에 확립된 푸시 채널쪽으로 전송하는 단계를 포함한다.

Description

컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템{METHOD AND SYSTEM FOR INTERMEDIATING CONTENT PROVIDER WEBSITE AND MOBILE DEVICE}
본 발명은 모바일 디바이스를 포함하는 통신에 관한 것이고, 좀더 구체적으로는, 그러한 모바일 디바이스와 인터넷 컨텐츠 프로바이더 웹사이트 사이의 통신에 관한 것이다.
소셜 네트워킹 웹사이트(SNW), 뉴스 피드, 음악 및 사진 웹사이트와 같은, 컨텐츠 프로바이더 웹사이트(CPW) 뿐만 아니라 b2b(business-to-business) 또는 b2c(business-to-consumer) 웹사이트와 같은 다른 유형의 웹사이트는, 뉴스, 날씨, 개인 및/또는 기업 정보, 사진, 비디오, 및 노래와 같은, 다양한 형태의 데이터에 대한 다운로드 및/또는 업로드(예를 들어, 포스팅)를 허용함으로써 사람들 사이에서 그리고 사람들의 집단 사이에서 대인 관계 생성과 유지를 용이하게 하는 인터랙티브 웹사이트(interactive websites)이다. 한 사용자에 의한 CPW로의 데이터 업로드는 다른 사용자가 업로드된 데이터에 액세스하는 것을 그리고/또는 업로드된 데이터를 다운로드하는 것을 허용할 수 있다. 통상적으로, SNW는 수많은 사용자에게, 개개 사용자를 각각 식별하고 업로드된 데이터가 개개 공간과 연관될 수 있게 하는 개개의 개인 또는 전문 공간을 생성하기 위한 아키텍처를 제공한다.
CPW는 흔히 인터넷형 네트워크에 의해 CPW와 접촉 중인 다양하고 상이한 디바이스 유형들 중 하나를 작동 중인 사용자와 통신 중일 수 있다. 점점 더, 사용자는 CPW와 상호 작용하는데 모바일 디바이스를 이용한다. 그와 같은 통신 활동이 증가함에 따라, 그러한 통신 활동을 수행함에 있어서 품질 및/또는 사용자-편의를 향상시키기 위한 증가된 수요가 발생하고 있다. 더 나아가, 모바일 디바이스의 배터리 성능을 증진하고 모든 디바이스에 대한 데이터 전송을 감소시켜 그러한 통신 활동의 효율성을 증진하기 위한 증가된 수요도 발생하고 있다.
따라서, 개선된 모바일 디바이스 및/또는 다른 디바이스 형태로 그리고/또는 모바일 디바이스가 CPW와 통신할 수 있게 하는 개선된 방법의 형태로, 앞서 언급된 발생 중인 수요 중 하나 이상을, 적어도 부분적으로, 해결하는데 도움이 될 향상이 제공될 수 있다면 바람직할 것이다.
적어도 하나의 실시예에서, 본 발명은 제1 컨텐츠 프로바이더 웹사이트와 모바일 디바이스 사이의 통신을 용이하게 하는 방법에 관한 것이다. 본 방법은 웹 서버에서 제1 네트워크를 통해 컨텐츠 프로바이더 웹사이트로부터 제1 정보를 획득하는 단계를 포함하는데, 제1 정보는 어떠한 이메일 메시지도 포함하지 않고, 획득하는 단계는 웹 서버의 백 엔드 부분(back end portion)에 의해 컨텐츠 프로바이더 웹사이트로부터 제1 정보를 풀링하는 단계를 포함한다. 또한, 본 방법은 처리된 제1 정보를 제공하기 위해 웹 서버의 백 엔드 부분 및 프런트 엔드 부분(front end portion) 중 적어도 하나에서 제1 정보를 처리하는 단계 및 제1 정보에서의 새로운 컨텐츠에 대한 통지를, 모바일 디바이스에 의한 수신을 위해 웹 서버의 프런트 엔드 부분으로부터 제1 네트워크나 제2 네트워크에 확립된 푸시 채널(push channel)쪽으로 전송하는 단계를 포함한다.
추가적으로, 적어도 하나의 추가 실시예에서, 본 방법은 제1 소셜 네트워킹 웹사이트와 모바일 디바이스 사이의 통신을 용이하게 하는 방법에 관한 것이다. 본 방법은 웹 서버의 백 엔드 부분에서 제1 네트워크를 통해 소셜 네트워킹 웹사이트로부터 제1 정보를 획득하는 단계 및 처리된 제1 정보를 제공하기 위해 웹 서버에서 제1 정보를 처리하는 단계를 포함하는데, 처리하는 단계는 적어도 한 부분(at least one portion)에 의해 충족되는 적어도 하나의 중요도 레벨(importance level)에 기초해 제1 정보의 적어도 한 부분을 필터링하는 단계를 포함하고, 적어도 한 부분은 연락처 정보, 상태 정보, 및 뉴스 정보 중 적어도 하나를 포함한다. 본 방법은, 제1 정보에서의 새로운 컨텐츠에 대한 통지를, 모바일 디바이스에 의한 수신을 위해 웹 서버의 프런트 엔드 부분으로부터 제1 네트워크나 제2 네트워크에 확립된 푸시 채널쪽으로 전송하는 단계를 더 포함한다. 통지가 관련되는 새로운 컨텐츠가 상태 정보를 포함하면 통지는 높은 우선순위이고, 통지가 관련되는 새로운 컨텐츠가 적어도 하나의 다른 정보 유형을 포함하면 통지는 낮은 우선순위이다.
더 나아가, 적어도 하나의 추가 실시예에서, 본 발명은 제1 소셜 네트워킹 웹사이트와 모바일 디바이스 사이의 통신을 용이하게 하는 방법에 관한 것이다. 본 방법은 모바일 디바이스로부터 제1 데이터를 수신하는 단계 및 모바일 디바이스로부터 제2 데이터를 수신하는 단계를 포함하는데, 제1 및 제2 데이터 중 하나는 컨텐츠 데이터이고 제1 및 제2 데이터 중 다른 하나는 그것에 의해 모바일 디바이스가 제1 소셜 네트워킹 사이트에 로그인될 수 있는 적어도 하나의 식별자를 포함한다. 또한, 본 방법은 적어도 하나의 식별자를 제1 소셜 네트워킹 사이트에 의한 수신을 위해 제1 네트워크쪽으로 전송하는 단계를 포함하는데, 그것에 의해 서버는 모바일 디바이스를 위한 프록시로서 제1 소셜 네트워킹 사이트에 로그인할 수 있다.
또 다른 실시예에서, 본 발명은 제1 소셜 네트워킹 웹사이트와 모바일 디바이스 사이의 통신을 용이하게 하는 방법에 관한 것이다. 본 방법은 웹 서버에서 제1 네트워크를 통해 소셜 네트워킹 웹사이트로부터 제1 정보를 획득하는 단계 및 처리된 제1 정보를 제공하기 위해 웹 서버에서 제1 정보를 처리하는 단계를 포함하는데, 처리된 제1 정보는 제1 정보와 소셜 네트워킹 웹사이트로부터 앞서 수신된 선행 정보 사이의 차이를 지시한다. 본 방법은 모바일 디바이스에 의한 수신을 위해 웹 서버로부터 통지를 전송하는 단계를 더 포함한다. 처리하는 단계가 제1 정보의 제1 부분이 높은 중요도 레벨을 가진다고 판정하는 단계를 포함하는 경우라면, 통지를 전송하는 단계는 처리된 제1 정보에 대한 높은 우선순위 통지를 웹 서버와 모바일 디바이스 사이에 존재하는 푸시 채널쪽으로 사실상 즉각적으로 제공하는 단계를 포함한다. 또한, 본 방법은 모바일 디바이스로부터 다운로드 요청을 대기하는 단계를 포함한다.
더 나아가, 적어도 하나의 추가 실시예에서, 본 발명은 모바일 디바이스와 제1 소셜 네트워킹 사이트 및 제2 소셜 네트워킹 사이트를 포함하는 복수개 소셜 네트워킹 웹사이트 사이의 통신을 용이하게 하는 방법에 관한 것이다. 본 방법은 제1 소셜 네트워킹 웹사이트로부터의 제1 정보 및 제2 소셜 네트워킹 웹사이트로부터의 제2 정보를 적어도 하나의 제1 네트워크에 의해 웹 서버쪽으로 풀링하는 단계를 포함한다. 본 방법은 처리된 제1 및 제2 정보를 발생시키기 위해 웹 서버에서 제1 및 제2 정보를 처리하는 단계 및 처리된 제1 및 제2 정보의 가용성에 대한 통지를 모바일 디바이스에 의한 수신을 위해 웹 서버로부터 전송하는 단계를 더 포함한다. 처리된 제1 및 제2 정보는 모바일 디바이스가 처리된 제1 및 제2 정보를 요청하는 것을 그리고 제1 및 제2 소셜 네트워킹 사이트에 의해 제공되는 바와 같은 제1 및 제2 정보를 위한 특정 포매팅 특징과 적어도 실질적으로 무관한 표준화된 방식으로 수신될 때 처리된 제1 정보 및 처리된 제2 정보 모두를 디스플레이하는 것을 허용하도록 구성된다.
도 1은 복수개 컨텐츠 프로바이더 웹사이트와 통신 중인 복수개 모바일 디바이스를 포함하는 예시적 통신 시스템을 개략적인 형태로 나타내는데, 이 경우 일부 통신은 중개 웹 서버(intermediary web server)를 통해 발생하고;
도 2는 도 1의 모바일 디바이스 중 하나의 예시적 컴포넌트를 나타내는 블록도이며;
도 3은 도 1의 중개 웹 서버에 대한 예시적 컴포넌트를 나타내는 블록도이고;
도 4 내지 도 9는 도 1의 중개 웹 서버 및 모바일 디바이스의 작동에 대한 다양한 예시적 단계를 나타내는 흐름도이다.
도 1을 참조하면, 예시적 통신 시스템(100)의 블록도가 간략화된 도식 형태로 표시된다. 표시된 바와 같이, 통신 시스템(100)은 이 실시예에서 3개의 모바일 디바이스(102)를 포함하는데, 그 중 하나는 통신 링크(105)를 통해, 현재의 실시예에서 웹 서버(104)인, 서버와 통신 중인 것으로 표시된다. 모바일 디바이스(102)는 각각 사람(또는 사용자)에 의해 또는 어쩌면 통신 능력을 소망하거나 필요로 하는 다른 엔티티(예를 들어, 노트북 또는 다른 컴퓨터)에 의해 작동되는 통신 디바이스를 표현한다. 일부 실시예에서, 예를 들어, 모바일 디바이스는 셀룰러폰, PDA(personal digital assistants)와 같은 다른 무선 디바이스, 및/또는 네트워크에 접속할 수 있고 네트워크와 통신할 수 있는 랩탑 및 데스크탑 컴퓨터와 같은 디바이스 중 어떤 것일 수 있다.
통신 시스템(100)은 추가적으로 3개의 컨텐츠 프로바이더 웹사이트(CPW;106)를 포함하는 것으로 표시되는데, 그 중 하나는 통신 링크(108)를 통해 중개 웹 서버(104)와 통신 중인 것으로 표시된다. 더 나아가, 웹 서버(104)와 통신 중인 모바일 디바이스들(102) 중 하나가 또한 웹 서버와 통신 중인 CPW(106)중 하나와, 웹 서버(104)의 중개없이, 직접적으로 통신할 수 있게 하는 통신 링크(110)도 제공된다. 모바일 디바이스(102) 중 하나와 CPW(106) 중 하나만이 웹 서버(104)와 통신 중인 것으로 표시되지만, 시점 또는 작동 환경에 따라, 모바일 디바이스(102) 및 CPW(106) 중 임의의 것 또는 모두가 웹 서버와 통신 중일 수 있다는 것을 이해할 수 있을 것이다. 마찬가지로, 시점 또는 작동 환경에 따라, 어떤 모바일 디바이스(102)라도 링크(110)와 같은 직접 통신 링크에 의해 어떤 CPW(106)와도 통신할 수 있다.
도 1에는 3개의 모바일 디바이스(102)가 표시되지만, 다른 실시예에서는 하나의 모바일 디바이스만이 웹 서버(104)와 통신 중이거나, 다른 방법으로 임의 갯수의 모바일 디바이스가 웹 서버(104)와 통신 중일 수 있다. 마찬가지로, 도 1에는 3개의 CPW(106)가 표시되지만, 다른 실시예에서는 하나의 CPW만이 웹 서버(104)와 통신 중이거나, 다른 방법으로 임의 갯수의 CPW가 웹 서버(104)와 통신 중일 수 있다. 추가적으로, 다른 실시예에서는 임의 갯수의 모바일 디바이스(들)가 링크(110)와 같은 직접 통신 링크에 의해 임의 갯수의 CPW(들)와 통신 중일 수 있다. 다시 말해, 도 1은 웹 서버 인터페이스를 통해 서로 간접적으로 또는 서로 직접적으로 통신 중인 임의 갯수의 모바일 디바이스 및 임의 갯수의 CPW를 이용하는 다양한 시스템 중 하나를 표현하기 위한 것이다.
실시예에 따라, 통신 링크(105, 108, 110)는 단일 네트워크 또는 여러 네트워크의 일부일 수 있고, 각각의 링크는 하나 이상의 유선 및/또는 무선 통신 경로, 예를 들어, 지상 통신선(예를 들어, 광섬유, 구리) 배선, 마이크로파 통신, 라디오 채널, 무선 경로, 인트라넷, 인터넷, 및/또는 (그 자체가, 예를 들어, 다수 라우터 등을 포함하는 다수의 중개 하드웨어 및/또는 소프트웨어 디바이스를 이용할 수 있는) WWW(World Wide Web) 통신 경로를 포함할 수 있다. 또한, 예를 들어, TCP/IP(transmission control protocol/internet protocol), XMPP(extensible messaging and presence protocol), FTP(file transfer protocol) 등을 포함하는, 다양한 통신 프로토콜과 방법이 모바일 디바이스(102), 웹 서버(104), 및 CPW(106) 사이에서 통신 링크(105, 108, 110)를 통해 통신을 수행하는데 사용될 수 있다. 다른 실시예에서는, 복수개 모바일 디바이스(102)와 CPW(106) 사이에서 신호의 전달을 용이하게 하기 위한 다른 유형의 통신 링크도 이용될 수 있다. 본 실시예에서는 통신 링크/네트워크 및 서버가 각각 웹-기반인 것으로 논의되지만, 다른 실시예에서는, 링크/네트워크 및 서버가 다양한 비-웹-기반 형태(non-web-based forms)라고 가정할 수 있다.
도 4 내지 도 7과 관련하여 다음에서 좀더 상세하게 논의되는 바와 같이, 웹 서버(104)는 모바일 디바이스(102)와 CPW(106) 사이의 중개자로서 기능하도록 구성된다. 예를 들어, 파일(예를 들어, 사진, 음악, 비디오, 텍스트 항목 등)의 업로드 및 다운로드, 블로그 포스팅, 및 메시징(예를 들어, SMS(Short Message Service), MMS(Multimedia Messaging Service), 및 IM(Instant Messaging))을 수반하는 통신을 포함하는, 모바일 디바이스(102)와 CPW(106) 사이의 다양한 통신 유형이 웹 서버(104)를 통해 전달되고, 웹 서버(104)에 의해 처리 및/또는 모니터링된다. CPW는 일반적으로, 개인 및/또는 비지니스 정보, 사진, 비디오, 및 노래와 같은, 다양한 형태의 데이터에 대한 다운로드 및 업로드(예를 들어, 포스팅)를 허용함으로써 사람들 사이에서 그리고 사람들의 집단 사이에서 대인 관계 생성과 유지를 용이하게 하는 다양한 인터랙티브 웹사이트를 망라하기 위한 것이다. CPW의 실례로는, 예를 들어, FacebookTM, MySpaceTM, hi5TM, LinkedInTM, 및 TwitterTM을 들 수 있다. 본 발명의 목적을 위해, CPW는, 전적으로 또는 주로 소셜 네트워킹에 집중하지는 않지만, 그럼에도 불구하고 소셜 네트워킹형 기능도 포함하는 다양한 다른 웹사이트 유형(예를 들어, b2b(business-to-business) 또는 b2c(business-to-consumer) 웹사이트)도 망라하는 것으로 이해될 수 있다. 다른 컨텐츠 프로바이더 웹사이트로는 RSS 또는 다른 뉴스 피드의 소스, PicasaTM 또는 PhotobucketTM과 같은 사진 서비스, 및 LastFMTM과 같은 음악 서비스를 들 수 있다.
도 2를 참조하면, 본 실시예에 따른 모바일 디바이스(102)와 같은 모바일 디바이스의 예시적 내부 컴포넌트(200)를 예시하는 블록도가 제공된다. 도 2에 표시된 바와 같이, 컴포넌트(200)는 하나 이상의 무선 송수신기(202, 203, 205), 프로세서(204;예를 들어, 마이크로프로세서, 마이크로컴퓨터, ASIC(application-specific integrated circuit) 등), 메모리 부분(206), 하나 이상의 출력 디바이스(208), 및 하나 이상의 입력 디바이스(210)를 포함한다. 적어도 일부 실시예에서는, 디스플레이와 같은, 하나 이상의 출력 디바이스(208) 및, 키패드 또는 터치 센서와 같은, 하나 이상의 입력 디바이스(210)를 구비하는 사용자 인터페이스가 존재한다. 내부 컴포넌트(200)는 추가 또는 향상된 기능을 위한 보조 컴포넌트 또는 악세사리로의 직접 접속을 제공하기 위한 컴포넌트 인터페이스(212)를 더 포함할 수 있다. 또한, 내부 컴포넌트(200)는 모바일 디바이스를 휴대하는 것을 가능하게 하면서 나머지 내부 컴포넌트에 전력을 제공하기 위한, 배터리와 같은, 전원 공급 장치(214)를 포함하는 것이 바람직하다. 내부 컴포넌트(200) 모두는, 하나 이상의 내부 통신 링크(232;예를 들어, 내부 버스)에 의해, 서로 결합되어 서로 통신 중일 수 있다.
무선 송수신기(202) 각각은, 예를 들어, (AMPS를 사용하는) 아날로그 통신, (CDMA, TDMA, GSM, iDEN, GPRS, EDGE 등을 사용하는) 디지털 통신, 및 (UMTS, WCDMA, LTE, IEEE 802.16 등을 사용하는) 차세대 통신과 같은 셀룰러-기반 통신 기술 또는 그것에 관한 변형, 또는 HomeRF(radio frequency), Bluetooth 및 IEEE 802.11(a, b, g 또는 n)과 같은 P2P(peer-to-peer) 또는 애드혹(ad hoc) 통신 기술을 포함할 수 있는(그러나 그것으로 한정되는 것은 아닌) 통신을 위한 무선 기술 또는 적외선 기술과 같은 다른 무선 통신 기술을 이용한다. 본 실시예에서는, 무선 송수신기(202)가 셀룰러 송수신기(203) 및 WLAN(wireless local area network) 송수신기(205)를 포함하지만, 다른 실시예에서는 무선 송수신기의 이들 유형 중 하나만이 존재한다(그리고 어쩌면 무선 송수신기의 이들 유형 중 어떤 것도 존재하지 않고 그리고/또는 다른 유형의 무선 송수신기가 존재한다). 무선 송수신기(202)를 사용하는 덕분에, 모바일 디바이스(102)는 통신 링크(110)에 의해 CPW(106)와 그리고 통신 링크(105)에 의해 웹 서버(104)와도 (그리고 그에 따라 간접적으로 다시 CPW(106)와) 통신할 수 있다.
모바일 디바이스(102)의 다른 내부 컴포넌트(200)와 관련한 무선 송수신기(202)의 예시적 작동은 다양한 형태를 취할 수 있고, 예를 들어, 무선 신호의 수신시에, 내부 컴포넌트가 통신 신호를 검출하고 송수신기(202)가 통신 신호를 복조하여 무선 신호에 의해 전송된, 음성 및/또는 데이터와 같은, 인커밍 정보(incoming information)를 복구하는 작동을 포함할 수 있다. 송수신기(202)로부터 인커밍 정보를 수신한 후, 프로세서(204)는 인커밍 정보를 하나 이상의 출력 디바이스(208)를 위해 포매팅(format)한다. 마찬가지로, 무선 신호의 전송을 위해, 프로세서(204)는, 입력 디바이스(210)에 의해 활성화될 수도 있고 그렇지 않을 수도 있는 아웃고잉(outgoing) 정보를 포매팅하고 아웃고잉 정보를 통신 신호로의 변조를 위해 하나 이상의 무선 송수신기(202)쪽으로 전달한다. 무선 송수신기(들)(202)는 변조된 신호를 무선(및 어쩌면 유선) 통신 링크에 의해 웹 서버(104) 및 하나 이상의 CPW(106)와 같은 다른 디바이스쪽으로 전달한다(뿐만 아니라 어쩌면 셀 타워, 액세스 포인트, 또는 다른 서버와 같은 다른 디바이스 또는 다양한 원격 디바이스 중 어떤 것으로도 전달한다).
실시예에 따라, 내부 컴포넌트(200)의 입력 및 출력 디바이스(208, 210)는 다양한 시각, 청각, 및/또는 기계적 출력을 포함할 수 있다. 예를 들어, 출력 디바이스(들)(208)는 LCD(liquid crystal display) 및 LED(light emitting diode) 지시자와 같은 하나 이상의 시각 출력 디바이스(216), 스피커, 알람, 및/또는 부저와 같은 하나 이상의 청각 출력 디바이스(218), 및/또는 진동 메커니즘과 같은 하나 이상의 기계적 출력 디바이스(220)를 포함할 수 있다. 시각 출력 디바이스(216)는 다른 것들 중에서도 비디오 스크린을 포함할 수 있다. 마찬가지로, 실례로서, 입력 디바이스(들)(210)는 광학 센서(예를 들어, 카메라)와 같은 하나 이상의 시각 입력 디바이스(222), 마이크로폰과 같은 하나 이상의 청각 입력 디바이스(224), 및 플립 센서, 키보드, 키패드, 선택 버튼, 네비게이션 클러스터, 터치 패드, 터치스크린, 용량성 센서, 모션 센서, 및 스위치와 같은 하나 이상의 기계적 입력 디바이스(226)를 포함할 수 있다. 입력 디바이스(210) 중 하나 이상을 활성화할 수 있는 조치로는 버튼 또는 다른 액추에이터의 물리적 누름/작동 뿐만 아니라, 예를 들어, 모바일 디바이스를 여는 것, 디바이스를 잠금 해제하는 것, 디바이스를 움직여 움직임을 작동시키는 것, 디바이스를 움직여 측위(location positioning) 시스템을 작동시키는 것, 그리고 디바이스를 작동시키는 것도 포함할 수 있다.
도 2에 표시된 바와 같이, 모바일 디바이스(102)의 내부 컴포넌트(200)는 하나 이상의 다양한 유형의 센서(228)도 포함할 수 있다. 센서(228)는, 예를 들어, 근접 센서(빛을 감지하는 센서, 초음파 송수신기, 또는 적외선 송수신기), 터치 센서, 고도 센서, 예를 들어, GPS(Global Positioning System) 수신기를 포함할 수 있는 위치 회로, 삼각 측량 수신기, 가속도계, 기울기 센서, 자이로스코프, 또는 모바일 디바이스(102)의 현재 위치 또는 사용자-디바이스 인터페이스(휴대 모드)를 식별할 수 있는 기타 정보 수집 디바이스를 포함할 수 있다.
내부 컴포넌트(200)의 메모리 부분(206)은 다양한 어떤 형태(예를 들어, ROM(read-only memory), RAM(random access memory), SRAM(static random access memory), DRAM(dynamic random access memory) 등)의 하나 이상의 메모리 디바이스를 망라할 수 있고, 프로세서(204)에 의해 데이터를 저장하고 검색하는데 사용될 수 있다. 메모리 부분(206)에 의해 저장되는 데이터는 운영 체제, 애플리케이션, 및 정보성 데이터를 포함할 수 있지만 그것으로 제한될 필요는 없다. 각각의 운영 체제는, 내부 컴포넌트(200) 사이에 포함된 다양한 컴포넌트 사이의 상호 작용, 무선 송수신기(202) 및/또는 컴포넌트 인터페이스(212)를 통한 외부 디바이스와의 통신, 및 메모리 부분(206)으로의 그리고 메모리 부분(206)으로부터의 애플리케이션 및 데이터의 저장 및 검색과 같은, 통신 디바이스의 기본적인 기능을 제어하는 실행 가능 코드를 포함한다. 각각의 애플리케이션은 운영 체제를 이용해, 메모리 부분(206)에 저장된 보호 및 비보호 데이터의 파일 시스템 서비스 및 핸들링과 같은, 통신 디바이스에 좀더 특징적인 기능을 제공하는 실행 가능 코드를 포함한다. 정보성 데이터는 통신 디바이스의 기능을 수행하기 위해 운영 체제 또는 애플리케이션에 의해 참조 및/또는 조작될 수 있는 실행 불가능 코드 또는 정보이다.
다음으로 도 3을 참조하면, 도 1의 웹 서버(104)에 대한 추가적인 예시적 컴포넌트가 좀더 상세하게 표시된다. 표시된 바와 같이, 웹 서버(104)는 메모리 부분(302), 그러한 메모리 부분과 통신하는 프로세서 부분(304), 및 통신 링크(105, 108)를 프로세서(304)와 인터페이싱하기 위한 (표시되지 않은) 하나 이상의 입/출력(I/O) 인터페이스를 포함한다. 프로세서 부분(304)은 백 엔드 부분(306;또는 소셜 네트워크 프로세서) 및 프런트 엔드 부분(308)을 더 포함한다. 백 엔드 부분(306)은 통신 링크(108)를 통해 (점선으로 표시된) CPW(106)와 통신하고 프런트 엔드 부분(308)은 통신 링크(105)를 통해 (이 또한 점선으로 표시된) 모바일 디바이스(102)와 통신한다.
다음에서 좀더 상세하게 논의되는 바와 같이, 적어도 일부 실시예에서, 백 엔드 부분(306)은 CPW(106)와 같은 CPW와의 풀 통신(pull communications)을 지원한다. 풀 통신은, 예를 들어, 웹에 전형적인 유형의 REST(Representation State Transfer) 아키텍처를 사용해 구현될 수 있고, 그에 따라 백 엔드 부분은 웹 서버(104)에 의해 판정되는 시점/환경에서 CPW(106)와 같은 CPW로부터 백 엔드 부분(306)에 제공될 정보를 위한 요청을 발생시키도록 구성되는데, 그것에 응답하여 CPW는 요청된 데이터를 검색하여 웹 서버쪽으로 역 제공한다. 이 또한 다음에서 좀더 상세하게 논의되는 바와 같이, 적어도 일부 실시예에서, 프런트 엔드 부분(308)은 모바일 디바이스(102)와 같은 모바일 디바이스와 관련하여 푸시 채널을 확립한다.
적어도 일부의 그러한 실시예에서, 푸시 채널은, 프런트 엔드 부분(308)이 (프런트 엔드 부분에 의해 발생된) 웹 서버(104)로부터의 통지를, 웹 서버(104)에 의해 판정되는 시점/환경에 모바일 디바이스(102)쪽으로 제공할 수 있게 한다. 이 통지는 모바일 디바이스쪽으로 제공되는데 이용 가능한 정보 컨텐츠의 지시일 수 있다. 다음으로, 모바일 디바이스(102)는, 모바일 디바이스에 의해 적절한 것으로 간주되는 방식(들)으로, 통지에 응답할 수 있다. 그러한 응답은 흔히 (항상 그럴 필요는 없지만) 이용 가능한 정보 컨텐츠의 일부 또는 전부가 중개 웹 서버(104)의 프런트 엔드 부분으로부터 모바일 디바이스쪽으로 제공되어야 한다는 요청을 구성한다.
도 4를 참조하면, 도 1 및 도 3의 웹 서버(104)의 작동, 특히 도 1에 표시된 모바일 디바이스(102) 및 CPW(106)와 같은 모바일 디바이스 및 CPW와 상호 작용하고 그들 사이의 통신을 중개할 때의 작동에 대한 예시적 단계를 나타내는 흐름도가 제공된다. 도 4의 흐름도에 의해 표현되는 프로세스를 시작 단계 400에서 시작할 때 웹 서버(104)는 모바일 디바이스와, 도 1의 모바일 디바이스(102)와의 통신 링크(105)와 같은 통신 링크를 확립하는 것에 의해 단계 402에서 작동을 시작한다. 다음에서 좀더 상세하게 설명되는 바와 같이, 모바일 디바이스와의 통신 링크 확립은, 실시예에 따라, 실제로는 그 모바일 디바이스와의 (병렬로 또는 다른 시점에 존재할 수 있는) 여러 통신 링크 확립을 포함할 수 있다.
그러한 일부 경우에서, 여러 통신 링크는, 예를 들어, 푸시 채널 또는 푸시 채널 이외의 다른 통신 프로토콜을 포함하는 상이한 유형이다. 또한, 모바일 디바이스(102)와의 통신 링크 확립은 통상적으로 기지국과 회로 스위치 접속을 확립하는 단계 및 그에 따라 모바일 디바이스가 통신 네트워크에 대해 스스로를 확인하는 ID 정보를 통신 디바이스가 기지국에 제공하는 단계를 수반하는 동시에, 웹 서버(104)로의 접속 또한 모바일 디바이스가 통신 중인 기지국과 부하 분산기/방화벽 사이의 IP(internet protocol) 접속 또는 P2P(point-to-point) 통신 접속을 통한 것일 수 있고, 웹 서버로부터의 응답 신호를 모바일 디바이스쪽으로 역 제공하는 단계를 수반할 수 있는데, 그것에 의해 모바일 디바이스는 자신이 웹 서버와 접촉 중임을 인식한다.
단계 402의 완료시에, 단계 404에서는, 웹 서버(104)가, 도 1에 표시된 CPW(106)와의 통신 링크(108)와 같은, CPW와의 통신 링크를 추가 확립한다. 단계 404에서의 통신 링크 확립은, 예를 들어, 하나 이상의 웹 서비스 호출 및/또는 다른 기술을 제공하는 단계를 수반할 수 있다. 단계 404 이후에, 웹 서버(104)는, 주기적 통신일 수 있는(그러나 그럴 필요는 없는) 진행 중인 통신을 CPW(106)와 유지하고 하나 이상의 시점에서 CPW로부터 정보를 획득(풀링)한다. CPW로부터 획득되는 정보는, 예를 들어, 연락처 또는 (연락처 리스트를 포함하는) 친구에 관한 정보, 새로운 친구 또는 업데이트된 연락처, 특별한 메시지, 뉴스, 사건, 및 (이미지 파일 또는 텍스트 파일과 같은) 파일 또는 다른 형태의 데이터를 포함할 수 있는 다른 정보 유형을 포함하는, 다양하고 상이한 정보 유형 중 어떤 것도 포함할 수 있다. 단계 406에서 정보를 획득하고 나면, 웹 서버는 획득된 정보를 단계 408에서 처리한다.
추가적으로 도 5를 참조하면, 도 4의 단계 406 및 단계 408에 해당하는 예시적 하위 단계(substeps)가 일 실시예에 따라 표시된다. 표시된 바와 같이, 단계 406(획득 단계)은 시작 하위 단계 500으로 시작해 3개의 추가 하위 단계 502, 504 및 506을 더 포함하는 수개의 하위 단계를 망라하는 것으로 이해될 수 있다. 좀더 구체적으로, 하위 단계 502에서는, 웹 서버(104)가 풀 신호를 CPW(106)쪽으로 송신하고, 하위 단계 504에서는, 정보가 웹 서버의 백 엔드 부분(306)에서 CPW로부터 역 수신된다. 백 엔드 부분(306)에서 정보가 수신된 후, 단계 506에서는 이 정보가 백 엔드 부분으로부터 웹 서버(104)의 프런트 엔드 부분(308)쪽으로 푸시된다.
더 나아가 도 5에 표시된 바와 같이, 단계 408(처리 단계)은 일 실시예에서 하위 단계 518에서 종료하기 이전에 하위 단계 508에서 시작하는 수개의 하위 단계를 포함할 수 있다(도 5는 단계 408에 해당하는 하위 단계를 단계 406에 해당하는 하위 단계의 후속으로서 나타낸다). 좀더 구체적으로, 웹 서버(104)의 프런트 엔드 부분(308)이 하위 단계 506에서 백 엔드 부분(306)으로부터 푸시된 정보를 수신하고 나면, 하위 단계 508에서는, 그 정보가 공통 전송 큐(common transfer queue)에 배치된다. 다음으로, 하위 단계 510에서, 그 정보는 선택적으로 압축될 수 있다. 더 나아가, 하위 단계 512에서, 그 정보는 선택적으로 상이한 포맷, 예를 들어, 이진 포맷으로 변환될 수 있다. (점선으로 표시된) 블록 509에 의해 추가적으로 표현되는 바와 같이, 하위 단계 512에서 발생하는 포맷 변환은, 정보의 포매팅을 표준화하여, 소스 ID는 아니겠지만, 사이트-특정 포맷 정보를 제거하기 위해서 또는 그와는 달리 정보의 포매팅을 정보의 소스였던 CPW 포매팅과 무관하게 모바일 디바이스에 제공되는 균일하거나 보편적인 포맷으로 변경하기 위해서, CPW(106)에 의해 제공되었던 특정 포매팅 정보의 제거를 포함할 수 있다.
다음으로, 하위 단계 514에서는, 그 정보가 높은 중요도 정보인지 아니면 낮은 중요도 정보인지에 기초해 정보가 필터링된다. (점선으로 표시된) 하위 단계 511, 513, 515, 및 517에 의해 추가적으로 표현되는 바와 같이, 이 필터링 작동은 추가 판정을 포함할 수 있다. 즉, 하위 단계 511에 표시된 바와 같이, 웹 서버(104)는 그 정보가 친구, 새로운 친구, 특별한 메시지, 뉴스, 또는 사건에 관한 것인지를 판정할 수 있다. 그렇다면, 하위 단계 513에서, 그 정보에는 낮은 레벨 상태가 부여된다. 그러나, 정보가 그러한 그룹 중 하나에 해당하지 않으면, 필터링 프로세스는, 정보가 상태 업데이트에 관한 것인지를 웹서버가 판정하는 하위 단계 515로 진행한다. 그렇다면, 그 정보에는 하위 단계 517에서 높은 레벨 상태가 부여된다. 현재의 예시적 실시예에서, 정보가 하위 단계 515에서 상태 업데이트에 관한 것이 아니라고 판정되면, 프로세스는 하위 단계 513으로 다시 되돌아간다. 정보가 사용자를 위한 상태 업데이트인지를 웹 서버(104)가 판정할 수 있고, 그렇다면, 그 정보를 높은 레벨 또는 높은 우선순위로서 취급하고, 그렇지 않다면, 그 정보를 낮은 레벨 또는 낮은 우선순위로서 취급한다는 것을 알 수 있을 것이다. 다른 유형의 정보 또한 높은 우선순위로서 취급될 수 있지만, 통신 디바이스에 대해 증가된 활동을 초래하는 메시지의 수는 제한하는 것이 바람직하다.
필터링 하위 단계 514가 완료된 후, 프로세스는, 웹 서버(104)(구체적으로 웹 서버의 프런트 엔드 부분(308))가 단계 406에서 CPW(106)로부터 획득된 정보 및 동일 CPW로부터 앞서 수신된 선행 정보 사이에 존재할 수 있는 하나 이상의 차이를 판정하는 하위 단계 516으로 진행한다. 본 실시예에서, 궁극적으로 모바일 디바이스(102)쪽으로 역 전송되는 것은 그러한 차이 정보뿐이다. 앞서 지적된 바와 같이, 도 5에 의해 표현되는, 도 4의 단계 408에 해당하는 하위 단계는 하위 단계 518에서 끝난다. 단계 516은 단계 504와 단계 506 사이에 백 엔드 부분(306)에서발생하는 것이 바람직할 수 있다는 것을 알 수 있을 것인데, 이 경우 정보는 특정 가입자를 위해 풀링된 선행 시점 컨텐츠로부터의 CPW 정보에 변경이 있을 경우에 웹 서버(104)에서 추가 처리될 것이다. 이것은 디바이스(102)의 사용자 또는 중개 웹 서버 및 CPW를 사용하는 다른 사용자를 위해 CPW로부터 정보를 계속해서 풀링하기 위한 서버 리소스를 확보할 것이다.
도 4로 돌아가, 단계 408이 완료되고 나면, 웹 서버(104)는 처리된 정보의 하나 이상의 부분이 높은 중요도인지, 높은 중요도가 아닌지(예를 들어, 낮은 중요도인지, 또는 어쩌면 중간 중요도인지, 또는 기타 중요도 레벨인지)를 고려한다. 처리된 정보가 높은 중요도라고 판정되면, 단계 412에서는, 웹 서버(104)의 프런트 엔드 부분(308)이 통신 링크(105)상에 확립된 푸시 채널을 통해 모바일 디바이스(102)쪽으로 처리된 높은 중요도 정보를 송신한다. 이것은, 푸시 채널을 사용하는 것에 의해 가능해지는 바와 같이, 웹 서버에 의해 판정되는 시점에서 즉각적으로 발생한다. 처리된 정보가 단계 410에서 높은 중요도가 아니라고 판정되면, 처리된 정보를 송신하는 것은 좀더 적절한 다른 시점까지 지연됨으로써 디바이스와 서버 사이의 통신 활동을 감소시킬 수 있고 그에 따라 디바이스에서의 배터리 소모를 감소시킬 수 있다. 따라서, 단계 414에서, 웹 서버(104)는 처리된 정보를 모바일 디바이스(102)쪽으로 송신하기에 적합한 시점을 기다린다. 그 다음, 적합한 시점이 발생하면, 단계 416에서 정보가 웹 서버(104)에 의해 모바일 디바이스(102)쪽으로 송신된다.
처리된 낮은 중요도 정보가 웹 서버(104)에 의해 모바일 디바이스(102)쪽으로 송신되는 적합한 시점은 다양한 고려 사항에 기초할 수 있다. 예를 들어, 일부 실시예에서는, 그러한 적합한 시점이 모바일 디바이스(102)가 정보를 위해 웹 서버(104)를 폴링하는 주기적으로 발생하는 시점일 뿐이다. 그러한 폴링은 통상적으로 모바일 디바이스(102)로부터 웹 서버(104)로의 반복되는 조회 신호 송신(repeated sending of inquiry signals)을 수반한다. 다른 경우에서, 적합한 시점은 특정 환경이 발생했을 때 발생한다. 예를 들어, 처리된 낮은 중요도 정보를 송신하기 위한 적합한 시점은, 추가적으로 그와 동일한 시점에 처리된 낮은 중요도 정보의 일정량이 모바일 디바이스쪽으로의 전송을 위해 저장되었다고 웹 서버(104)가 판정한 경우라면, 모바일 디바이스(102)가 요청할 때 발생할 수 있다. 위의 설명에서 웹 서버(104)에 의한 정보 획득은 풀링(pulling)을 수반하는 것으로 설명되는 한편 모바일 디바이스에 의해 웹 서버로부터 낮은 중요도의 정보를 획득하는 것은 폴링(polling)을 수반하는 것으로 설명되지만, 풀링이나 폴링 작동(및 주기적이거나 비동기적 통신)은 웹 서버 및 모바일 디바이스 중 어느 쪽에 의해서도, 각기, 실시예에 따라, 각기, CPW 및 웹 서버로부터 정보를 획득하는데 사용될 수 있다는 것을 이해할 수 있어야 한다. 추가적으로, 모바일 디바이스(102)가 서버에 접속되지 않았을 때 서버(104)가 CPW(106)로부터 정보를 풀링 중일 수 있고, 그 결과 모바일 디바이스가 재접속될 때까지 또는 서버가 정보를 삭제하는 충분한 시간이 경과될 때까지 서버가 정보를 보유할 것으로 생각된다.
각기, 단계 412 및 단계 416에서 높은 중요도 또는 낮은 중요도 정보가 모바일 디바이스(102)쪽으로 송신되는지와 무관하게, 이들 단계가 완료되고 나면, 모바일 디바이스, CPW, 또는 추가 모바일 디바이스/CPW와 상호 작용 중인 웹 서버(104)에 의해 일련의 추가 단계가 수행된다. 이와 관련하여 좀더 구체적으로, 단계 412 및 단계 416이 완료되고 나면, 단계 418 내지 단계 428에서는, 모바일 디바이스(102)로부터의 정보가 웹 서버(104)로 업로드될 수 있고 더 나아가 CPW(106)에 제공될 수 있다. 도 4에 표시된 바와 같이, 단계 418에서, 모바일 디바이스(102)로부터 ID 정보를 수신하는 웹 서버(104)에 의해 그러한 상호 작용이 개시될 수 있다. 예를 들어, 그러한 ID 정보가 단계 402에서 이미 수신된 경우라면, 그러한 ID 정보의 수신이 항상 발생할 필요는 없다. 그 다음, 단계 420에서, 웹 서버(104)는 추가적으로 모바일 디바이스(102)로부터 컨텐츠 정보를 수신한다. 컨텐츠 정보는, 예를 들어, 모바일 디바이스의 사용자가 CPW에 존재하는 사용자 프로파일(예를 들어, "월")에 업로드하기를 소망하는 이미지 파일 또는 텍스트 파일과 같은 파일 또는 다른 데이터를 포함할 수 있다.
다음으로, 단계 422에서, 웹 서버(104)는 모바일 디바이스(102)로부터 웹 서버가 컨텐츠 정보를 CPW(106)에 업로드할 것을 지시하는 명령을 수신한다. 다른 실시예에서는, 이 명령이 모바일 디바이스(102)에 의해 웹 서버(104)쪽으로 명시적으로 제공될 필요가 없는데, 그러한 실시예에서는, 모바일 디바이스에 의해 제공되는 모든 컨텐츠 정보가 그 모바일 디바이스와 관련하여 연관되는 임의의 CPW로 추가 업로드되어야 한다고 웹 서버에 의해 추정되기 때문이다. 더 나아가 단계 424에서는, 웹 서버(104)가 모바일 디바이스(102)로부터 수신된 ID 정보를 웹 서버와 CPW 사이의 관계를 인증하기 위해 CPW(106)쪽으로 송신한다. 이 ID 정보를 송신하는 것에 응답하여, 단계 426에 의해 지시되는 바와 같이, 통상적으로 인증이 만족스럽다면 CPW로부터 토큰이 역 수신된다. 단계 418에 대해서와 마찬가지로, 단계 424 및 단계 426이, 모든 실시예에서, 특히 그러한 조치가 단계 402, 404에서의 통신 링크 확립의 일부로서 취해진 경우라면, 이 시점에서 명시적으로 수행될 필요는 없다. 인증이 발생하는 시점과 무관하게, 인증 프로세스는 웹 서버(104)가 모바일 디바이스(102)를 대신하여 그리고 모바일 디바이스(102)의 프록시로서 CPW(106)와 상호 작용할 수 있게 한다. 적당한 인증이 발생했다고 생각하면, 단계 428에서는, 컨텐츠 정보가 웹 서버(104)에 의해 CPW(106)쪽으로 송신된다.
웹 서버(104)가 CPW(106)쪽으로 그리고 CPW(106)로부터 컨텐츠를 업로드 및 다운로드하는데 요구되는 CPW에서의 특정 사용자 어카운트에 대한 사용자 ID 및 패스워드는, 모바일 디바이스(102)가 서버에 처음으로 접속하여 웹 서버에 CPW를 설정할 때 사용자에 의해 웹 서버(104)쪽으로 로드될 수 있다고 생각된다. 웹 서버는 사용자 ID 및 패스워드를 메모리에 저장할 것이고, 모바일 디바이스(102)의 접속 여부와 무관하게 CPW와 지속적인 접속을 유지하기 위해, 사용자가 그것들을 변경하지 않는 한, 사용자 ID 및 패스워드를 사용해 CPW에 액세스할 것이다. 더 나아가, 모바일 디바이스가 소정 기간 동안 서버로부터 정보를 요청하지 않는다면 또는 디바이스쪽으로 추가 다운로드될 컨텐츠를 포함하는 웹 서버 큐가 연령 임계값(age threshold) 및/또는 저장 용량 임계값을 초과한다면, 웹 서버(104)에 의한 CPW(106)로부터의 정보 풀링은 빈도가 감소되거나 완전히 정지(또는 종료)될 수 있다고 생각된다.
앞서 설명된 업로드 프로세스 이외에, 일부 환경에서, 모바일 디바이스(102)를 조작 중인 사용자는 컨텐츠가 둘 이상의 CPW(106)에 업로드되기를 원할 것이다. 그러한 프로세스는, 특히 컨텐츠 정보가 모바일 디바이스(102)에 의해 웹 서버에 이미 제공된 경우라면, 도 4의 단계 430 내지 단계 438에 의해 지시되는 바와 같이, 웹 서버(104)에 의해 용이해질 수 있다. 좀더 구체적으로, 표시된 바와 같이, 단계 430에서는, 웹 서버(104)에 의해, 웹 서버가 컨텐츠 정보를 다른 CPW에 제공할 것을 지시하는 추가 명령이 모바일 디바이스(102)로부터 웹 서버에 의해 수신되었는지의 여부가 판정된다. 그러한 명령이 수신되었다면, 다음 단계 432에서, 웹 서버(104)는 통신 링크가 그 다른 CPW와 이미 확립되었는지의 여부를 판정한다. 그러한 통신 링크가 아직 확립되지 않았다면, 프로세스는 모바일 디바이스(102)로부터 추가 ID 정보가 수신되는 단계 434로 진행한 다음, 단계 436에서 그 통신 링크가 웹 서버(104)와 그 다른 CPW(106) 사이에 확립된다. 다시 말해, 통신 링크가 단계 432에서 판정된 바와 같이 그 다른 CPW와 아직 확립되지 않았다면, 그러한 통신 링크를 확립하기 위해, 웹 서버(104)에 모바일 디바이스(102)로부터의 ID 정보가 다시 제공되어, 웹 서버가 그 다른 CPW와 관련하여 모바일 디바이스를 위한 프록시로서 작동하기 위해 그 다른 CPW와 관련하여 인증될 수 있게 해야 한다(예를 들어, 단계 424 내지 단계 426과 관련하여 앞서 설명된 것과 실질적으로 동일한 작동).
단계 436에서의 통신 링크 확립 후 또는 단계 432에서 그 다른 CPW와 통신 링크가 이미 확립되었다고 판정된다면, 프로세스는, 컨텐츠 정보가 그 다른 CPW쪽으로 업로드되는 단계 438로 진행한다. 따라서, 단계 430 내지 단계 438 덕분에, 단계 428에서 제1 CPW에 이미 제공된 컨텐츠 정보가 또 다른 CPW에 추가 제공된다. 도 4는 단계 418 내지 단계 438의 반복 수행에 대해서 직접적인 루핑을 표시하지 않지만, 이 단계들은 정보의 여러 부분 및 둘 이상의 추가 CPW와 관련하여 여러번 반복될 수 있다는 것을 이해할 수 있을 것이다. 컨텐츠는 모바일 디바이스(102)로부터 균일한 포맷으로 제공될 것이고, 서버의 백 엔드 부분이 컨텐츠가 업로드되는 타켓 CPW 각각에 대해 개별적으로 그리고 적절하게 데이터를 포맷할 것으로 생각된다.
도 4와 관련하여 추가적으로, 단계 438이 완료되고 나면 또는 웹 서버(104)에 의해 단계 430에서 명령이 수신되지 않았다고 판정되면, 웹 서버는 추가적으로, 단계 440에서, 모바일 디바이스(102)가 웹 서버로부터 접속 차단되었는지의 여부를 판정하도록 진행한다. 모바일 디바이스(102)가 웹 서버(104)로부터 접속 차단되었다 하더라도, 원칙적으로 웹 서버는, 단계 442에 의해 표현되는 바와 같이, 웹 서버가 앞서 통신을 체결했으며 그것과 관련하여 웹서버가 접속 차단된 모바일 디바이스를 대신해 프록시로서 기능할 수 있는 CPW(106)와의 통신 링크를 여전히 유지할 것이다. 따라서, 웹 서버(104)를 대신하여 기능 중인 모바일 디바이스(102)가 일시적으로 통신을 벗어난다 하더라도 웹 서버(104)는 CPW(106)와 관련하여 지속적으로 작동을 계속할 수 있다. 따라서, 웹 서버(104)는 다양한 CPW(106)로부터 계속해서 정보를 풀링하도록 작동할 수 있고 그러한 정보를 시간의 경과에 따라 액세스하고 모니터링할 수 있으며, 그에 따라 앞서-접속 차단된 모바일 디바이스가 웹 서버에 재접속될 때, 웹 서버는 (적절한 경우라면) 이용 가능한 최신의 업데이트된 CPW 정보를 즉각적으로 제공할 수 있다.
상기 설명에도 불구하고 도 4에 표시되지는 않았지만, 소정 실시예에서는, 웹 서버(104)가 하나 이상의 CPW(106)와 관련하여 그것을 대신해 기능하는 것을 중단하라는 명령어를 모바일 디바이스(102)가 웹 서버(104)쪽으로 통신할 수도 있는데, 이 경우 웹 서버는 그렇게 할 것이다. 마지막으로, 이 또한 도 4에 표시된 바와 같이, 단계 442가 완료된 경우 및 단계 440에서 모바일 디바이스(102)가 여전히 접속되어 있다고 판정되는 경우 모두에서, 웹 서버(104)는 모바일 디바이스(102) 및/또는 CPW(106) 중 다른 하나와 추가 통신 링크를 확립하려는 수요 또는 소망이 존재하는지를 판정하도록 진행한다. 본 흐름도에 따르면, 그러한 수요 또는 소망이 존재하지 않는 경우, 프로세스는 단계 446에서 종료하는 한편, 그러한 수요 또는 소망이 존재하는 경우라면, 프로세스는 시작 단계 400으로 되돌아간다.
도 4에 표시된 바와 같은 특정 단계에도 불구하고, 실시예에 따라 다양한 추가 단계 또는 다른 단계가 웹 서버(104)에 의해 수행될 수 있으며, 도 4에 표시된 특정 단계 중 하나 이상이 실시예에 따라 재정렬되거나, 반복되거나, 완전히 제거될 수 있다는 것을 이해할 수 있어야 한다. 또한, 도 4의 흐름도에 따라 수행되는 단계 중 일부는 다른 단계가 수행되는 것과 동시에 지속적으로 또는 연속적으로 반복될 수 있다. 예를 들어, CPW(106)로부터 수신되는 정보의 획득 및 처리 그리고 높은 중요도 정보의 모바일 디바이스(102)쪽으로의 즉각적인(또는 실질적으로 즉각적인) 송신에 관련된 단계 406 내지 단계 412는, 컨텐츠 정보를 모바일 디바이스로부터 웹 서버로 그리고 다음으로 CPW 중 하나 이상으로 업로드하는 것에 관련된 단계 418 내지 단계 438에 의해 표현되는 상호 작용과 같은 다른 상호 작용이 수행되는 동안이라 하더라도 지속적으로 또는 연속적으로 반복될 수 있다. 더 나아가, 도 4는 웹 서버(104)가 연속적으로 또는 동시에 여러 CPW(106)와 통신하는 가능성을 어느 정도 상세하게 설명하고 소정 모바일 디바이스와 그러한 하나 이상의 CPW 사이의 웹 서버에 의해 용이해지는 예시적 상호 작용을 예시하고 있지만, 유사한 상호 작용이 임의 갯수의 다른 모바일 디바이스와 그러한 하나 이상의 CPW 사이에서 발생하는 것을 허용한다는 관점에서 동일한 프로세스가 웹 서버에 의해 동시에 또는 실질적으로 동시에 수행될 수 있다는 것을 이해할 수 있어야 한다.
백 엔드 부분(306)은, 그것의 개개 CPW에 적합한 개개 API를 포함해, 각각의 CPW(106)를 위해 별도의 플러그-인을 포함할 수 있다. 플러그-인 각각은 자신의 개개 CPW를 위한 API를 포함하는데, 이에 의해 플러그-인은 웹사이트로부터 정보를 풀링하고 정보를 모바일 디바이스(102) 클라이언트의 보편적인 포맷(universal format)으로 리포매팅한다. 추가적으로, 모바일 디바이스로부터의 컨텐츠는 백 엔드 부분(306)에 의해 업로드될 때 모바일 디바이스(102) 클라이언트 프로그램의 균일한 포맷에서 그 플러그-인과 연관된 CPW에 의해 특정되는 적합한 포맷으로 리포매팅될 것이다. 이런 식으로, 모바일 디바이스(102)로부터의 컨텐츠는 균일한 포맷(uniform format)을 가진 단일 메시지로 송신될 수 있고 사용자에 의해 선택되는 바와 같이 라우팅될 것이고 그것이 대상이 되는 각각의 CPW 각각을 위한 백 엔드 부분 플러그-인 각각에 의해 포매팅될 것이다.
도 6으로 넘어가면, 모바일 디바이스(102)가 웹 서버와 상호 작용하고, 이 상호 작용 덕분에, 하나 이상의 CPW와 상호 작용할 수 있을 때의 모바일 디바이스(102)의 작동에 대한 예시적 단계를 나타내는 추가 흐름도가 제공된다. 다시 말해, 도 6은 위의 도 4 및 도 5에서 예시되는 바와 같이 웹 서버(104)에 의해 수행되는 다수 단계와 관련하여 상보적인(또는 대체로 상보적인) 모바일 디바이스(102)의 작동에 대한 예시적 단계를 예시하기 위한 것이다. 추가적으로, 다음에서 부연되는 바와 같이, 도 6은 또한 모바일 디바이스(102)가 웹 서버(104)에 의한 중개없이 하나 이상의 CPW(106)와 직접적으로 또는 웹 서버에 의한 중개와 함께 (그러나 독립적으로) 동시에 상호 작용할 수 있는 단계를 포함한다. 도 6에 표시된 바와 같이, 시작 단계 600에서 작동을 시작하고 나면, 모바일 디바이스(102)는, 단계 602에서, 웹 서버와 통신 링크를 확립하는 것에 의해 그리고 그에 따라 웹 서버에 의해 CPW와 통신 링크를 확립하는 것에 의해 웹 서버(104)와의 상호 작용을 시작한다.
추가적으로 도 7을 참조하면, 단계 602는 그 도면에서 예시되는 바와 같이 수개의 하위 단계를 포함하는 것으로 이해될 수 있다. 표시된 바와 같이, 하위 단계 700에서 시작하고 나면, 모바일 디바이스(102)는, 하위 단계 702에서 지시되는 바와 같이, 모바일 디바이스에서 지원되는 푸시 채널 애플리케이션을 활성화한다. 그 다음, 하위 단계 704에서 모바일 디바이스(102)는 웹 서버(104)에 ID 정보를 제공한다. 그러한 ID 정보는, 예를 들어, 특정 모바일 디바이스를 특정하는 식별 코드(예를 들어, 일련 번호, 모델 번호, 또는 제품 참조 번호), 모바일 디바이스를 이용 중인 사용자의 신원에 관한 정보, 또는 로그인 또는 패스워드 코드와 같은 다른 코딩 정보를 포함할 수 있다. 다음으로 하위 단계 706에서는, 모바일 디바이스(102)에서 웹 서버를 통해 CPW(106) 중 특정한 하나와 통신 링크를 확립하고자 하는 소망이 존재하는지의 여부가 판정된다. 이 시점에서 그러한 소망이 존재하지 않으면, 도 7에 의해 표현되는 프로세스는 하위 단계 708에서 종료한다. 다른 방법으로, 그러한 소망을 지시하는 명령을 모바일 디바이스(102)쪽에 제공하는 사용자에 의해 지시될 수 있는 바와 같이, 웹 서버(104)를 통해 CPW(106)와 통신 링크를 확립하고자 하는 소망이 존재한다면, 하위 단계 710에서 모바일 디바이스(102)는 추가적으로 웹 서버가 그러한 통신 링크를 확립할 것을 지시하는 명령을 웹 서버쪽으로 송신한다.
더 나아가, 하위 단계 712에서, 모바일 디바이스(102)는 웹 서버가 CPW(106)와 통신 링크를 확립하는 것을 그리고 그 CPW와의 통신에서 모바일 디바이스를 위한 프록시로서 기능하는 것을 허용하는 추가 웹 ID 정보를 웹 서버(104)쪽으로 추가적으로 송신한다. 하위 단계 712에서 송신되는 ID 정보는 일부 실시예에서 하위 단계 704의 그것과 동일할 수 있는데, 이 경우 하위 단계 712는 수행될 필요가 없다. 일단 하위 단계 712에서 ID 정보가 제공되고 나면, 하위 단계 714에서는 모바일 디바이스와 웹 서버 사이에 푸시 채널 링크가 확립된다. 하위 단계 714가 완료되고 나면, (블록 "A로 돌아가기"에 의해 지시되는 바와 같이) 도 6에 의해 표현되는 프로세스의 단계 602에 후속되는 나머지 단계가 수행될 수 있다.
도 6으로 돌아가, 단계 602에서 웹 서버(104)와의 통신 링크가 확립되고 나면, 단계 604에서 모바일 디바이스(102)는 푸시 채널(예를 들어, 하위 단계 714에서 확립된 푸시 채널)을 통해 웹 서버로부터 높은 중요도 정보를 수신한다. 이 정보가, 도 4 및 도 5를 참조하여 이미 설명된 바와 같이, 본 실시예에서는 비동기 방식으로, 다시 말해, 모바일 디바이스에 의해 판정되지 않는 시점에서 웹 서버(104)로부터 모바일 디바이스(102)에 제공된다. 그러한 높은 중요도 정보를 비동기 기준으로 수신하는 이외에, 후속 단계 606에 의해 또한 표현되는 바와 같이, 모바일 디바이스(102)는 웹 서버에 의해 모바일 디바이스로 다운로드될 다른 정보에 관한 하나 이상의 문의를 웹 서버(104)쪽으로 추가 송신할 수 있다. 도 5를 참조하여 앞서 논의된 바와 같이, 높은 중요도 정보는 상태 업데이트 정보와 같은 정보를 포함할 수 있는 한편, 다른 정보(예를 들어, 낮은 중요도 정보)는 연락처/친구 정보, 새로운 친구 정보, 연락처 리스트, 사진 또는 비디오, 특별한 메시지, 뉴스, 또는 사건 정보와 같은 정보를 포함할 수 있다.
단계 606에서 모바일 디바이스(102)에 의해 제공되는 문의는, 주기적 기준으로 또는 모바일 디바이스에 의해 판정되는 다른 시점에서 제공될 수 있다. 본 실시예에서는, 높은 중요도 정보 이외의 정보가 웹 서버로부터 모바일 디바이스로 전달되는지의 여부를 판정하는 웹 서버(104)로의 문의가 발생되는 때를 모바일 디바이스(102)가 판정할 것으로 생각되지만, 다른 실시예에서는 그러한 문의 및/또는 정보의 다운로드가 웹 서버와 모바일 디바이스 사이의 상호 합의에 의해 판정되는 시점에서, 웹 서버에 의해 단독으로 판정되는 시점에서(예를 들어, 웹 서버가 충분한 양의 낮은 중요도 정보가 수집되었다고 판정했을 때), 또는 디바이스 양자를 프로그램한 제조 업체와 같은 다른 엔티티 또는 당사자에 의해 판정되는 시점에서 발생할 수 있다. 웹 서버(104)에 의한 모바일 디바이스로의 정보의 역 송신을 유발하는 것이 모바일 디바이스로부터의 문의인지의 여부 또는 그러한 정보의 송신을 유발하는 것이 다른 트리거인지의 여부와 무관하게, 단계 608에서 지시되는 바와 같이, 그러한 다른 정보 또한 궁극적으로 모바일 디바이스에 의해 웹 서버로부터 수신된다. 단계 602는 도 4의 단계 402에 대한 상보(complementary)로 간주될 수 있는 한편, 단계 604 내지 단계 608은 도 4의 단계 406 내지 단계 412(및 특히 단계 414 내지 단계 412)에 의해 표현되는 웹 서버 작동에 대한 상보로 간주될 수 있다.
여전히 도 6을 참조하면, 후속 단계 609에서, 웹 서버(104)로부터 모바일 디바이스(102)에 의해 수신된 정보는 모바일 디바이스에 의해 디스플레이되거나 출력된다. 정보의 그러한 디스플레이/출력이 발생하는 정도는 실시예에 의존할 것이다. 적어도 일부 실시예에서, 이 정보는 모바일 디바이스(102)에 의해 CPW-특정 포매팅 정보 또는 기능이 디스플레이/출력 정보의 일부로서 제공되지 않는 표준화된 방식으로 디스플레이/출력된다. 좀더 구체적으로 그러한 일부 실시예에서, CPW-특정 포매팅 정보 및 기능은 웹 서버(104)에 의해 또는, 일부 다른 실시예에서는, 모바일 디바이스에 의해 또는 웹 서버와 모바일 디바이스 양자의 조합에 의해 수정(redact)된다.
그러한 수정을 수행하면서, 상이한 CPW에서 발견되는 유사한 정보 유형은, 상이한 CPW에 의해 (예를 들어, 포스팅 사이트에서 발견된 정보로서 아니면 월에서 발견된 정보로서) 상이한 방식으로 참조된다 하더라도, 개념적으로 유사한 유형인 것으로 인식되고, 그러한 인식에 기초해, 그러한 정보는 정보의 기원에 무관하게 모바일 디바이스에 공통 방식으로 디스플레이(또는 출력)될 수 있다. 다시 말해, 그러한 CPW-특정 포매팅 정보 또는 기능의 수정이 주어지면, 상이한 CPW로부터의 동일한 개념 유형의 정보는, 상이한 CPW에서 상이하게 포매팅된다 하더라도, 그 정보의 기원에 무관하게 모바일 디바이스상에 동일하거나 유사한 일관된 방식으로 디스플레이됨으로써, 그러한 정보에 대한 사용자의 리뷰를 용이하게 한다. 더 나아가, 그러한 정보는, 사용자가 웹서버쪽으로 역 송신될 수 있는 추가 정보 또는 명령을 입력할 수 있는 인터랙티브 창 및 데이터 입력 필드를 모바일 디바이스에 디스플레이할 수 있게 하는 데이터를 포함하여, 텍스트 및 이미지 데이터 뿐만 아니라 광범위한 다른 데이터도 포함할 수 있다는 것에 주목해야 한다.
다음으로, 단계 610에서 모바일 디바이스(102)는 모바일 디바이스에서 현재 이용 가능한 컨텐츠 정보를 웹 서버로 그리고/또는 궁극적으로 CPW(106)로 업로드하려는 수요 또는 소망이 존재하는지의 여부를 판정한다. 그 수요 또는 소망은, 예를 들어, 특정 유형의 정보가 사용자 또는 다른 소스로부터 모바일 디바이스에 의해 수신되었는지의 여부 또는 그러한 업로드 이벤트를 트리거하는 특정 사건이 발생했거나 특정 시간이 경과되었는지의 여부에 기초해, 모바일 디바이스(102)에 의해 자동적으로 판정될 수 있다. 흔히, 그러한 수요/소망은 모바일 디바이스(102)에 제공되는 사용자 명령에 응답하여 발생할 것이다. 단계 610에서 그러한 수요/소망이 존재하지 않는다고 판정되면, 표시된 바와 같이, 프로세스는 다음에서 논의되는 단계 622로 진행한다. 그러나, 단계 610에서 그러한 수요/소망이 존재한다고 판정되면, 단계 612에서 모바일 디바이스(102)는 컨텐츠 정보를 웹 서버(104)쪽으로 송신하고 단계 614에서 모바일 디바이스는 컨텐츠 정보를 CPW(106)쪽으로 업로드하라는 명령을 웹 서버쪽으로 추가 송신한다. 단계 610 내지 단계 614는, 단계 418을 참조하여 논의된 바와 같이 인증 목적을 위해 모바일 디바이스(102)로부터 제공되는 인증 정보가 도 6에 표시된 단계 602에서 이미 제공된 것으로 이해될 수 있다(다른 방법으로, 이 목적에 적당한 추가 인증 정보가 단계 612 직전에 제공될 수 있다)는 점을 제외하면, 일반적으로 도 4의 단계 418 내지 단계 428에 대한 상보인 것으로 이해될 수 있다.
단계 614가 완료되면, 모바일 디바이스(102)는, 단계 616에서, 컨텐츠 정보를 그 정보가 이미 업로드된 제1 CPW 이외에 하나 이상의 추가 CPW쪽으로 업로드하려는 수요/소망이 존재하는지의 여부를 추가 판정한다. 이번에도, 그 수요 또는 소망은, 다른 것들 중에서도, 모바일 디바이스의 사용자에 의해 모바일 디바이스쪽으로 제공되는 하나 이상의 명령어를 포함하는 다양한 팩터에 기초해 판정될 수 있다. 단계 616에서 그러한 수요 또는 소망이 존재하지 않는다고 판정되면, 프로세스는 다음에서 논의되는 단계 622로 다시 진행한다. 그러나, 단계 616에서 그러한 수요 또는 소망이 존재한다고 판정되면, 프로세스는 웹 서버를 통해 모바일 디바이스와 그러한 추가 CPW 사이에 추가 통신 링크가 확립되는 단계 618로 진행한다. 단계 618은 도 4의 단계 432 내지 단계 436에 대한 상보로 간주될 수 있고, 실시예에 따라, 모바일 디바이스가 그러한 추가 CPW와의 통신 링크가 이미 존재하는지의 여부를 먼저 판정하고, 그러한 통신 링크가 아직 존재하지 않는 것으로 판정되면, 그러한 추가 CPW와 그러한 통신 링크를 확립하여 웹 서버가 그러한 통신에서 모바일 디바이스를 위한 프록시로서 기능하게 하기 위해 웹 서버쪽으로 추가 ID 정보를 송신하는 하위 단계를 포함할 수 있다.
단계 618에서 추가 CPW(106)와의 추가 통신 링크가 확립되고 나면, 모바일 디바이스(102)는 단계 620에서 그러한 추가 CPW(106)쪽으로 컨텐츠 정보를 업로드하기 위한 명령을 웹서버(104)에 추가 송신한다. 단계 620의 수행은 도 4의 단계 430에 해당하는 것으로 이해될 수 있고, 더 나아가 단계 618 및 단계 620의 수행 순서는 그 단계들이 도 4의 단계 430 내지 단계 436의 순서에 좀더 밀접하게 부합하도록 반전 가능한(reversible) 것으로 이해된다. 추가적으로 도 6과 관련하여, 단계 620이 완료되면, 웹 서버(104)가 사실상 컨텐츠 정보를 추가 CPW쪽으로 업로드한 것으로 간주된다. 표시되지는 않았지만, 일부 실시예에서는, 그러한 업로드가 완료되면, 웹 서버(104)가 그러한 업로드가 발생했다는 것을 확인하는 지시 신호를 모바일 디바이스(102)쪽으로 역 송신한다.
도 6의 앞서 설명된 단계 뿐만 아니라 도 4의 단계도 모바일 디바이스(102)와 CPW(106) 사이의 중개자로서의 웹 서버(104) 사용을 생각하지만, 웹 서버가 항상 그러한 통신을 중개할 필요는 없으며, 오히려 일부 환경에서는 모바일 디바이스가 하나 이상의 CPW와 관련하여 직접적으로(다시 말해, 어떤 웹 서버도 또는 적어도 앞서 설명된 바와 같은 웹 서버를 포함하지 않는 하나 이상의 네트워크에 의해 직접적으로) 상호 작용한다. 그러한 관점에서, 모바일 디바이스(102)는, 단계 620(또는, 일부 경우에서는, 앞서 논의된 바와 같이 단계 610 및 단계 616)이 완료되면, 단계 622에서 모바일 디바이스가 하나 이상의 CPW(106)와 직접적으로 통신하고자 하는 수요 또는 소망이 존재하는지의 여부를 추가 판정한다.
모바일 디바이스(102)가 단계 622에서 이것이 그 경우는 아니라고 판정한다면, 모바일 디바이스는 작동시에 노드 A로 돌아갈 수 있는데, 그것에 응답하여 프로세스는 단계 604에서 다시 시작해 진행한다. 이것이 발생한다고 가정하면, 모바일 디바이스(102)는 그에 따라 웹 서버(104)로부터 정보를 수신하는 것을 계속할 뿐만 아니라 반복, 지속적으로 컨텐츠 정보를 웹 서버에 업로드하는 작동을 계속한다. 그러나, 단계 622에서 모바일 디바이스(102)가 CPW(106)와 직접적으로 통신하려는 수요 또는 소망이 존재한다고 판정하면, 모바일 디바이스는 모바일 디바이스가 그러한 직접 통신 링크를 확립하는 단계 624로 진행한다.
CPW(106)와 직접적으로 통신하려는 수요 또는 소망이 존재하는지의 여부는 다양한 고려 사항에 기초해 판정될 수 있다. 일부 환경에서, 모바일 디바이스(102)는 이것을 자동적으로 판정하고 그 결과로서 자동적으로 진행하여 CPW(106)와 직접 통신 링크를 확립한다. 예를 들어, 사용자가 특정 주제에 관해 더 많은 정보를 요청하고 주어진 CPW로부터의 그 정보의 다운로드가 CPW와의 직접 통신에 의해 (예를 들어, 데이터 전송 등의 효율성의 관점에서) 최선으로 실현되는 경우라면, 모바일 디바이스는 CPW에 직접적으로 접속할 것을 시도할 수 있다. 또한, 일부 환경에서는 사용자가, 정보가 모바일 디바이스로 진행하는 도중에 웹 서버(104)에 의해 처리된다면 제공될 수 있는 그러한 정보의 수정된 뷰를 보고 싶어하는 것이 아니라, 특정 CPW에서 그 CPW와 연관된 특정 포맷으로 이용 가능한 정보를 보고 싶어할 수 있다. 또한, CPW(106)와 직접적으로 통신하려는 수요 또는 소망이 존재하는지의 여부에 대한 판정은 그러한 통신을 명시적으로 요청하는 사용자 명령의 수신에 기초해 판정될 수 있다.
단계 624에서의 직접 통신 링크 확립은 모바일 디바이스에 의한 다양한 특정 명령 또는 작동을 포함할 수 있는데, 일부 환경에서 이는, 실시예에 따라, 사용자로부터 입력을 수신하는 단계를 수반할 수 있다. 예를 들어, 일 환경에서는, 사용자가 브라우저 애플리케이션/프로그램이 열리게 하고 모바일 디바이스에서 실행되게 하는 것에 의해 그리고 브라우저에 의해 제공되는 입력 필드에 CPW를 위한 URL(Universal Resource Locator)을 입력하는 것에 의해 그러한 직접 통신 링크의 확립을 개시하는데, 그 결과로서 브라우저는 CPW와 통신을 체결하고 CPW는 모바일 디바이스(및 사용자)가 CPW와의 추가 통신에 참여할 수 있는 웹페이지 또는 다른 정보를 브라우저쪽으로 되돌려 준다. 다른 실시예에서, 직접 통신 링크의 확립은 어떠한 특정 사용자 조치도 수반하지 않는 자동 프로세스이다.
직접 통신 링크가 확립되는 방법과 무관하게, 그 링크가 확립되고 나면, 추가 단계 626에서 모바일 디바이스(102)는 CPW(106)쪽으로 그리고/또는 CPW(106)로부터 직접적으로 (다시 한 번, 앞서 설명된 웹 서버의 중개없이) 정보를 송신 및/또는 수신한다. 그 후, 단계 628에서, 모바일 디바이스는 웹 서버(104)와의 기존 통신 링크를 중단하려는 수요 또는 소망이 존재하는지의 여부를 추가 판정한다. 그러한 수요/소망이 존재하지 않으면, 프로세스는 노드 A로 돌아가고 다시 한 번 단계 604 및 후속 단계가 반복된다. 다시 말해, 모바일 디바이스와 CPW(들) 사이의 (웹 서버 중개가 불필요한) 직접 통신 및 (웹 서버에 의한) 간접 통신 모두가 동시에 계속될 수 있다. 그러나, 단계 628에서 서버-기반 통신을 중단하려는 수요 또는 소망이 존재한다고 판정되면, 프로세스는 웹 서버와의 모바일 디바이스 통신이 파괴되는 (도 4와 관련하여 앞서 논의된 단계 440에 해당하는) 단계 630으로 진행한다.
본 실시예에서는, 앞서 논의된 바와 같이, 웹 서버(104)가, 모바일 디바이스와의 통신이 종료된 이후라 하더라도, 계속해서 모바일 디바이스를 위한 프록시로서 기능하면서, 모바일 디바이스를 대신해 앞서 통신했던 CPW 또는 사이트와의 통신을 웹 서버 자체가 유지하도록 구성된다. 그러나, 다른 실시예에서는, 모바일 디바이스가 웹 서버와의 통신을 종료할 때, 웹 서버의 CPW와의 통신은 단절된다. 어떤 경우이든, 단계 630 이후에, 단계 632에서는 모바일 디바이스 일부에서 웹 서버와의 통신을 재확립하려는 새로운 수요 또는 소망이 존재할 수 있다. 단계 622에서의 CPW(106)와 직접 통신을 체결할 것인지 아니면 단계 628에서의 웹 서버(104)와의 통신을 중단할 것인지의 판정과 마찬가지로, 단계 632에서의 모바일 디바이스(102) 일부에서 웹 서버(104)와의 통신을 재확립하려는 수요 또는 소망이 존재하는지의 여부는, 예를 들어, 그러한 활동을 트리거하는 사용자 명령, 배터리 전력에 대한 고려 사항 등을 포함하는 다양한 임의의 고려 사항에 기초해 판정될 수 있다. 단계 632에서 서버-기반 통신이 재확립되어야 한다고 판정되면, 프로세스는 시작 단계 600으로 되돌아간다. 그렇지 않다면, 도 6에 의해 표현되는 프로세스는 최종 단계 634에서 종료된다.
도 8 및 도 9로 넘어가면, 각각, 추가 실시예에서 웹 서버(104) 및 모바일 디바이스(102)에 의해 수행되는 작동이 도 4 내지 도 7에 표시된 것과는 약간 상이할 수 있다. 좀더 구체적으로, 일부 다른 실시예에서는, 도 4에 표시된 노드 B와 노드 C 사이의 단계 408 내지 단계 416을 수행하는 대신에, 웹 서버(104)가 도 8에 표시된 단계 800 내지 단계 814를 수반하는 상이한 방식으로 작동한다. 표시된 바와 같이, 노드 B로부터 진행하면, 처리 단계 408(및 도 5에 표시된 해당 단계)을 수행하는 대신에, 웹 서버(104)는 단계 800, 단계 802, 및 단계 804를 수행한다. 특히 단계 800에서, 웹 서버(104)는 단계 406에서 CPW(106)로부터 방금 획득/풀링된 정보 및 선행 시점에 그 CPW로부터 앞서 수신된 정보 사이에 변경이 발생했는지의 여부를 판정한다. 단계 802에서 변경(들)이 검출되면, 단계 804에서는 웹 서버(104)의 프런트 엔드 부분(308)이 그 변경 정보를 변경 리스트에 배치한다. 이들 단계가 웹 서버(104)가 접촉 중인 여러 CPW와 관련하여 반복적으로 수행되는 경우라면, 각각의 CPW와 관련하여 검출된 변경 정보가 변경 리스트에 정리되는데, 그런 경우 공통 변경 리스트(common change list)로 명명될 수 있다.
다음으로, 단계 806에서는, 웹 서버(104)의 프런트 엔드 부분(308)이, 처리된 정보가 높은 중요도인지 아니면 높지 않은 중요도(예를 들어, 낮은 중요도)인지를 판정한다. 이 판정을 수행함에 있어서, 도 4의 단계 410과 관련하여 앞서 논의된 것과 동일한 고려 사항이 고려될 수 있고, 그 이유 때문에 단계 806 또한 도 8에서 단계 410으로 라벨링된다. 처리된 정보가 높은 중요도인지 아니면 낮은 중요도인지에 따라, 프로세스는, 각각, 단계 808 또는 단계 810으로 진행한다. 단계 808에서, 처리된 정보가 높은 중요도 정보(예를 들어, 상태 업데이트에 관한 정보)라고 판정되고 나면, 웹 서버(104)의 프런트 엔드 부분(308)은 높은 중요도의 변경이 발생했다는 것을 지시하는 통지를 푸시 채널을 통해 모바일 디바이스(102)쪽으로 송신한다. 마찬가지로, 단계 810에서, 처리된 정보가 낮은 중요도 정보라고 판정되면, 웹 서버(104)의 프런트 엔드 부분(308)은 낮은 중요도의 변경이 발생했다는 것을 지시하는 통지를 이번에도 푸시 채널을 통해 모바일 디바이스(102)쪽으로 송신한다.
단계 808이나 단계 810에서 일단 통지가 송신되고 나면, 단계 812에서는 이후에 웹 서버(104)의 프런트 엔드 부분(308)은 모바일 디바이스(102)로부터 변경 정보 자체를 송신하라는 요청을 수신할 수 있다. 요청은 모바일 디바이스(102)에 의해 판정되는 임의 시점에 수신될 수 있다. 흔히, 변경 정보가 높은 중요도라면, 모바일 디바이스(102)는 단계 808에서 통지를 수신한 후 즉시 또는 곧 정보를 위한 요청을 송신한다. 반대로, 변경 정보가 낮은 중요도라면, 모바일 디바이스는 대개 그러한 요청을 위한 소정 시간(예를 들어, 주기적 또는 비주기적 폴링 시간)이 달성될 때까지 대기할 것이다. 예를 들어, 디바이스가 높은 중요도 정보를 요청하는데는 겨우 5분만을 대기할 수 있고 낮은 중요도 정보를 다운로드하라는 요청들 사이에는 15-30분을 대기할 수 있다. 어떤 경우이든, 단계 812에서 변경 정보의 전송을 위한 요청이 모바일 디바이스(102)로부터 수신되고 나면, 요청된 변경 정보는 이후에 웹 서버(104)의 프런트 엔드 부분(308)에 의해 모바일 디바이스(102)쪽으로 송신된다. 다른 실시예에서는 모든 변경 정보가 푸시 채널을 통해 송신될 수 있다고 생각되지만, 본 실례에서는, 모바일 디바이스가 변경 컨텐츠를 수신하기 위해 구동되는 시간을 감소시키기 위해, 이 변경 정보가 푸시 채널에 의해 송신되지 않거나 다른 방법으로는 높은 중요도의 변경 정보만이 푸시 채널에 의해 송신되는 것이 바람직할 수 있다.
단계 814에서 이 정보가 송신되고 나면 또는 단계 812에서 정보를 위한 요청이 수신되지 않으면(또는 적어도 소정 기간 내에 수신되지 않으면) 또는 단계 802에서 CPW(106)로부터 수신된 정보에서 변경이 검출되지 않았다면, 프로세스는 도 4의 노드 C(및 따라서 단계 418)로 돌아간다. CPW에 업로드하기 위한 컨텐츠가 요구되지 않는 경우라 하더라도, 웹 서버(104)는 컨텐츠가 모바일 디바이스(102) 클라이언트로 업로드되는지의 여부와 무관하게 CPW로부터 계속해서 컨텐츠를 풀링할 것이므로 통상 반복적으로 단계 406으로 돌아갈 것이다.
본 실례에서는 변경 정보의 통지가, 변경 정보가 높은 중요도인지 아니면 낮은 중요도인지에 무관하게 단계 808 및 단계 812에서 푸시 채널에 의해 동일한 방식으로 제공되지만, 항상 그럴 필요는 없다. 다른 실시예에서는, 예를 들어, 높은 중요도 변경에 관한 통지는 낮은 중요도 변경에 관한 통지보다 좀더 신속하게 또는 낮은 중요도 변경에 관한 통지와는 약간 다른 방식으로 송신될 수 있다. 더 나아가, 도 8의 본 실례에서는 단계 814에서의 변경 정보 송신이 단계 808, 단계 810에서의 통지 송신과 상이한 시점에서 발생하지만, 항상 그럴 필요는 없다. 예를 들어, 다른 일 실시예에서, 높은 중요도의 변경 정보가 작은 경우(예를 들어, 100자 미만의 텍스트 메시지인 경우)라면, 그 컨텐츠는 높은 중요도 변경의 통지와 함께 제공될(또는 심지어 높은 중요도 변경의 통지로서 기능할) 수 있다. 상기 설명으로부터, 적어도 일부 실시예에서는 백 엔드 부분의 작동이 CPW(106) 및 모바일 디바이스(102)와의 상이한 부분의 개개 통신이라는 관점에서 주로 또는 전적으로 프런트 엔드 부분의 작동과 무관할 수 있다는 것도 분명히 알 수 있어야 한다. 실시예에 따라 다양하고 상이한 통신 유형, 예를 들어, 풀링 또는 폴링, 또는 주기적 또는 비동기 통신을 포함하는 통신 유형이 다른 엔드 부분의 작동에 관계없이 어느 한 쪽의 엔드 부분에 의해 이용될 수 있다. 따라서, 백 엔드 부분(306)은 프런트 엔드 부분이 하고 있는 일과 독립적으로 끊임없이 CPW(106)로부터 컨텐츠를 풀링하고 변경을 프런트 엔드 부분(308)쪽으로 송신할 수 있다. 마찬가지로 프런트 엔드 부분(308)은, 백 엔드 부분(306)이 어떤 특정 순간에 하고 있는 일에 상관없이, 모바일 디바이스(102)쪽으로 푸시하고 변경 컨텐츠를 다운로드하기 위한 요청을 기다릴 수 있거나 웹 서버(104)와 모바일 디바이스를 동기화할 수 있다.
도 9를 살펴보면, 거기에서 제공되는 흐름도는, 일부 다른 실시예에서, 도 6에 표시된 노드 A와 노드 D 사이의 단계 604-609를 수행하는 대신에, 모바일 디바이스(102)가 단계 900-914를 포함하는 상이한 방식으로 작동하는 방법을 나타낸다. 도 9에 표시된 모바일 디바이스(102)에 의해 수행되는 단계 900-914는 특히 도 8에 표시된 웹 서버(104)에 의해 수행되는 단계 800-814에 대한 상보이다. 도 9에 표시된 바와 같이, 노드 A로부터 진행하면, 도 6의 수신 단계 604를 수행하는 대신에, 모바일 디바이스(102)는 CPW(106)로부터 최근에 그리고 선행 시점에 제공된 정보에서 하나 이상의 변경(들)이 검출되었다는 (단계 808, 810 중 하나에서 또는 모두에서 송신된) 통지를 웹 서버(104)로부터 수신할 수 있다. 단계 900에서 통지가 수신되면, 단계 902에서 모바일 디바이스(102)는, 통지가 변경이 높은 중요도라고 지시하는지 아니면 낮은 중요도라고 지시하는지를 판정한다.
단계 902에서 변경이 높은 중요도라고 판정되면, 모바일 디바이스(102)는 단계 904에서 높은 중요도의 변경 정보가 웹 서버(104)로부터 즉시 획득되어야하는지를 판정한다. 일부 실시예에서는 높은 중요도의 변경 정보가 항상 가능한 빨리 획득되어야 하지만, 다른 실시예에서는 모바일 디바이스가 여전히 여러 가지 이유로 (예를 들어, 모바일 디바이스의 전력이 부족하기 때문에) 그 정보를 웹 서버로부터 획득하는 것을 시도하기를 미루는 것이 바람직할 것으로 판정할 수 있다. 단계 904에서 모바일 디바이스(102)가 변경 정보를 즉시 획득해야 한다고 판정했다고 가정하면, 프로세스는, 높은 중요도의 변경 정보가 즉시 모바일 디바이스쪽으로 제공되어야 한다는 것을 요청하는 요청 신호를 모바일 디바이스가 즉시 웹 서버쪽으로 송신하는 단계 906으로 진행한다. 응답으로, 단계 908에서는, 모바일 디바이스(102)가 최종적으로 요청된 변경 정보(또는, 웹 서버(104)에 의해 판정되는 바에 따라, 적어도 그 정보의 일부)를 웹 서버로부터 수신한다. 이러한 관점에서, 단계 908의 수행은 도 8의 단계 814의 수행을 상보한다.
다른 방법으로, 단계 902에서 통지가 변경 정보가 낮은 중요도임을 지시한다고 판정되거나 단계 904에서 모바일 디바이스가 변경 정보가 즉시 획득되지 않아도 된다(또는 획득될 필요가 없다)고 모바일 디바이스에 의해 판정되면, 프로세스는 단계 910으로 진행한다. 단계 910에서, 모바일 디바이스(102)는 변경 정보를 위해 웹 서버(104)를 폴링하기 위한 적합한 시점이 발생했는지를 추가 판정한다. 그러한 적합한 시점은 주기적으로 발생하는 시점일 수 있거나, 다른 실시예에서는, 다양한 다른 고려 사항(예를 들어, 다른 이벤트 이후로 경과된 시간 또는 모바일 디바이스가 웹 서버(104)로부터 컨텐츠 정보를 획득할 것을 지시하도록 수신된 사용자 명령)에 기초해 모바일 디바이스(102)에 의해 판정될 수 있다.
단계 910에서 웹 서버를 폴링하기 위한 적합한 시점이 아직 발생되지 않았다면, 프로세스는 그러한 시점이 발생할 때까지 그 단계를 반복할 수 있다(또는 프로세스의 다른 단계로 진행할 수 있고 그리고/또는 상이한 시점에서 단계 910으로 돌아갈 수 있다). 그러나, 단계 910에서 적합한 시점이 발생했다면, 프로세스는 폴링/요청 신호가 모바일 디바이스(102)에 의해 웹 서버(104)쪽으로 송신되는 단계 912로 진행한다. 그 신호가 송신되고 나면, 프로세스는, 모바일 디바이스(102)가 요청된 변경 정보를 수신하는 단계 908로 돌아간다. 더 나아가 도 9에 표시된 바와 같이, 단계 908이 완료되고 나면, 모바일 디바이스(102)는 모바일 디바이스의 사용자에 의한 정보의 검토를 허용하기 위해 수신 정보가 모바일 디바이스(102)에 의해 디스플레이되거나 출력되는 단계 913을 계속해서 수행한다. 단계 913은, 표시된 바와 같이, 도 6의 단계 609와 동일하거나 유사할 수 있다.
대개는 단계 908에서 웹 서버(104)에 의해 송신된 변경 정보가 모바일 디바이스(102)의 사용자에게 가장 큰 관심거리지만, 이 변경 정보는 흔히 그 정보를 웹 서버에 의해 처리하기 이전에 CPW(106)에서 원래부터 이용 가능했던 다양한 컨텐츠(뿐만 아니라 포매팅) 정보를 배제한다. 다시 말해, 웹 서버(104)에 의해 제공되는 정보는 사건, 최근의 상태 정보, 다른 사람들로부터의 코멘트 등과 같은 다양한 컨텐츠를 포함할 수 있지만 그리고 모바일 디바이스(102) 또한 당연히 사용자 인터페이스의 일부로서 특정 표준 정보(예를 들어, 사용자의 이름, 사용자가 접촉하는 CPW 등)를 디스플레이할 수 있지만, 컨텐츠 및/또는 다른 정보의 상당량이 웹 서버(104)의 중개로 인해 배제될 수 있다. 이런 이유로, 단계 913에서 변경 정보가 디스플레이되면, 사용자는 변경 정보 뿐만 아니라 다른 컨텐츠(또는 심지어 포매팅) 정보까지도 획득하는 것이 바람직할 것으로 판단할 수 있다. 사용자가 그러한 다른 정보를 획득하고 싶어할 수 있다는 것을 감안할 때, 모바일 디바이스는, 후속 단계 914에서, 단계 908에서 웹 서버(104)로부터 수신되지 않았던 다른 정보를 획득하기 위한 사용자 명령이 수신되었는지의 여부를 추가 판정한다. 그러한 명령은, 예를 들어, 사용자가 모바일 디바이스에 의해 디스플레이되는, 단계 913에서 변경 정보의 일부로서 디스플레이되었을 수 있는, 아이콘을 선택할 때 수신될 수 있다.
단계 914에서 그러한 명령이 수신되었다고 판정되면, 모바일 디바이스(102)는 단계 916에서 CPW(106)와의 직접 통신 링크를 확립한다. 직접 통신 링크를 확립하는 이 작동은 앞서 논의된 단계 624와 연관된 작동과 동일하거나 유사할 수 있고, 통신 링크를 확립할 뿐만 아니라 사용자에 의해 소망되는 다른 정보를 끌어내도록 설계된 (예를 들어, URL의 입력/전송을 포함하는 그리고/또는 CPW(106)의 웹페이지와 인터페이스하는) 표준 웹-기반 클라이언트-서버 통신을 포함할 수 있다. 따라서, 단계 916에서 직접 통신 링크가 확립되고 나면, 단계 918에서는 사용자에 의해 소망되는 다른 정보가 CPW(106)로부터 수신된다. 단계 918이 완료되고 나면, 단계 914에서 사용자 명령이 수신되지 않았다고 판정된 경우 뿐만 아니라 단계 900에서 웹 서버(104)로부터 통지가 수신되지 않은 경우에도, 프로세스는 노드 D로 돌아가고 도 6의 단계 610으로 이어진다.
본 발명의 또 다른 실시예에서, 백 엔드 부분(306)은, 각각이 개개 CPW(106)와 연관되는 복수개 플러그-인 또는 프로세서를 포함한다. 각각의 플러그-인은 그것과 연관된 CPW(106)를 위한 API(application programming interfaces)를 포함한다. 각각의 플러그-인은 HTTP(hypertext transfer protocol)를 사용해 각각의 CPW(106)로부터 지속적으로 정보를 풀링한다. 백 엔드 부분(306)의 플러그-인에 의해 변경이 검출되면, 변경은 큐로 로딩되고 프런트 엔드 부분(308)은 모바일 디바이스(102)쪽으로 통지를 푸시한다. 백 엔드 부분(306)의 플러그-인 모두가, 예를 들어, 정보의 소스에 대한 ID(소스 CPW ID), 모바일 디바이스(사용자 디바이스)의 어카운트 ID, 컨텐츠 유형, 우선순위, 및 정보를 포함하는 공통 포맷에 따라 포매팅된 정보로써 계속해서 큐를 로딩할 것이다. 상태의 경우, 예를 들어, 포맷은: 유형(STATUS, MOOD, STATUS_AND_MOOD), 조치(클리어 상태 또는 업데이트 상태), 프로바이더, 집계 서비스 어카운트 ID, 외부 ID, 업데이트가 친구를 위한 것이라면 친구 ID, 상태 텍스트, 게시 날짜 및 시각일 수 있다. 웹 서버(104)는 모든 플러그-인에 의해 풀링된 컨텐츠를 각각의 개개 디바이스(또는 사용자 어카운트)를 위한 공통 변경 리스트로 조합하는 것에 의해 각각의 사용자 디바이스(또는 사용자 어카운트)를 위한 통합 피드(unified feed)를 구축한다. 컨텐츠는 시간의 경과에 따라 구축되고, 각각의 엔트리는 타임 스탬핑(time stamped)될 수 있다.
다음 알고리즘은, 서버 동기화 동안의 변경을 검출하는데 사용될 수 있는데, 서버 동기화는 웹 서버(104)와 CPW(106)의 동기화를 수반하는 것으로 이해된다(비교로써, 클라이언트 동기화는 모바일 디바이스(102)와 같은 클라이언트와 웹 서버의 동기화를 수반하는 것으로 이해될 수 있다). 웹 서버(104) 프로그램은 각각의 어카운트(account)를 위해 3개의 숫자: cla, w1, 및 w2를 보유한다. cla는 변경 리스트 앵커(change list anchor)이고, w1은 변경 리스트 창의 시작 시점(샘플)이며, w2는 변경 리스트 창의 종료 시점(샘플)이다. 웹 서버(104)는 창 [w1,w2] 내부에 해당하는 변경 리스트 부분을 저장한다. 서버 동기화 동안에 발견된(즉, 백 엔드 부분이 CPW로부터 풀링하는) 모든 변경은 현재의 w2(즉, 1만큼 증분되기 이전의 w2)와 동일한 동기화 앵커로써 스탬핑된다. 창 크기가 최대 창 크기 mw에 도달하거나 초과하면 프로그램은 서버 동기화(CPW 크기 동기화)를 보류한다. 일단 보류되고 나면, 서버는 새로운 클라이언트 폴이 수신될 때 서버 동기화를 재개할 것이다. 나머지 변수는 클라이언트 앵커인 ca 및 동기화 활동이 없음을 지시하는 플래그인 OFF이다. cla, w1, 및 w2의 값은 다음의 상태 전이 규칙에 따라 업데이트된다.
Figure 112013091232038-pat00001
클라이언트가 변경을 위해 폴링할 때, 클라이언트 앵커 ca가 [w1, w2] 내부에 해당하면, 부분 동기화가 작용할 것이고 웹 서버(104)는 [ca, w2] 내에 해당하는 변경을 역 송신한다(그리고 ca 이전의 변경을 삭제한다). 동기화의 종결시에, ca는 업데이트될 것이다. 클라이언트가 변경을 위해 폴링할 때, 클라이언트 앵커가 [w1, w2]의 바깥에 해당하면, 웹 서버(104)와 모바일 디바이스(102)의 클라이언트 프로그램 사이에서 새로운 완전 동기화(new full sync)가 발생할 것이다.
서버 동기화(특정 디바이스(102)를 위해 컨텐츠를 풀링 중인 백 엔드 플러그-인)는 창 크기가 mw에 도달하면 특정 모바일 디바이스(102) 어카운트를 위해 보류될 수 있다고 생각되는데, 이 경우 클라이언트 폴링이 부재한다면 몇개의 놓친 푸시(디바이스에 대한 통지)가 디바이스에 대한 서비스 중단을 일으킬 수 있다. 마지막 w2 이후로 보류 중인 변경이 존재한다면 푸시를 송신하는 것이 바람직할 수 있다고 생각되는데, 이 경우 w1 이후로 보류 중인 변경이 존재하는 한 푸시가 송신될 수 있다.
더 나아가 여기에서 설명되는 중개 웹 서버(104)가, 여기에 그 전체가 참고 문헌으로써 포함되어 있는, 2009년 5월 21일에 출원된, A MOBILE COMPUTING DEVICE AND METHOD WITH ENHANCED POLING MANAGEMENT라는 명칭의 미국 가출원 제61/180,301호에서 설명된 디바이스 폴링 관리자와 함께 이용되는 것이 바람직할 수 있다고 생각된다.
이제부터는 컨텐츠를 업로드하는 것의 실례로서 사진 업로드가 설명될 것이다. 중개 웹 서버(104)는, 사진을 중개 웹 서버(104) 메모리(302)에 캐싱하는 것에 의해, 모바일 디바이스(102)로부터 여러 CPW(106)쪽으로 사진을 업로드하는 프로세스를 최적화하는데 이용될 수 있는데, 이 실례에서는 중개 웹 서버(104)가 소셜 네트워킹 시스템이다. 예시적인 흐름은 다음과 같다.
1. 웹 서버 프런트 엔드가, 사용자 디바이스가 사진을 업로드했다는 것을 백 엔드 부분에 지시하고;
2. 웹 서버 프런트 엔드 또는 백 엔드가 새로운 사진에 사진 URL 및 시스템 전체에 걸쳐 고유한 사진 ID를 제공할 것이며;
3. 사진 ID가 디바이스쪽으로 다운로드되는데, 그것에 응답하여 디바이스 클라이언트 프로그램은 사진 ID를 사진 이름과 연관짓고;
4. 백 엔드 부분은 HTTP를 통해 파일을 /tmp/uniquephotoid.tmp와 같은 위치로 다운로드하며;
5. 각각의 타켓 CPW와 연관된 개개의 백 엔드 부분 플러그-인이 이 사진 파일을 업로드하기 위해 각각의 CPW에 대해 work.uploadPhoto를 제출하고;
6. 백 엔드 부분은 사진 공유의 성공 또는 실패에 대한 보고서를 프런트 엔드 부분에 역 제공하며;
7. 프런트 엔드는 선택적으로 사용자 디바이스에 성공 또는 실패를 통지할 수 있고;
8. 소정 기간이 경과된 후, 사진은 삭제된다.
작동시에, 모바일 디바이스(102)로부터의 사진이 디바이스로부터 프런트 엔드 부분(308)으로 업로드된다. 프런트 엔드 부분(308) 또는 백 엔드 부분(306)은, 사진이 모바일 디바이스에 의해 다시 업로드될 것을 요구하지 않으면서 동일한 사진이 상이한 시스템의 웹사이트에 제출될 수 있도록 하기 위해 사진을 소정 기간 동안 중개 웹 서버 메모리(302)에 캐싱한다. 소정 기간 이후에, 사진은 삭제될 것이다. 소정 기간은 임의 기간일 수 있고, 메모리 제약 및 사용 빈도에 따라 선택된다. 기간은, 예를 들어, 24 시간일 수 있는데, 이 기간은 사진이 메모리에 업로드되는 시점에서 시작될 수 있어 사진이 업로드되면 기간이 설정되거나, 기간은 CPW로의 사진 업로드시에 시작될 수 있어 사진이 새로운 CPW에 업로드될 때마다 기간이 연장될 것이다.
예시적 일 실시예에서, 사진은 조치로서, 특정 CPW(106)의 ID와 함께, 모바일 디바이스(102)로부터 서버 프런트 엔드 부분(308)으로 업로드되고 네트워크 서버의 임시 저장소에 저장된다. 프런트 엔드 부분(308)은, 예를 들어, 모바일 디바이스(102)에 의해 특정된 CPW(106)에 전용될 수 있는 서버(104)의 백 엔드 부분(306)의 플러그-인으로 사진을 포워딩한다. 또한, 네트워크 서버 프런트 엔드 부분(308)은 저장된 사진과 연관된 사진 ID를 포함하는 메시지를 모바일 디바이스(102)쪽으로 역 송신한다. 사진 ID는 사진이 웹 서버 메모리(302)에 저장되는 위치 또는 그 위치로의 포인터를 식별한다. 모바일 디바이스(102)는 사진 ID를 사진의 이름과 연관짓는다(매핑한다). 그 후, 모바일 디바이스(102)가 사용자 인터페이스를 통해 동일 사진을 상이한 CPW(예를 들어, 상이한 소셜 네트워킹 시스템)쪽으로 송신하기로 결정하면, 모바일 디바이스는 실제 사진 대신에 사진 ID를 웹 서버(104)쪽으로 송신할 것이다. 응답으로, 웹 서버(104)는 사진을 검색하여 그것을 다른 CPW에 전용되는 다른 플러그-인으로 포워딩할 것이다. 사진이 메모리(302)로부터 삭제되고 나면, 사진 이름과 사진 ID의 연관을 삭제하기 위해 업데이트가 모바일 디바이스(102)쪽으로 송신될 것으로 생각되고, 그에 따라 모바일 디바이스는 사진을 업로드하지 않을 것이다. 한편 사진이 더 이상 저장되지 않고 웹 서버(104)가 사진 ID와 연관된 사진을 업로드하라는 요청을 수신하면, 프런트 엔드 부분(308)은 가입자 모바일 디바이스쪽으로 오류 메시지를 송신할 것이고 그에 응답하여 가입자 디바이스는 사진을 다시 업로드할 것이 요청된다.
다른 실시예에서, 웹 서버 백 엔드 부분(306)은 모바일 디바이스(102)로부터 업로드된 사진이 타겟 CPW(예를 들어, 소셜 네트워킹 시스템)의 필요한 제한(예를 들어, 규격 및 크기) 내에 해당하는지의 여부를 판정할 것이다. 각각의 플러그-인이 사진에 대한 CPW의 제한을 저장할 수 있으므로, 이것은 사진이 메모리(302)로부터 삭제될 때 각각의 CPW와 연관된 플러그-인에 의해 처리될 수 있다고 생각된다. 제한이 충족되면, 백 엔드 부분은 타겟 CPW까지 사진을 송신할 수 있다. 그렇지 않다면, 사진은 CPW의 요구 사항에 따라 크기가 조정될 것이다. 사진을 대상 크기로 크기 조정 및/또는 스케일링하기 위해, 크기 조정 팩터가 판정된다. 크기 조정 팩터 X를 판정하는데 사용될 수 있는 특히 바람직한 알고리즘은 다음과 같다:
x/100 = ((t-f)/(kc))^(0.5)
여기에서
x는 크기 조정 백분율이고
t는 바이트의 대상 크기(target size)로서, 예를 들어, 대략 1메가바이트 이하일 수 있고, 바람직하기로는 200,000 바이트 미만일 수 있는데, 일 구현에서는 100,000 바이트였다.
f는 파일 크기를 위한 작은 퍼지 팩터(fudge factor)이고,
k는 상수 팩터로서, 1 미만일 수 있고, 바람직하기로는 0.5 미만일 수 있으며, 일 구현에서는 0.23으로 선택되었다.
c는 바이트의 원래 파일 사이즈이다.
사진을 웹 서버(104)에 저장하는 것에 의해, 서버는, 모바일 디바이스(102)가 통신하는 LAN 또는 WAN을 통해 모바일 디바이스가 한번만 미디어를 업로드하면서 모바일 디바이스가 미디어를 상이한 때에 상이한 CPW로 송신하는 것을 허용하는 것에 의해, 디바이스에서의 전력 소비 및 통신 네트워크에 대한 대역폭 부담을 감소시키는데 도움을 준다. 추가적으로, 웹 서버(104)는 미디어를 각각의 CPW에 의해 소망되는 포맷으로 채택할 수 있고, 모바일 디바이스(102)가 미디어를 성공적으로 업로드하기 위해 이 요구 사항을 인지하거나 수용할 필요는 없다.
또한, 사진은 중개 웹 서버를 통해 모바일 디바이스쪽으로 다운로드될 수 있다고 생각된다. 예를 들어, RSS 뉴스 피드의 경우, RSS 컨텐츠 소스로부터의 사진이, 뉴스 피드 요약과 함께, 백 엔드 부분에 의해 뉴스 피드로부터 풀링된다. 백 엔드 부분(306)이 그러한 뉴스 정보가 새롭다는 것을 검출하는 경우, 다시 말해, 선행 RSS 뉴스 피드가 이 CPW로부터 백 엔드 부분에 의해 풀링된 이후 변경이 발생했다는 것을 검출하는 경우, 서버(104)의 백 엔드 부분은 클라이언트 모바일 디바이스(102)를 위해 적절하게 포매팅된 피드를 프런트 엔드 부분(308)으로 전송할 것이다. 프런트 엔드 부분(308)은 클라이언트 디바이스(102)에 대한 낮은 우선순위의 푸시 통지를 발생시킬 것이고 디바이스(102)를 위한 큐에 요약 및 사진이 로딩될 것이다. 그 후 클라이언트 디바이스(102)가 컨텐츠를 위한 폴링 요청을 프런트 엔드 부분(308)으로 송신할 때, 프런트 엔드 부분은 뉴스 피드를 포함한 큐의 컨텐츠를 전송할 것이고, 이는 포매팅된 사진 및 요약을 포함한다. 모바일 디바이스(102)의 클라이언트 프로그램은 요약 및 관련 사진을 모바일 디바이스(102) 디스플레이(216)에 디스플레이할 것이다. 백 엔드 부분(306)은 이런 식으로 디바이스를 위한 뉴스 사진 및 요약을 검출 및 포매팅하고, 프런트 엔드 부분(308)은 컨텐츠가 이용 가능하다는 것을 디바이스에 통지하며 디바이스로부터의 폴링 요청에 응답하여 뉴스 피드를 모바일 디바이스(102)쪽으로 다운로드한다. 앞서 설명된 작동 이외에, 적어도 하나의 추가 실시예에서, 입력(210)이 (흔히 터치 스크린이라고 하는) 디스플레이상의 터치 센서를 포함한다면, 사용자는 요약 및 사진에서 스크린을 터치할 수 있고 사용자 인터페이스는 뉴스 피드 요약/사진과 연관된 CPW에 링크(110)를 통해 직접적으로 접속해 뉴스 피드와 관련된 추가 정보를 사용자에 의한 시청을 위해 디스플레이(216)에 로드할 것이다.
더 나아가 모바일 디바이스(102)의 클라이언트 프로그램은 사용자가 서버 어카운트를 갖는 것과 관련하여 각각의 CPW를 위한 컨텐츠 유형 및 특징에 관한 일부 정의를 저장할 것으로 생각된다. 모바일 디바이스의 사용자 인터페이스는 사용자가 서버에 설정하는 어카운트에 따라 달라질 것이다. 예를 들어, 사용자가 그들의 웹 서버(104) 어카운트에 FacebookTM 및 TwitterTM를 입력한다고 가정하자. 사용자가 사용자 인터페이스와 상호 작용하여 CPW로 업로드될 메시지를 구성할 때, 사용자 인터페이스 디스플레이는 메시지가 송신될 타겟 CPW를 위해 "Facebook", "Twitter" 또는 "ALL"의 선택을 제시한다. 선택이 이루어지는 것에 따라, 메시지를 위한 파라미터(예를 들어, 문자의 수)가 상이할 수 있다. 사용자가 모두(ALL)를 선택하면, 길이는 2개의 CPW 제한보다 좀더 짧을 것이다. 더 나아가, 길이 갯수와 경고가 제공될 수 있다고 생각된다. 사용자가 텍스트를 입력함에 따라, 한도에 도달되기 전에 허용되는 나머지 문자가 디스플레이된다. 30개 문자와 같은 어떤 임계값에서, 경고가 디스플레이될 것이다. 한도가 초과되는 경우, 나머지 문자는 음의 갯수(negative count)로 진행하거나 사용자가 추가 문자를 입력하는 것이 금지될 것이다. 사용자가 대상 CPW를 변경하는 경우, 한도는 적절하게 달라질 것이다. 예를 들어, 메시지가 생성된 후 TwitterTM 웹사이트가 대상으로서 추가되면, 한도는 감소될 것이다. TwitterTM 웹사이트가 대상으로서 삭제되면, 한도는 증가된다.
모바일 디바이스(102)는 사용자 디바이스가 중개 웹 서버(104)에 설정하는 하나 이상의 CPW에 의존하는 작동 파라미터를 가진 사용자 인터페이스 디스플레이를 발생시킨다. 메시지의 경우, 사용자가 텍스트를 입력하기 위한 일반적인 메시지 입력 필드가 디스플레이에 제시되는데, 크기 상한 한도는 메시지 텍스트의 대상으로 선택된 하나 이상의 CPW에 의해 허용되는 가장 작은 최대 메시지 사이즈에 기초한다. 한도는 클라이언트 모바일 디바이스에 보유될 수 있다. 모바일 디바이스 클라이언트 프로그램은 메시지 크기가 한도의 소정량 이내에 도달할 때 경고를 발생시킬 수 있다. 하나 이상의 CPW가 달라지면 한도가 달라진다. 사용자 인터페이스 입력으로부터의 컨텐츠가 메시지 입력 영역을 채우고 한도에 도달될 때 경고를 발생시킬 수 있다. 클라이언트 프로그램은 메시지를 하나 이상의 CPW에 대한 ID와 함께 서버 프런트 엔드 부분으로 전송한다. 백 엔드 부분은 메시지를 하나 이상의 대상 CPW를 위해 포매팅하고 메시지를 CPW에 의해 소망되는 포맷으로 업로드한다. 상기 설명으로부터, 앞서 논의된 바와 같은 다수의 상이한 작동 단계를 이용하는 다양한 방법이 본 발명에 의해 포함된다는 것이 명백해야 한다. 추가적으로, 앞서 논의된 특정 실시예 이외에, 앞서 논의된 작동 단계 이외에 또는 대신에 다른 작동 단계를 가진 방법을 이용하는 실시예 뿐만 아니라 앞서 논의된 단계의 특정 순서 또는 조합 이외에 또는 대신에 다양한 순서 및 조합의 단계를 가진 방법을 이용하는 실시예를 포함하는, 다양한 다른 실시예 또한 본 발명에 의해 포함되는 것이 의도된다. 더 나아가, 앞서 설명된 실시예 중 하나 이상에 따른 시스템이 사용자에 의해 작동되는 모바일 디바이스와 소셜 네트워킹 웹사이트 사이의 상호 작용을 촉진한다는 관점의 여러가지 점에서 향상된 기능을 제공할 수 있다는 것이 명백해야 한다. 실시예에 따라, 사용자와 소셜 네트워킹 웹사이트 사이의 통신 품질, 모바일 디바이스 사용자에 의해 경험되는 소셜 네트워킹 웹사이트 및 관련 트랜잭션의 사용자-편의 향상, 및/또는 모바일 디바이스와 그러한 웹사이트 사이의 통신 효율성 중 어떠한 하나 이상이 향상될 수 있다.
특히 본 발명이 여기에 포함된 실시예 및 예시로 한정되지 않으며, 실시예의 일부를 포함하는 그리고 다음 청구항의 범위 내에 해당하는 상이한 실시예의 요소에 대한 조합을 포함하는 실시예의 변경된 형태를 포함하는 것이 의도된다.

Claims (3)

  1. 웹 서버에서, 제1 소셜 네트워킹 웹사이트와 모바일 디바이스 사이의 통신을 용이하게 하는 방법으로서,
    상기 모바일 디바이스로부터 제1 데이터를 수신하는 단계;
    상기 모바일 디바이스로부터 제2 데이터를 수신하는 단계 - 상기 제1 데이터 및 제2 데이터 중 하나는 컨텐츠 데이터이고, 상기 제1 데이터 및 제2 데이터 중 다른 하나는 적어도 하나의 식별자를 포함하며, 상기 적어도 하나의 식별자를 이용하여 상기 모바일 디바이스가 상기 제1 소셜 네트워킹 웹사이트에 로그인될 수 있음 - ; 및
    상기 적어도 하나의 식별자를 상기 제1 소셜 네트워킹 웹사이트에 의한 수신을 위해 제1 네트워크상으로 전송하는 단계 - 이에 의해 상기 웹 서버가 상기 모바일 디바이스를 위한 프록시로서 상기 제1 소셜 네트워킹 웹사이트에 로그인할 수 있음 -
    를 포함하는 통신을 용이하게 하는 방법.
  2. 제1항에 있어서,
    상기 컨텐츠 데이터를 상기 서버로부터 상기 제1 소셜 네트워킹 웹사이트로 전송하는 단계; 및
    상기 모바일 디바이스가 일정 기간 동안 상기 서버로부터 접속 차단되는 경우라 하더라도 상기 모바일 디바이스를 대신해 상기 소셜 네트워킹 사이트와 관련한 상기 서버의 로그인 상태를 유지하는 단계
    중 적어도 한 단계를 더 포함하는 통신을 용이하게 하는 방법.
  3. 제2항에 있어서,
    상기 모바일 디바이스로부터 추가 식별자를 수신하는 단계; 및
    상기 추가 식별자를 제2 소셜 네트워킹 웹사이트에 의한 수신을 위해 상기 제1 네트워크상으로 전송하는 단계 - 이에 의해 상기 서버가 상기 모바일 디바이스를 위한 추가 프록시로서 상기 소셜 네트워킹 웹사이트에 로그인할 수 있음 -
    를 더 포함하고,
    상기 컨텐츠 데이터는 또한 상기 서버에 의해 상기 제2 소셜 네트워킹 웹사이트로 전송됨으로써 상기 컨텐츠 데이터가 상기 제1 소셜 네트워킹 웹사이트와 상기 제2 소셜 네트워킹 웹사이트 간에 공유되는, 통신을 용이하게 하는 방법.
KR1020137026662A 2009-09-10 2010-08-13 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템 KR101580023B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24130109P 2009-09-10 2009-09-10
US61/241,301 2009-09-10
PCT/US2010/045442 WO2011031413A1 (en) 2009-09-10 2010-08-13 Method and system for intermediating content provider website and mobile device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127006302A Division KR101369714B1 (ko) 2009-09-10 2010-08-13 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20130129312A KR20130129312A (ko) 2013-11-27
KR101580023B1 true KR101580023B1 (ko) 2015-12-23

Family

ID=43085699

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127006302A KR101369714B1 (ko) 2009-09-10 2010-08-13 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템
KR1020137026662A KR101580023B1 (ko) 2009-09-10 2010-08-13 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020127006302A KR101369714B1 (ko) 2009-09-10 2010-08-13 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템

Country Status (7)

Country Link
EP (1) EP2476230A1 (ko)
KR (2) KR101369714B1 (ko)
CN (1) CN102484646A (ko)
BR (1) BR112012008379A8 (ko)
MX (1) MX2012002991A (ko)
RU (1) RU2549173C2 (ko)
WO (1) WO2011031413A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120213404A1 (en) 2011-02-18 2012-08-23 Google Inc. Automatic event recognition and cross-user photo clustering
US9294546B2 (en) 2011-06-03 2016-03-22 Apple Inc. Sending files from one device to another device over a network
WO2014004907A2 (en) * 2012-06-27 2014-01-03 Google Inc. System and method for determining appropriate content for an event content stream
KR102016729B1 (ko) * 2012-09-10 2019-08-30 에스케이플래닛 주식회사 디지털 정보 디스플레이와 사용자 단말 간의 디지털 정보 동기화 시스템 및 그 방법
KR101407603B1 (ko) * 2012-10-11 2014-06-16 (주)아이들 양방향 재난관련 메시지 전송 시스템
CN105637926B (zh) * 2013-06-11 2019-06-21 七网络有限责任公司 将应用流量分载至共享通信信道进行无线网络中的信令优化用于使用专有和非专有协议的流量
RU2632130C2 (ru) * 2015-10-30 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система предоставления пользователю контента, способ получения пользователем контента
CN107948286B (zh) * 2017-11-24 2020-12-22 铁将军汽车电子股份有限公司 消息传递的方法、装置、终端及系统
CN110401722A (zh) * 2019-08-12 2019-11-01 上海博泰悦臻电子设备制造有限公司 车联网功能实现方法、系统及车载终端
CN111970363B (zh) * 2020-08-17 2022-08-16 北京金山云网络技术有限公司 基于物联网的数据处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080267218A1 (en) 2007-04-27 2008-10-30 Liquid Air Lab Gmbh Media proxy for providing compressed files to mobile devices
US20100100952A1 (en) 2008-10-21 2010-04-22 Neal Sample Network aggregator

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5243679B2 (ja) * 2000-03-16 2013-07-24 マイクロソフト コーポレーション 通知プラットフォームアーキテクチャ
KR100938518B1 (ko) * 2000-03-16 2010-01-25 마이크로소프트 코포레이션 통지 플랫폼 아키텍처
US20020157002A1 (en) * 2001-04-18 2002-10-24 Messerges Thomas S. System and method for secure and convenient management of digital electronic content
US20070060114A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
US8006190B2 (en) * 2006-10-31 2011-08-23 Yahoo! Inc. Social namespace addressing for non-unique identifiers
US20080155112A1 (en) * 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080267218A1 (en) 2007-04-27 2008-10-30 Liquid Air Lab Gmbh Media proxy for providing compressed files to mobile devices
US20100100952A1 (en) 2008-10-21 2010-04-22 Neal Sample Network aggregator

Also Published As

Publication number Publication date
RU2549173C2 (ru) 2015-04-20
EP2476230A1 (en) 2012-07-18
RU2012113876A (ru) 2013-10-20
WO2011031413A1 (en) 2011-03-17
KR20130129312A (ko) 2013-11-27
KR101369714B1 (ko) 2014-03-04
KR20120055648A (ko) 2012-05-31
BR112012008379A2 (pt) 2016-03-29
CN102484646A (zh) 2012-05-30
BR112012008379A8 (pt) 2016-11-16
MX2012002991A (es) 2012-04-19

Similar Documents

Publication Publication Date Title
US9450994B2 (en) Mobile device and method of operating same to interface content provider website
KR101580023B1 (ko) 컨텐츠 프로바이더 웹사이트와 모바일 디바이스를 중개하는 방법 및 시스템
US8990338B2 (en) Method of exchanging photos with interface content provider website
US20110179378A1 (en) Method Generating a Message for One or More Social Networking Websites
US11064419B2 (en) Method and system for facilitating wireless communication via alternate communication pathway
US9119052B2 (en) Content sharing for mobile devices
US20110231478A1 (en) System, Server, and Mobile Device for Content Provider Website Interaction and Method Therefore
US10212566B2 (en) Method and system for vicarious downloading or uploading of information
US20120158842A1 (en) Method and System for Facilitating Interaction with Multiple Content Provider Websites
WO2011031569A1 (en) Mobile device and method of operating same to interface content provider website

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191211

Year of fee payment: 5