KR101997176B1 - 피어-투-피어 소프트웨어 업데이트 - Google Patents

피어-투-피어 소프트웨어 업데이트 Download PDF

Info

Publication number
KR101997176B1
KR101997176B1 KR1020157019555A KR20157019555A KR101997176B1 KR 101997176 B1 KR101997176 B1 KR 101997176B1 KR 1020157019555 A KR1020157019555 A KR 1020157019555A KR 20157019555 A KR20157019555 A KR 20157019555A KR 101997176 B1 KR101997176 B1 KR 101997176B1
Authority
KR
South Korea
Prior art keywords
computer program
version
peer
computing device
update
Prior art date
Application number
KR1020157019555A
Other languages
English (en)
Other versions
KR20150110532A (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 KR20150110532A publication Critical patent/KR20150110532A/ko
Application granted granted Critical
Publication of KR101997176B1 publication Critical patent/KR101997176B1/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/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • H04L67/42
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 다양한 양태는 소프트웨어 업데이트를 제공하기 위한 시스템, 방법 및 기기 판독 가능 매체에 관한 것이다. 시스템은, 제1 컴퓨팅 기기의 메모리 상에 설치된 컴퓨터 프로그램을 위한 업데이트 패치를 업데이트 서버로부터 수신하고, 컴퓨터 프로그램을 업데이트하기 위해 제1 컴퓨팅 기기 상에서 업데이트 패치를 실행하고, 제2 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 수신하고, 업데이트 패치를 송신하지 않고 제1 컴퓨팅 기기의 메모리 상에 설치된 업데이트된 컴퓨터 프로그램을 제2 컴퓨팅 기기에 송신한다.

Description

피어-투-피어 소프트웨어 업데이트{PEER-TO-PEER SOFTWARE UPDATES}
본 발명은 전반적으로 컴퓨터 소프트웨어 제품을 업데이트하는 것에 관한 것으로, 보다 구체적으로는 업데이트 서버로부터 소프트웨어 업데이트를 제공하는 것에 관한 것이다.
소프트웨어 배포자는 운영 체제, 펌웨어, 또는 어플리케이션과 같은 소프트웨어 제품을 다수의 클라이언트 기기에 제공하는 경우가 많다. 몇몇 경우에, 소프트웨어 제품은 예컨대 버그를 수정하거나, 보안 문제를 해소하거나, 성능을 향상시키거나, 또는 더 새로운 버전을 설치하기 위해 업데이트될 수 있다. 클라이언트 기기 상에 설치된 소프트웨어 제품을 업데이트하기 위해, 클라이언트 기기는 인터넷을 통해 업데이트 서버와 접촉하고, 어느 업데이트 패치가 필요한지를 식별하고, 업데이트 패치를 다운로드하고, 소프트웨어 제품 상에서 업데이트 패치를 실행할 수 있다.
본 발명의 여러 양태는 소프트웨어 업데이트를 제공하는 시스템에 관한 것이다. 상기 시스템은 하나 이상의 프로세서 및 명령이 그 안에 저장된 메모리를 포함하며, 상기 명령은 상기 하나 이상의 프로세서에 의해 실행된 때에 상기 하나 이상의 프로세서로 하여금 동작을 수행하도록 한다. 상기 동작은, 상기 메모리 상에 설치된 컴퓨터 프로그램을 위한 업데이트 패치를 업데이트 서버로부터 수신하는 동작, 상기 컴퓨터 프로그램을 업데이트하기 위해 상기 업데이트 패치를 실행하는 동작, 피어 컴퓨팅 기기(peer computing machine)로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 수신하는 동작, 및 상기 메모리 상에 설치된 업데이트된 컴퓨터 프로그램을 상기 피어 컴퓨팅 기기에 송신하는 동작을 포함하며, 상기 피어 컴퓨팅 기기에 송신된 상기 업데이트된 컴퓨터 프로그램이 상기 피어 컴퓨팅 기기의 메모리 상에 저장되고, 상기 업데이트 패치의 실행 없이도 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성된다.
본 발명의 몇몇 양태는 소프트웨어 업데이트를 제공하기 위한 방법에 관한 것이다. 상기 방법은, 제1 컴퓨팅 기기에서, 상기 제1 컴퓨팅 기기의 메모리 상에 설치된 컴퓨터 프로그램을 위한 업데이트 패치를 업데이트 서버로부터 수신하는 단계, 상기 컴퓨터 프로그램을 업데이트하기 위해 상기 제1 컴퓨팅 기기 상에서 상기 업데이트 패치를 실행하는 단계, 제2 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 수신하는 단계, 및 상기 제1 컴퓨팅 기기의 메모리 상에 설치된 업데이트된 컴퓨터 프로그램을 상기 제2 컴퓨팅 기기에 송신하는 단계를 포함한다.
본 발명의 다른 양태는 명령이 그 안에 저장된 기기 판독 가능 매체에 관한 것이며, 상기 명령은 기기에 의해 실행된 때에 상기 기기로 하여금 소프트웨어 업데이트를 제공하기 위한 동작들을 수행하도록 한다. 상기 동작은, 피어 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램에 대한 요청을 근거리 통신망을 통해 수신하는 동작, 상기 업데이트된 컴퓨터 프로그램의 적어도 일부가 메모리 디바이스 상에 설치되는지를 판단하는 동작, 상기 메모리 디바이스 상에 설치된 상기 업데이트된 컴퓨터 프로그램을 상기 피어 컴퓨팅 기기에게 송신하는 동작을 포함하며, 상기 피어 컴퓨팅 기기에 송신된 상기 업데이트된 컴퓨터 프로그램이 상기 피어 컴퓨팅 기기의 메모리 상에 저장되고, 업데이트 패치의 실행 없이 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성된다.
본 발명의 다양한 양태는 컴퓨터 프로그램을 업데이트하는 방법에 관한 것이다. 상기 방법은, 메모리 디바이스 상에 설치된 컴퓨터 프로그램이 최신의 것인지를 판단하기 위해 업데이트 서버와 접촉하는 단계, 상기 메모리 디바이스 상에 설치된 컴퓨터 프로그램이 최신의 것이 아니라면, 적어도 하나의 피어 기기가 검색에 이용 가능한 업데이트된 컴퓨터 프로그램을 갖는지를 판단하는 단계, 상기 적어도 하나의 피어 기기가 검색에 이용 가능한 업데이트된 컴퓨터 프로그램의 적어도 일부분을 갖는다면, 상기 적어도 하나의 피어 기기로부터 업데이트된 컴퓨터 프로그램을 검색하는 단계, 및 상기 업데이트된 프로그램을 상기 메모리 디바이스 상에 저장하는 단계를 포함한다.
본 발명의 기타 구성이 이하의 상세한 설명으로부터 당업자에게 용이하게 명백하게 될 것이며, 본 발명의 다양한 구성은 예시를 위해 도시되고 설명된 것이라는 것을 이해할 것이다. 인지되는 바와 같이, 본 발명은 본 기술의 범위에서 벗어나지 않고서도 다른 상이한 구성이 가능하고, 그 여러 세부구성은 다양한 다른 양태로의 수정이 가능하다. 이에 따라, 도면 및 상세한 설명은 본질적으로 예시로서 간주되고 제한적인 것으로서 간주되지 않는다.
본 발명의 이해를 더 용이하게 하기 위해 포함되어 있고 본 명세서에 통합되어 본 명세서의 일부를 이루고 있는 첨부 도면은 본 기술의 개시된 양태를 예시하며, 상세한 설명과 함께 본 발명의 원리를 설명하기 위해 제공된 것이다.
도 1은 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 피어-투-피어 환경을 예시하는 개념 블록도이다.
도 2는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 또 다른 예의 피어-투-피어 환경을 예시하는 개념 블록도이다.
도 3은 본 발명의 다양한 양태에 따른 일례의 클라이언트 기기를 예시하는 개념 블록도이다.
도 4는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 프로세스를 예시하는 흐름도이다.
도 5는 본 발명의 다양한 양태에 따라 업데이트된 컴퓨터 프로그램을 피어 기기(peer machine)에 이용 가능하게 하기 위한 일례의 프로세스를 예시하는 흐름도이다.
도 6은 본 발명의 다양한 양태에 따라 본 명세서에 설명된 기기 또는 서버의 임의의 기기 또는 서버를 구현할 수 있는 컴퓨터 시스템을 예시하는 블록도이다.
아래에 명시된 상세한 설명은 본 발명의 다양한 구성에 대한 서술을 목적으로 하는 것으로, 본 발명이 실시될 수 있는 유일한 구성을 표현하려는 것이 아니다. 첨부 도면은 본 명세서에 통합되며, 상세한 설명의 일부를 구성한다. 상세한 설명은 본 발명에 대한 완전한 이해를 제공하기 위한 목적의 구체적인 세부구성을 포함한다. 그러나, 본 발명은 이들 구체적인 세부구성 없이도 실시될 수 있다는 것은 당업자에게는 명백할 것이다. 몇몇 경우에는, 본 발명의 개념을 모호하게 하는 것을 방지하기 위하여 널리 공지된 구조 및 부품이 블록도 형태로 도시되어 있다.
클라이언트 기기는 인터넷을 통해 업데이트 서버와 접촉하고, 클라이언트 기기 상의 소프트웨어 제품(예컨대, 컴퓨터 프로그램, 운영 체제 또는 기타 소프트웨어)을 업데이트하기 위해 소프트웨어 업데이트 패치를 식별하고, 소프트웨어 업데이트 패치를 다운로드하고, 소프트웨어 업데이트 패치를 실행함으로써 클라이언트 기기 상의 소프트웨어 제품을 업데이트하도록 구성될 수 있다. 그러나, 다수의 클라이언트 기기가 있는 때에는, 각각의 클라이언트 기기가 업데이트 서버에 접촉하고 업데이트 서버로부터 업데이트 패치를 다운로드하는 것은, 소프트웨어 제품을 위한 업데이트 패치가 릴리즈되는 때마다 상당한 양의 인터넷 대역폭을 요구할 수 있다.
본 발명의 다양한 양태는 피어-투-피어 환경에서 소프트웨어 업데이트를 제공하는 것에 관련된다. 몇몇 양태에 따라, 클라이어트 기기 상의 컴퓨터 프로그램을 업데이트하기 위해 클라이언트 기기 상에서 실행될 수 있는 업데이트 패치를 송신하는 대신, 하나 이상의 피어 클라이언트 기기로부터 클라이언트 기기로 전체 업데이트된 컴퓨터 프로그램이 송신될 수 있다.
업데이트 패치 대신에 전체 업데이트된 컴퓨터 프로그램을 수신함으로써, 클라이언트 기기는 업데이트 패치를 실행하는 추가의 단계를 수행하지 않고서도 컴퓨터 프로그램을 업데이트할 수 있다. 더욱이, 다수의 업데이트 패치는 컴퓨터 프로그램의 하나의 특정한 버전을 또 다른 버전으로 업데이트하도록 구성된다. 업데이트 패치 대신에 완전한 업데이트된 컴퓨터 프로그램을 송신함으로써, 업데이트된 컴퓨터 프로그램을 수신하는 컴퓨팅 기기는 업데이트 패치가 컴퓨터 프로그램의 현재 버전을 컴퓨터 프로그램의 원하는 버전으로 업데이트할 수 있는지를 확인하기 위해 검사할 필요가 없다.
도 1은 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 피어-투-피어 환경(100)을 예시하는 개념 블록도이다. 피어-투-피어 환경(100)은 인터넷과 같은 네트워크(150)를 통해 통신하는 업데이트 서버(105) 및 다수의 클라이언트 기기(110, 115, 120, 125, 130)를 포함한다. 네트워크 환경(100)에서, 클라이언트 기기(110, 115, 120, 125, 130)는 피어 또는 피어 기기로 간주될 수 있다.
네트워크(150)는 예컨대 셀룰러 네트워크, 위성 네트워크, 개인 영역 네트워크(PAN), 근거리 영역 네트워크(LAN), 광역 네트워크(WAN), 브로드밴드 네트워크(BBN), 인터넷 등의 임의의 하나 이상을 포함할 수 있다. 또한, 네트워크(150)는, 이러한 것으로 한정되지는 않지만, 버스 네트워크, 스타 네트워크, 링 네트워크, 메시 네트워크, 스타-버스 네트워크, 트리 또는 계층 네트워크 등을 포함한 네트워크 토폴로지 중의 임의의 하나 이상을 포함할 수 있다.
몇몇 양태에서, 도 1의 서브-네트워크(140)와 같은 하나 이상의 추가의 네트워크 또는 서브-네트워크는 또한 업데이트 서버(105)와 클라이언트 기기(110, 115, 120, 125, 130) 간의 통신뿐만 아니라 클라이언트 기기(110, 115, 120, 125, 130)들 간의 통신을 위해 사용될 수 있다. 서브-네트워크는 예컨대 기업 네트워크, 근거리 통신망(LAN), 또는 Wi-Fi 네트워크일 수 있다.
도 1이 일례의 네트워크 환경(100)을 예시하고 있지만, 본 발명의 다른 양태는 다른 구성을 포함할 수도 있다. 예컨대, 도 2는 본 발명의 다양한 양태에 따라 소프트웨어 업데이트를 제공하기 위한 또 다른 예의 피어-투-피어 환경(200)을 예시하는 개념 블록도이다. 피어-투-피어 환경(200)은 인터넷과 같은 네트워크(250)뿐만 아니라 서브-네트워크(240)를 통해 통신하는 업데이트 서버(205)와 다수의 클라이언트 기기(210, 215, 220, 225, 230)를 포함한다. 네트워크 환경(200)에서, 클라이언트 기기(210, 215, 220, 225, 230)는 서브-네트워크(240)와 직접 통신하고 있지만, 네트워크(250)와는 직접적으로 통신하지 않는다.
다시 도 1을 참조하면, 클라이언트 기기(110, 115, 120, 125, 130)는 컴퓨터 프로그램 또는 기타 소프트웨어 제품을 실행하고 다른 컴퓨팅 기기와 통신할 수 있는 어떠한 컴퓨팅 기기도 포함할 수 있다. 예컨대, 클라이언트 기기는 데스크탑 컴퓨터, 랩탑, 모바일 디바이스(예컨대, 스마트폰, 태블릿, 개인 디지털 보조장치(PDA), GPS 디바이스 등), 또는 프로세서, 메모리 및 통신 장치를 갖는 임의의 기타 기기이어도 된다. 각각의 클라이언트 기기는 또한 클라이언트 기기의 메모리(예컨대, 하드 디스크 드라이브) 상에 설치된 하나 이상의 컴퓨터 프로그램 또는 어플리케이션을 포함한다.
업데이트 서버(105)는 단일 시스템 또는 기기이거나 또는 다수의 컴퓨팅 기기로 이루어진 가상 서버이어도 된다. 업데이트 서버(105)는 클라이언트 기기(110, 115, 120, 125, 130) 상에 설치된 소프트웨어 제품을 위한 하나 이상의 소프트웨어 업데이트(예컨대, 업데이트 패치)를 저장하도록 구성될 수 있다. 때때로, 소프트웨어 개발자는 소프트웨어 업데이트가 하나 이상의 클라이언트 기기(110, 115, 120, 125, 130)에 이용 가능하게 만들기 위해 컴퓨터 프로그램을 위한 소프트웨어 업데이트를 업데이트 서버(105) 상에 업로드할 수 있다.
설치된 컴퓨터 프로그램을 업데이트하기 위해, 클라이언트 기기는 컴퓨터 프로그램을 위한 소프트웨어 업데이트가 이용 가능한지의 여부 및 소프트웨어 업데이트가 컴퓨터 프로그램을 어떠한 버전의 컴퓨터 프로그램으로 업데이트할지를 판단하기 위해 업데이트 서버와 접촉하도록 구성될 수 있다. 소프트웨어 업데이트가 이용 가능하면, 클라이언트 기기는 클라이언트 기기의 피어 중의 하나 이상으로부터 컴퓨터 프로그램의 업데이트된 버전을 검색(retieve)하려고 시도할 수 있다. 클라이언트 기기가 업데이트된 버전을 검색할 수 없다면, 클라이언트 기기는 업데이트 서버(105)로부터 소프트웨어 업데이트를 다운로드하고, 소프트웨어 업데이트를 실행함으로써 컴퓨터 프로그램을 업데이트할 수 있다.
도 3은 본 발명의 다양한 양태에 따른 일례의 클라이언트 기기(300)를 예시하는 개념 블록도이다. 클라이언트 기기(300)는 서버 인터페이스 모듈(310), 피어 인터페이스 모듈(320), 및 업데이트 모듈(330)을 포함할 수 있다. 그러나, 또 다른 양태에 의하면, 클라이언트 기기(300)는 추가의 콤포넌트, 더 적은 콤포넌트, 또는 상이한 콤포넌트를 포함할 수 있다.
도 3에서의 서버 인터페이스 모듈(310)은 클라이언트 기기(300) 상에 설치된 소프트웨어 제품(예컨대, 운영 체제 또는 또 다른 컴퓨터 프로그램)을 위한 업데이트가 이용 가능한지를 판단하기 위해 업데이트 서버(105)와 통신하도록 구성된다. 클라이언트 기기(300)는 예컨대 업데이트 서버(105)와 통신할 수 있는 도 1의 클라이언트 기기(110, 115, 120, 125 또는 130) 중의 하나이어도 된다. 업데이트가 이용 가능하다면, 피어 인터페이스 모듈(320)은 피어 기기가 업데이트된 소프트웨어 제품을 갖는지를 판단하기 위해 하나 이상의 피어 기기와 접촉하도록 구성된다.
하나 이상의 피어 기기가 업데이트된 소프트웨어 제품을 갖는다면, 피어 인터페이스 모듈(320)은 피어 기기로부터 업데이트된 소프트웨어 제품을 검색할 수 있다. 업데이트 모듈(330)은 필요한 경우 피어 기기로부터 검색된 업데이트 소프트웨어 제품이 사용되도록 하기 위해 어떠한 단계도 취하도록 구성될 수 있다. 피어 인터페이스 모듈(320)이 피어 기기로부터 업데이트된 소프트웨어 제품을 획득할 수 없다면, 서버 인터페이스 모듈(310)은 업데이트 서버(105)로부터 소프트웨어 업데이트 패치를 검색하도록 구성된다. 업데이트 모듈(330)은 소프트웨어 업데이트 패치를 실행함으로써 클라이언트 기기(300) 상에 설치된 소프트웨어 제품을 업데이트할 수 있다.
도 4는 본 발명의 다양한 양태에 따른 소프트웨어 업데이트를 제공하기 위한 일례의 프로세스(400)를 예시하는 흐름도이다. 이 프로세스(400)에서의 블록이 하나의 특정한 순서로 도시되어 있지만, 어떠한 블록은 상이한 순서로 또는 동일한 시간에 실행될 수도 있다. 더욱이, 프로세스(400)에서의 블록들이 도 3의 클라이언트 기기(300)의 콤포넌트에 의해 실행되고 있는 것으로 설명되지만, 이 블록들은 콤포넌트에 의해 실행되는 것으로 한정되지 않는다.
블록 405에서, 클라이언트 기기(300)의 서버 인터페이스 모듈(310)은 클라이언트 기기(300) 상에 설치된 컴퓨터 프로그램(예컨대, 운영 체제 또는 기타 어플리케이션)을 위한 소프트웨어 업데이트가 이용 가능하지를 판단하기 위해 업데이트 서버와 통신한다. 블록 410에서, 업데이트 모듈(330)은 컴퓨터 프로그램을 위한 업데이트가 이용 가능한지를 판단한다. 예컨대, 서버 인터페이스 모듈(310)은 업데이트 서버를 주기적으로 접촉하거나 또는 컴퓨터 프로그램이 열리고 컴퓨터 프로그램의 가장 최신의 버전에 관한 정보 또는 클라이언트 기기(300) 상의 컴퓨터 프로그램의 버전이 가장 최신의 버전인지의 여부에 관한 정보를 요청하는 때에 업데이트 서버를 접촉할 수 있다.
업데이트 서버가 클라이언트 기기(300) 상의 컴퓨터 프로그램의 버전이 가장 최신의 버전인 것으로 나타내는 응답을 하면, 또는 업데이트 모듈(330)이 이용 가능한 컴퓨터 프로그램의 가장 최신의 버전이 없는 것으로 판단하면, 블록 415에서, 클라이언트 기기(300) 상에 설치된 컴퓨터 프로그램에 대한 업데이트가 요구되지 않는다. 업데이트 서버로부터 이용 가능한 업데이트가 있다면, 블록 420에서, 피어 인터페이스 모듈(320)은 이용 가능한 업데이트된 컴퓨터 프로그램(예컨대, 컴퓨터 프로그램의 가장 최신의 버전)을 갖는 어떠한 피어 기기가 있는지를 검사할 수 있다.
피어 기기는 업데이트 서버로부터 업데이트 패치를 이전에 설치하였고 컴퓨터 프로그램을 가장 최신의 버전으로 업데이트하기 위해 업데이트 패치를 실행하였다면 업데이트된 컴퓨터 프로그램을 가질 수 있다. 이와 달리, 피어 기기는 업데이트된 컴퓨터 프로그램 또는 업데이트된 컴퓨터 프로그램의 일부분을 하나 이상의 다른 피어 기기로부터 이전에 검색하였다면 업데이트된 컴퓨터 프로그램을 가질 수 있다. 피어 기기가 업데이트된 컴퓨터 프로그램의 적어도 일부분을 갖는다면, 업데이트된 컴퓨터 프로그램의 이들 부분이 다른 피어 기기에 이용 가능하게 될 수도 있다.
피어 인터페이스 모듈(320)은 피어 기기가 업데이트된 컴퓨팅 프로그램을 갖는지를 예컨대 이들 피어 기기에게 직접 질의함으로써, 중앙 서버에 질의함으로써, 또는 업데이트된 컴퓨팅 프로그램이 브로드캐스트, 멀티캐스트, 또는 클라이언트 기기(300)가 수신을 개시할 수 있는 기타 멀티-리시버 메카니즘을 통해 전송되고 있는지를 확인하기 위해 검사함으로써 판단할 수 있다.
업데이트된 컴퓨터 프로그램을 갖는 피어 기기가 없다면, 블록 425에서, 서버 인터페이스 모듈(310)은 소프트웨어 업데이트를 설치하도록 구성된 소프트웨어 업데이트 패치를 업데이트 서버로부터 검색(예컨대, 다운로드)할 수 있다. 소프트웨어 업데이트 패치가 다운로드된 후, 블록 430에서, 업데이트 모듈(330)은 클라이언트 기기(300) 상에 설치된 컴퓨터 프로그램의 현재 설치된 버전을 컴퓨터 프로그램의 업데이트된 버전으로 업데이트하기 위해 소프트웨어 업데이트 패치를 실행한다.
소프트웨어 업데이트 패치는 예컨대 컴퓨터 프로그램에 연관된 파일을 컴퓨팅 시스템의 메모리(예컨대, 하드 드라이브 또는 하드 드라이브의 파티션) 상으로 복사함으로써, 메모리 상의 파일을 삭제함으로써, 메모리 상의 데이터를 변경함으로써, 또는 이들의 조합에 의하여, 컴퓨터 프로그램을 업데이트하기 위해 사용될 수 있는 다수의 명령 및 데이터를 포함할 수 있다. 소프트웨어 업데이트 패치가 컴퓨팅 기기 상의 컴퓨터 프로그램에 적용된 후, 블록 440에서는 업데이트 패치가 아닌 업데이트된 컴퓨터 프로그램이 다른 피어 컴퓨팅 기기에 이용 가능하게 된다.
한편, 컴퓨터 프로그램의 업데이트된 버전을 갖는 하나 이상의 피어 기기가 있다면, 블록 435에서, 피어 인터페이스 모듈(320)은 하나 이상의 피어 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램을 검색할 수 있다. 몇몇 양태에 따라, 클라이언트 기기 및 하나 이상의 피어 기기는 동일한 서브-네트워크(예컨대, 근거리 통신망) 상에 상주할 수 있으며, 몇몇 경우에는 서브-네트워크 상의 이용 가능한 대역폭이 데이터를 업데이트 서버로부터 클라이언트 기기에 송신하기 위해 이용할 수 있는 대역폭보다 크게 될 수도 있다.
몇몇 양태에 따라, 업데이트된 컴퓨터 프로그램은 피어-투-피어(P2P) 기술을 사용하여 피어 기기로부터 검색될 수 있다. 예컨대, 업데이트된 컴퓨터 프로그램은 다수의 데이터 블록으로 이루어질 수 있으며, 피어 인터페이스 모듈(320)은 하나의 피어 기기로부터 업데이트된 컴퓨터 프로그램을 위한 몇몇 데이터 블록을 수신하고, 다른 피어 컴퓨팅 기기로부터 업데이트된 컴퓨터 프로그램을 위한 다른 데이터 블록을 수신할 수 있다. 피어 기기로부터 수신된 업데이트된 컴퓨터 프로그램을 위한 데이터 블록은 업데이트된 컴퓨터 프로그램을 형성하기 위해 클라이언트 기기(300)에서 합쳐질 수 있다. 몇몇 양태에 따라, 업데이트된 컴퓨터 프로그램을 위한 데이터 블록이 피어 컴퓨팅 기기로부터 수신됨에 따라, 블록 440에서 이들 데이터 블록은 또한 다른 피어 컴퓨팅 기기에도 이용 가능하게 될 수 있다.
업데이트된 컴퓨터 프로그램이 피어 기기로부터 검색되면, 업데이트된 컴퓨터 프로그램이 사용될 수 있다. 이에 따라, 클라이언트 기기(300)는 소프트웨어 업데이트 패치를 실행하지 않고서도 업데이트된 컴퓨터 프로그램을 사용할 수 있다. 그러나, 몇몇 경우에는, 업데이트된 컴퓨터 프로그램을 사용하기 위해서는 클라이언트 기기의 재기동이 요구될 수도 있다. 예컨대, 업데이트된 컴퓨터 프로그램이 운영 체제의 새로운 버전이면, 운영 체제의 새로운 버전은 클라이언트 기기(300) 상의 특정한 위치(예컨대, 특별화된 파티션)에 다운로드될 수 있다. 운영 체제의 새로운 버전으로 부팅하기 위해, 클라이언트 기기(300)는 운영 체제의 새로운 버전으로 부팅하라는 명령으로 리부팅될 수 있다.
업데이트된 컴퓨터 프로그램은, 몇몇 양태에 따라, 업데이트된 컴퓨터 프로그램이 설치되는 전체 메모리 유닛을 송신함으로써 피어 기기로부터 클라이언트 기기(300)로 송신될 수 있다. 예컨대, 업데이트된 컴퓨터 프로그램이 피어 컴퓨팅 기기 상의 특정한 하드 드라이브 파티션 상에 설치되면, 전체 파티션이 클라이언트 컴퓨터 기기(300)에 송신될 수 있다. 다른 양태에서, 업데이트된 컴퓨터 프로그램이 특정 파일 시스템 또는 특정 파일 폴더 상에 설치되면, 전체 파일 시스템 또는 파일 폴더가 클라이언트 컴퓨터 기기(300)에 송신될 수도 있다.
유사하게, 클라이언트 기기(300)의 피어 인터페이스 모듈(320)은 또한 업데이트된 컴퓨터 프로그램을 업데이트된 컴퓨터 프로그램이 설치된 메모리 유닛을 위한 데이터 블록을 송신함으로써 다른 피어 기기에게 이용 가능하게 만들 수 있다. 예컨대, 도 5는 본 발명의 다양한 양태에 따라 업데이트된 컴퓨터 프로그램을 피어 기기에 이용 가능하게 하기 위한 일례의 프로세스(500)를 예시하는 흐름도이다. 이 프로세스(500)에서의 블록이 하나의 특정한 순서로 도시되어 있지만, 어떠한 블록들은 상이한 순서로 또는 동시에 실행될 수도 있다. 더욱이, 프로세스(500)에서의 블록이 도 3의 클라이언트 기기(300)의 콤포넌트에 의해 실행되고 있는 것으로서 설명되고 있지만, 이들 블록은 콤포넌트에 의해 실행되는 것으로 한정되지 않는다.
블록 505에서, 클라이언트 기기(300)의 피어 인터페이스 모듈(320)은 업데이트된 컴퓨터 프로그램을 위한 요청을 피어 컴퓨팅 기기로부터 수신할 수 있다. 블록 510에서, 피어 인터페이스 모듈(320)은 업데이트된 컴퓨터 프로그램을 위한 하나 이상의 데이터 블록이 클라이언트 기기를 위한 메모리(예컨대, 하드 디스크 드라이브) 상에 저장되었는지를 검사할 수 있다. 메모리가 업데이트된 컴퓨터 프로그램을 위한 하나 이상의 데이터 블록을 포함하고 있으면, 피어 인터페이스 모듈(320)은 블록 515에서 예컨대 이러한 하나 이상의 데이터 블록을 피어 컴퓨팅 기기에 송신함으로써 이러한 하나 이상의 데이터 블록을 피어 컴퓨팅 기기에 이용 가능하게 할 수 있다. 메모리가 업데이트된 컴퓨터 프로그램을 위한 어떠한 데이터 블록도 갖지 않는다면, 피어 인터페이스 모듈(320)은 블록 520에서 클라이언트 기기가 업데이트된 컴퓨터 프로그램을 갖지 않는다는 것을 피어 컴퓨팅 기기에 통지할 수 있다.
본 발명의 몇몇 양태에 따라, 데이터 블록은 하나 이상의 다른 기기에 대해 동시에 이루어지는 직접 송신 또는 브로드캐스트 또는 멀티캐스트를 통해 피어 기기에 송신될 수 있다.
일 양태에 따라, 소프트웨어 업데이트 패치는 업데이트 서버(105)로부터 다운로드되고 있는 때에 적용될 수 있으며, 업데이트가 이루어진 컴퓨터 프로그램의 부분이 다른 피어 기기에 이용 가능하게 될 수 있다. 더욱이, 클라이언트 기기는, 몇몇 양태에서, 자신이 갖는 업데이트된 컴퓨터 프로그램의 일부분을 공유하기 위해 전체 업데이트된 컴퓨터 프로그램을 가질 필요는 없다. 예컨대, 클라이언트 기기 A는 전체 업데이트된 컴퓨터 프로그램을 가질 수 있으며, 클라이언트 기기 B 및 클라이언트 기기 C는 업데이트된 컴퓨터 프로그램을 획득할 필요가 있다. 클라이언트 기기 B는 업데이트된 컴퓨터 프로그램의 전반부를 클라이언트 기기 A로부터 수신할 수 있고, 클라이언트 기기 C는 업데이트된 컴퓨터 프로그램의 후반부를 클라이언트 기기 A로부터 수신할 수 있다. 클라이언트 기기 A가 네트워크를 떠나거나 몇몇 이유로 접근 가능하지 않게 된다면, 클라이언트 기기 B 및 클라이언트 기기 C는 각각이 갖고 있는 업데이트된 컴퓨터 프로그램의 부분을 서로 공유할 수 있다. 이에 따라, 클라이언트 기기 B와 클라이언트 기기 C 각각은 서로로부터 다른 반부를 수신할 수 있으며, 이로써 전체 업데이트된 컴퓨터 프로그램을 수신하게 된다.
도 6은 본 발명의 다양한 양태에 따른, 본 명세서에 설명된 기기 또는 서버의 임의의 기기 또는 서버를 구현할 수 있는 컴퓨터 시스템을 예시하는 블록도이다. 어떠한 양태에서, 컴퓨터 시스템(600)은 전용 서버에 있거나, 또 다른 엔티티에 통합되거나, 또는 복수의 엔티티에 걸쳐 분산되어 있는 하드웨어 또는 소프트웨어와 하드웨어의 조합을 사용하여 구현될 수 있다.
일례의 컴퓨터 시스템(600)은 버스(608)를 통해 서로 통신하는 프로세서(602), 메인 메모리(604), 스태틱 메모리(606), 디스크 드라이브 유닛(616), 및 네트워크 인터페이스 디바이스(620)를 포함한다. 컴퓨터 시스템(600)은 비디오 디스플레이 유닛(예컨대, 액정(LCD) 디스플레이, 음극선관(CRT), 또는 터치 스크린), 알파뉴메릭 입력 디바이스(예컨대, 키보드), 커서 제어 디바이스(예컨대, 마우스), 또는 신호 발생 디바이스(예컨대, 스피커)와 같은 다양한 입력/출력 디바이스와 통신하도록 구성될 수 있는 입력/출력 인터페이스(612)를 추가로 포함할 수 있다.
프로세서(602)는 범용 마이크로프로세서(예컨대, 중앙 처리 장치(CPU)), 그래픽 처리 장치(GPU), 마이크로컨트롤러, 디지털 신호 프로세서(DSP), 어플리케이션 특정 집적회로(ASIC), FPGA(Field Programmable Gate Array), PLD(Programmable Logic Device), 컨트롤러, 스테이트 머신, 게이티드 로직, 디스크리트 하드웨어 콤포넌트, 또는 정보의 계산 또는 기타 조작을 수행할 수 있는 임의의 다른 적합한 엔티티이어도 된다.
기기 판독 가능 매체(또한 컴퓨터 판독 가능 매체로도 지칭되는)는 본 명세서에 설명된 방법 또는 기능 중의 어느 하나 또는 그 이상을 구체화하는 명령(624)의 하나 이상의 세트를 저장할 수 있다. 이 명령(624)은 또한 컴퓨터 시스템(600)에 의한 이들 명령의 실행 동안 메인 메모리(604) 내에 및/또는 프로세서(602) 내에 전체적으로 또는 적어도 부분적으로 상주할 수 있으며, 이들 메인 메모리(604) 및 프로세서(602)도 기기 판독 가능 매체를 구성한다. 명령(624)은 네트워크 인터페이스 디바이스(620)를 경유하여 네트워크(626)를 통해 송신되거나 수신될 수 있다.
기기 판독 가능 매체는 명령의 하나 이상의 세트를 저장하는 단일 매체 또는 복수의 매체(예컨대, 중앙화된 또는 분산된 데이터베이스, 및/또는 연관된 캐시 및 서버)이어도 된다. 기기 판독 가능 매체는 드라이브 유닛(616), 스태틱 메모리(606), 메인 메모리(604), 프로세서(602), 입력/출력 인터페이스(612)에 접속된 외부 메모리, 또는 몇몇 다른 메모리를 포함할 수 있다. "기기 판독 가능 매체"라는 표현은 또한 기기에 의한 실행을 위한 명령의 세트를 저장하거나 인코딩하거나 운반할 수 있고 이러한 기기로 하여금 본 명세서에 개시된 실시예의 방법들 중의 어느 하나 또는 그 이상을 수행하도록 하는 어떠한 비일시적 매체(non-transitory medium)도 포함하는 것으로 받아들여질 것이다. "기기 판독 가능 매체"라는 표현은 이에 따라, 이러한 것으로 한정되지는 않지만, 솔리드 스테이트 메모리, 광 매체, 자기 매체와 같은 저장 매체를 포함하는 것으로 받아들여질 것이다.
사용자에게 암호화 키를 제공하기 위한 시스템, 방법 및 기기 판독 가능 매체가 제공된다. 시스템은 키 저장 모듈, 인터페이스 모듈, 및 인증 모듈을 포함할 수 있다. 키 저장 모듈은 사용자를 위한 암호화 키를 암호화 키 서버 상에 저장하도록 구성될 수 있으며, 여기서 암호화 키는 사용자 데이터를 데이터 저장 서버 상에 저장하는 것과 연관된다. 인터페이스 모듈은 사용자에 연관된 클라이언트 기기로부터 암호화 키를 위한 요청을 수신하도록 구성될 수 있다. 인증 모듈은 사용자를 인증하기 위해 구성될 수 있으며, 여기서 인터페이스 모듈은 사용자를 인증하는 것에 응답하여 암호화 키를 클라이언트 기기에게 송신하도록 구성될 수 있다.
당업자는 본 명세서에서 설명된 다양한 예시 블록, 모듈, 구성요소, 콤포넌트, 방법, 및 알고리즘이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있다는 것을 이해할 것이다. 이러한 하드웨어와 소프트웨어의 상호교환성(interchangeability)을 예시하기 위해, 다양한 예시 블록, 모듈, 구성요소, 콤포넌트, 방법 및 알고리즘은 위에서는 전반적으로 이들의 기능의 면에서 설명하였다. 이러한 기능이 하드웨어로서 구현되는지 아니면 소프트웨어로 구현되는지의 여부는 특정 어플리케이션 및 전체 시스템에 가해지는 설계 제약에 좌우된다. 당업자는 전술한 기능을 각각의 특정 어플리케이션을 위한 다양한 방식으로 구현할 수 있을 것이다. 여러 콤포넌트 및 블록은 본 발명의 범위에서 벗어나지 않고서도 상이하게 배열될 수 있다(예컨대, 상이한 순서로 배열되거나, 또는 상이한 방식으로 파티션될 수 있다).
개시된 프로세스에서의 단계의 구체적인 순서 또는 계층은 일례의 접근방법의 예시라는 것을 이해할 것이다. 설계 기호를 기반으로, 프로세스에서의 단계의 구체적인 순서 또는 계층이 재배열될 수도 있다는 것을 이해할 것이다. 단계 중의 몇몇은 동시에 수행될 수도 있다.
이상의 설명은 당업자로 하여금 본 명세서에 설명된 다양한 양태를 실시할 수 있도록 하기 위해 제공된 것이다. 이상의 설명은 본 발명의 다양한 예를 제공하며, 본 발명은 이러한 예로 한정되지 않는다. 이들 양태에 대한 다양한 수정예는 당업자에게 쉽게 명백하게 될 것이며, 본 명세서에서 정해지는 포괄적인 원리는 다른 양태에도 적용될 수 있다.
"양태"와 같은 관용구는 이러한 양태가 본 발명에 필수적인 것이거나 또는 이러한 양태가 본 기술의 구성 전부에 적용된다는 것을 암시하지 않는다. 양태에 관련한 개시 내용은 모든 구성에 적용할 수도 있고 또는 하나 이상의 구성에 적용할 수도 있다. 하나의 양태는 하나 이상의 예를 제공할 수 있다. 단수 표현의 양태와 같은 관용구는 하나 이상의 양태를 지칭할 수도 있으며, 또한 그 반대도 가능하다. "실시예"와 같은 관용구는 이러한 실시예가 본 발명에 필수적인 것이거나 또는 이러한 실시예가 본 발명의 구성 전부에 적용된다는 것을 암시하지 않는다. 실시예에 관련한 개시 내용은 모든 실시예에 적용될 수도 있고, 또는 하나 이상의 실시예에 적용될 수도 있다. 하나의 실시예는 하나 이상의 예를 제공할 수 있다. 단수 표현의 실시예와 같은 관용구는 하나 이상의 실시예를 지칭할 수도 있으며, 또한 그 반대도 가능하다. "구성"과 같은 관용구는 이러한 구성이 본 발명에 필수적인 것이거나 또는 이러한 구성이 본 발명의 구성 전부에 적용된다는 것을 암시하지 않는다. 구성에 관련한 개시 내용은 모든 구성에 적용할 수도 있고, 또는 하나 이상의 구성에 적용할 수도 있다. 하나의 구성은 하나 이상의 예를 제공할 수 있다. 단수 표현의 구성과 같은 관용구는 하나 이상의 구성을 지칭할 수도 있으며, 또한 그 반대도 가능하다.
당업자에게 알려져 있거나 또는 추후에 알려지게 될 본 명세서 전반에 걸쳐 설명된 다양한 양태의 요소에 대한 모든 구조적 및 기능적 등가물은 참고자료로 본 명세서에 명백하게 통합되는 것이며, 청구항들에 의해 포괄되는 것으로 간주된다. 더욱이, 본 명세서에 개시되지 않은 것들은 이러한 개시 내용이 청구항들에서 명백하게 인용되는지의 여부에 상관없이 공개되어 있는 것으로 하도록 의도된다. 청구항 구성요소는 "을 위한 수단"이라는 관용구를 사용하여 명백하게 인용되거나 또는 방법 청구항의 경우에는 "을 위한 단계"라는 관용구를 사용하여 명백하게 인용되지 않는다면 35 U.S.C. §112 6절의 조항 하에서 해석되지 않는다. 더욱이, "구비하는", "갖는" 등의 표현이 상세한 설명 또는 청구항들에서 사용되는 범위에 대해서는, 이러한 표현은 "포함하는"이라는 표현이 청구항에서 이행구로서 채용될 시에 해석될 때의 "포함하는"이라는 표현과 유사한 양상으로 포괄적인 것으로서 간주된다.

Claims (21)

  1. 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법으로서,
    컴퓨터 프로그램의 제1 버전을 갖는 제1 컴퓨팅 기기(machine)에 의해, 적어도 하나의 피어(peer) 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 단계와;
    상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있지 않다고 결정한 것에 응답하여, 상기 제1 컴퓨팅 기기에서 업데이트 서버로부터 업데이트 패치(patch)를 수신하는 단계와, 상기 업데이트 패치는 컴퓨터 프로그램의 제1 버전과 제2 버전 간의 차이를 포함하고;
    상기 컴퓨터 프로그램을 제1 버전으로부터 제2 버전으로 업데이트하기 위해 상기 제1 컴퓨팅 기기에서 상기 업데이트 패치를 실행하는 단계와;
    상기 제1 컴퓨팅 기기에서, 제2 컴퓨팅 기기로부터 상기 컴퓨터 프로그램의 상기 제2 버전에 대한 요청을 수신하는 단계와; 그리고
    상기 제1 컴퓨팅 기기로부터 상기 제2 컴퓨팅 기기로 상기 컴퓨터 프로그램의 제2 버전을 전송하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는지 여부를 결정하기 전에, 상기 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 상기 업데이트 서버에 접속(contact)하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는 것으로 결정한 것에 응답하여, 상기 방법은,
    상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 요청하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 컴퓨터 프로그램의 제2 버전을 상기 제2 컴퓨팅 기기로 전송하는 단계는, 상기 업데이트 패치를 전송하지 않고, 상기 컴퓨터 프로그램의 제2 버전을 갖는 하드 드라이브 파티션의 전체 내용(content)을 전송하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 컴퓨터 프로그램은 상기 제1 컴퓨팅 기기의 메모리에 설치되고, 상기 제1 컴퓨팅 기기의 메모리는 하드 드라이브 파티션인 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 제1 컴퓨팅 기기상의 상기 업데이트 패치의 실행에 후속하여, 상기 컴퓨터 프로그램의 제2 버전이 전송에 이용 가능하다는 것을 상기 제2 컴퓨팅 기기로 지시(indicat)하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 컴퓨터 프로그램은 운영 체제인 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 제2 컴퓨팅 기기로 전송된 상기 컴퓨터 프로그램의 제2 버전은 상기 제2 컴퓨팅 기기의 메모리에 저장되고 업데이트 패치의 실행없이 상기 제2 컴퓨팅 기기에 의해 사용되는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 업데이트 패치는 제1 네트워크를 통해 수신되고, 상기 컴퓨터 프로그램의 제2 버전은 제2 네트워크를 통해 상기 제2 컴퓨팅 기기로 전송되는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 컴퓨터 구현 방법.
  10. 소프트웨어 업데이트를 제공하기 위한 시스템으로서,
    하나 이상의 프로세서와; 그리고
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 명령들이 저장된 메모리를 포함하고,
    상기 동작들은,
    적어도 하나의 피어 기기(peer machine)가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 동작과, 상기 시스템은 상기 컴퓨터 프로그램의 제1 버전을 가지며;
    상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있지 않다고 결정한 것에 응답하여, 업데이트 서버로부터 상기 컴퓨터 프로그램의 상기 제1 버전과 제2 버전 간의 차이를 포함하는 업데이트 패치를 수신하는 동작과;
    상기 컴퓨터 프로그램을 제1 버전으로부터 제2 버전으로 업데이트하기 위해 상기 업데이트 패치를 실행하는 동작과;
    상기 컴퓨터 프로그램의 제2 버전에 대한 요청을 피어 컴퓨팅 기기로부터 수신하는 동작과; 그리고
    상기 컴퓨터 프로그램의 제2 버전을 상기 피어 컴퓨팅 기기로 전송하는 동작을 포함하고, 상기 피어 컴퓨팅 기기로 전송된 상기 컴퓨터 프로그램의 제2 버전은 상기 피어 컴퓨팅 기기의 메모리에 저장되고 상기 업데이트 패치의 실행없이 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성되는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템.
  11. 제10항에 있어서,
    적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는지 여부를 결정하기 전에, 상기 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 상기 업데이트 서버에 접속하는 동작과; 그리고
    적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 갖는 것으로 결정한 것에 응답하여, 상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 요청하는 동작을 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템.
  12. 제10항에 있어서,
    상기 컴퓨터 프로그램은 시스템의 메모리에 설치되고, 상기 메모리는 하드 드라이브 파티션이고, 그리고
    상기 피어 컴퓨팅 기기로 컴퓨터 프로그램의 제2 버전을 전송하는 동작은 상기 컴퓨터 프로그램의 제2 버전이 설치되는 하드 드라이브 파티션의 전체 내용을 전송하는 동작을 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템.
  13. 제10항에 있어서,
    상기 동작들은,
    상기 하나 이상의 프로세서상의 상기 업데이트 패치의 실행에 후속하여, 상기 컴퓨터 프로그램의 제2 버전이 전송에 이용 가능하다는 것을 상기 피어 컴퓨팅 기기로 지시하는 동작을 더 포함하는 것을 특징으로 하는 소프트웨어 업데이트를 제공하기 위한 시스템.
  14. 기기(machine)에 의해 수행될 때 상기 기기로 하여금 동작들을 수행하도록 하는 명령들이 저장된 비-일시적 기계 판독 가능 매체로서,
    적어도 하나의 피어 기기(peer machine)가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 동작과, 상기 기기는 상기 컴퓨터 프로그램의 제1 버전을 가지며;
    상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있지 않다고 결정한 것에 응답하여, 업데이트 서버로부터 상기 컴퓨터 프로그램의 상기 제1 버전과 제2 버전 간의 차이를 포함하는 업데이트 패치를 수신하는 동작과;
    상기 컴퓨터 프로그램을 상기 제1 버전으로부터 상기 제2 버전으로 업데이트하기 위해 상기 업데이트 패치를 실행하는 동작과;
    상기 컴퓨터 프로그램의 제2 버전에 대한 요청을 근거리 통신망의 피어 컴퓨팅 기기로부터 수신하는 동작과; 그리고
    상기 컴퓨터 프로그램의 제2 버전을 상기 피어 컴퓨팅 기기로 전송하는 동작을 포함하고, 상기 피어 컴퓨팅 기기로 전송된 상기 컴퓨터 프로그램의 제2 버전은 상기 피어 컴퓨팅 기기의 메모리에 저장되고 상기 업데이트 패치의 실행없이 상기 피어 컴퓨팅 기기에 의해 사용되도록 구성되는 것을 특징으로 하는 비-일시적 기계 판독 가능 매체.
  15. 제14항에 있어서,
    상기 동작들은,
    상기 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 상기 업데이트 서버에 접속하는 동작과; 그리고
    상기 컴퓨터 프로그램의 제1 버전이 최신이 아닌 경우, 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전의 적어도 일부를 갖는지 여부를 결정하는 동작을 더 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 매체.
  16. 제15항에 있어서,
    상기 동작들은,
    적어도 하나의 피어 기기가 검색을 위해 이용 가능한 컴퓨터 프로그램의 제2 버전을 가지고 있는 경우, 상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 요청하는 동작을 더 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 매체.
  17. 컴퓨터 프로그램을 업데이트하기 위한 컴퓨터 구현 방법으로서,
    제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스에 설치된 컴퓨터 프로그램의 제1 버전이 최신인지 여부를 결정하기 위해 업데이트 서버에 접속하는 단계와;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스에 설치된 컴퓨터 프로그램의 제1 버전이 최신이 아닌 경우, 적어도 하나의 피어 기기(machine)가검색을 위해 이용 가능한 상기 컴퓨터 프로그램의 제2 버전을 가지고 있는지 여부를 결정하는 단계와;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 적어도 하나의 피어 기기가 검색을 위해 이용 가능한 상기 컴퓨터 프로그램의 제2 버전을 가지고 있는 경우, 상기 적어도 하나의 피어 기기로부터 상기 컴퓨터 프로그램의 제2 버전을 검색하는 단계와;
    피어 기기들이 검색을 위해 이용 가능한 상기 컴퓨터 프로그램의 제2 버전을 가지고 있지 않은 경우, 상기 제 1 컴퓨팅 디바이스상의 컴퓨터 프로그램을 제 1 버전에서 제 2 버전으로 업데이트하기 위한 업데이트 패치를 업데이트 서버로부터 수신하는 단계와; 그리고
    상기 업데이트 패치를 실행하는 단계롤 포함하고, 상기 업데이트 패치는 상기 제 1 컴퓨팅 디바이스상의 컴퓨터 프로그램을 제 1 버전에서 제 2 버전으로 업데이트하도록 구성되는 것을 특징으로 하는 컴퓨터 프로그램을 업데이트하기 위한 컴퓨터 구현 방법.
  18. 제17항에 있어서,
    상기 컴퓨터 프로그램의 제2 버전은
    업데이트 패치의 실행없이 사용되도록 구성되는 것을 특징으로 하는 컴퓨터 프로그램을 업데이트하기 위한 컴퓨터 구현 방법.
  19. 삭제
  20. 삭제
  21. 삭제
KR1020157019555A 2013-01-18 2014-01-14 피어-투-피어 소프트웨어 업데이트 KR101997176B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/745,709 2013-01-18
US13/745,709 US9420065B2 (en) 2013-01-18 2013-01-18 Peer-to-peer software updates
PCT/US2014/011502 WO2014113393A1 (en) 2013-01-18 2014-01-14 Peer-to-peer software updates

Publications (2)

Publication Number Publication Date
KR20150110532A KR20150110532A (ko) 2015-10-02
KR101997176B1 true KR101997176B1 (ko) 2019-07-05

Family

ID=51208586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019555A KR101997176B1 (ko) 2013-01-18 2014-01-14 피어-투-피어 소프트웨어 업데이트

Country Status (6)

Country Link
US (1) US9420065B2 (ko)
EP (1) EP2946290B1 (ko)
KR (1) KR101997176B1 (ko)
CN (1) CN104919423B (ko)
AU (2) AU2014207696B2 (ko)
WO (1) WO2014113393A1 (ko)

Families Citing this family (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762467B2 (en) * 2010-10-25 2014-06-24 Blackberry Limited System and method for enabling applications to communicate using a peer-to-peer (P2P) system
US10009065B2 (en) 2012-12-05 2018-06-26 At&T Intellectual Property I, L.P. Backhaul link for distributed antenna system
US9113347B2 (en) 2012-12-05 2015-08-18 At&T Intellectual Property I, Lp Backhaul link for distributed antenna system
US11582101B2 (en) * 2013-03-29 2023-02-14 Hewlett Packard Enterprise Development Lp Update of programmable for computing nodes
US9525524B2 (en) 2013-05-31 2016-12-20 At&T Intellectual Property I, L.P. Remote distributed antenna system
US9999038B2 (en) 2013-05-31 2018-06-12 At&T Intellectual Property I, L.P. Remote distributed antenna system
US8897697B1 (en) 2013-11-06 2014-11-25 At&T Intellectual Property I, Lp Millimeter-wave surface-wave communications
US9209902B2 (en) 2013-12-10 2015-12-08 At&T Intellectual Property I, L.P. Quasi-optical coupler
US9575741B2 (en) * 2014-03-20 2017-02-21 Google Technology Holdings LLC Methods and devices for wireless device-to-device software upgrades
US9692101B2 (en) 2014-08-26 2017-06-27 At&T Intellectual Property I, L.P. Guided wave couplers for coupling electromagnetic waves between a waveguide surface and a surface of a wire
US9768833B2 (en) 2014-09-15 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves
US10063280B2 (en) 2014-09-17 2018-08-28 At&T Intellectual Property I, L.P. Monitoring and mitigating conditions in a communication network
WO2016048326A1 (en) 2014-09-25 2016-03-31 Hewlett Packard Enterprise Development Lp Identification of a component for upgrade
US9615269B2 (en) 2014-10-02 2017-04-04 At&T Intellectual Property I, L.P. Method and apparatus that provides fault tolerance in a communication network
US9685992B2 (en) 2014-10-03 2017-06-20 At&T Intellectual Property I, L.P. Circuit panel network and methods thereof
US9503189B2 (en) 2014-10-10 2016-11-22 At&T Intellectual Property I, L.P. Method and apparatus for arranging communication sessions in a communication system
US9973299B2 (en) 2014-10-14 2018-05-15 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a mode of communication in a communication network
US9762289B2 (en) 2014-10-14 2017-09-12 At&T Intellectual Property I, L.P. Method and apparatus for transmitting or receiving signals in a transportation system
US9520945B2 (en) 2014-10-21 2016-12-13 At&T Intellectual Property I, L.P. Apparatus for providing communication services and methods thereof
US9769020B2 (en) 2014-10-21 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for responding to events affecting communications in a communication network
US9780834B2 (en) 2014-10-21 2017-10-03 At&T Intellectual Property I, L.P. Method and apparatus for transmitting electromagnetic waves
US9577306B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Guided-wave transmission device and methods for use therewith
US9653770B2 (en) 2014-10-21 2017-05-16 At&T Intellectual Property I, L.P. Guided wave coupler, coupling module and methods for use therewith
US9564947B2 (en) 2014-10-21 2017-02-07 At&T Intellectual Property I, L.P. Guided-wave transmission device with diversity and methods for use therewith
US9312919B1 (en) 2014-10-21 2016-04-12 At&T Intellectual Property I, Lp Transmission device with impairment compensation and methods for use therewith
US9627768B2 (en) 2014-10-21 2017-04-18 At&T Intellectual Property I, L.P. Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9461706B1 (en) 2015-07-31 2016-10-04 At&T Intellectual Property I, Lp Method and apparatus for exchanging communication signals
US10340573B2 (en) 2016-10-26 2019-07-02 At&T Intellectual Property I, L.P. Launcher with cylindrical coupling device and methods for use therewith
US10243784B2 (en) 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US9680670B2 (en) 2014-11-20 2017-06-13 At&T Intellectual Property I, L.P. Transmission device with channel equalization and control and methods for use therewith
US9997819B2 (en) 2015-06-09 2018-06-12 At&T Intellectual Property I, L.P. Transmission medium and method for facilitating propagation of electromagnetic waves via a core
US9800327B2 (en) 2014-11-20 2017-10-24 At&T Intellectual Property I, L.P. Apparatus for controlling operations of a communication device and methods thereof
US9954287B2 (en) 2014-11-20 2018-04-24 At&T Intellectual Property I, L.P. Apparatus for converting wireless signals and electromagnetic waves and methods thereof
US9544006B2 (en) 2014-11-20 2017-01-10 At&T Intellectual Property I, L.P. Transmission device with mode division multiplexing and methods for use therewith
US9654173B2 (en) 2014-11-20 2017-05-16 At&T Intellectual Property I, L.P. Apparatus for powering a communication device and methods thereof
US9742462B2 (en) 2014-12-04 2017-08-22 At&T Intellectual Property I, L.P. Transmission medium and communication interfaces and methods for use therewith
US10009067B2 (en) 2014-12-04 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for configuring a communication interface
US10144036B2 (en) 2015-01-30 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for mitigating interference affecting a propagation of electromagnetic waves guided by a transmission medium
US9876570B2 (en) 2015-02-20 2018-01-23 At&T Intellectual Property I, Lp Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9749013B2 (en) 2015-03-17 2017-08-29 At&T Intellectual Property I, L.P. Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium
US9959109B2 (en) 2015-04-10 2018-05-01 Avigilon Corporation Upgrading a physical security system having multiple server nodes
US9705561B2 (en) 2015-04-24 2017-07-11 At&T Intellectual Property I, L.P. Directional coupling device and methods for use therewith
US10224981B2 (en) 2015-04-24 2019-03-05 At&T Intellectual Property I, Lp Passive electrical coupling device and methods for use therewith
US9948354B2 (en) 2015-04-28 2018-04-17 At&T Intellectual Property I, L.P. Magnetic coupling device with reflective plate and methods for use therewith
US9793954B2 (en) 2015-04-28 2017-10-17 At&T Intellectual Property I, L.P. Magnetic coupling device and methods for use therewith
US10142167B2 (en) * 2015-05-13 2018-11-27 Cisco Technology, Inc. Peer-assisted image update with self-healing capabilities
US9490869B1 (en) 2015-05-14 2016-11-08 At&T Intellectual Property I, L.P. Transmission medium having multiple cores and methods for use therewith
US9748626B2 (en) 2015-05-14 2017-08-29 At&T Intellectual Property I, L.P. Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium
US9871282B2 (en) 2015-05-14 2018-01-16 At&T Intellectual Property I, L.P. At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric
US10679767B2 (en) 2015-05-15 2020-06-09 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US10650940B2 (en) 2015-05-15 2020-05-12 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US9917341B2 (en) 2015-05-27 2018-03-13 At&T Intellectual Property I, L.P. Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves
US10103801B2 (en) 2015-06-03 2018-10-16 At&T Intellectual Property I, L.P. Host node device and methods for use therewith
US10812174B2 (en) 2015-06-03 2020-10-20 At&T Intellectual Property I, L.P. Client node device and methods for use therewith
US9866309B2 (en) 2015-06-03 2018-01-09 At&T Intellectual Property I, Lp Host node device and methods for use therewith
US10348391B2 (en) 2015-06-03 2019-07-09 At&T Intellectual Property I, L.P. Client node device with frequency conversion and methods for use therewith
US10154493B2 (en) 2015-06-03 2018-12-11 At&T Intellectual Property I, L.P. Network termination and methods for use therewith
US9912381B2 (en) 2015-06-03 2018-03-06 At&T Intellectual Property I, Lp Network termination and methods for use therewith
US9913139B2 (en) 2015-06-09 2018-03-06 At&T Intellectual Property I, L.P. Signal fingerprinting for authentication of communicating devices
US9608692B2 (en) 2015-06-11 2017-03-28 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US10142086B2 (en) 2015-06-11 2018-11-27 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9820146B2 (en) 2015-06-12 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9667317B2 (en) 2015-06-15 2017-05-30 At&T Intellectual Property I, L.P. Method and apparatus for providing security using network traffic adjustments
US9640850B2 (en) 2015-06-25 2017-05-02 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium
US9865911B2 (en) 2015-06-25 2018-01-09 At&T Intellectual Property I, L.P. Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium
US9509415B1 (en) 2015-06-25 2016-11-29 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a fundamental wave mode on a transmission medium
US20160378455A1 (en) * 2015-06-29 2016-12-29 Facebook, Inc. Methods and Systems for Installing an Application Version via Close-Range Communications
US10320586B2 (en) 2015-07-14 2019-06-11 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium
US9836957B2 (en) 2015-07-14 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for communicating with premises equipment
US9722318B2 (en) 2015-07-14 2017-08-01 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US9882257B2 (en) 2015-07-14 2018-01-30 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9853342B2 (en) 2015-07-14 2017-12-26 At&T Intellectual Property I, L.P. Dielectric transmission medium connector and methods for use therewith
US10148016B2 (en) 2015-07-14 2018-12-04 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array
US10033107B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US10205655B2 (en) 2015-07-14 2019-02-12 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array and multiple communication paths
US10170840B2 (en) 2015-07-14 2019-01-01 At&T Intellectual Property I, L.P. Apparatus and methods for sending or receiving electromagnetic signals
US10033108B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference
US9847566B2 (en) 2015-07-14 2017-12-19 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a field of a signal to mitigate interference
US10044409B2 (en) 2015-07-14 2018-08-07 At&T Intellectual Property I, L.P. Transmission medium and methods for use therewith
US10341142B2 (en) 2015-07-14 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor
US9628116B2 (en) 2015-07-14 2017-04-18 At&T Intellectual Property I, L.P. Apparatus and methods for transmitting wireless signals
US9608740B2 (en) 2015-07-15 2017-03-28 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9793951B2 (en) 2015-07-15 2017-10-17 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US10090606B2 (en) 2015-07-15 2018-10-02 At&T Intellectual Property I, L.P. Antenna system with dielectric array and methods for use therewith
US9871283B2 (en) 2015-07-23 2018-01-16 At&T Intellectual Property I, Lp Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration
US9948333B2 (en) 2015-07-23 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for wireless communications to mitigate interference
US10784670B2 (en) 2015-07-23 2020-09-22 At&T Intellectual Property I, L.P. Antenna support for aligning an antenna
US9749053B2 (en) 2015-07-23 2017-08-29 At&T Intellectual Property I, L.P. Node device, repeater and methods for use therewith
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US9967173B2 (en) 2015-07-31 2018-05-08 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9735833B2 (en) 2015-07-31 2017-08-15 At&T Intellectual Property I, L.P. Method and apparatus for communications management in a neighborhood network
US10020587B2 (en) 2015-07-31 2018-07-10 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith
US9904535B2 (en) 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software
US10009901B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method, apparatus, and computer-readable storage medium for managing utilization of wireless resources between base stations
US10009063B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an out-of-band reference signal
US10079661B2 (en) 2015-09-16 2018-09-18 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a clock reference
US10136434B2 (en) 2015-09-16 2018-11-20 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an ultra-wideband control channel
US10051629B2 (en) 2015-09-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an in-band reference signal
US9705571B2 (en) 2015-09-16 2017-07-11 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system
US9769128B2 (en) 2015-09-28 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for encryption of communications over a network
US9729197B2 (en) 2015-10-01 2017-08-08 At&T Intellectual Property I, L.P. Method and apparatus for communicating network management traffic over a network
US9876264B2 (en) 2015-10-02 2018-01-23 At&T Intellectual Property I, Lp Communication system, guided wave switch and methods for use therewith
US9882277B2 (en) 2015-10-02 2018-01-30 At&T Intellectual Property I, Lp Communication device and antenna assembly with actuated gimbal mount
US10074890B2 (en) 2015-10-02 2018-09-11 At&T Intellectual Property I, L.P. Communication device and antenna with integrated light assembly
US10355367B2 (en) 2015-10-16 2019-07-16 At&T Intellectual Property I, L.P. Antenna structure for exchanging wireless signals
US10665942B2 (en) 2015-10-16 2020-05-26 At&T Intellectual Property I, L.P. Method and apparatus for adjusting wireless communications
US10051483B2 (en) 2015-10-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for directing wireless signals
CN106919411A (zh) * 2015-12-25 2017-07-04 英业达科技有限公司 适用于Linux的操作***更新***及其方法
US9912419B1 (en) 2016-08-24 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for managing a fault in a distributed antenna system
US9860075B1 (en) 2016-08-26 2018-01-02 At&T Intellectual Property I, L.P. Method and communication node for broadband distribution
US10291311B2 (en) 2016-09-09 2019-05-14 At&T Intellectual Property I, L.P. Method and apparatus for mitigating a fault in a distributed antenna system
US11032819B2 (en) 2016-09-15 2021-06-08 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a control channel reference signal
US10135146B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via circuits
US10340600B2 (en) 2016-10-18 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via plural waveguide systems
US10135147B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via an antenna
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US10374316B2 (en) 2016-10-21 2019-08-06 At&T Intellectual Property I, L.P. System and dielectric antenna with non-uniform dielectric
US9876605B1 (en) 2016-10-21 2018-01-23 At&T Intellectual Property I, L.P. Launcher and coupling system to support desired guided wave mode
US9991580B2 (en) 2016-10-21 2018-06-05 At&T Intellectual Property I, L.P. Launcher and coupling system for guided wave mode cancellation
US10312567B2 (en) 2016-10-26 2019-06-04 At&T Intellectual Property I, L.P. Launcher with planar strip antenna and methods for use therewith
US10747527B2 (en) * 2016-11-01 2020-08-18 Johnson Controls Technology Company Multi-zone system with software update features
US10498044B2 (en) 2016-11-03 2019-12-03 At&T Intellectual Property I, L.P. Apparatus for configuring a surface of an antenna
US10225025B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Method and apparatus for detecting a fault in a communication system
US10224634B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Methods and apparatus for adjusting an operational characteristic of an antenna
US10291334B2 (en) 2016-11-03 2019-05-14 At&T Intellectual Property I, L.P. System for detecting a fault in a communication system
US10340601B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Multi-antenna system and methods for use therewith
US10340603B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Antenna system having shielded structural configurations for assembly
US10178445B2 (en) 2016-11-23 2019-01-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for load balancing between a plurality of waveguides
US10535928B2 (en) 2016-11-23 2020-01-14 At&T Intellectual Property I, L.P. Antenna system and methods for use therewith
US10090594B2 (en) 2016-11-23 2018-10-02 At&T Intellectual Property I, L.P. Antenna system having structural configurations for assembly
US10305190B2 (en) 2016-12-01 2019-05-28 At&T Intellectual Property I, L.P. Reflecting dielectric antenna system and methods for use therewith
US10361489B2 (en) 2016-12-01 2019-07-23 At&T Intellectual Property I, L.P. Dielectric dish antenna system and methods for use therewith
US10135145B2 (en) 2016-12-06 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave along a transmission medium
US10755542B2 (en) 2016-12-06 2020-08-25 At&T Intellectual Property I, L.P. Method and apparatus for surveillance via guided wave communication
US10382976B2 (en) 2016-12-06 2019-08-13 At&T Intellectual Property I, L.P. Method and apparatus for managing wireless communications based on communication paths and network device positions
US10694379B2 (en) 2016-12-06 2020-06-23 At&T Intellectual Property I, L.P. Waveguide system with device-based authentication and methods for use therewith
US10020844B2 (en) 2016-12-06 2018-07-10 T&T Intellectual Property I, L.P. Method and apparatus for broadcast communication via guided waves
US10727599B2 (en) 2016-12-06 2020-07-28 At&T Intellectual Property I, L.P. Launcher with slot antenna and methods for use therewith
US10819035B2 (en) 2016-12-06 2020-10-27 At&T Intellectual Property I, L.P. Launcher with helical antenna and methods for use therewith
US10637149B2 (en) 2016-12-06 2020-04-28 At&T Intellectual Property I, L.P. Injection molded dielectric antenna and methods for use therewith
US9927517B1 (en) 2016-12-06 2018-03-27 At&T Intellectual Property I, L.P. Apparatus and methods for sensing rainfall
US10439675B2 (en) 2016-12-06 2019-10-08 At&T Intellectual Property I, L.P. Method and apparatus for repeating guided wave communication signals
US10326494B2 (en) 2016-12-06 2019-06-18 At&T Intellectual Property I, L.P. Apparatus for measurement de-embedding and methods for use therewith
US9893795B1 (en) 2016-12-07 2018-02-13 At&T Intellectual Property I, Lp Method and repeater for broadband distribution
US10243270B2 (en) 2016-12-07 2019-03-26 At&T Intellectual Property I, L.P. Beam adaptive multi-feed dielectric antenna system and methods for use therewith
US10027397B2 (en) 2016-12-07 2018-07-17 At&T Intellectual Property I, L.P. Distributed antenna system and methods for use therewith
US10139820B2 (en) 2016-12-07 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for deploying equipment of a communication system
US10168695B2 (en) 2016-12-07 2019-01-01 At&T Intellectual Property I, L.P. Method and apparatus for controlling an unmanned aircraft
US10359749B2 (en) 2016-12-07 2019-07-23 At&T Intellectual Property I, L.P. Method and apparatus for utilities management via guided wave communication
US10389029B2 (en) 2016-12-07 2019-08-20 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system with core selection and methods for use therewith
US10446936B2 (en) 2016-12-07 2019-10-15 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system and methods for use therewith
US10547348B2 (en) 2016-12-07 2020-01-28 At&T Intellectual Property I, L.P. Method and apparatus for switching transmission mediums in a communication system
US10938108B2 (en) 2016-12-08 2021-03-02 At&T Intellectual Property I, L.P. Frequency selective multi-feed dielectric antenna system and methods for use therewith
US10389037B2 (en) 2016-12-08 2019-08-20 At&T Intellectual Property I, L.P. Apparatus and methods for selecting sections of an antenna array and use therewith
US10103422B2 (en) 2016-12-08 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10411356B2 (en) 2016-12-08 2019-09-10 At&T Intellectual Property I, L.P. Apparatus and methods for selectively targeting communication devices with an antenna array
US10601494B2 (en) 2016-12-08 2020-03-24 At&T Intellectual Property I, L.P. Dual-band communication device and method for use therewith
US10530505B2 (en) 2016-12-08 2020-01-07 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves along a transmission medium
US9911020B1 (en) 2016-12-08 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for tracking via a radio frequency identification device
US10777873B2 (en) 2016-12-08 2020-09-15 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10326689B2 (en) 2016-12-08 2019-06-18 At&T Intellectual Property I, L.P. Method and system for providing alternative communication paths
US10069535B2 (en) 2016-12-08 2018-09-04 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves having a certain electric field structure
US9998870B1 (en) 2016-12-08 2018-06-12 At&T Intellectual Property I, L.P. Method and apparatus for proximity sensing
US10916969B2 (en) 2016-12-08 2021-02-09 At&T Intellectual Property I, L.P. Method and apparatus for providing power using an inductive coupling
US9838896B1 (en) 2016-12-09 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for assessing network coverage
US10264586B2 (en) 2016-12-09 2019-04-16 At&T Mobility Ii Llc Cloud-based packet controller and methods for use therewith
US10340983B2 (en) 2016-12-09 2019-07-02 At&T Intellectual Property I, L.P. Method and apparatus for surveying remote sites via guided wave communications
US9973940B1 (en) 2017-02-27 2018-05-15 At&T Intellectual Property I, L.P. Apparatus and methods for dynamic impedance matching of a guided wave launcher
US10298293B2 (en) 2017-03-13 2019-05-21 At&T Intellectual Property I, L.P. Apparatus of communication utilizing wireless network devices
EP3418887A1 (en) * 2017-06-19 2018-12-26 Clarion Co., Ltd. Electronic device and program updating method
US20190056929A1 (en) * 2017-08-17 2019-02-21 Ability Enterprise Co., Ltd. Data transmission method and communication system
JP6679553B2 (ja) * 2017-10-06 2020-04-15 任天堂株式会社 情報処理システムおよび情報処理方法
US11307843B2 (en) 2018-04-20 2022-04-19 Carrier Corporation Automatic device-to-device firmware upgrade of a wireless network
US11120135B2 (en) * 2018-09-28 2021-09-14 International Business Machines Corporation Updating security information on multiple computing machines
CN109634630A (zh) * 2018-10-29 2019-04-16 平安科技(深圳)有限公司 应用程序更新方法、装置、电子设备及存储介质
US10986686B2 (en) 2019-07-11 2021-04-20 International Business Machines Corporation Offline device management
JP2021149461A (ja) * 2020-03-18 2021-09-27 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム、及びプログラム
KR102302765B1 (ko) * 2020-04-10 2021-09-15 엔에이치엔 주식회사 클라이언트 장치를 제어하는 무선 통신 단말기 및 방법
EP4047615A1 (en) 2021-02-23 2022-08-24 Roche Diabetes Care GmbH Medical software for displaying and analyzing blood glucose data for use in a heterogeneous computing network in medical practices
EP4155907A1 (en) * 2021-09-28 2023-03-29 Hill-Rom Services, Inc. Systems and methods for peer-to-peer automatic software updates

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133650A1 (en) 2006-12-05 2008-06-05 Anssi Saarimaki Software distribution via peer-to-peer networks
US7584261B1 (en) 2001-02-09 2009-09-01 Microsoft Corporation Distribution of binary executables and content from peer locations/machines
WO2011069730A1 (en) * 2009-12-10 2011-06-16 International Business Machines Corporation A method and system for managing configurations of system management agents in a distributed environment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006586A1 (en) 2002-04-23 2004-01-08 Secure Resolutions, Inc. Distributed server software distribution
DE10241957A1 (de) 2002-09-10 2004-03-18 Siemens Ag Datenkommunikationssystem, Rechner, sowie Verfahren zur Aktualisierung von auf einem Rechner eines Datenkommunikationsystems gespeicherter Software
US20040111505A1 (en) * 2002-12-10 2004-06-10 Sun Microsystems, Inc. Method, system, and article of manufacture for network management
US8234705B1 (en) * 2004-09-27 2012-07-31 Radix Holdings, Llc Contagion isolation and inoculation
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
JP2006285601A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd ファイル配信方法とそれを実現するクライアント端末
US8291093B2 (en) * 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
US8316364B2 (en) 2007-02-28 2012-11-20 Red Hat, Inc. Peer-to-peer software update distribution network
US8024723B2 (en) * 2007-05-18 2011-09-20 Samsung Electronics Co., Ltd. System and method for peer-to-peer datacasting in a broadcasting network
US9146725B2 (en) 2009-11-04 2015-09-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Propagating firmware updates in a peer-to-peer network environment
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584261B1 (en) 2001-02-09 2009-09-01 Microsoft Corporation Distribution of binary executables and content from peer locations/machines
US20080133650A1 (en) 2006-12-05 2008-06-05 Anssi Saarimaki Software distribution via peer-to-peer networks
WO2011069730A1 (en) * 2009-12-10 2011-06-16 International Business Machines Corporation A method and system for managing configurations of system management agents in a distributed environment

Also Published As

Publication number Publication date
CN104919423B (zh) 2019-11-05
EP2946290B1 (en) 2018-03-07
US20140207844A1 (en) 2014-07-24
AU2014207696B2 (en) 2019-01-24
EP2946290A4 (en) 2017-02-15
EP2946290A1 (en) 2015-11-25
US9420065B2 (en) 2016-08-16
AU2019202887B2 (en) 2020-08-27
CN104919423A (zh) 2015-09-16
AU2019202887A1 (en) 2019-05-16
KR20150110532A (ko) 2015-10-02
WO2014113393A1 (en) 2014-07-24
AU2014207696A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
KR101997176B1 (ko) 피어-투-피어 소프트웨어 업데이트
US9485300B2 (en) Publish-subscribe platform for cloud file distribution
US20180343111A1 (en) Supporting distributed ledgers in a micro-services environment
US8903838B2 (en) System and method for preventing duplicate file uploads in a synchronized content management system
US9229701B2 (en) Local store data versioning
EP3289513B1 (en) Protecting user identifiable information in the transfer of telemetry data
US20130232187A1 (en) Systems and methods for managing data in a networked communication system
US10069940B2 (en) Deployment meta-data based applicability targetting
KR101198437B1 (ko) 컨텍스트 트리거형 배포 방법, 장치 및 컴퓨터 판독 가능한 저장매체
US10430441B1 (en) Tagging resources of a remote computing service based on locality
US11886390B2 (en) Data file partition and replication
CN107291481A (zh) 一种组件更新方法、装置和***
CN110990038B (zh) 用于应用局部更新的方法、装置、电子设备和介质
WO2015102932A1 (en) Simulated tethering of computing devices
US9614932B2 (en) Managing and implementing web application data snapshots
US20230305837A1 (en) Data file partition and replication
US10880347B1 (en) Media players for digital display devices using proxy services for offline capability
US11403093B1 (en) Application modification with proxy service process
US10769586B2 (en) Implementation of rolling key to identify systems inventories
CN114237679A (zh) 一种基于BSDiff算法的离线资源更新方法及***
US8645839B2 (en) Online desktop distribution

Legal Events

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