KR20060015313A - P2p환경에서의 사용자 대화를 위한 시스템 및 방법 - Google Patents

P2p환경에서의 사용자 대화를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20060015313A
KR20060015313A KR1020057022638A KR20057022638A KR20060015313A KR 20060015313 A KR20060015313 A KR 20060015313A KR 1020057022638 A KR1020057022638 A KR 1020057022638A KR 20057022638 A KR20057022638 A KR 20057022638A KR 20060015313 A KR20060015313 A KR 20060015313A
Authority
KR
South Korea
Prior art keywords
user
group
node
entities
metadata
Prior art date
Application number
KR1020057022638A
Other languages
English (en)
Other versions
KR100757976B1 (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
Priority claimed from US10/446,576 external-priority patent/US20040243672A1/en
Priority claimed from US10/446,574 external-priority patent/US20040243665A1/en
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20060015313A publication Critical patent/KR20060015313A/ko
Application granted granted Critical
Publication of KR100757976B1 publication Critical patent/KR100757976B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/1044Group management mechanisms 
    • 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/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web 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/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

예를 들면, 네트워킹을 통해 도달 가능한 엔티티들의 검색에 적용가능하며, 노드 사용자들 간의 통신을 허용하고, 공유 동작들을 수행하는 시스템들 및 방법들이다. 부가적으로, 각종 서비스들에 네트워크 가능한 노드들을 사용자들이 쉽사리 채용할 수 있게 하는데 적용가능한 시스템들 및 방법들이다. 이러한 시스템들 및 방법들은 예를 들면 공유, 메시징, 및/또는 채팅과 같은 서비스들의 공급 시에 채용될 수 있다.
P2P, 네트워킹, 엔티티, 노드, 메타데이터, 검색정보, 구성원자격인증서

Description

P2P환경에서의 사용자 대화를 위한 시스템 및 방법{System and method for user interaction in a peer-to-peer environment}
본 발명은 사용자 대화(interaction)를 위한 특히 P2P(peer-to-peer) 환경에서의 사용자 대화를 위한 시스템들 및 방법들에 관한 것이다.
근년에, 이동노드들과 같은 컴퓨터들의 이용에서 메시징, 채팅, 및 파일공유가 증가하고 있다. 예를 들면, 수많은 개인들은 텍스트관련 통신에 대해 기존의 메일보다 채팅 또는 메시징 서비스들을 우선적으로 의지하는 추세이다. 마찬가지로, 수많은 개인들은 레코드 가게, 소프트웨어 가게, 라디오, 텔레비전, 및 영화관과 같이 콘텐츠를 수용하는 기존의 벤더들보다 파일 공유를 더 선호하고 있다. 더욱이, 이동노드와 같은 컴퓨터는 개인들이 디지털콘텐츠 아이템들(예컨대, 이미지, 비디오클립, 오디로레코딩 등)을 그들 스스로 만들고 편집하는 능력을 개인들에게 제공한다. 많은 경우들에서 개인들은 이러한 디지털 아이템들을 파일공유기술들을 이용하여 다른 개인들과 공유하기를 좋아할 것이다.
따라서, 이러한 컴퓨터 사용을 용이하게 하는 기술들이 흥미를 끌고 있다.
본 발명의 다양한 실시예들에 의하면, 예를 들면, 네트워킹을 통해 도달 가능한 엔티티들의 검색에 적용가능하며, 노드 사용자들 간의 통신을 허용하고, 공유 동작들을 수행하는 시스템들 및 방법들이 제공되고 있다.
부가적으로, 각종 서비스들에 네트워크 가능한(network-capable) 노드들을 사용자들이 쉽사리 채용할 수 있게 하는데 적용가능한 시스템들 및 방법들이다.
이러한 시스템들 및 방법들은 예를 들면 공유, 메시징, 및/또는 채팅과 같은 서비스들의 공급 시에 채용될 수 있다.
도 1은 본 발명의 각종 실시예들에 따른 그룹들에 관한 정보를 제공하는 노드들을 찾을 때에 관련된 예시적인 단계들을 도시하는 도면이다.
도 2는 본 발명의 각종 실시예들에 따른 검색에 관련된 예시적인 단계들을 도시하는 도면이다.
도 3은 본 발명의 각종 실시예들에 따른 엔티티들을 이용 가능하게 만들 때에 관련된 예시적인 단계들을 도시하는 도면이다.
도 4는 본 발명의 각종 실시예들에 따른 메시징에 관련된 예시적인 단계들을 도시하는 도면이다.
도 5는 본 발명의 각종 실시예들에 따른 예시적인 그룹구성원 인증서를 보인다.
도 6은 본 발명의 각종 실시예들에 따른 인증에 관련된 예시적인 단계들을 도시하는 도면이다.
도 7은 본 발명의 각종 실시예들에 따른 인증에 관련된 추가의 예시적인 단 계들을 도시하는 도면이다.
도 8은 다른 노드들에 의한 수신에 이용가능하게 만들어진 사용자 관람용(viewing) 엔티티들에 관련한 각종 예시적인 그래픽사용자인터페이스(GUI) 화면들을 보인다.
도 9는 엔티티들에 대해 사용자에 의해 수행가능한 각종 동작들에 관련한 각종 예시적인 GUI화면들을 보인다.
도 10과 도 11은 노드의 사용자에 의해 수행가능한 엔티티 검색동작들에 관련한 각종 예시적인 GUI화면들을 보인다.
도 12와 도 13은 노드의 사용자에 의해 수행가능한 인스턴트 메시징 동작들에 관련한 각종 예시적인 GUI화면들을 보인다.
도 14는 그룹만들기에 관련한 각종 예시적인 GUI화면들을 보인다.
도 15는 그룹들의 검색에 관련한 각종 예시적인 GUI화면들을 보인다.
도 16은 사용자들 및/또는 대응 노드들의 검색에 관련한 각종 예시적인 GUI화면들을 보인다.
도 17은 그룹 가입에 관련한 각종 예시적인 GUI화면들을 보인다.
도 18은 본 발명의 각종 실시예들에 채용가능한 예시적인 범용컴퓨터를 보인다.
도 19는 본 발명의 각종 실시예들에 채용가능한 예시적인 노드의 기능블록도이다.
일반 동작
본 발명의 각종 실시예들에 의하면, 예를 들면, P2P환경에서의 공유, 메시징, 및 채팅과 같은 각종 서비스들의 제공 시에 적용가능한 시스템들 및 방법들이 제공된다. 이 서비스들은 예를 들면 P2P환경에서 그룹들을 형성하는 사용자들 간에 적용가능하다. P2P환경은 예를 들면 각각의 참가 노드가 동등한 역량 및/또는 책임을 갖는 네트워크일 수 있다. 이것은 일부 컴퓨터들이 다른 컴퓨터들에 전적으로 서비스하는일반 클라이언트/서버 아키텍처들과는 다르다.
각종 실시예들에서, P2P환경에서의 노드들 사이의 통신은 동일한 P2P환경에 속하는 하나 이상의 중간 노드들을 통해 일어날 수 있다. P2P환경은 예를 들어 사용자들의 노드들과 서비스제공자들의 노드들로 구성될 수 있다. 각종 실시예들에서, 메시징은 노드들 간의 응용층 라우팅을 통해 구현될 수 있다는 점에 주의한다.
각종 실시예들에서, 노드들 사이의 연결들은 예를 들면 응용층(개방시스템 상호접속레벨 7)에서 유지될 수 있다. 하나 이상의 공통그룹들에 속한 두 노드들 사이에 직접적인 단일 반사로 링크(hop link)가 있는 경우가 각종 실시예들에서 채용될 수 있다는 점에 주의한다. 또한 다른 물리매체와 다른 하위층 네트워킹 기술들이 각종 실시예들에서 노드들 사이에 연결들을 형성하는데 이용될 수 있다는 점에 주의한다. 더욱이, 본 발명의 각종 실시예들이 예를 들어 그룹 협력 및/또는 왕래를 가능케 하는 미들웨어 및/또는 통신응용들을 채용하는 P2P환경을 제공한다는 점에 주의한다.
위에서 언급된 바와 같이, 본 발명의 실시예들은 각종 서비스들을 제공한다. 이러한 서비스들은 예를 들면 무선 또는 유선 단말들과 같은 노드들을 갖는 사용자들에게 이용가능하게 만들어질 수 있다. 이러한 단말들은 하나 이상의 네트워크 인터페이스들을 가질 수 있다. 이러한 인터페이스들은 예를 들어 블루투스 802.11b, 802.11g, GPRS(General Packet Radio Service), EDGE(Enhanced Data rate for Global System for Mobile Communications Evolution), UMTS(Universal Mobile Telecommunication Services), DVB-T(Terrestrial Digital Broadcast), DVB-X 및/또는 이더넷 인터페이스들이다.
본 발명의 각종 실시예들에서, 메시지들은 예를 들면 전술한 서비스들의 제공을 위해 노드들 사이를 통과할 수 있다. 게다가, 본 발명의 각종 실시예들은 예를 들면 이러한 서비스들의 제공에 이용가능한 사용자인터페이스들을 제공한다.
참조로써 여기에 통합된 것은 "System and Method for Services Provision in a Peer-To-Peer Environment"와 "System and Method for Message Handling in a Peer-To-Peer Environment"란 명칭의 함께 계류중인 미국특허출원들이며, 이것들 둘 다는 이 출원과 동일자로 출원되었고, 발명자들은 Outi Markki 및 Timo VEsalainen이고, 노키아 코포레이션에 양도되었다.
이제 본 발명의 각종 양태들이 더욱 상세히 설명될 것이다.
그룹 가입 동작들
본 발명의 각종 실시예들에 의하면, 그룹들에 가입하고 및/또는 각종 이용가능한 서비스들을 이용하기 원하는 사용자는 먼저 가입서명을 할 것이다. 예를 들면, 이러한 사용자는 각종 실시예들에서 키오스크인 고객서비스위치 등에 방문할 것이다. 다른 실시예로서, 이러한 사용자는 각종 실시예들에서 그녀의 노드가 웹 포탈 등을 향하도록 할 것이다. 이 사용자는 키오스크 등의 고객담당자(customer representative)에 의해 또는 웹 포탈 등에 의해 필수 과금정보, 개인정보 등을 제공할 것이 촉구될 것이다. 고객담당자는 사용자의 노드에 관련되는 약간의 메타데이터를 요구할 수 있다. 예를 들면, 고객담당자는 이러한 데이터를 구두로 요구할 수 있고, 사용자는 구두로 대답할 수 있고, 고객담당자는 그 데이터를 PC 등에 입력할 수 있다. 다른 예로서, 고객담당자는 PC 등을 이용하여 제시된 일련의 질문들에 대해 사용자의 대답을 가질 수 있다. 각종 실시예들에서, 메타데이터는 하나 이상의 서비스제공자들에 의해 점검될 수 있다.
각종 실시예들에서, 고객담당자는 사용자 및/또는 그녀의 노드에 대해 수행되는 인증을 실행할 수 있다는 점에 주의한다. 게다가, 각종 실시예들에서, 사용자는 법적 방식으로 및/또는 하나 이상의 수립된 행동지침들에 따라 행동할 것에 동의할 것이 요구될 수 있다.
다음 단계로, 적당한 소프트웨어 모듈들 등은 이전에 미리 설치(예컨대, 노드의 사용자에 의해)되지 않았다면 사용자의 노드에 위치될 수 있다. 적당한 모듈들은 예를 들어 사용자의 노드를 위한 응용, 초기 디폴트 구성들, 및/또는 서비스 제공자들 및/또는 하나 이상의 P2P환경들에 대응하는 노드들에 관한 정보에 대응하는 모듈들을 포함할 것이다. 초기 디폴트 구성은 예를 들어 사용자의 노드에 관한 초기설정들에 대응할 것이다. 노드들에 관한 정보는 예를 들어 공개그룹들(public groups)에 관한 정보 및/또는 이름 대 주소 매핑을 제공하는 노드들의 목록을 포함 할 수 있다.
소프트웨어모듈들의 배치는 예를 들어 웹 포탈을 통한 네트워크 다운로드를 통해 또는 고객담당자의 활동을 통해 일어날 것이다. 따라서, 고객담당자는, 구체적인 예로서, OBEX 객체푸시프로파일(Object Push Profile; OPP)을 통해, 어쩌면 블루투스, IrDA, 802.11b, 802.11g, GPRS, EDGE, UMTS 등에 의해 소프트웨어 모듈들이 노드에 배달되도록 활동할 것이다. 적당한 소프트웨어 모듈들이 처음 활동하게 될 때, 비밀키들 및/또는 공개키가, 각종 실시예들에서, 사용자의 노드에 아마도 이 기술분야의 알려진 각종 기법들을 통해 만들어질 수 있다.
각종 실시예들에서, 소프트웨어 모듈들에 추가로, 하나 이상의 인증서들이 노드에 배달될 수 있다. 예를 들어, "일반접근인증서"가 제시될 수 있고 및/또는 사용자는 "일반그룹"의 구성원으로 간주될 수 있다. 일반접근인증서는 예를 들어 사용자에게 일반그룹에서 제공되는 서비스들을 이용할 수 있는 권한을 줄 수 있다. 사용자권한은 예를 들면 공개그룹들에 대한 메타데이터 정보를 검색할 권한을 포함할 수 있다. 다른 예로서, 사용자권한은 일반그룹 구성원들 및/또는 그들의 노드들에 관한 메타데이터 정보를 검색할 권한을 포함할 수 있다.
다음 단계로서, 메타데이터는, 각종 실시예들에서, 사용자의 노드에 관련될 것이다. 이러한 기능성은 다수의 방법으로 구현될 수 있다. 예를 들면, 사용자의 노드는 그러한 정보에 대해 그래픽사용자인터페이스(GUI) 또는 다른 인터페이스를 통해 사용자에게 질의할 수 있다. 응답으로, 사용자는 요구된 정보를 GUI 또는 다른 인터페이스를 통해 공급할 수 있고 그것을 노드에 디스패치할 수 있다.
다른 예로서, 고객담당자는 이러한 정보를 요구할 수 있고 그것을 노드에 디스패치할 수 있다. 예를 들면, 고객담당자는 이러한 데이터를 구두로 요청할 수 있고, 사용자는 구두로 대답할 수 있고, 고객담당자는 그 데이터를 PC 등에 입력할 수 있다. 다른 예로서, 고객담당자는 PC 등을 이용하여 제시된 일련의 질문들에 대해 사용자의 대답을 가질 수 있다. 어느 경우에나, 고객담당자는 PC 등으로부터 사용자의 노드에 디스패치된 메타데이터를 가지도록 활동할 수 있다.
다음 단계로서, 사용자는 그녀가 가입할 수 있는 하나 이상의 그룹을 알기 위해 소프트웨어 모듈들을 이용하도록 행동할 것이다. 초기 다운로드가 행해질 수 있는 동안 사용자의 노드에 배달된 소프트웨어 모듈들은 예를 들어 사용자가 잠재적으로 가입할 수 있는 그룹들에 관한 정보 요구를 디스패치할 때에 접촉할 노드들의 초기 정보를 담고 있다. 따라서 사용자는 그러한 정보를 제공할 수 있는 노드들을 그녀의 노드가 알도록 행동할 것이다. 각종 실시예들에서, 그룹들에 관해 이러한 정보를 제공하기 위해 전용 노드들이 존재할 수 있음에 주의한다. 대안으로 또는 부가적으로, 이러한 정보는 다른 기능들도 서비스하는 노드들에 의해 제공될 수 있다. 예를 들어, 각종 실시예들에서 이러한 정보는 사용자들에 관련된 각종 노드들에 의해 제공될 것이다.
예를 들어, 각종 실시예들에서, 사용자는 그녀의 노드가 서비스 디스커버리(service discovery)를 이용하여 이러한 노드들을 알게 되도록 행동할 수 있다. 서비스 디스커버리는 예를 들어 블루투스 서비스 디스커버리 또는 DNS-SD(Domain Name Server Service Discovery)일 수 있다. mDNS(multicast Domain Name Server) 는 예를 들어 DNS-SD를 채용하는 실시예들에서 채용될 것임에 주의한다. 다른 예로서, 노드는 확립된 및/또는 잘 알려진 포트들로 브로드캐스트하고, 및/또는 확립된 및/또는 잘 알려진 포트들로 경청하도록 행동할 것이다. 또 다른 예로서, 각종 실시예들에서, 사용자는 그녀의 노드가 이러한 정보를 제공한 노드를 알기 위한 질의를 디스패치하게끔 행동할 수 있다. 이러한 질의는 예를 들면 이메일, MMS(Mutimedia Messaging Service) 메시징, SMS(Short Message Service), OBEX OPP(Object Push Profile), 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들의 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 것이다. 각종 실시예들에서, 이러한 질의는 검색을 통해 발견될 엔티티들이 사용자에 의해 가입가능한 그룹들에 관한 정보를 제공한 노드들이었음 나타내는 메타데이터 및/또는 다른 매개변수들을 포함할 수 있다.
각종 실시예들에서, 사용자는 그녀의 노드에 GUI 또는 다른 인터페이스를 통해 그룹들에 관한 정보를 제공하는 노드들을 찾기 원한다고 알려줄 수 있을 것이다. 이 요구에 응답하여, 사용자의 노드는 예를 들어 디바이스 디스커버리를 수행할 수 있고 및/또는 적당한 메타데이터 및/또는 다른 매개변수들을 담고 있는 언급된 바의 하나 이상의 질의들을 디스패치할 수 있다.
도 1에 관해 예를 들어 질의 또는 서비스 디스커버리를 통해 사용자의 노드는 요구된 정보를 제공할 수 있는 노드들을 알 수 있게 된다(단계 101)는 점에 주의한다. 예를 들면, 이러한 디바이스 디스커버리를 통해, 사용자의 노드는 정보를 제공할 수 있는 노드들에 대응하는 네트워크주소들을 알 수 있다. 다른 예로서, 질의가 송신되었을 때, 사용자의 노드는 정보를 제공할 수 있는 노드들에 관한 정보를 담고 있는 하나 이상의 메시지들을 수신할 수 있다. 각각의 이러한 메시지에 포함될 수 있는 것은, 각종 실시예들에서, 요구된 정보를 제공할 수 있는 노드들에 대응하는 메타데이터 및/또는 다른 매개변수들일 수 있다. 각종 실시예들에서, 각 노드에 대응하는 메타데이터 및 다른 매개변수들은 유일한 식별자들을 담고 있을 수 있고 및/또는 다르게는 그 특정 노드를 식별하기에 충분할 수 있다. 각종 실시예들에서, 유일한 식별자들은 예를 들어 그룹들, 노드들, 사용자들, 엔티티들 등에 관련될 수 있다는 점에 주의한다.
그룹정보를 제공할 수 있는 노드들에 관한 정보를 알게 됨에 응답하여, 사용자의 노드는, 각종 실시예들에서, 그러한 정보를 GUI 또는 다른 인터페이스를 통해 그 사용자에게 제시하도록 동작될 수 있다. GUI 또는 다른 인터페이스는 추가로 사용자가 제시된 노드들로부터 그룹정보를 수신하기 원하는 하나 이상의 노드들 선택할 수 있게 할 수 있다. 각종 실시예들에서, 사용자는 예를 들어 웹페이지를 통한 그룹검색동작들을 포함한 동작들을 수행할 수 있다는 점에 주의한다. 이러한 웹페이지는 예를 들면 ASP(Active Server Pages), ASP+(Active Server Pages+), JSP(java Server Pages), PHP(PHP: Hypertext Preproccessor), 웹 오브젝트들 등을 통해 구현될 것이다.
사용자의 노드는 다음으로, 설명된 바의 부류의 임의의 사용자 명세사항에 응하여, 이용가능한 그룹들에 관한 정보를 하나 이상의 적당한 노드들에 요구한다( 단계 103). 각종 실시예들에서, 사용자는, 표시된 메타데이터에 부합하는 그룹들에 관한 정보를 수신하는 데에만 관심이 있음을 아마도 GUI 등을 통해 나타내는데 그녀의 노드를 이용한다. 사용자가 그러한 메타데이터를 공급한 경우, 메타데이터는 요구에 포함될 수 있다. 본 발명의 실시예들에 따라, 매우 다양한 메타데이터가 명시될 수 있다. 약간 구체적이며 제한적이진 않은 예들을 제공하기 위해, 명시가능한 메타데이터 중에는 그룹의 주제, 그룹의 이름, 그룹의 작성자 등에 있을 수 있다는 점에 주의한다. 각종 실시예들에서, 사용자는 그룹을 서술하는 텍스트모드 키워드들을 입력할 수 있을 것이다. 키워드들은 예를 들어 사용자가 그룹 찾기에 관련하여 고려한 텍스트형 정보를 담고 있다. 이러한 키워드들은 아마도 그룹의 주제, 그룹명 등을 서술하는 텍스트일 수 있을 것이다.
요구 기능성은 다수의 방식으로 구현될 수 있다. 예를 들면, 각종 실시예들에서, 사용자의 노드는 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 채용하여 그러한 정보를 요구할 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능한 경우 직접 링크를 통해 이루어질 것이다. 이러한 동작은 예를 들면 사용자의 노드에 의해 그것의 전술한 동작들을 통해 얻어진 네트워크주소, 유일한 식별자 등을 지향하게 되어 이용가능한 그룹들에 관한 정보를 제공할 수 있는 노드들에 관한 정보가 수신된다. 어떤 실시예들에서는, 멀티캐스트가 채용될 수 있다.
이용가능한 그룹들에 관한 정보의 요구의 수신에 응답하여, 그러한 정보를 제공할 수 있는 노드는 요구에 부합한 동작을 할 수 있다. 따라서, 이러한 노드는 적당한 정보를 담고 있는 메시지를 사용자의 노드에 반환하도록 동작한다. 각 그룹에 관해, 적당한 정보 중에는 예를 들면 그룹에 대응하는 메타데이터가 있을 수 있다. 이 메타데이터 중에는 예를 들면 그룹의 이름, 그룹의 기술(description), 그룹구성원자격기준의 표시 및/또는 그룹에 관련된 어느 개개인들에 관한 접촉정보가 있을 수 있다. 개개인은 예를 들어 그러한 그룹들의 관리자들 및/또는 응용들이 요구되는 그룹에 대한 접근을 허락할 수 있는 개개인들이 될 수 있다.
메타데이터가 사용자에 의해 공급된 경우, 노드는 관련된 메타데이터가 공급된 메타데이터와 일치한 그룹들에만 관한 정보를 제공하도록 동작할 수 있다. 각종 실시예들에서, 그룹에 대응하는 메타데이터는 구성원자격기준 및/또는 그룹 구성원자격을 요구하기 위해 완료되어야 할 그룹 애플리케이션에 관련한 정보를 포함할 수 있음에 주의한다. 구체적인 예로서, 3가지 유형의 그룹애플리케이션들(예컨대, 단기, 보통, 장기)가 있을 것이고, 그 메타데이터는 어느 유형이 채용되는지를 알려줄 수 있다. 그룹애플리케이션들은 아래에서 더 상세히 논의될 것이다. 각종 실시예들에서, 적당한 그룹들에만 대한 정보를 제공하는 동작 시, 노드는 예를 들어 메타데이터 분석, 텍스트 분석, 및/또는 예를 들면 어떤 메타데이터 필드들에 대한 키워드들의 매핑에 관련한 동작들을 수행할 것임에 주의한다. 어떤 메타데이터 필드들은 예를 들어 가장 관련이 있다고 결정된 및/또는 표시된 것들일 것이다. 이러한 표시는 예를 들면 시스템 관리자 등에 의해 행해질 것이다.
이용가능한 그룹들에 관한 정보의 요구들에 응답하는 메시지들은 다수의 방식들로 송신될 수 있다. 예를 들면, 이러한 메시지는 이메일, MMS메시징, SMS메시 징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해 아마도 이용가능하다면 직접 링크를 통해 행해질 것이다. 이러한 동작은 사용자의 노드의 네트워크주소 등을 위한 것일 수 있다. 이러한 네트워크주소 등은 예를 들면 그룹정보의 요구를 통해 수신되었을 것이다.
각종 실시예들에서, 그룹정보를 담고 있는 메시지는 노드가 대응하는 요구를 만드는 일 없이 사용자의 노드에 의해 수신될 수 있다는 점에 주의한다. 예를 들면, 그룹의 구성원 및/또는 그룹의 관리자는 그러한 정보를 특정 요구 없이 송신할 수 있도록 행동할 수 있다. 그러한 행동은 예를 들어 그룹 구성원자격을 증대시킬 목적으로 수행될 것이다. 이러한 메시지는, 각종 실시예들에서, 그룹에의 초대를 담고 있고, 아마도 이 초대는 소프트웨어모듈 및/또는 임의의 구체적인 동작들을 사용자에게 요구하는 일 없이 사용자의 노드에서 적당한 소프트웨어모듈들 등을 활동하게 하는 기술들을 포함한다. 사용자의 그룹 가입은 송신된 초대를 아마도 그녀의 노드에 의해 제공된 인터페이스를 통해 수락하는 사용자에 의해 보완될 것이다. 구체적이고 제한적이 아닌 예로서, 초대는 사용자가 게이밍 애플리케이션에 관련된 인터페이스를 통해 초대를 어쩌면 수락하는 게이밍 애플리케이션에 의해 보인 게이밍 초대일 수 있다.
각종 실시예들에서, 한 유형의 그룹은 사용자 소유의 노드들로 된 그룹으로서 단말들간에 파일들을 공유, 업로딩, 검색 및/또는 다운로딩하는데 이용되는 노드들일 수 있다. 이 종류의 그룹에서, 사용자의 노드는 예를 들어 다른 사용자의 노드들의 그룹구성원자격 메타데이터의 비교를 행할 것이다. 이 비교에 기초하여, 어떤 사용자 노드들이 속하지만 다른 노드들은 속하지 않은 그룹들의 목록이 형성될 것이다. 이 목록은 예를 들어 사용자의 단말들 간에 그룹구성원자격들을 동기화하는데 이용될 것이고, 사용자의 확인은 아마도 추가 그룹애플리케이션 요구들을 시작하기 위해 요구된다. 특정 사용자의 노드들의 그룹구성원자격들을 관리하는 다른 방식은 노드가 사용자의 다른 노드들에 그룹구성원자격을 추가로 허락할 수 있도록 사용자가 대리관리자 권한을 다른 노드에 인가하는 것에 관련한다.
그룹정보를 수신한 후, 사용자의 노드는, 각종 실시예들에서, GUI 또는 다른 인터페이스를 통해 그 사용자에게 정보를 제시하도록 동작할 수 있다(단계 105). GUI 또는 다른 인터페이스는 사용자가 정보가 제시된 하나 이상의 그룹들에 가입하기 원하는지를 나타낼 수 있도록 동작할 수 있다. 그것의 사용자가 그러한 선택을 하는 것에 응답하여, 사용자의 노드는 가입요구메시지를 적당한 표적에 송신하는 동작을 할 수 있다(단계 107). 적당한 표적은 예를 들면 선택된 그룹에 관한 수신된 접촉정보에서 지정된 것일 수 있다. 각종 실시예들에서, 가입요구메시지에 포함된 것은 사용자에 대응하는 하나 이상의 식별자, 및/또는 하나 이상의 그룹에 대응하는 하나 이상의 유일한 식별자일 수 있다.
위에서 논의된 것과 유사한 방식으로, 가입요구메시지는 대응하는 수신된 접촉정보에 따라 지시될 수 있는 예를 들면 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능한 경우 직접 링크를 통해 될 것이다.
적당한 노드에서 가입요구메시지를 수신하면, 그 적당한 노드는, 각종 실시예들에서, 관련된 메타데이터 디렉토리에 접근하고 저장하는 등의 동작을 하여 그룹규칙들을 구할 것이다. 이러한 그룹규칙들은, 각종 실시예들에서, 그룹관리자 등에 의해 수립될 수 있다. 각종 실시예들에서, 서비스제공자는 하나 이상의 그룹을 위한 그룹관리자로서 행동할 수 있다. 이러한 실시예들에서, 서비스제공자에 관련된 하나 이상의 노드를 동작시키는 소프트웨어 모듈들은 서비스제공자가 그룹들의 구성원자격을 자신의 고객들로 한정할 수 있게 할 것이다. 그룹규칙들을 구할 때, 노드는 먼저 가입요구가 긍정적으로 답변될 수 있을지를 알아보는 동작을 한다. 구체적인 예들로서, 그룹 내에 더 이상의 구성원들을 위한 방이 있는지를 알아보기 위해 그룹규칙들이 조사된다.
가입요구의 추가 조작은 아마도 적당한 노드의 소프트웨어 모듈들을 통해 자동으로 일어날 수 있다. 다른 경우는 적당한 노드가 수신된 가입요구를 그룹구성원자격을 허락하는 권한을 가진 그룹관리자 등에게 아마도 노드의 GUI를 통해 통지하는 것이다.
적당한 노드 또는 그룹관리자는 가입요구에 대응하는 사용자가 구성원자격에 잠재적으로 적격이었는지 등을 알기 위해 어떤 외부 데이터베이스 또는 레지스터들에서 정보를 구할 수도 있을 것이다. 이러한 적격성은 예를 들면 취미그룹, 클럽 등의 구성원자격의 증명을 나타내는 어떤 영역에 사용자가 관련된다는 것 및/또는 그룹 구성원자격 기준으로서 이용되는 공통비밀을 사용자가 공유할 수 있는 것을 포함한다. 이렇게 정보를 구하는 것은, 각종 실시예들에서, 사용자의 가입요구에 기초하여 일어날 수 있고 및/또는 구성원자격 애플리케이션으로 수신된 사용자 데이터에 기초하여 나중에 일어날 수 있다.
사용자가 구성원자격을 잠재적으로 허가받을 수 없다고 결정된 경우, 거절메시지가 사용자의 노드에 디스패치될 수 있다. 위에서 논의된 것과 유사한 방식으로, 메시지는 예를 들면 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해서 그리고 아마도 이용가능한 경우 직접 링크들을 통해 될 것이다. 사용자가 구성원자격이 잠재적으로 허가될 수 있다고 확인된 경우, 구성원자격을 요구하기 위해 그룹 애플리케이션을 완료하는데 사용자가 필요한지를 알기 위해 그룹규칙들에서 추가로 정보가 구해질 수 있다.
이러한 애플리케이션이 요구되지 않은 경우, 사용자는 구성원자격을 허가받을 수 있다. 따라서, 구성원자격을 나타내는 메시지가 허가되었다. 위에서 논의된 것과 유사한 방식으로, 메시지는 예를 들면 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해서 그리고 아마도 이용가능한 경우 직접 링크들을 통해 될 것이다. 각종 실시예들에서, 메시지에 포함되는 것은 그룹구성원자격에 대응하는 인증서이다.
애플리케이션이 요구된 경우, 애플리케이션에 대응하는 데이터는 구성원자격을 추구하는 사용자의 노드에 송신될 수 있다. 위에서 논의된 것과 유사한 방식으 로, 메시지는 예를 들면 송신된 가입요구거절된 메시지로서, 노드들로 형성된 네트워크를 통해, 이메일을 통해, MMS메시징을 통해, SMS메시징을 통해, OBEX OPP 등을 통해 송신될 수 있다. 노드들의 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 경우 직접 링크들을 통해 될 것이다. 각종 실시예들에서, 애플리케이션은 과금정보(예컨대, 신용카드정보)를 요구할 수 있다는 점에 주의한다.
애플리케이션에 대응하는 데이터는 다수의 형식들을 취할 수 있다. 예를 들면, 이 데이터는, 애플리케이션을 제시할 수 있고 그 결과들을 애플리케이션에 대응하는 데이터를 포함한 메시지를 디스패치한 노드에 보낼 수 있는 보안 웹사이트에 대한 하이퍼링크의 형식을 취할 수 있다. 보안 웹사이트는 예를 들면 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security)를 채용할 것이다. 다른 예로서, 데이터는, 수신자의 노드에서 실행될 때 애플리케이션을 제시할 수 있고 그 결과들을 애플리케이션에 대응하는 데이터를 포함한 메시지를 디스패치한 노드에 보낼 수 있는 자바(Java) 또는 닷넷(.Net) 애플리케이션의 형식을 취할 수 있다. 어느 경우에나, 결과들의 송신은 예를 들면 위에서 설명된 것과 유사한 방식으로 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 채용할 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해 그리고 이용가능한 경우 직접 링크들을 통해 될 것이다. 대안으로서, SOAP(Simple Object Access Protocol), RMI(Remote Method Invocation), JMS(Java Messaging Service) 등이 채용될 것이다.
송신된 결과들의 수신 하에, 수신자 노드는 결과들이 그룹구성원자격의 허가 에 필요한 것들에 일치하는지를 알아보는(결정하는) 동작을 할 수 있다. 이러한 결정은 예를 들면 결과들과 전술한 그룹규칙들을 비교하는 것을 포함한다. 대안으로 또는 부가적으로, 이러한 결정은 애플리케이션에 의해 요구된 과금데이터 등을 확인하기 위해 하나 이상의 서버와 통신하는 것에 관련할 수 있다. 이러한 하나 이상의 서버는 예를 들면 은행, 신용카드회사 등에 의해 조작되는 서버들일 것이다. 구성원자격이 사용자에게 허가될 수 없다고 결정된 경우, 거절메시지가 위에서 논의된 것처럼 디스패치될 수 있다. 구성원자격이 허가될 수 있다고 결정된 경우, 구성원자격이 허가되었음을 나타내는 메시지가 위에서 논의된 것처럼 디스패치될 수 있다.
각종 실시예들에서, 사용자에게 대응하는 것은 예를 들면 고객담당자에 의해 수집된 위에서 논의된 부류의 메타데이터 및/또는 그룹 내에서의 사용자의 구성원자격에 관한 메타데이터일 수 있다는 점에 주의한다. 각종 실시예들에서, 전자의 부류의 메타데이터는 모든 가입자 노드들에 의해 공유될 수 있고 아마도 사용자에 의해 변경될 수 없을 것인 반면, 후자의 부류의 메타데이터는 사용자에 의해 지정된다면 공유될 수 있을 것이다.
검색 동작들
도 2에 관해 본 발명의 각종 실시예들에 따라 그룹들, 다른 그룹 구성원들, 다운로드가능한 엔티티들 이를테면 파일들, 미디어아이템들, 프로그램 등에 관한 정보를 검색하기 원하는 노드 사용자가 그녀의 노드에 의해 제공된 GUI 또는 다른 인터페이스를 통해 그러한 검색을 하기 원함을 나타낸다(단계 201)는 것에 주의한 다. 각종 실시예들에서, 사용자는 그녀의 노드의 네트워크인터페이스들 중의 하나 이상을 엔티티들을 검색 및/또는 다운로드할 때에 채용가능한 것으로 부가적으로 지정할 수 있다.
게다가, 각종 실시예들에서, 특정 네트워크 인터페이스들 및/또는 링크 유형들의 사용을 최적화 및/또는 최소화하기 위해 추구하는 명세사항들이 있다. 구체적인 예로서, 그것들은 예를 들면 GPRS 또는 UMTS 링크들과 같은 셀룰러 전화기 링크들의 사용을 최소화하고 예를 들면 블루투스 링크들과 같은 근거리 무선통신링크들의 사용을 최대화하도록 노드가 동작하게끔 명시될 것이다. 네트워크 인터페이스들의 사용에 관한 이러한 명세사항은 각종 실시예들에서, 예를 들어 적당한 소프트웨어 모듈들에 관련된 사용자의 노드의 통신설정들을 통해 행해질 것이다.
각종 실시예들에 포함된 이러한 적당한 소프트웨어 모듈들은 예를 들면 노드 상에서 동작하여 다른 노드들과의 연결이 개방(open)된 채로 유지되도록 제어하는 하나 이상의 소프트웨어 모듈일 것이다. 이러한 결정은 다수의 매개변수들에 기초하여 행해질 수 있다. 예를 들면, 이러한 모듈들은 각종 노드들 사이의 연결 패턴들의 추적을 계속할 것이다. 이러한 모듈들은 특정 연결이 가까운 장래에 이용될 수 있는지에 관해 추측하기 위해 이러한 패턴들을 검사할 것이다. 특정 연결이 가까운 미래에 이용될 것이라고 추측된 경우, 그것은 개방을 유지할 수 있다. 이러한 기능성은 다수의 이점들을 가질 것이다. 예를 들어, 연결 수립 및/또는 분리 동작들의 수를 줄이는 것은 하나 이상의 노드에서 처리 및/또는 에너지의 절약이 이루어지게 한다. 각종 실시예들에서, 다수의 메시지 등이 두 노드들 사이에서 링크에 연결된 단일 통신파이프 등을 통해 송신될 수 있도록 다중화가 적절히 채용될 수 있다.
이러한 모듈들 등에 의해 이렇게 수행되는 동작들은 예를 들어 그것들이 관련된 노드와 다른 노드들 사이의 최적 수의 연결들의 개방을 유지할 목적으로 수행될 수 있다. 이러한 소프트웨어 모듈들 등이 채용되는 실시예들에서, 추가의 연결들이 추구 및/또는 수립되어야할 특정 다른 노드들(예컨대, 하나 이상의 특정 그룹에 속한 노드들)에 대해 현존하는 연결들이 충분하지 않다는 것이 발견될 경우가 있을 수 있다는 점에 주의한다. 따라서, 이러한 실시예들에서, 예를 들면, 여기에 기재된 각종 네트워크 동작들(예컨대, 그룹 가입에 관련된 동작들, 검색에 관련된 동작들, 공유에 관련한 동작들, 메시징에 관련한 동작들, 및 채팅에 관련한 동작들)을 수행할 때 새로운 연결들을 추구하고 및/또는 수립하는 동작들을 수행하는 것이 필요하지 않을 수 있다. 이러한 모듈들에 의해 수행되는 동작들은, 각종 실시예들에서, 사용자에 의해 경험되는 대기시간을 줄이는 효과를 가진다.
통신 설정들은 예를 들면 사용자의 노드에 초기 가입서명하는 동안에는 디폴트 구성 파일로서 및/또는 아마도 네트워크를 통해 디스패치된 갱신물인 나중의 업데이트로서 주어질 것이다. 대안으로 또는 부가적으로, 통신 설정들은, 사용자의 노드에 의해 아마도 적당한 GUI를 통해 입력될 것이다. 또는 사용자가 그러한 설정들을 정의할 수 있거나 또는 구체적인 동작마다 선택을 할 수 있다. 이러한 엔트리를 통해, 사용자는 각종 실시예들에서, 지정된 및/또는 모든 네트워크 동작들 등에 대해 동작마다 통신 설정들을 지정할 수 있을 것이다.
통신 설정들은, 각종 실시예들에서, 적당한 소프트웨어 모듈들을 통한 다른 노드들과의 통신에 관련한 네트워크 링크들 및 노드 인터페이스들의 사용의 전체 지침을 망라(cover)할 것이다. 이 설정들은 각종 실시예들에서 동작 유형마다 특정한 설정들로 분리될 것이라는 점에 더 주의한다. 따라서, 예를 들면, 검색요구들 및/또는 응신들에 관해 하나의 설정이 있을 것이고, 예를 들면 엔티티들의 업로드 및 다운로드와 같은 대역폭을 더 많이 요구하는 동작들을 위한 다른 설정도 있을 것이다.
각종 실시예들에서, 사용자들은 각종 네트워크 동작들(예컨대, 엔티티 업로드, 엔티티 다운로드, 및/또는 메시지 디스패치)에 관련된 비용 및/또는 대역폭이 필요할 것이다. 따라서, 사용자에게는 예를 들어 GUI를 통해 그녀가 발생할 비용 및/또는 그녀가 특정 네트워크 동작을 수행할 때 즐길 대역폭들에 대한 정보가 제공될 수 있다. 다수의 반사로(hop)들이 특정 네트워크 동작에 관계가 있는 경우, 사용자에게는 총 비용 및/또는 평균 대역폭이 제시될 수 있다. 대안으로 또는 부가적으로, 사용자에게는 각 반사로에 대해 비용 및/또는 대역폭이 제시될 수 있다. 다수의 대체물이 네트워크 동작을 수행하는데 이용가능한 경우(예컨대, 하나의 경로는 단일 UMTS반사로에 관련되고 다른 하나는 수 개의 블루투스 반사로들에 관련됨), 사용자에게는 각 대체물을 위한 비용 및/또는 대역폭 정보가 제시될 수 있고, 프레젠테이션은 기재된 바대로이다.
각종 실시예들에서, 정보를 앞서 언급한 부류의 사용자에게 표시할 때, 프레젠테이션은 어떤 특성들을 하이라이트로 강조할 수 있는 방식이 될 수 있다는 점에 주의한다. 예를 들어, 다수의 대체물들이 네트워크 동작을 수행하기 위한 사용자에게 이용가능하게 될 때, 사용자에게는, 설명한 바의 부류의 프레젠테이션에 대한 부가 또는 대체물로서, 예를 들어 어떤 대체물이 최소의 돈을 지불할 것인지, 무엇이 최고의 대역폭을 제공할 것인지 등에 관한 표시들이 제시될 수 있다.
본 발명의 각종 실시예들에서, 사용자에 의해 수행된 네트워크 동작들은 다른 사용자가 예를 들면 네트워크 사용 비용과 같은 비용을 유발할 수 있다. 이러한 것은 예를 들면 하나 이상의 다른 사용자의 노드들을 통해 디스패치된 엔티티를 사용자가 요구하는 경우가 될 수 있다. 따라서, 기능성이 각종 실시예들에서 제공될 것이고 그에 따라 사용자는 예를 들어 그녀가 특정 네트워크 동작을 수행할 때 다른 것들이 유발하는 비용을 알려줄 수 있다. 사용자에게는 예를 들어 설명된 바로 그것과 유사한 방식으로 정보가 알려질 수 있다.
응답으로, 노드는 사용자에게 그녀가 구성원이 되는 그룹들의 목록을 제공할 수 있고, 이러한 그룹들 중의 어느 것에 대해 검색을 수행할 것인지에 관해 그녀가 표시할 것을 요구할 수 있다. 사용자는 GUI 또는 다른 인터페이스를 통해 선택을 행할 수 있다(단계 203). 다음 단계로서, 사용자는 본 발명의 각종 실시예들에서 그녀의 노드에 찾으려는 엔티티들에 대응하는 다른 매개변수들 및/또는 메타데이터 키워드들을 표시하도록 선택할 수 있다(단계 205). 본 발명의 어떤 실시예들에 따라, 매우 다양한 메타데이터가 지정가능할 수 있다. 약간의 구체적이고 제한적이진 않은 예들을 제공하기 위해, 지정가능한 메타데이터 중에는 그룹들 및 채팅과 같은 그룹 서비스들에 관련된 메타데이터, 이름, 크기, 장르, 예술가, 앨범, 매체유형, 작성일, 그룹이 이용가능한 날과 같이 검색된 엔티티들에 관련된 메타데이터 등이 있을 수 있다는 점에 주의한다. 어떤 실시예들에서, 사용자는 검색이 주기적으로 수행될 것임을 지정할 수 있게 된다. 이러한 것에 관한 빈도는 노드에 의해 선택될 것이고 및/또는 사용자에 의해 지정 가능할 수 있다. 게다가, 본 발명의 어떤 실시예들에서, 사용자는 검색이 시작될 시간과 날짜를 지정할 수 있다. 또한, 각종 실시예들에서, 검색에 관련된 동작들은 사용자가 노드와 상호작용(대화)하지 않는 시간에 노드에서 실행되도록 지정될 수 있다. 다른 예로서, 각종 실시예들에서, 검색동작은 항상 활동적이게 지정될 수 있다. 이러한 검색들에 관련된 동작들은 예를 들어 백그라운드 처리로서 실행될 수 있어 어쩌면 적당한 사용자 인터페이스 소프트웨어 모듈들은 활동하지 않고 사용자는 어떠한 노력도 능동적으로 하지 않을 수 있다.
다음으로, 사용자의 노드는, 각종 실시예들에서, 선택된 그룹들에 속한 하나 이상의 노드에 대응하는 다운로드가능한 엔티티들의 정보를 담고 있는 하나 이상의 메시지를 이미 수립된 통신채널들을 통해 송신하도록 동작할 수 있다.
다음으로, 사용자의 노드는 선택된 그룹 또는 그룹들에 대해 다운로드를 위해 이용가능한 엔티티들과 임의 선택사항의 메타데이터 및/또는 다른 매개변수들을 결정하도록 동작할 수 있다. 이러한 기능성은 다수의 방식으로 구현될 수 있다.
예를 들면, 사용자의 노드는 선택된 그룹들에 속한 하나 이상의 노드들에 관한 다운로드가능한 엔티티들의 정보에 관해 요구하는 하나 이상의 메시지를 이미 수립된 통신채널들을 통해 송신하도록 동작할 수 있다. 사용자의 노드가 선택된 그 룹들에는 충분한 노드들에 도달하는 충분한 통신채널들이 없다고 통지한다면, 그 노드는 서비스 디스커버리, 어쩌면 위에서 언급된 부류의 서비스 디스커버리를 채용하여 지정된 그룹들에 관련된 노드들을 알 수 있을 것이다. 따라서, 사용자의 노드는, 이러한 서비스 디스커버리를 통해, 그러한 노드들에 대응하는 네트워크주소들 등을 알게 될 수 있다. 그러면 사용자의 노드는 다운로드를 위해 이용가능한 엔티티들에 관한 정보를 그러한 노드들 중의 하나 이상으로부터 요구하는 하나 이상의 메시지를 송신하도록 동작할 수 있다. 요구에 포함되는 것은 메타데이터 및/또는 다른 매개변수들의 임의의 명세사항일 수 있다. 위에서 논의된 것과 유사한 방식으로, 각각의 이러한 메시지는 예를 들면 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 디스패치 메시지 송신 등을 통해 송신될 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능한 경우 직접 링크들을 통해 될 것이다.
다음 단계로서, 그러한 노드들은 다운로드를 위해 이용가능한 엔티티들에 관한 정보를 사용자의 노드에 제공할 수 있고, 및/또는 여기에 참조로써 통합된 함께 계류중인 미국특허출원 "System and Method for Message Handling in a Peer-To-Peer Environment"에 기재된 방식으로 그룹의 다른 노드들에게 요구를 송신할 수 있다.
다음으로, 사용자의 노드는 다운로드에 이용가능한 엔티티들에 관한 정보를 수신할 수 있다(단계 207). 이러한 정보는, 각종 실시예들에서, 관련된 유일한 식별자들, 네트워크주소들 등을 포함할 수 있다. 이러한 정보는 다수의 방식으로 도 착할 수 있다. 예를 들면, 정보는 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 앞서 논의된 것과 유사한 방식으로 도착할 수 있다. 노드들로 된 네트워크를 통한 메시징은 P2P를 통해 될 수 있고 아마도 이용 가능하다면 직접 링크들을 통해 될 수도 있다. 수신된 정보에 포함된 것은 예를 들어 다운로드에 이용가능한 엔티티들에 대응하는 메타데이터 및/또는 다른 매개변수들일 수 있다. 또한 포함될 수 있는 것은 예를 들어 사용자의 노드에서 엔티티들의 수신에 대응하는 네트워크 반사로들의 수, 네트워크 반사로들의 유형들, 네트워크사용비용정보 등의 표시들일 수 있다.
다음으로, 노드는 그 사용자에게 다운로드에 이용가능한 엔티티들에 관한 수신된 정보의 모두 또는 일부를 아마도 GUI 또는 다른 인터페이스를 통해 제시할 수 있다(단계 209). 사용자가 링크 및/또는 인터페이스 사용에 관한 명세사항들을 제공한 각종 실시예들에서, 프레젠테이션은 그 명세사항들에 따라 행해질 수 있다. 구체적인 예로서, 사용자 또는 사용자의 노드의 설정이 예를 들면 GPRS 또는 UMTS와 같은 셀룰러 링크들의 사용을 최소화하는 것과 예를 들면 블루투스 링크들과 같은 근거리 무선통신링크들의 이용을 최대화하는 것을 소망함을 나타낸 경우, 노드는 그러한 명세사항들에 응하여 검색될 수 있는 엔티티들에 관한 정보를 제시하기만 하는 동작을 할 것이다. 각종 실시예들에서 추가의 검색 결과들이 요구될 수 있다는 점에 주의한다. 이러한 실시예들에 대해, GUI 또는 다른 인터페이스는 이러한 추가 검색을 요구하는 옵션을 사용자에게 제시할 수 있다. 사용자가 이러한 추가 검색을 요구한 경우에, 사용자의 노드는 위에서 논의된 것처럼 요구에 응하여 동작 할 수 있다. 추가 검색의 결과들의 수신 하에, 사용자의 노드는 아마도 기재된 바와 유사한 방식으로 동작하여 수신된 데이터의 모두 또는 일부를 제시하고, 아마도 추가 검색을 위한 옵션을 다시 제시할 수 있다. 제1시기(phase)검색 결과 프레젠테이션은 영상들의 섬네일(thumbnail)들, 비디오클립들의 샘플들, 문서요약들 등과 같은 콘텐츠아이템들에 관련한 대용품들을 담고 있을 것이다. 어떤 실시예들에서는 검색 결과들이 발견된 아이템들의 메타데이터 및 다른 기술(description)들을 엔티티를 유지하는 노드의 정체(identity)와 함께 보이고, 또 이 노드가 지금 활동적이지 않거나 도달되지 않으므로 아이템들이 이용가능하지 않다는 것을 부가적으로 통지하는 것이 가능하다.
GUI 또는 다른 인터페이스는, 각종 실시예들에서, 사용자가 제시된 엔티티들로부터 수신을 위한 하나 이상의 엔티티를 선택할 수 있게끔 더 동작할 수 있다(단계 211). 사용자의 노드는 이러한 선택된 엔티티들의 수신을 다수의 방식으로 요구하도록 동작할 수 있다. 예를 들면, 사용자의 노드는 하나 이상의 이러한 요구를 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 디스패치할 수 있다. 이 요구들은 소망된 엔티티들을 제공하는 노드들에 대응하는 유일한 식별자들, 네트워크주소들 등을 향하게 될 수 있다. 유일한 식별자들, 네트워크주소들 등은 예를 들면 이용가능한 엔티티들에 관한 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 수신된 메시지들의 조사에 의해 알려질 것이다. 구체적인 예로서, 그 지식은 검색 및 검색응신 메시지들들 송신 및 수신함으로써 획득될 수 있다. 노드들의 네 트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능한 경우 직접 링크들을 통해 될 것임에 주의한다.
다음 단계로서, 사용자의 노드는 요구된 엔티티들을 수신할 수 있다. 요구된 엔티티들은 사용자의 노드에 다수의 방식으로 디스패치될 수 있다. 예를 들면, 엔티티들은 그것들을 소유한 노드들에 의해 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 디스패치될 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 이용가능하다면 직접 링크들을 통해 될 수 있다. 각종 실시예들에서, 다운로드를 위한 엔티티들의 선택 시, 사용자는 조건부 다운로드를 수행하기 원함을 지정할 수 있다. 예를 들어, 사용자는 그녀의 노드가 특정 엔티티를 유지하는 노드와 직접(예컨대, 직접 블루투스 통신을 통해) 접촉할 수 있는 때에 그 엔티티가 다운로드만 된다고 지정할 수 있을 것이다.
사용자의 노드는 이러한 요구에 다수의 방식으로 부응하도록 동작할 수 있다. 예를 들면, 사용자의 노드가 엔티티를 유지하는 노드의 정체를 알고 있는 경우, 사용자의 노드는 엔티티를 유지하는 노드의 찾기를 시도하여 디바이스 디스커버리를 주기적으로 수행할 수 있고, 엔티티를 유지하는 노드가 발견되면 그 엔티티를 수신하도록 동작할 수 있다. 다른 예로서, 엔티티가 단일 네트워크 반사로에 의해 노드로부터 수신될 있음을 검색 결과들이 나타내지 않는 경우, 사용자의 노드는 결과가 발견되기 까지 검색을 주기적으로 반복할 수 있고, 그 후 발견된 단일 반사로 소스를 통해 엔티티를 수신하는 동작들을 수행할 수 있다. 구체적인 예로서, 사 용자의 노드는 그러한 검색을 수행하여 단일 블루투스 반사로에 관련된 엔티티의 소스를 발견할 것이다. 다른 대안적인 실시예에서, 사용자의 노드로부터 엔티티를 유지하는 노드에 대한 접근을 제공하는 다른 노드들까지의 블루투스 연결이 일단 존재한다면 엔티티 다운로딩은 활동적이게 될 수 것이다.
각종 실시예들에 의하면, 다운로드를 위한 엔티티의 선택 시, 사용자 및/또는 사용자의 노드는 엔티티의 다른 부분들이 다른 방식들로 수신됨을 지정할 수 있다. 예를 들면, 하나는 블루투스 반사로들에 관련하고 두 번째 것은 UMTS 반사로들에 관련한 두 방식으로 특정 엔티티가 수신될 수 있음을 노드가 사용자에게 보여준 경우, 사용자는 아마도 GUI 또는 다른 인터페이스를 통해 엔티티의 제1부분을 UMTS 반사로들을 통해 수신하고 그 엔티티의 나머지을 블루투스 반사로들을 통해 수신할 것임을 지정할 수 있다. 각종 실시예들에서, 사용자 및/또는 사용자의 노드는 부분의 크기들을 추가로 지정할 수 있다. 따라서, 사용자 및/또는 사용자의 노드는 제1부분이 지정된 바이트 크기이고 및/또는 전체의 지정된 분수임을 지정할 수 있을 것이다. 처음 부분은 예를 들어 나머지 부분에 비해 상당히 적을 수 있을 것이다. 사용자 및/또는 사용자의 노드는, 예를 들면, 블루투스는 더 느리지만 덜 비싸고 UMTS는 더 빠르지만 더 비싸다고 믿는, 그리고 그녀가 제1부분은 얻는 데는 비용을 들일 것이지만(예컨대, 그녀가 엔티티를 이용하기 시작할 수 있도록) 나머지의 수신은 더 기다릴 것이라는 관점을 채택하는 명세사항들을 작성할 것이다.
구체적인 예로서, 부분의 크기들은 사용자가 엔티티의 제1부분을 사용하고 있는 시간까지는 다른 부분들이 이미 도착하게끔 선택되어야 할 것이다. 예를 들면 사운드들, 필름들 등과 같은 엔티티들은 전체를 처리하는 일 없이 엔티티의 일부를 볼 수 있게 하는 기능성을 제공할 수 있다는 점에 주의한다.
각종 실시예들에서 전체가 수신되지 않은(예컨대, 네트워크 오류로 인해) 엔티티의 재송신은 엔티티의 제대로 수신된 부분들이 재송신되지 않도록 수행될 수 있다.
사용자보다는 사용자의 노드가 엔티티의 다른 부분들이 다른 방식으로 수신되어야 함을 지정하는 경우에, 그러한 기능성은 동작을 위한 지침들에 따를 것이다. 그 지침들은 예를 들면 사용자의 노드에 의해(예컨대, GUI를 통해) 설정된 선호사항들(preferences)에 기초할 것이고 및/또는 디폴트 세팅들에 기초할 것이다. 디폴트 설정들은 예를 들면 초기 셋업 중에 노드에 로드되고 및/또는 나중에(예컨대, 적당한 데이터의 네트워크 전송을 통해) 정해질 것이다. 각종 실시예들에서, 디폴트 설정들은 서비스제공자, 시스템관리자 등에 의해 제공될 것이다.
엔티티의 다른 부분들이 다른 방식으로 수신됨을 노드가 지정하게 하는 기능성은, 각종 실시예들에서, 노드 상에서 동작하는 하나 이상의 소프트웨어 모듈에 의해 수행될 것이다. 추가로, 이러한 기능성은 효율적인 통신을 달성하는 목표를 갖는 노드에 의해 구현된 전체 기능성의 부분이 될 것임에 주의한다. 추가로, 연결들의 파괴에 내성이 있고 및/또는 각종 유형들의 링크들에 이용가능하고, 아마도 다시 만들어진 연결 하에 네트워크동작을 쉽사리 재개할 수 있는 및/또는 하나 이상의 링크 유형이 다시 한번 이용가능하게 되는 방식들로 노드가 동작할 것임에 주의한다.
더욱이, 여기에서의 여러 부분들에서는 사용자가 여러 설정들을 조작하는 것으로 기재되었지만, 각종 실시예들에서, 사용자가 이러한 설정들을 조작하는 것이 요구되지 않을 수 있다. 예를 들어, 각종 실시예들에서 사용자가 설정들을 조작하는데 관심이 없더라도 그녀는 여기에 기재된 그녀의 노드에 의해 제공되는 기능성을 여전히 즐길 수 있도록 하는 허용가능한 동작을 제공하는 그녀의 노드에 대한 디폴트 설정들의 집합이 사용자에게 제공될 수 있음에 주의한다. 이러한 디폴트 설정들은 예를 들면 제조 시에 및/또는 초기 셋업 시에 그녀의 노드에 제공될 것이다. 추가로, 각종 실시예들에서, 예를 들면 그녀의 노드를 처음 소유할 때 설정을 정할 수 있을 것이고 그 후 그러한 설정들은 주기적으로 및/또는 그녀의 자의에 의해 갱신될 수 있음에 주의한다.
부가적으로, 각종 실시예들에서, 그녀의 노드로 뭔가 다른 일을 하기 전에 여기에 기재된 각종 네트워크 동작들(예컨대, 그룹들에 가입하는 것에 관련한 동작들, 검색에 관련한 동작들, 공유에 관련한 동작들, 메시징에 관련한 동작들 및 채팅에 관련한 동작들)이 완료되기를 기다릴 필요가 없다는 점에 주의한다. 따라서, 사용자는 여기에 기재된 하나 이상의 네트워크 동작들을 예를 들어 백그라운드 프로세스 등으로서 행하면서, 그녀의 노드 상에서 돌아가는 애플리케이션의 다른 부분 또는 다른 애플리케이션으로 이동하며 다른 네트워크 동작들을 수행하는 등의 동작을 할 수 있다. 그러한 상태 및/또는 통지는 예를 들어 혼동되지 않는 방식으로(예컨대, 아마도 상태 막대 등과 관련될 것인 작은 아이콘들의 프레젠테이션을 통해) 제시될 것이다.
공유 동작들
도 3에 대해 파일들, 매체아이템들, 프로그램들, 폴더들(예컨대, 복수 개의 엔티티들을 포함) 등과 같은 엔티티들을 그녀의 노드로부터의 다른 노드들에 의한 수신에 이용가능하게 만들기 원하는 사용자는, 본 발명의 각종 실시예들에 따라, 먼저 GUI 또는 다른 인터페이스를 통해 그녀의 노드에 대해 그렇게 하기를 소망함을 표시한다(단계 301)는 것에 주의한다. 응답으로, 그녀의 노드는 사용자가 하나 이상의 엔티티를 이용가능하게 되도록 선택할 수 있게 한다. 이러한 기능성은 다수의 방식으로제공될 수 있다. 예를 들어, 사용자는 GUI 또는 다른 인터페이스를 통해 노드의 파일시스템 전체를 항해하고 그러한 엔티티들을 공유하는 것으로 선택할 수 있다(단계 303).
다음으로, 각각의 선택된 엔티티에 대해, 노드는, 각종 실시예들에서, 엔티티가 다운로드에 이용가능하게 될 그룹들이 어떤 것들인지에 관해 사용자에게 질의한다. 예를 들면, 노드는 노드 사용자가 구성원인 다운로드를 허락하는 각 그룹에 대응하는 GUI점검상자 등을 각각의 엔티티에 제공할 수 있다(단계 305). 게다가 각각의 선택된 엔티티에 대해, 노드는, 각종 실시예들에서, 대응하는 메타데이터 및/또는 다른 매개변수들을 사용자에게 프롬프트할 수 있다(단계 307). 어떤 실시예들에서, 메타데이터 및/또는 다른 매개변수들이 이미 어떤 아이템에 연관되었다고 결정된 경우에는 노드는 그러한 동작을 수행하지 않을 것이다. 각종 실시예들에서 엔티티에 연관련 메타데이터 및/또는 다른 매개변수들은 유일한 식별자를 갖출 것이다. 따라서, 노드는 다음 동작을 하여 각각의 선택된 엔티티에 대응하는 유일한 식 별자를 작성하고 그것을 엔티티의 메타데이터에 첨부할 것이다. 유일한 식별자의 작성은 다수의 방식으로 수행될 수 있다. 예를 들면, 난수(random number) 발생 및/또는 하나 이상의 방정식이 이러한 작성에 채용될 수 있다.
각종 실시예들에서, 노드는 다음 동작을 하여 선택된 엔티티들을 파일 공유에 관련된 노드 상의 하나 이상의 적당한 폴더에 복사할 것이다. 다른 실시예에서는, 선택된 엔티티 자체를 복사하는 대신, 이 엔티티(예컨대, 파일)에 대한 링크 및/또는 아마도 대응하는 메타데이터 및/또는 다른 정보가 복사될 수 있다. 예를 들어, 노드는 그 사용자가 구성원이고 엔티티들을 다운로드에 이용가능하게 하는 각 그룹에 대해 그러한 폴더를 유지할 것이다. 다음 단계로, 노드는 선택된 엔티티들을 다운로드에 이용가능하도록 만드는 동작을 수행할 수 있다(단계 309). 이러한 기능성은 다수의 방식으로 구현될 수 있다.
게다가, 노드는, 각종 실시예들에서, 적당한 동작들을 수행하여 위에 기재된 부류의 서비스 디스커버리 동작들이 다운로드를 위해 아이템들을 제공하는 것을 찾을 수 있게 할 수 있다. 게다가, 노드는 다운로드에 이용가능한 엔티티들에 관한 정보를 요구하는 메시지들에 아마도 위에서 논의된 바에 따라 응답하도록 자신을 준비하는 적당한 동작을 수행할 수 있다. 위에서 논의된 바처럼 이러한 메시지들은 예를 들어 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 수신될 수 있을 것이다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 것이다.
각종 실시예들에서 노드는 다른 노드에 전달하기 위해 엔티티 또는 엔티티 부분을 수신하도록 동작할 수 있고, 그러한 엔티티들 또는 엔티티 부분들은 유일한 식별자로 캐시될 수 있고 P2P그룹들 중의 어느 것에 속한 다른 노드들에 의한 추가적인 다운로드에 이용가능하게 될 수 있다. 추가로 노드는 이러한 캐싱을 수행할지를 예를 들면 이용가능한 저장공간에 관한 명세사항들에 기초하여 결정하는 동작을 할 수 있다는 점에 주의한다. 더구나, 각종 실시예들에서, 엔티티들 또는 엔티티 부분들은 이러한 기능성이 적당한 경우들에서는 멀티캐스트를 통해 제공될 수 있다는 점에 주의한다.
부가적으로, 각종 실시예들에서, 사용자는 그녀의 노드에 수신되는 검색요구 및/또는 아이템 수신요구들을 거부하도록 동작할 수 있다. 사용자는 이러한 명세사항을 그녀의 노드에 의해 제공된 GUI 또는 다른 인터페이스를 통해 만들 수 있다. 이러한 기능성의 각종 형식들은 사용자에게 제공될 수 있다. 예를 들면 사용자는 모든 검색 및/또는 아이템 요구들이 거부될 것임을 지정할 수 있을 것이다. 다른 예로서, 사용자는 지정된 매개변수들에 부합하는 모든 검색 및/또는 아이템 요구들이 거부됨을 지정할 수 있을 것이다. 또 다른 예로서, 사용자는 그녀의 노드에 의해 각각의 들어오는 검색 및/또는 아이템 요구가 그녀에게 알려지는 것과 그것을 허락 또는 거부하는 옵션이 그녀에게 제공되는 것을 지정할 수 있다. 각종 실시예들에서, 다른 양들 및 유형들의 정보가 들어오는 요구를 그녀에게 알려주게 처리하는 그녀의 노드에 의해 사용자에게 제시될 수 있다.
각종 실시예들에서, 아마도 사용자의 노드의 인터페이스를 통해, 일단 엔티 티가 공유되도록 표시된다면 엔티티 공유가 어떻게 일어날 것인지를 정의하는 것이 가능할 것이다. 예를 들면, 가외의 비용 및/또는 그녀의 노드의 액세스 링크의 사용에 관련된 과도한 프로세서 사용, 전력 사용, 대역폭 사용 등을 피하기 원하는 사용자는 파일들 및/또는 그러한 파일들을 기술하는 메타데이터의 업로딩이 최소화되어야함을 지정할 것이다. 최적화 기법들의 다른 결합들이 활용될 수 있다.
구체적인 예로서, 엔티티는 공유되도록 표시되고, 엔티티의 메타데이터 및/또는 엔티티 자체의 복제물들은, 각종 실시예들에서, 적당한 그룹에 속한 다른 노드들에 전송될 수 있다. 그러한 노드들은 예를 들어 다른 사용자들의 노드들 또는 서비스제공자의 노드들일 수 있다. 그러한 동작은, 예를 들어, 사용자들의 노드들 및/또는 적당한 소프트웨어 모듈들이 항상 활동적이고 및/또는 도달가능하지 않은 경우에, 예를 들면, 공유된 엔티티들 및/또는 공유된 엔티티들에 관한 정보의 이용가능성을 개선하는 것과 같은 이점을 가질 수 있다. 다른 예로서, 이러한 동작은 사용자가 검색들 및/또는 다운로드 요구가 그녀의 사용자에 의해 만족되지 않은 경우에 공유를 가능케 하는 이점을 가질 수 있다.
각종 실시예들에서, 엔티티의 메타데이터 및/또는 엔티티 자체의 복제물들을 다른 노드들에 전송하는 것은 데이터의 공유에 관련한 비용 및 대역폭 문제들을 고려할 것이다. 이러한 문제들, 예를 들면, 노드들 사이에 근거리 무선링크(예컨대, 노드들은 서로 근접 위치됨)를 통해 데이터를 송신하는 것이 고려될 수 있다.
다른 예에서, 일단 노드가 검색요구를 수신한다면, 그 노드는, 각종 실시예들에서, 요구된 엔티티들 및/또는 요구된 엔티티에 대응하거나 긴밀하게 부합하는 임의의 다른 엔티티들을 소유하는지를 결정하는 동작을 할 수 있다. 그 후, 각종 실시예들에서, 그 노드는 검색 응신을 디스패치하고 엔티티를 설명하는 기술적(descriptive) 메타데이터를 검색 응신에 추가할 수 있다. 예를 들면 노드의 유일한 식별자 및/또는 네트워크주소, 및/또는 엔티티 자체의 유일한 식별자를 포함하는 메타데이터 및 그것의 부분은, 각종 실시예들에서, 요구하는 노드에 검색 응신을 전송하는 중간 노드들의 캐시들에 복사될 것이다. 요구하는 노드에 운반되는 실제의 검색 응신은 아마도 업로드된 메타데이터 기술(description)의 부집합만을 담고 있을 것이다. 구체적인 예로서, 추후로, 일부 다른 노드가 유사하거나 대응하는 질의를 송신할 때, 하나 이상의 중간 노드들이 요구된 엔티티를 제공할 수 있게 될 것이고, 그래서 질의는 그 엔티티를 갖는 노드에 라우팅될 필요가 없다. 중간 노드들 중의 일부는 항상 온라인으로 있을 수 있거나 및/또는 큰 캐시들을 소유할 수 있다. 그러나, 중간 노드들의 캐시들에 있는 메타데이터가 낡은 것이라면, 응신 절차는 반복되는 것이 필요할 수 있다.
각종 실시예들에서, 노드에 의한 다른 노드들로의 엔티티의 업로드는 노드가 특정 아이템에 관한 제1요구를 수신할 때에만 발생할 수 있다는 점에 주의한다. 이러한 실시예들에서, 제1요구의 경우, 엔티티는 업로드될 수 있고 아마도 다른 노드들의 캐시들에 복제되고 및/또는 이미 업로드된 메타데이터와 링크될 수 있다. 이러한 실시예들에서, 업로드 요구가 수신된 적이 없는 경우, 엔티티는 액세스 링크를 통해 이동되지 않을 것이라는 점에 주의한다.
메시징 동작들
도 4에 대해 인스턴트 메시지를 송신하기 원하는 노드 사용자는, 본 발명에 따른 각종 실시예들에 따라, 그녀의 노드에 의해 제공된 GUI 또는 다른 인터페이스를 통해 대응하는 수신을 위한 검색을 소망함을 표시할 수 있다(단계 401). 각종 실시예들에서, 사용자는 자신의 노드의 인터페이스들 중의 하나 이상을 인스턴트 메시징 수신자들을 위한 검색 시 및/또는 인스턴트 메시지들의 송신 시에 채용가능한 것으로서 부가적으로 지정할 수 있다.
응답으로, 노드는 그 사용자에게 그녀가 구성원인 그룹들의 목록을 제시할 수 있고 이러한 그룹들 중의 하나 이상의 어느 것이 그녀의 인스턴트 메시지의 수신자가 구성원이 될 그룹인지를 그녀가 표시할 것을 요구할 수 있다. 사용자는 GUI 또는 다른 인터페이스를 통해 선택을 행할 수 있다(단계 403). 다음 단계로, 사용자는, 본 발명의 각종 실시예들에서, 발견될 잠재적인 수신자들에 대응하는 메타데이터 및/또는 다른 매개변수들을 그녀의 노드에 알려줄 것을 선택할 수 있다(단계 405). 다음으로, 사용자의 노드는 선택된 그룹 또는 그룹들에 대한 잠재적 수신자들과, 메타데이터 및/또는 다른 매개변수들의 임의의 명세사항을 결정하도록 동작할 수 있다. 이러한 기능성은 다수의 방식으로 구현될 수 있다(단계 407).
예를 들면, 노드는 아마도 위에서 설명된 부류의 서비스 디스커버리를 채용하여 지정된 그룹들에 관련된 잠재적 수신자들을 알 수 있다. 따라서, 사용자의 노드는, 이러한 서비스 디스커버리를 통해, 잠재적 수신자들의 노드들에 대응하는 유일한 식별자들, 네트워크주소들 등을 알 수 있다. 각종 실시예들에서, 이러한 디스커버리를 통해 사용자의 노드는 잠재적 수신자들에 대응하는 메타데이터 및/또는 다른 매개변수들을 알 수 있고, 사용자에 의해 지적된 것과 일치하는 메타데이터 및/또는 다른 매개변수들을 갖는 잠재적 수신자들만을 고려할 수 있다. 다음으로, 노드는 그 사용자에게 잠재적 수신자들에 관한 수신된 정보의 전부 또는 일부를 GUI 또는 다른 인터페이스를 통해 제시할 수 있다(단계 409).
각종 실시예들에서, 추가의 검색 결과들은 사용자에 의해 요구될 수 있음에 주의한다. 이러한 실시예들의 경우, 사용자의 노드는 콘텐츠 아이템들과 같은 엔티티들의 검색에 관해 위에서 논의된 것과 유사한 방식으로 동작할 수 있다. 추가로 각종 이러한 실시예들에서, 사용자의 노드는, 어쩌면 모든 관련된 잠재적 수신자들을 알기 원할 때에, 추가적인 검색 결과들을 수신하도록 자동으로 동작할 것임에 주의한다.
사용자에 대한 잠재적 수신자들을 제시하는 GUI 또는 다른 인터페이스는 잠재적 수신자들 중의 하나 이상을 인스턴트 메시지 수신자로서 사용자가 선택하도록 하는 동작을 추가로 행할 수 있다(단계 411). 이러한 선택의 응답으로, 노드는 먼저 사용자가 대응하는 인스턴트 메시지를 작성할 수 있게 할 것이다. 예를 들어, 노드는 그 사용자에게 텍스트가 입력될 수 있거나 및/또는 파일들(예컨대, 멀티미디어 파일들 또는 프로그램 파일들)이 드래그 될 수 있는 GUI 윈도우 등을 제시할 수 있다.
다음으로, 사용자의 노드는 작성된 메시지를 송신하도록 동작한다(단계 413). 이러한 기능성은 다수의 방식으로 구현될 수 있다. 예를 들어, 인스턴트 메시지는, 아마도 위에서 논의된 바와 유사한 방식으로, 이메일, MMS메시징, SMS메시 징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 디스패치될 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.
각종 실시예들에서, 사용자는 위에 기재된 부류의 검색을 수행하는 일 없이 인스턴트 메시지 수신자를 지정할 수 있다는 점에 주의한다. 예를 들면, 사용자의 노드는 그 노드에 이미 알려진 잠재적 수신자들의 목록을 그 사용자에게 제시할 수 있다. 노드는 이러한 잠재적 수신자들을 그들의 유일한 식별자들, 네트워크주소들 등에 의해 알 수 있을 것이다. 이러한 정보는 예를 들면 이전의 검색동작들, 이전의 메시지 송신 동작들, 관련된 저장 등을 통해 얻어질 수 있다. 다른 예로서, 사용자는 자신의 노드에 특정 사용자의 노드에 메시지를 송신하기에 충분한 정보를 제공할 것이다. 이러한 충분한 정보는 예를 들어 네트워크주소, 유일한 식별자, 유일한 식별자에 관련된 메타데이터 등을 포함할 수 있다.
각종 실시예들에서, 동료(peer)그룹의 현재 활동중인 모든 구성원들에게 메시지를 송신하기 원하는 사용자는 적당한 공통 그룹 식별자에 의한 것보다 더 정확히 수신자들을 지정할 필요 없이 그렇게 할 수 있다. 다른 실시예에서, 메시지를 동료그룹의 현재 활동중인 모든 구성원들에게 송신하기 원하는 사용자는 그 동료그룹을 수신자로서 선택하도록 동작할 수 있고, 사용자의 노드는 예를 들어 그 그룹의 유일한 식별자를 메시지에 매핑함으로써 응답할 수 있다.
본 발명의 각종 실시예들에 따라, 인스턴트 메시지들을 수신하기 원하는 사용자의 노드는 하나 이상의 예비 단계들을 수행하도록 동작할 수 있을 것이다. 예 를 들면, 그 노드는 적당한 동작을 수행하여 위에서 설명된 부류의 서비스 디스커버리 동작들이 자신 및/또는 자신의 사용자를 잠재적인 수신자들로서 찾을 수 있게 할 수 있다.
채팅 동작들
본 발명의 각종 실시예들에 의하면, 가입가능한 채팅방(chat board)을 검색하기 원하는 사용자는 그렇게 하기 소망함을 그녀의 노드에 의해 제공된 GUI 또는 다른 인터페이스를 통해 표시할 것이다. 각종 실시예들에서, 사용자는 그녀의 노드의 인터페이스들 중의 하나 이상을 인스턴트 메시징 수신자들의 검색 시 및/또는 인스턴트 메시지 송신 시에 채용가능한 것으로서 부가적으로 지정할 수 있다. 응답으로, 노드는 그 사용자에게 그녀가 구성원인 그룹들의 목록을 제시할 수 있고, 채팅방들을 검색하기 원했던 그룹들이 어떤 것들인지에 대해 그 사용자가 표시해줄 것을 요구할 수 있다. 그러면 사용자는 응할 수 있다.
다음 단계로서, 사용자는, 본 발명의 각종 실시예들에서, 선택을 행하여 가입가능한 채팅방들의 검색 시에 고려되는 메타데이터 및/또는 다른 매개변수들을 그녀의 노드에 표시할 수 있다.
다음으로, 노드는, 어쩌면 위에서 언급된 부류의 임의의 사용자 표시(또는 선택)에 따라 동작하여 채팅방 구성원자격(membership)을 취급하는 하나 이상의 노드를 알 수 있다. 이러한 기능성은 다수의 방식으로 구현될 수 있다. 예를 들어, 아마도 위에서 설명된 부류일 것인 서비스 디스커버리가 채용될 수 있다. 이러한 동작을 통해, 노드는 다양한 이용가능한 채팅방들을 알 수 있다.
본 발명의 다른 실시예에서, 사용자는 이용가능한 채팅방들을 검색할 필요가없고, 사용자의 노드에는 사용자가 구성원인 동료그룹들 중에서 현재 활동중인 채팅방과 사용자의 노드가 온라인임이 자동으로 알려진다.
다음 단계로서 노드는 이용가능한 채팅방들에 관한 수신된 정보를 그 사용자에게 제시하는 동작을 할 수 있다. 다음으로, 노드는 채팅방들 중의 하나 이상에 가입하기 원함을 사용자가 표시할 수 있게 할 수 있다. 사용자에 의해 그렇게 선택된 각 채팅방에 대해, 사용자의 노드는 그 사용자가 그 채팅방에 가입하기 원한다는 것에 관한 메시지를 적당한 노드에 디스패치하도록 동작할 수 있다. 이러한 디스패치는 다수의 방식으로 수행될 수 있다. 예를 들면, 이러한 디스패치는 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 행해질 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다. 메시지에 포함된 것은 사용자에 대응하는 메타데이터 및/또는 다른 매개변수들일 수 있고, 그 메타데이터는 어쩌면 사용자에 대응하는 유일한 식별자를 포함할 것이다.
응답으로, 각 수신자 노드는 메타데이터 및 다른 매개변수들의 일부 또는 전부를 채팅방의 모든 구성원들에 대응하는 데이터를 담고 있는 유지보수형(maintained) 저장소에 추가하도록 동작할 수 있다. 다음으로, 각 수신자 노드는 사용자에 대응하는 데이터를 포함한 메시지들을 현재 구성원들의 노드들에 디스패치하도록 동작할 수 있고, 여기서 사용자에 대응하는 데이터는 각각의 그러한 노드가 사용자의 노드에 메시지들을 송신하도록 하기에 충분한 것이다. 그 후에, 각각 의 수신자 노드는 채팅방의 모든 구성원들에 대응하는 데이터를 포함한 하나 이상의 메시지를 사용자의 노드에 디스패치하도록 동작할 수 있고, 여기서 채팅방의 모든 구성원들에 대응하는 데이터는 사용자의 노드가 그러한 구성원들에 대응하는 노드들에 메시지들을 송신하도록 하기에 충분한 것이다. 수신자 노드들은 현재 구성원들의 노드들 및 사용자의 노드에 다수의 방식으로 메시지들을 송신할 수 있다. 예를 들어, 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등이 채용될 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.
다음으로, 사용자는 가입한 채팅방에 그녀의 노드를 이용하여 참가할 수 있다. 따라서, 노드는 예를 들면 GUI 또는 다른 인터페이스를 채용하여 자신의 사용자가 가입된 채팅방들을 제시하고 채팅방들 중의 하나 이상을 참여를 위해 선택할 수 있게 한다. 사용자가 참여했던 가입된 채팅방의 경우, 사용자의 노드는, 아마도 GUI 또는 다른 인터페이스를 통해, 채팅방에 게시(post)된 메시지들 등을 그녀가 보게 할 수 있고 및/또는 메시지들 등을 채팅방에 게시할 수 있게 한다.
사용자가 채팅방에 메시지드들 등을 게시하기 원한 경우, 그 사용자는 그녀의 노드를 이용하여 메시지를 작성할 수 있다. 예를 들어, 사용자는 적당한 텍스트 및/또는 적당한 파일들(예컨대, 멀티미디어 파일들)을 GUI 윈도우에 입력할 수 있다. 메시지 작성의 완료 하에, 사용자는 메시지가 게시됨을 그녀의 노드에 추가로 알려줄 수 있다. 이러한 게시를 수행하기 위한 기능성은 다수의 방식으로 구현될 수 있다. 예를 들면, 사용자의 노드는 인스턴트 메시징에 대해 위에서 논의된 것과 유사한 방식으로 메시지를 디스패치할 수 있으나, 그러한 노드들에 대응하는 수신된 데이터에 따라 채팅방의 모든 구성원들의 노드들에 전달된다.
메시지들을 게시하기 원하는 채팅방의 다른 구성원들의 노드들은 유사한 방식으로 동작할 수 있다. 따라서, 사용자의 노드는 이러한 메시지의 다수의 수신기들 중의 하나일 수 있고, 아마도 위에서 언급된 GUI 또는 다른 인터페이스를 통해, 그 사용자에게 메시지를 제시할 수 있다.
본 발명의 각종 실시예들에 의하면, 노드의 사용자는 그녀가 구성원인 그룹에 대응하는 새로운 채팅방을 만들도록 동작할 것이다. 어떤 실시예들에서는, 시스템관리자 또는 다른 개인에 의해 설정된 규칙들은 사용자가 새로운 채팅방을 만드는 것을 허락할지를 규정할 수 있다. 그렇게 새로운 채팅방을 만들기 원하는 사용자는 먼저 GUI 또는 다른 인터페이스를 이용하여 그녀가 그녀의 노드에 대해 그렇게 하기 소망함을 표시할 것이다.
응답으로, 노드는, 각종 실시예들에서, 만들려는 채팅방에 대응하는 메타데이터 및/또는 다른 매개변수들을 사용자에게 질의할 수 있다. 노드는 채팅방을 만들려는 것에 관한 그룹의 명세사항에 대해 사용자에게 추가로 질의할 것이다. 사용자의 응답들이 수신된 후, 노드는, 위에서 논의된 것과 유사한 방식으로, 필요한 경우, 서비스 디스커버리를 수행하여, 채팅방 구성원자격을 취급하는 하나 이상의 노드를 알 수 있다. 노드의 사용자가 채팅방을 만들려는 특정 그룹을 표시로 알려준 경우, 사용자의 노드는 서비스 디스커버리로 동작하여, 표시된 그룹에 대해 채팅방 구성원자격을 취급하는 하나 이상의 노드를 알게 될 수 있다.
다음으로, 사용자의 노드는 자신의 사용자가 새로운 채팅방을 만들기 소망함을 나타내는 메시지를 채팅방 구성원자격을 취급하는 적당한 노드에 디스패치할 수 있다. 이 메시지에 포함되는 것은, 예를 들어, 사용자에 대응하는 메타데이터 및/또는 다른 매개변수들, 만들려는 채팅방에 관해 사용자에 의해 제공된 메타데이터 및/또는 다른 매개변수들, 및/또는 채팅방이 만들어지는 것에 관한 그룹의 표시일 수 있다. 각종 실시예들에서, 메타데이터 및/또는 다른 매개변수들에 포함되는 것은 사용자 또는 사용자의 노드의 유일한 식별자 등과 같이 사용자에 대응하는 매개변수들이다. 대체 실시예들에서, 메타데이터 및/또는 다른 매개변수들에 포함되는 것들은 칩보드(chipboard) 또는 그룹의 식별자들이다. 메시지는, 예를 들면, 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 디스패치될 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.
메시지의 수신 하에, 적당한 노드는, 각종 실시예들에서, 먼저 새로운 채팅방을 만드는 것이 사용자에게 허락되었는지를 알아보는 동작을 할 수 있다. 따라서, 적당한 노드가 관련된 저장소, 다른 노드 등에 액세스하여, 임의의 해당하는 규칙들을 구할 것이다. 새로운 채팅방을 만드는 것이 사용자에게 허락되지 않았음을 적당한 노드가 알게 된 경우, 적당한 노드는 그러한 표시를 담고 있는 메시지를 사용자의 노드에 디스패치할 수 있다. 이 메시지는, 예를 들면, 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 디스패치될 것이다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다. 새로운 채팅방을 만드는 것이 사용자에게 허락되었다고 적당한 노드가 판단한 경우, 및/또는 그러한 판단이 수행되지 않은 실시예들에서는, 적당한 노드는 새로운 채팅방을 만들도록 동작할 수 있다. 따라서, 적당한 노드는, 예를 들면, 위에서 설명된 부류의 서비스 디스커버리 동작들이 새로 만든 채팅방에 관해 알 수 있게 하는 적당한 동작들을 수행할 것이다. 대안으로 또는 부가적으로, 적당한 노드는, 예를 들어, 새로운 채팅방을 이용가능한 다른 그룹 구성원들을 온라인 노드들에 자동으로 알릴 것이고, 및/또는 적당한 동작들을 수행하여, 위에서 논의된 것과 유사한 방식으로, 새로 만든 채팅방에 사용자가 가입하기 원하는 것에 관한 수신된 메시지들에 응답할 것이다.
다른 예에서, 사용자가 GUI 등을 통해 새로운 채팅방을 만들기 소망함을 표시한 경우, 사용자의 노드의 소프트웨어는 만들어진 새로운 채팅방에 대한 권리가 사용자에게 주어졌는지를 사용자의 프로파일을 기술하는 메타데이터로부터 점검할 수 있다.
게임 동작들
위에서 논의된 바와 같이, 여기서 설명된 각종 기능성은, 예를 들면, 채팅, 공유, 및 메시징에 적용될 수 있다. 이러한 기능성은 많은 다른 용도들에도 적용가능함에 주의한다. 예시적인 이러한 부가적 사용이 이제 설명될 것이다.
본 발명의 각종 실시예들에 의하면, 게이밍의 각종 부류들에 관련한 기능성이 존재할 수 있다. 이러한 기능성은, 예를 들어, 그룹 구성원들 간에 멀티플레이 어 게이밍을 가능하게 할 수 있다. 각종 실시예들에서, 게임들을 플레이하는데 관심 있는 모든 사용자들은 게이밍에 대응하는 일반그룹에 속할 것이고, 및/또는 각각은 대응하는 인증서를 소유할 것이다. 이러한 게이밍 일반그룹 및/또는 대응하는 인증서는 위에서 논의된 일반그룹 및 대응하는 인증서와 유사한 방식으로 동작할 수 있다. 각종 실시예들에서, 이러한 게이밍 일반그룹에 속한 사용자는 장차 가입가능하고 및/또는 나중에 시작하는 게임 인스턴스들에 대응하는 각종 그룹들을 검색하고 및/또는 가입할 수 있다. 예를 들어, 특정한 이러한 그룹은 그 그룹의 구성원들이 가상 오토바이 경주에서 겨루고 있는 게임에 대응할 것이다. 각종 실시예들에서, 게이밍 일반그룹이 없을 수 있음에 주의한다. 이러한 실시예들의 경우, 게임들을 플레이하는데 관심 있는 사용자들은 위에서 언급된 부류의 일반그룹의 구성원자격에 의해 가입가능한 게임들에 대응하는 그룹들을 검색하고 및/또는 가입할 수 있을 것이다.
따라서, 멀티플레이어 게임에 가입하기 원하는 사용자는 적당한 게임 인스턴스들에 대응하는 그룹들의 검색을 수행하도록 동작할 수 있다. 이러한 그룹 검색은 위에서 논의된 것과 유사한 방식으로 동작할 수 있다. 따라서 사용자는, 아마도 적당한 GUI요소들을 통해, 그녀가 가입에 관심 있어 했던 부류의 게임을 기술하는 메타데이터 및/또는 다른 매개변수들(예컨대, 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등)을 공급할 수 있다. 예를 들면, 사용자는 그녀가 관심 있어 하는 게임 이름을 타이틀 메타데이터로서 공급할 수 있고, 어쩌면 등급데이터(qualifying data)를 주제필드(subject field) 메타데이터로서 추가로 공급할 수 있다. 대안으로 또는 부가적으로, 사용자는 이러한 정보를 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등을 통해 공급할 수 있다.
응답으로, 사용자의 노드는 사용자의 엔트리를 처리하도록 동작할 수 있다. 각종 실시예들에서, 사용자의 노드는 아마도 위에서 논의된 것과 유사한 방식으로 동작하여 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등을 적당한 메타데이터 값들, 필드들 등과 관련지을 것이다. 다음으로, 사용자의 노드는 사용자의 엔트리들에 따라 그룹들의 검색을 수행하기 위한 적당한 동작을 수행하도록 동작할 수 있다. 이러한 동작들은 예를 들면 위에서 논의된 것과 유사한 방식으로 수행될 수 있다. 각종 실시예들에서, 사용자의 노드는 적당한 동작들을 수행하여 송신된 메시지들에 매개변수들을 추가할 것임에 주의한다. 이러한 매개변수들은 예를 들어 노드 유형, 노드식별자 및/또는 사용자에 관련될 것이다(예컨대, 사용자의 가명). 게다가, 동작 수행시, 노드는, 각종 실시예들에서, 다른 노드들에 대해 이미 개방된 연결들을 이용할 것임에 주의한다. 이러한 연결들은 예를 들어 노드들로 형성된 네트워크를 통한 메시징에 관련한다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.이 연결들은, 각종 실시예들에서, 다른 유형들의 전송링크들의 사용에 관계한다.
가입가능한 게임들에 대응하는 그룹들을 검색하려는 노드 사용자의 요구에 응답하여 그 노드에 의해 수행되는 적당한 동작들에 응답하여, 각종 정보가 수신될 수 있다. 예를 들어, 그룹들에 관련한 각종 메타데이터 및/또는 다른 정보가 수신될 수 있다. 수신된 정보 가운데는 설명(descriptions), 초대, 신청, 등이 있을 수 있다. 이러한 것들은 사용자에게 예를 들어 적당한 GUI요소들 등을 통해 제시될 수 있다. 예를 들면 그룹에 대해 수신된 것은 향후의 가상 오토바이경주에 가입하는 것에 관심 있는 플레이어들을 향한 도전일 수 있다. 다른 예로서, 그룹에 대해 수신된 것은 표시된 시간에 시작하도록 설정된 가상 오토바이경주에 가입하는 것에 관심 있는 사용자들을 향한 도전일 수 있다.
다음으로 사용자는 가입가능한 게임들에 대응하는 게임들 중의 하나에 가입하는 것을 소망함을 표시하고, 그녀의 노드는 그녀의 요구(소망)에 부응하도록 동작할 수 있다. 이러한 기능성은 예를 들어 위에서 논의된 것과 유사한 방식으로 동작할 수 있다. 각종 실시예들에서, 사용자의 노드가 플레이하려는 게임에 대응하는 적당한 프로그램 모듈들 등을 소유하지 않은 경우, 노드가 적당한 모듈들 등을 수신할 수 있도록 하는 동작들이 수행될 것이다. 예를 들어, 이러한 적당한 모듈들 등은 노드들로 형성된 네트워크를 통한 메시징에 의해 전달될 것이다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.
위에서 언급된 바와 같이, 본 발명에 따른 각종 실시예들에서, 그룹정보를 담고 있는 메시지는 다른 사용자들이 이러한 정보를 요구하는 일없이 그러한 다른 사용자들에게 디스패치될 수 있다. 위에서 더 언급된 바와 같이, 이러한 메시지는 예를 들어 대응하는 그룹관리자, 그룹구성원 등의 역할에 의해 아마도 특정한 목표(예컨대, 그룹 구성원자격을 높이는 것)를 염두에 두고서 디스패치될 것이다.
본 발명의 각종 실시예들에 의하면, 유사한 메시지들이 게임 인스턴스들에 대응하는 그룹들에 송신될 수 있다는 점에 주의한다. 따라서, 예를 들어, 이러한 메시지들은, 게임 인스턴스에 대응하는 특정 그룹에 대해, 예를 들면 다른 사용자들을 대응하는 게임 인스턴스에 끌어들이기 원했던 그룹관리자, 그룹구성원 등의 작용에 의해 디스패치될 것이다. 그룹관리자, 그룹구성원 등은 예를 들어 그 그룹에 관련된 게임을 플레이하기 위해 채용가능한 하나 이상의 프로그램모듈에 의해 제공된 인터페이스를 통해 그러한 메시지를 송신하도록 동작할 것이다.
추가로 그러한 그룹관리자, 그룹구성원 등은 탐색했던 사용자들의 부류에 관련한 부가적 정보를 지정할 것임에 주의한다. 이러한 정보는 예를 들어 특성(properties), 모습(traits) 등을 포함할 수 있다. 구체적인 예로서, 이러한 정보는 지정된 게임에서 적어도 지정된 점수를 벌어들인 및/또는 지정된 게임 유형에 대한 사용자들만이 탐색됨을 지정할 것이다.
그 메시지는 위에서 논의된 것과 유사한 방식으로 송신될 수 있다. 따라서, 예를 들어, 메시지는 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 디스패치 메시지 송신 등에 의해 송신될 것이다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.
메시지는, 각종 실시예들에서, 노드들을 통해 그룹에 속한 노드들에 라우팅될 수 있다. 각종 실시예들에서, 각각의 그러한 노드 내에서, 메시지는, 예를 들어, 하나 이상의 적당한 소프트웨어모듈들을 통해 라우팅될 수 있다. 이러한 하나 이상의 적당한 소프트웨어모듈은 예를 들어 그룹에 관한 게임 메시지들을 다루는 그룹라우터에 대응할 것이다. 하나 이상의 적당한 소프트웨어모듈은 노드가 소유한 게이밍 애플리케이션에 및/또는 그룹에 속한다고 상기 노드가 알고 있는 하나 이상의 다른 노드에 메시지를 라우팅하도록 동작할 수 있다. 각종 실시예들에서, 노드에서의 그러한 정보의 수신은 아마도 노드의 설정들에 따라 그룹에 관련된 게임을 플레이하기 위해 채용가능한 하나 이상의 프로그램모듈을 동작하도록 만들 수 있다는 점에 주의한다. 각종 실시예들에서, 게임을 플레이하기 위해 채용가능한 하나 이상의 모듈은 노드의 사용자에게 메시지를 통지할 것인지를 결정하도록 동작할 것이다.
그룹 생성 동작들
본 발명의 각종 실시예들에 의하면, 사용자는 새로운 그룹을 만들 것을 요구할 수 있다. 이 요구로, 사용자는 새로운 그룹에 대한 그룹관리자가 되려고 함을 요구할 수 있을 것이다. 사용자는 예를 들어 그녀의 노드에 의해 제공된 GUI 또는 다른 인터페이스를 통해 이러한 요구를 할 수 있다.
이 요구에 응답하여, 사용자의 노드는, 각종 실시예들에서, 만들려는 그룹에 대응하는 메타데이터 및/또는 매개변수들을 사용자에게 질의할 수 있다. 이 메타데이터에 포함되는 것은 예를 들어 그룹명 및/또는 그룹설명일 수 있다. 각종 실시예들에서, 노드는 유일한 식별자 등을 만들고 그것을 공급된 메타데이터 및/또는 다른 매개변수들에 관련시키도록 동작할 수 있다. 유일한 식별자 등을 만드는 것은 예를 들어 위에서 논의된 것과 유사한 방식으로 수행될 수 있다.
다음으로, 노드는, 각종 실시예들에서, 구성원자격 애플리케이션의 완성이 새로운 그룹에의 가입을 시도하기 위해 요구될 것인지에 관해 사용자에게 질의한다. 그러한 애플리케이션이 요구될 것임을 사용자가 나타낸 경우, 노드는 사용자 그 애플리케이션을 만들 것을 요구할 수 있다. 따라서 노드는 예를 들어 사용자에게 GUI 또는 다른 인터페이스를 제시하여, 사용자가 그룹 신청자에게 물으려는 질문들 및/또는 그룹 신청자로부터 모으려는 정보를 나타낼 수 있다. 위에서 언급된 바와 같이, 이러한 애플리케이션에 의해 모을 수 있는 정보 중에는 과금데이터가 있을 수 있다. 이러한 기능성은 예를 들면 그룹들에 가입신청(subscription)이 요구됨을 전제로 하여 채용될 것이다.
다음 단계로서, 노드는, 각종 실시예들에서, 만들려는 그룹에 대응하는 그룹규칙들에 대해 사용자에게 질의할 수 있다. 이러한 기능성은 다수의 방식으로 구현될 수 있다. 노드에 의해 추구된 그룹규칙정보 중에는, 구성원자격 애플리케이션이 채용된 경우, 구성원자격 애플리케이션에 의해 문의된 질문들 및/또는 그것에 의해 모인 정보에 대해 용인될 수 있는 응답들이 있을 수 있다. 따라서, 사용자는, GUI 또는 다른 인터페이스를 통해, 지정된 적당한 응답들, 적당한 응답들의 범위들 등을 노드에 제공할 수 있다.
노드에 의해 추구된 부가적인 그룹규칙들은 예를 들면 그룹의 만료일, 최대 구성원 수, 및/또는 그룹이 검색동작에 의해 검색가능하게 될 것인지가 될 수 있다. 각종 실시예들에서, 사용자는, 예를 들어 서비스제공자, 소프트웨어 등에 의해 수립된 범위들에 따라, 이러한 것들을 위한 바람직한 값들을 지정할 수 있을 것이다. 추가로 추구하는 것들은 그룹에 제공하려는 서비스들에 관한 정보, 및 아마도 그러한 서비스들의 제공에 대응하는 세부사항들(specifics)일 수 있다. 예를 들어, 공유, 인스턴트 메시징, 및 채팅 서비스들 중의 하나 이상을 그룹에 대해 제공할 것인지를 사용자게 지정하게 하는 것이 가능할 것이다. 이러한 서비스들에 대해 사용자에 의해 표시될 수 있는 세부사항들은 예를 들면 공유가능한 엔티티들에 관한 규칙들을 포함할 것이다. 각종 실시예들에서, 노드는 사용자에게 어떤 사용자들이 그 그룹의 그룹관리자들이 되어야 하는 지에 관해 질의할 수 있다. 이 질의는 사용자에게 그녀가 이미 그러한 소망을 나타내지 않은 경우에 그녀가 그룹관리자가 되기 원하는 지를 물을 수 있다.
다음으로, 노드는 만들려는 그룹에 관한 수집된 정보를 담고 있는 메시지를 서비스제공자 노드 등에 송신할 수 있다. 추가로 이 메시지에 포함된 것은 사용자에 대응하는 데이터일 수 있다. 이 메시지는 예를 들면 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.이 메시지를 수신한 후, 서비스제공자 노드 등은 새로운 그룹을 만들 자격이 그 사용자에게 주어졌는지를 결정하는 동작을 할 것이다. 따라서, 서비스제공자 노드 등은 예를 들어 하나 이상의 적당한 규칙들을 구하는 동작을 할 수 있다. 그 규칙들은 예를 들면 시스템관리자 등에 의해 제공될 것이다.
다음으로, 서비스제공자 노드 등은, 각종 실시예들에서, 사용자의 요구에 관한 임의의 필요한 요금부과(charging) 또는 과금(billing) 동작들을 수행하도록 동 작할 것이다. 따라서 서비스제공자 노드 등은 그룹을 만들기 위해 사용자에게 과금하는 동작을 할 것이다. 과금은 하나 이상의 수립된 규칙들에 따라 될 것이고, 이 규칙들은 아마도 시스템관리자 등에 의해 제공될 것이다.
사용자가 그룹을 만드는 권리를 갖지 않았다고 서비스제공자 노드 등이 결정한 경우, 및/또는 과금 동작들이 만족스럽지 않은 결과들을 생성한 경우, 서비스제공자 노드 등은 사용자에게 그러함을 알리는 메시지를 그 사용자에게 송신하도록 동작할 수 있다. 이 메시지는 예를 들어 이메일, MMS메시징, SMS메시징, OBEX OPP, 노드들로 형성된 네트워크를 통한 메시징 등을 통해 송신될 수 있다. 노드들로 형성된 네트워크를 통한 메시징은 P2P를 통해 그리고 아마도 이용가능할 때는 직접 링크들을 통해 행해질 수 있다.
다음으로, 사용자가 그룹을 만드는 것이 허락되었음에 관한 임의의 필요한 점검들과 임의의 필요한 과금 동작들이 수행된 후, 서비스제공자 노드는 그 그룹을 만들도록 동작할 수 있다. 각종 실시예들에서, 서비스제공자의 노드는 그 그룹을 위해 유일한 식별자 등을 만들고 그것을 사용자가 공급한 메타데이터 및/또는 다른 매개변수들에 연관시키도록 동작할 수 있다. 유일한 식별자의 작성은 예를 들어 위에서 논의된 것과 유사한 방식으로 수행될 수 있다.
따라서, 서비스제공자 노드 등은, 사용자가 새로운 그룹의 그룹관리자를 하려고 요구한 경우, 그 사용자를 그룹관리자로 앉히고 적당한 동작들을 수행할 수 있어, 사용자의 노드는 위에서 논의된 바에 따라 동작하여 요구들에 응답하여 새로운 그룹에 가입할 수 있게 된다. 이러한 동작에 포함되는 것은 예를 들면 하나 이 상의 적당한 인증서를 사용자의 노드에 제공하는 것이 될 수 있다. 하나의 구체적인 예로서, 인증서는 그룹관리 인증서가 될 수 있다. 게다가, 서비스제공자 노드 등은 적당한 동작들을 수행하여 하나 이상의 노드들이 위에서 논의된 바대로 동작하여 새로운 그룹을 가입가능한 그룹으로서 제시할 수 있다.
더욱이, 서비스제공자 노드 등은, 각종 실시예들에서, 위에서 논의된 부류의 기능성을 구성원자격 애플리케이션에 고려하도록 동작할 수 있다. 따라서, 서비스제공자 노드 등은 예를 들면 위에서 논의된 부류의 자바애플리케이션 등을 만들고 및/또는 위에서 설명된 부류의 보안 서버를 도입하도록 동작할 수 있다. 서비스제공자 노드 등은 이러한 것을 다수의 방식으로 행할 수 있다. 예를 들면, 서비스제공자 노드 등은 이 기술분야에서 알려진 자동 코드생성기법들을 이용하여 자바애플리케이션 등을 만들 수 있다. 다른 예로서, 서비스제공자 노드 등은 보안 서버 등과 통신하여 전술한 기능성을 구현하도록 동작할 수 있다. 대안으로, 서비스제공자 노드 등은 그러한 테스크들을 수행할 필요가 있음을 하나 이상의 개개의 노드에 알려주도록 동작할 것이다.
각종 실시예들에서, 서비스제공자 노드 등은 그룹을 만드는 것을 제어하도록 동작할 수 있다는 것에 주의한다. 예를 들어, 서비스제공자 노드는 그룹규칙들을 수락하거나 거절하도록 그리고/또는 수락가능한 및/또는 디폴트 값들의 선택을 그룹규칙을 정할 때에 사용자에 의해 채용된 인터페이스 등에 미리 설정하도록 동작할 수 있다.
각종 부류들의 그룹들이 본 발명의 각종 실시예들에 따라 만들어질 수 있음 에 주의한다. 예를 들면, 구성원자격 애플리케이션의 완성을 요구하는 그룹들은 가족들, 사업체들, 또는 친구모임들에 의해 만들어진 그룹들을 포함할 것이다. 다른 예로서, 가입신청이 요구된 그룹들은 서비스제공자들, 콘텐츠소유자들, 소프트웨어회사들 등에 의해 만들어진 그룹들을 포함할 것이다.
만료일은, 각종 실시예들에서, 그룹에 대해 설정될 수 있다. 만료일을 적당히 선택함으로써, "임시그룹"으로 생각될 수 있는 그룹은 만들어질 수 있다. 이러한 임시 그룹은 예를 들면 모임들 및 특별한 행사들을 포함한 다수의 목적을 위해 이용될 수 있다.
그룹들의 부가적인 예들은 예를 들어 클럽들, 취미에 관련된 그룹들, 비즈니스-대-비즈니스(B2B) 그룹들 및 비즈니스-대-고객 그룹들(B2C)을 포함한다.
추가로, 각종 실시예들에서, 그룹들의 합병을 고려한 수행될 수 있다. 예를 들면, 시스템관리자들, 그룹관리자들 등은 하나 이상의 그룹을 합병하여 새로운 그룹을 만들 것을 지정할 수 있을 것이고, 새로운 그룹은 아마도 하나 이상의 그룹을 대체하도록 지정될 것이다. 합병의 이행 시, 각종 동작들이 수행될 수 있다. 예를 들어, 하나 이상의 그룹들의 구성원들이 새로운 그룹의 구성원들로 고려될 수 있도록 하는 동작들이 취해질 수 있다. 게다가, 그룹 메타데이터는, 아마도 의미론적(semantic) 매핑들 등에 따라 결합될 것이고, 합병된 그룹 메타데이터는 새로운 그룹의 구성원들의 노드들에 갱신될 수 있다. 이 매핑들은 예를 들어 시스템관리자, 소프트웨어 등에 의해 제공될 것이다. 이런 맥락의 그룹 메타데이터는, 각종 실시예들에서, 그룹을 설명하는 메타데이터, 그룹의 구성원들을 열거하는 메타데이터 등 및/또는 예를 들어 매체아이템들 및 콘텐츠에 관련된 그룹특이(group-specific) 메타데이터를 의미한다.
게다가, 하나 이상의 그룹들에 대해 이용가능하게 된 다운로드가능한 엔티티들이 새로운 그룹에 대해 이용가능하게 되도록 하는 동작들이 일어날 것이다. 이러한 동작들은 예를 들어 디렉토리 수준의 동작들에 관련할 것이다. 각종 실시예들에서, 그러한 합병이 일어나는 경우, 하나 이상의 그룹의 각각에 관련된 관리자들로부터 허가가 수신되는 것이 필요할 것임에 주의한다.
부가적인 동작들
본 발명의 각종 실시예들에 의하면, 엔티티 공유 및 위에서 논의된 다른 서비스들과 같은 서비스들의 사용이 익명으로 되지 않도록 하는 동작들이 있을 수 있다. 예를 들면, 매우 상세히 논의될 것처럼, 사용자는 서비스를 이용하기 위해 사용자를 식별하는 정보를 담고 있는 인증서를 제시하는 것이 요구될 것이다.
추가로, 각종 실시예들에서, 하나 이상의 식별자들이 공유된 엔티티들에 관련될 것임에 주의한다. 이러한 식별자는 예를 들면 공유에 이용가능한 엔티티를 처음 만든 사용자를 식별하는데 이바지할 것이다. 다른 예로서, 이러한 식별자는 엔티티에 대응하는 콘텐츠의 작성자 및/또는 소유자를 식별하는데 이바지할 것이다. 구체적인 예로서, 음악매체파일 엔티티의 경우, 이러한 식별자는 저작권 소유자를 나타낼 것이다.
이러한 식별자들은, 각종 실시예들에서, 인가되지 않은 사용자들에 의해 쉽사리 변경되지 않는 방식으로 공유된 엔티티에 연관(association)될 수 있다. 예를 들어, 식별자들은 디지털적으로 서명될 수 있다. 추가로, 각종 실시예들에서, 공유된 엔티티들은 디지털 서명되고 및/또는 암호화될 수 있음에 주의한다. 게다가, 각종 실시예들은 엔티티들의 구매를 고려한다. 이러한 기능성은, 이 기술분야에서 알려진 하나 이상의 기법들의 이용을 통해, 예를 들어 신용카드 및/또는 뱅킹 시스템들과의 인터페이스와 같은 관련된 과금 동작들의 이행에 관여한다.
더욱이, 본 발명의 각종 실시예들에서, 이벤트 로고는 사용자에 의해 수신된 엔티티들에 관해 유지될 수 있다. 이벤트 로고는 예를 들어 불법 엔티티 공유에 대한 억제물로서 및/또는 불법 엔티티 공유를 수행하는 사용자들을 추적하여 잡아내는 도구로서 채용될 수 있다. 각종 실시예들에서, 그룹들 및/또는 사용자들은 부적절한 행위, 불법 활동 등의 경우에 제거될 수 있다는 점에 주의한다.
이벤트로고 기능성은 다수의 방식으로 구현될 수 있다. 예를 들면, 각 노드는 엔티티들의 수신과 엔티티들의 다른 노드에의 제공의 로그를 유지하고 그 로그를 중앙서버 등에 주기적으로 송신하도록 구성될 수 있다. 중앙서버 등은 수신된 로그들을 하나 이상의 마스터 로그에 집계(compile)하도록 동작할 수 있다.
본 발명의 각종 실시예들에서, 사용자는 각종 동작들의 수행 시 그녀의 노드를 위한 프록시로서 동작하도록 하는 노드를 지정할 수 있다. 사용자는 이러한 지정을 예를 들면 그녀의 노드에 의해 제공된 GUI 또는 다른 인터페이스를 통해 수행할 수 있다. 예를 들면, 사용자는, 각종 실시예들에 따라, 엔티티들의 수신에 관해 그녀의 노드를 위한 프록시를 지정할 수 있다. 따라서, 위에서 언급된 부류의 아이템의 수신 요구는 엔티티가 프록시에 전달되어야함의 표시를 포함할 수 있다. 예를 들어, 이메일, MMS메시지, SMS메시지, OBEX OPP 송신, 노드들로 형성된 네트워크를 통한 메시징 등에 포함되는 것은 프록시 노드를 지향하려는 엔티티에 충분한 네트워크주소, 관련된 메타데이터를 갖는 유일한 식별자 등일 수 있다.
어떤 실시예들의 경우, 사용자는 모든 엔티티들이 프록시에 전달되어야함을 지정할 수 있다. 대안으로 또는 부가적으로, 사용자는 엔티티가 사용자의 노드 또는 대응하는 프록시에 전달될지를 결정하게 하는 규칙을 지정할 수 있다. 구체적인 예로서 사용자는, 아마도 그녀의 노드에 의해 제공되는 GUI 또는 다른 인터페이스를 통해, 임의의 지정된 크기 및/또는 유형 기준들에 일치하는 엔티티들만이 프록시에 전달되고 모든 다른 엔티티들은 그녀의 노드에 전달되도록 지정할 수 있다.
유사한 방식으로, 사용자는, 각종 실시예들에서, 엔티티들을 다른 노드들에 제공하는 것에 관하여 그녀의 노드를 위한 프록시를 지정할 수 있다. 따라서, 이용가능한 엔티티들에 관하여 위에서 언급된 부류의 검색 응신 메시지 또는 다른 메시지들은 그 프록시가 필요한 동작들을 수행할 것임을 표시할 것이다. 이 표시는 예를 들면 위에서처럼 프록시에 관하여 필요한 동작들이 일어나게 하기에 충분한 네트워크주소, 관련된 메타데이터를 갖는 유일한 식별자 등일 수 있다. 이러한 것이 적당한 실시예들에서, 엔티티준비 동작들을 위해 지정된 프록시 노드는 관련된 검색동작들에 채용될 수도 있을 것이다.
각종 실시예들에서 사용자는, 아마도 엔티티들의 수신에 관하여 위에서 논의된 것과 유사한 방식으로, 프록시가 채용되어야 할 때에 관한 규칙들을 지정할 수 있을 것이다. 게다가 프록시 기능성은 다수의 환경들 하에서 적용가능할 것임에 주 의한다. 예를 들어, 사용자는 그녀의 노드가 적당한 처리능력, 에너지자원, 저장공간, 네트워크접속 등을 가지지 않은 경우에 그러한 기능성을 채용하여, 사용자에게 만족스런 방식으로 엔티티들을 수신하고 및/또는 디스패치할 것이다.
부가적으로, 각종 실시예들에서 다수의 서비스제공자는 사용자들을 로밍하기 위해 서비스 상호운용성(interoperability)을 조정할 수 있음에 주의한다. 예를 들면, 각각의 그러한 서비스제공자들은 서로의 그룹들(예컨대, 공개그룹들)을 광고하도록 동작할 수 있다. 다른 예로서, 이러한 서비스제공자들은 관련된 공개키들의 상호운용성을 고려하도록 동작할 수 있다. 또 다른 예로서, 이러한 서비스제공자들은 서로의 공개키들을 배포하도록 동작할 수 있다. 부가적인 예로서, 이러한 서비스제공자들은 여기서 논의된 각종 동작들에서 이용하기 위해 포트들을 수립함에 동의하도록 동작할 수 있다. 게다가, 서비스제공자들은, 각종 실시예들에서, 서로의 사용자들에게 상태들에 관련된 인증서관리에 관해 통지(예컨대, 부당하게 활동한 사용자들 및/또는 그러한 사용자들에 대응하는 노드들을 식별하는 인증서 블랙리스트들을 제공함으로써)할 수 있다.
인증서 및 요금
위에서 언급된 바와 같이, 본 발명의 각종 실시예들은 인증서들을 이용한다. 예를 들면, 위에서 언급된 것처럼 그룹에 대응하는 인증서가 그 그룹의 구성원이 되는 그녀에게 주어진다. 다른 예로서, 언급된 바처럼 일반접근인증서가 사용자에게 주어질 수 있다. 또 다른 예로서, 각종 실시예들에서, 특정 그룹에 관하여 위에서 언급된 부류의 메시지들의 디스패치를 위해, 그 그룹의 구성원임을 증명하는 인 증서의 제시가 요구될 수 있다.
위에서 언급된 바처럼, 어떤 메시지 디스패치들은, 각종 실시예들에서, 특정 그룹에 관계없이 수행될 수 있다. 예를 들어, 어떤 실시예들에서 그룹 가입에 대응하는 메시지 디스패치들은 특정 그룹을 고려하지 않고 수행될 수 있다. 따라서, 각종 이러한 실시예들에서 예를 들면 위에 언급된 일반접근인증서가 이러한 메시지 디스패치들을 위해 보여져야 함이 요구될 수 있다.
각종 실시예들은 인증서들이 보여질 필요가 없는 방식에 관해 구현될 수 있다. 예를 들면, 어떤 실시예들에서 적당한 인증서가 각 메시지 디스패치를 위해 보여져야 함이 요구될 수 있다. 다른 예로서, 연결을 수립할 때에만 적당한 인증서를 보여주기만은 할 필요가 있도록 하고 각 메시지 디스패치를 위해 인증서를 보여줄 것을 요구하는 일 없이 그렇게 수립된 연결 등을 통해 다수의 메시지가 디스패치될 수 있도록 하는 요구사항들이 있을 것이다. 노드들 사이의 이 유형의 연결은 예를 들면 그룹들에 관련된 메시지들을 그 노드들 간에 공통적으로 전송하기 위해 추가로 사용될 것이다. 따라서 이 유형의 연결은 하나를 초과하는 공통 그룹들 사이의 접속에 소용될 수 있고, 각종 실시예들에서, 노드들의 설정들이 그렇게 허락된다면, 공통 그룹들에 한정되지 않은 여기에 기재되는 발생된 트래픽을 무시하는 것도 가능하다. 구체적인 예로서, 일반접근인증서들 및/또는 특정 그룹구성원자격 인증서들과 두 동료노드들에 대응하는 비밀 및 공개 키들로 검증된 그 노드들 사이의 연결은 특정 그룹들의 트래픽을 다중화된 방식으로 전송하는데 이용될 수 있다.
특정 그룹에 대응하는 인증서는 예를 들면 서비스제공자 등에 의해 소유된 비밀키로 서명된 구역들을 포함할 수 있고, 및/또는 그 그룹에 관련된 그룹관리자에 의해 소유된 비밀키로 디지털 서명된 구역들을 포함할 수 있다. 도 5에 보인 것은 그룹관리자의 공개키 및 서비스관리자에 의해 설정된 그룹규칙들을 담고 있는 구역이 서비스제공자의 비밀키로 서명되는 한편 인증서가 주어진 사용자의 공개키 및 그룹관리자에 의해 설정된 그룹규칙들을 담고 있는 구역이 그룹관리자의 비밀키에 의해 서명되는 예시적인 그룹 구성원자격 인증서이다.
인증서는 사용자의 신원에 대응하는 정보를 담을 수 있고 및/또는 사용자의 신원의 보증으로서 소용될 수 있다는 점에 주의한다. 각종 실시예들에서, 이러한 인증서들은 사용자가 그들의 행동들 중의 하나 이상에서 익명이 되지 않도록 하기 위해 채용될 수 있다. 추가로, 비밀키들 및/또는 공개키들은 예를 들면 이 기술분야에서 알려진 각종 기법들을 통해 만들어질 수 있음에 주의한다.
인증서가 보이게 되는 전술한 기능성이 예를 들어 각종 인증, 인증서 신청(challenge) 및/또는 검증 기법들을 이용하여 구현될 수 있다는 점에 더 주의한다. 따라서 인증서들, 비밀키들, 및 공개키들은 각종 실시예들에서 신원 및 그룹에서의 구성원자격의 증명에 함께 사용된다.
도 6에 보인 것은 본 발명의 각종 실시예들에서 채용가능한 예시적인 인증절차이며 여기서 제2동료노드가 제1동료노드를 인증하는 동작을 하고, 도 7에 보인 것은 본 발명의 각종 실시예들에서 채용가능한 예시적인 인증절차이며 여기서는 제1동료노드가 제2동료노드를 인증하는 동작을 한다. 도 7에 보인 것과 같은 인증절차는 예를 들어 도 6에 보인 것과 같은 인증 절차가 성공적으로 완료된 후에 일어 날 수 있다.
도 6의 예시적인 인증절차로 돌아가서, 제1동료는 먼저 제2동료와의 연결을 시작한다(단계 601). 다음에, 제2동료는 무작위 신청서(RC2)를 제1동료에게 송신한다(단계 603). 응답으로, 제1동료는 적당한 그룹 구성원자격 인증서(GC1)를 제2동료에게 송신한다(단계 605). 다음으로, 제1동료는 자신의 비밀키(Sk1)를 이용하여 제2동료에 의해 송신된 신청서(RC2)를 암호화한다(즉, 제1동료는 Sk1(RC2)를 계산한다)(단계 607). 다음으로, 제1동료는 암호화된 신청서(Sk1(RC2))를 제2동료에게 송신한다(단계 609). 다음으로, 제1동료는 신청서(RC1)를 제2동료에게 송신한다(단계 611). 다음 단계로서, 제2동료는 제1동료로부터 수신된 그룹 구성원자격 인증서(GC1)를 점검한다(단계 613). 점검에 의해 GC1이 만족스럽지않다고 확인된 경우, 제2동료는 연결을 종료하도록 동작한다(단계 615). GC1이 만족스럽다고 점검이 확인해 주는 경우, 제2동료도 구성원인 그룹에 GC1이 대응하는 지에 관해 결정이 행해진다(단계 617). 하나의 관점에서, 이것은 GC1이 대응하는 그룹에 제1동료 및 제2동료 둘 다가 속했는지의 결정으로서 생각될 것이다. 결정이 부정적 결과가 된 경우, 제2동료는 연결을 종료하도록 동작한다(단계 615). 결정이 긍정적 결과로 된 경우, 제2동료는 암호화된 신청서를 제1동료의 공개키로써 해독하는 동작을 한다(즉, 제2동료가 Pk1(Sk1(RC2))를 계산한다)(단계 619). 다음으로, 제2동료는 Pk1(Sk1(RC2))의 계 산이 제2동료가 제1동료에게 송신했던 신청서(RC2)로 되는지를 결정한다(단계 621). 결정이 부정적 결과가 되는 경우, 제2동료는 연결을 종료하도록 동작한다(단계 615). 결정이 긍정적 결과가 되는 경우, 도 6의 절차는 성공적으로 완료된 것으로 간주된다(단계 623).
위에서 언급된 바와 같이, 도 7에 보인 것과 같은 인증절차는 도 6에 보인 것과 같은 인증절차의 성공적 완료 후에 일어날 것이다. 이제 도 7로 가서, 제2동료는 제1동료로부터 송신된 신청서(RC1)를 자신의 비밀키(Sk2)를 이용하여 암호화한다(즉, 제2동료는 Sk2(RC1)를 계산한다)(단계 701). 다음으로, 제2동료는 자신의 그룹 구성원자격 인증서(GC2)를 GC1이 대응하는 그룹에 대응시켜 제1동료에게 송신한다(단계 703). 다음으로, 제1동료는 제2동료로부터 수신된 그룹 구성원자격 인증서(GC2)를 점검한다(단계 705). 점검이 GC2가 만족스럽지않다고 확인한 경우, 제1동료는 연결을 종료하도록 동작한다(단계 707). GC2가 만족스럽다고 점검된 경우, 제1동료는 암호화된 신청서를 제2동료의 공개키로써 해독하도록 동작한다(즉, 제1동료는 Pk2(Sk2(RC1))를 계산한다)(단계 709). 다음으로, 제1동료는 Pk2(Sk2(RC1))의 계산이 정확히 제1동료가 제2동료에게 송신했던 신청서(RC1)로 되는지를 결정한다(단계 S711). 결정이 부정적 결과가 되는 경우, 제1동료는 연결을 종료하도록 동작한다(단계 707). 결정이 긍정적 결과로 되는 경우, 도 7의 절차는 성공적으로 완료되었다고 간주된다(단계 713).
위에서 언급된 부류의 계산들을 수행하는 것은, 각종 실시예들에서, 에너지, 프로세서, 및/또는 자원들이 노드에 집중적임을 증명한다. 도 6과 도 7의 예시적인 인증절차들에 관해, GC1이 만족스럽고 제2동료가 구성원인 그룹에 대응한다고 결정되기까지 제2동료는 어떠한 계산(예컨대, 단계 619의 계산)도 수행하지 않는다는 점에 주의한다. 제2동료는 결정들이 긍정적 결과들이 되지 않는다면 연결을 파괴할 수 있다는 점에도 주의한다. 한편, 제1동료는 앞서 계산을 수행해야 한다(예컨대, 단계 607의 계산). 이러한 행위는, 예를 들어 제1동료가 적의 있는 동료인 경우, 제2동료는 계산들을 수행하는 것을 필요로 하지 않을 것이나 적의 있는 제1동료는 필요로 할 것이므로, 유익할 것이다.
도 6 및 7의 예시적인 인증절차들에 더 관련하여, 신청서들은 다른 노드가 제공된 인증서에 의해 가리켜진 노드임을 각 노드가 확인할 수 있게 한다는 점에 주의한다.
각종 실시예들에서는 수 개의 인증레벨들이 존재할 수 있음에도 더 주의한다. 예로서, 일반공개그룹은 개인그룹만큼 높은 보안성을 요구하지 않을 것이다. 따라서, 각종 실시예들에서, 다른 인증레벨들이 다른 그룹들에 제공될 수 있다. 예를 들어, 최고의 인증레벨은 그룹 구성원자격 인증서들의 교환, 비밀키 및 공개키 교환, 개인식별번호(Personal Identification Number; PIN), 비밀코드 등의 앤드 사용에 관계가 있다. 부가적인 보안단계로서, PIN, 비밀코드 등은 어쩌면 통신을 수립하는 노드들 사이의 직접 링크의 경우에서만 통신할 것이다.
각종 실시예들에서, 인증서 연쇄화(chaining)가 수행될 것임에 주의한다. 예를 들면, 그룹관리자는 사슬형(chained) 그룹관리 인증서들을 대표 그룹관리자들 등에게 제공하고, 대표 그룹관리자들은 그룹 구성원자격 인증서를 다른 사용자들에게 부여하는 권리를 대표 그룹구성원들에게 준다. 어떤 실시예들에서, 그룹의 모든 구성원들은 이러한 사슬형 그룹관리 인증서들을 소유하고 있을 수 있고 따라서 모든 구성원들은 새로운 구성원자격 인증서들을 부여할 권리가 주어질 수 있다. 어떤 실시예들에서, 새로운 구성원자격을 부여하는 권리는 하나 이상의 제약을 받을 수 있다. 이 제약은 예를 들어 사슬형 그룹관리 인증서들을 제공하는 그룹관리자에 의해 설정될 것이다.
이러한 제약들은, 구체적인 예로서, 사슬형 인증서를 소유한 개인들은 그룹관리자에게 연락이 되지 않는 경우에 다른 사람들에게 구성원자격을 부여할 수만 있게 규정할 것이다. 이러한 실시예에서, 사용자는 그룹관리자 및/또는 서비스제공자로부터 추후 사용 예를 들면 그룹관리자에게 연락이 되지 않는 경우에 사슬형 인증서를 요구할 것이다. 대안으로 또는 부가적으로, 이러한 사슬형 인증서는 그룹관리자에게 연락이 되지 않게 될 추후 사용을 위해 사용자 및/또는 그녀의 노드에 그룹관리자 및/또는 서비스제공자에 의해 제공될 것이다.
다수의 서비스제공자가 있는 실시예들에서는, 모든 관련 서비스제공자들의 공개키들을 사용자 노드들에 배포하는 것이 필요함에 주의한다. 이러한 것은 예를 들면 일반그룹을 통한 배포에 의해 발생할 것이다.
본 발명의 각종 실시예들에 의하면, 각종 동작들에 대해 요금이 부과될 수 있다. 예를 들면, 그룹 가입, 그룹 생성, 채팅방 가입, 채팅방 생성, 인스턴트 메시지 송신, 인스턴트 메시지 수신, 수신에 이용가능한 권리 생성, 및/또는 권리 수취와 같은 동작들에 대해 요금이 부과될 수 있다. 대안으로 또는 부가적으로, 예를 들면, 전술한 모듈들 그룹인증서들 및/또는 전술한 일반접근인증서들의 사용자의 수취에 대해 요금이 부과될 수 있다.
예를 들면, 서비스제공자는 그룹관리자에게 그룹관리자 인증서를 부여하기 위해 비용을 모을 것이다. 이 비용의 규모는 예를 들어 인증서에 기재된 그룹규칙들(예컨대, 그룹에서 허용되는 동작들(예컨대, 공유 및/또는 채팅), 그룹의 가시도(예컨대, 공개 또는 개인, 구성원들의 수 등)에 달려 있다. 각종 실시예들에서, 서비스제공자는 사용자가 동시에 얼마나 많은 그룹의 구성원이 될 수 있는 지의 한계를 설정 및/또는 제어할 수 있을 것이다. 어떤 실시예들에서는, 사용자의 노드 상의 소프트웨어모듈들은 가능한 그룹들의 수를 향상시키기 위해 업그레이드될 필요가 있을 것이다. 이러한 것은 예를 들어 서비스제공자에게 서비스 패키지로 번들 제공되거나 또는 별도로 거래될 것이다. 그룹관리자 소프트웨어모듈들은, 각종 실시예들에서, 그룹에 가입하고 탈퇴하는 것과 같은 행위들의 정보를 수집하고 자체적으로 및/또는 서비스제공자를 통해(예컨대, 요금부과 이벤트들을 서비스제공자에게 송신함으로써) 요금부과를 실행할 것이다.
메타데이터
여기에 설명된 본 발명의 각종 실시예들은 메타데이터를 채용하는 것으로 논의되었다. 예를 들어 메타데이터의 각종 양태들이 이제 논의될 것이다.
각종 실시예들에서는, 용인가능한 메타데이터 값들, 필드들 등의 하나 이상의 정해진 집합들 및/또는 스키마들이 있을 수 있다. 게다가, 각종 실시예들에서 사용자는 각종 목적들(예컨대, 검색)을 위해 메타데이터를 입력할 수 있다. 이러한 엔트리는 예를 들어 적당한 GUI요소들 등을 통해 될 것이다. 따라서, 예를 들면, 사용자는 정해진 집합들 및/또는 스키마들에 대응하는 메타데이터(예컨대, 주제, 제목, 형식, 제작자, 구성원이름 등)를 입력할 것이다.
각종 실시예들에서, 사용자는 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보(예컨대, 오디오) 등을 입력할 수 있다는 점에 더 주의한다. 이러한 엔트리는 예를 들어 적당한 GUI요소들에 관계가 있을 것이다. 각종 동작들(예컨대, 검색)에서, 이러한 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등은 예를 들어 용인가능한 메타데이터 값들, 필드들 등의 하나 이상의 정해진 집합들 및/또는 스키마들을 감안하여 고려될 수 있다.
각종 실시예들에서, 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등을 집합들 및 스키마들로부터의 적당한 메타데이터 값들, 필드들 등과 연관시키는 동작들이 수행될 수 있다. 집합들 및/또는 스키마들로부터의 이러한 적당한 메타데이터 값들, 필드들 등은, 예를 들어, 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등과 최상으로 상관되도록 결정된 것들일 수 있다. 연관들의 이러한 결정은, 예를 들어, 메타데이터 분석, 텍스트 분석, 가장 있음직한 메타데이터 값들, 필드들 등에의 키워드들의 매핑을 고려할 수 있다. 각종 실시예들에서, 용인가능한 메타데이터 값들, 필드들 등의 하나 이상의 정해진 집합들 및/또는 스키마들 에 대응하며 및/또는 예를 들어 검색과 같은 동작들을 위한 메타데이터를 사용자가 입력하는 것이 바람직할 수 있을 것이고 및/또는 제안될 수 있을 것이라는 점에 주의한다.
일단 사용자가 기준들(예컨대, 검색기준들)을 메타데이터, 및/또는 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등으로서 제공하였다면, 사용자의 노드는, 예를 들어, 적당한 메시지 등(질의메시지 등)을 디스패치하도록 동작할 것이다. 각종 실시예들에서, 예를 들어 각종 콘텐츠 형식들의 취급에 관련한 노드의 능력들을 기술하는 매개변수들을 사용자의 노드가 질의 등에 부가할 것임에 주의한다. 각종 실시예들에서, 사용자의 노드는 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등을 집합들 및/또는 스키마들로부터의 적당한 메타데이터 값들, 필드들 등과 연관시키도록 동작할 수 있다. 따라서, 노드는 연관들에 관련한 메타데이터 및/또는 다른 데이터를 메시지 등의 내부에 포함시킬 수 있다. 대안으로 또는 부가적으로, 사용자의 노드는 자유롭게 쓴 텍스트기반 키워드들, 다른 유형들의 정보 등을 적당한 메시지 등의 속에 포함시킬 것이고 및/또는 수신자 노드는 이러한 연관을 수행하도록 동작할 수 있다.
더욱이, 각종 실시예들에서, 그룹은 자체적으로 정해진 실무규정 및/또는 그룹특이 메타데이터 집합들 및/또는 스키마드들을 가질 수 있다. 이러한 것들은 예를 들어 그룹관리자, 구성원 및/또는 그룹에서 특정 역할을 담당하는 구성원에 의해 정해질 것이다. 어떤 실시예에서, 그룹특이 메타데이터 집합 및/또는 스키마는 집합의 부집합 및/또는 예를 들어, 모든 그룹들에 대해 이용가능하게 만들어진 및/ 또는 시스템관리자, 서비스제공자 등에 의해 만들어진 스키마일 수 있다. 예를 들면, 그룹은 음악 공유에 관련한 집합 및/또는 스키마를 가질 것이고 이 집합 및/또는 스키마는 파일공유집합의 부집합 및/또는 모든 그룹들에 이용가능하게 만든 스키마이며, 음악공유집합 및/또는 스키마는 음악 공유에 적당한 메타데이터 값들, 필드들 등만을 담고 있을 것이다.
다른 예로서, 그룹특이 메타데이터 집합 및/또는 스키마는 예를 들면 모든 그룹들 등에 이용가능하게 만들어진 집합 및/또는 스키마의 확장일 것이다. 이러한 그룹특이 메타데이터 집합 및/또는 스키마는 예를 들어 그룹의 특정한 것들에 관련한 부가된 메타데이터 값들, 필드들 등을 담고 있을 것이다. 구체적인 예로서, 음악에 대응하는 그룹은 음악 장르들에 관련한 메타데이터 값들, 필드들 등을 부가하며, 사진에 대응하는 그룹은 사진품질정보 및/또는 카메라 설정들에 관련한 메타데이터 값들, 필드들 등을 부가하고, 아마추어 무선에 대응하는 그룹은 DX 무선코드들에 관련한 메타데이터 값들, 필드들 등을 부가할 것이다. 각종 실시예들에서, 그룹특이 메타데이터 집합들 및/또는 스키마들은 어쩌면 대응하는 그룹에 속한 노드들 사이의 업데이트들을 교환함으로써 배포, 갱신 및/또는 유지보수 될 수 있다. 각종 실시예들에서, 노드는 그룹에 가입할 때 대응하는 그룹특이 집합 및/또는 스키마의 최종 버전을 수신할 것이다. 게다가, 각종 실시예들에서, 그룹에 관련된 노드는 아마도 하나 이상의 적당한 소프트웨어모듈들의 작용을 통해, 가입된 그룹들에 대응하는 그룹특이 집합들 및/또는 스키마들에 대한 업데이트들을 수신하도록 동작할 것이다. 이러한 것은 예를 들어 주기적으로 발생할 것이다.
사용자인터페이스
위에서 언급된 바처럼, 본 발명의 각종 실시예들은 여러 목적을 위해 그래픽사용자인터페이스(GUI)를 채용할 수 있다. 사용자 노드에 관한 예시적인 GUI기능성이 이제 논의될 것이다. 본 발명의 각종 실시예들에서는, 대안적인 GUI기능성이 채용될 것이다. 따라서, 각종 실시예들은 아래에 제시된 예시적인 화면들의 일부만을 채용할 수 있거나 전부를 채용하지 않을 수 있다.
도 8에 보인 것은 사용자가 다른 노드들에 의한 수신에 이용가능하게 만든 사용자관람용 엔티티들에 관련한 예시적인 GUI화면들이다. 화면 801에는, 사용자가 32개의 엔티티들을 그녀가 속한 6개 그룹에 대해 이용가능하게 만드는 것을 나타내고 있다. 화면 801의 아이템을 선택함으로써, 사용자에게는 그녀가 엔티티 유형을 선택할 수 있는 화면 803이 제시된다. 사용자가 엔티티 유형 "날짜별로(All by date)"를 선택한 경우, 그녀에게는 그녀가 속한 그룹들에 대해 그녀가 이용가능하게 만들어 놓은 각종 엔티티들 및 엔티티들의 폴더들이 제시될 수 있다(화면 805). 화면 805는 담겨 있는 대응하는 엔티티들을 볼 수 있게 하는 디스플레이된 폴더를 사용자가 선택할 수 있게 할 수 있다. 화면 805에 디스플레이된 엔티티들은 공유상태(예컨대, 차단됨, 공유하지 않음, 또는 어떤 그룹들에 대해 공유됨)를 보여주는 대응하는 그래픽표시자들을 가진다. 이 예에서, 화면 805에서의 "Ahma_spring" 폴더의 선택은 엔티티를 이용가능하게 된 그룹들을 나타내는 화면 807이 사용자에게 제시되게 할 수 있다.
도 9에 보인 것은 엔티티들에 관해 사용자에 의해 수행가능한 각종 동작들에 관련한 예시적인 GUI화면들이다. 화면 901에 관련하여 사용자는 엔티티들을 선택할 수 있고, 화면 903을 통해 사용자는 선택된 엔티티들을 공유하기 소망함을 나타낼 수 있다. 화면 905에서, 사용자는 선택된 엔티티들이 이용가능하게 되어야 할 지에 관해 그룹들에 대해 질의를 받고, 화면 907에서, 사용자는 공유를 위해 부가적인 설정들을 지시할 수 있다. 화면 909에서, 사용자에게는 사용자의 지시들에 응답하여 적당한 동작들이 수행됨의 표시가 제시된다. 화면 911에서, 사용자에게는 동작들이 성공적으로 완료되었다는 정보가 전해진다.
화면 913은 사용자가 파일의 공유를 차단 또는 차단해제할 수 있게 한다. 화면 915는 사용자가 엔티티의 공유를 금지한다고 지정한 경우에 질의를 제시한다. 사용자의 차단해제옵션 선택은 그녀에게 화면 917이 제시되게 한다. 화면 917에 제시된 질문에 사용자가 긍정적으로 대답하면, 그 엔티티의 공유가 가능하게 된다.
화면 921에서, 사용자는 엔티티를 삭제하려는 소망을 나타낼 수 있다. 화면 925에서 사용자는 삭제 요구의 확인이 요청된다. 사용자가 화면 925에서 삭제가 진행되어야함을 표시한 경우, 노드는 삭제를 수행할 수 있다.
화면 927은 특정 엔티티에 관련된 세부사항들을 보고자하는 소망을 사용자가 표시할 수 있게 한다. 화면 929 및 931에서, 엔티티에 관련된 세부사항들을 표시하는 목록이 사용자에게 제시된다. 화면 933은 사용자가 엔티티를 이름바꾸기 하기를 소망함을 표시할 수 있게 하고, 화면 935에서 사용자에게는 엔티티를 위한 새로운 이름의 입력이 프롬프트된다. 새로운 이름의 입력 후, 화면 937에 도시된 것처럼 사용자에게 확인이 디스플레이된다. 화면 939는 특정 그룹에만 공유된 엔티티들을 보기 원함을 사용자가 표시할 수 있게 한다. 화면 941은 사용자가 적당한 그룹을 선택할 수 있는 목록을 제시한다.
도 10과 도 11에 보인 것들은 노드의 사용자에 의해 수행가능한 엔티티 검색동작들에 관련한 각종 예시적인 GUI화면들이다. 도 10의 화면 1001을 통해, 사용자는 엔티티들의 검색을 소망함을 표시할 수 있다. 화면 1003에서, 사용자는 그녀가 검색하기 원하는 엔티티의 부류에 관해 프롬프트된다. 화면 1004, 1010 및 1015는 사용자에 의해 선택가능한 검색속성들의 목록들을 제시한다. 화면 1005를 통해, 사용자는 그녀가 검색을 원하는 엔티티들에 관련한 메타데이터에 대응하는 키워드들을 표시할 수 있다. 화면 1006에서, 사용자는 검색이 수행될 그룹들을 선택할 수 있다. 화면 1006을 통해, 사용자는 그녀가 가진 노드에 대해 검색을 행함을 부가적으로 지정할 수 있다. 화면 1007에서, 사용자는 그녀가 검색을 원하는 엔티티들에 관련한 크기 메타데이터를 지정할 수 있다. 화면 1009에서, 사용자는 그녀가 검색하기 원하는 엔티티들에 관련한 매체유형 메타데이터를 지정할 수 있다. 화면 1011에서, 사용자는 그녀가 검색을 원하는 엔티티들에 관련한 부가적 메타데이터를 지정할 수 있다. 화면 1013에서 사용자는 엔티티들의 검색 및/또는 수신 시에 채용하려는 하나 이상의 네트워크 인터페이스들을 지정할 수 있다. 화면 1016 및 1017을 통해, 사용자는 검색을 착수할 시간과 날짜를 지시할 수 있다.
도 11의 화면 1101에서, 사용자에게는 검색이 수행됨의 표시가 제공된다. 검색이 엔티티들을 발견하게 되는 경우, 사용자에게는 화면 1103에 제시되어 검색이 완료되었음이 통지되고 얼마나 많은 엔티티들이 발견되었는지가 사용자에게 알려진 다. 화면 1107을 통해, 사용자에게는 발견된 엔티티들이 제시되고 수신을 위해 하나 이상을 선택할 기회가 주어진다. 화면 1107에 디스플레이된 엔티티들은 대역폭 및 연결정보를 주는 대응하는 그래픽표시자들을 가진다. 사용자가 하나 이상의 파일들을 수신을 위해 선택한 경우, 그녀에게는 화면 1109이 제시되어 그것을 소망함의 확인이 질문된다. 검색이 엔티티들을 발견하지 못하게 된 경우, 사용자에게는 화면 1105가 제시되어 검색이 완료되었지만 발견된 엔티티가 없다는 것이 사용자에게 통지되고 추후의 사용을 위해 질의를 저장하는 옵션이 사용자에게 제시된다.
도 12와 도 13에 보인 것들은 노드의 사용자에 의해 수행가능한 인스턴트 메시징 동작들에 관련한 각종 예시적인 GUI화면들이다. 화면 1201을 통해 사용자는 인스턴트 메시징 동작들을 소망함을 표시할 수 있다. 화면 1203에서 사용자에게는 그녀가 구성원인 그룹들이 제시되고 인스턴트 메시징 동작들이 수행되어야 할 하나 이상의 그룹의 선택이 프롬프트된다.
화면 1205에서, 사용자에게는 각종 인스턴트 메시징 동작들에 제시되고 하나를 선택하라고 프롬프트된다. 제공된 동작들 중에는 새로운 메시지를 작성하여 어 디스패치하는 동작과 수신된 메시지들을 볼 수 있게 하는 동작이 있다. 사용자가 새로운 메시지를 작성하여 디스패치하는 것에 관련한 동작을 선택하는 경우, 그녀에게는 화면 1206에 제시되어 그녀는 메시지를 그룹 전체에 또는 선택된 구성원들에게만 송신하기 원함을 표시할 수 있다. 구성원들 선택 옵션이 사용자에 의해 선택된다면, 화면 1207이 디스플레이되어 하나 이사의 잠재적 수신자가 사용자에게 제시되고 그들 중의 하나 이상을 새로운 메시지의 수신자로서 선택할 것을 사용자 에게 프롬프트한다. 각종 실시예들에서, 사용자가 대신 행동하여 잠재적 수신자들을 검색하도록 할 것임에 주의한다.
화면 1209를 통해, 사용자는 메시지를 작성할 수 있고 그 메시지를 디스패치하기 소망함을 표시할 수 있다. 사용자가 메시지의 디스패치를 선택한 경우, 그녀에게는 디스패치가 일어남을 나타내는 화면 1211과 디스패치가 완료됨을 나타내는 화면 1213에 제시된다. 사용자가 화면 1205를 통해 메시지들의 관람에 관련한 동작을 선택한 경우, 그녀에게 관람가능한 메시지들을 알려주고 그녀가 관람을 위해 하나를 선택할 것을 프롬프트하는 화면 1301이 제시될 수 있다. 그렇게 메시지를 선택하면, 그것은 화면 1303을 통해 그녀에게 제시된다.
도 14에 보인 것들은 그룹생성에 관련한 각종 예시적인 GUI화면들이다. 화면 1401을 통해, 사용자는 새로운 그룹을 생성하기 소망함을 표시할 수 있다. 화면 1403을 통해, 사용자는 새로운 그룹에 대응하는 메타데이터를 지정할 수도 있다. 화면 1405를 통해, 사용자는 새로운 그룹을 위한 최대 구성원 수를 지정할 수 있다. 화면 1407을 통해, 사용자는 새로운 그룹에 대해 제공되어야 할 서비스들을 선택할 수 있다. 예를 들면, 화면 1407에서, 채팅방("Chat")과 인스턴트 메시징("IM") 서비스들이 선택을 위해 제공된다.
화면 1409를 통해, 사용자는 새로운 그룹을 위해 그룹관리자들에 관한 정보를 지정할 수 있다. 화면 1409에서, 사용자에게는 그녀만이 그룹관리자인 선택, 그녀 및 지정된 다른 사람들이 그룹관리자들인 선택, 및 지정된 다른 사람들만 그룹관리자들인 선택이 제공된다. 적절한 경우, 사용자에게는 그룹관리자가 될 다른 사 람들이 지정될 수 있는 GUI화면이 다음에 제시될 수 있다.
화면 1411을 통해, 사용자는 새로운 그룹에 가입하기 원하는 사용자가 구성원자격 애플리케이션 양식(form)을 채울 필요가 있는지를 지정할 수 있다. 사용자가 그러한 애플리케이션 양식이 요구될 것임을 사용자가 표시한 경우, 그녀에게는 애플리케이션 양식을 그녀가 정할 수 있게 하는 화면이 제시될 수 있다. 애플리케이션 양식을 정함에 있어, 사용자는 현존하는 구성원자격 애플리케이션 양식들로부터 선택하고 및/또는 그것들을 변형할 수 있을 것이다. 화면 1413을 통해 사용자는 검색동작들에 의해 새로운 그룹을 찾아낼 수 있을지를 표시할 수 있다. 화면 1415를 통해, 사용자는 새로운 그룹에 대응하는 만료일을 표시할 수 있다.
도 15에 보인 것들은 그룹들의 검색에 관련한 각종 예시적인 GUI화면들이다. 화면 1501을 통해, 사용자는 그룹의 검색을 소망함을 표시할 수 있다. 화면 1503에서, 사용자는 그녀가 검색을 원하는 그룹들에 관련한 이름 메타데이터를 지정할 수 있다. 화면 1505에서, 사용자는 그녀가 검색을 원하는 엔티티들에 관련한 키워드들을 지정할 수 있다. 화면 1507에서, 사용자는 그녀가 검색을 원하는 엔티티들에 관련한 부가적 메타데이터를 지정할 수 있다.
화면 1509에서, 사용자에게는 검색이 수행됨의 표시가 제공된다. 검색이 그룹들을 찾아내는 경우, 사용자에게는 화면 1511이 제시되어 검색이 완료되었음이 사용자에게 통지되고 얼마나 많은 그룹이 발견되었는지가 사용자에게 알려진다. 화면 1513을 통해, 사용자에게는 발견된 그룹들이 제시되고 그녀가 가입을 원하는 하나 이상의 그룹을 선택할 기회가 그녀에게 주어진다. 화면 1515에는 검색기준들에 부합하는 그룹이 발견되지 않았고 사용자에게 추후의 사용을 위해 그녀가 질의를 저장하기 원하는지에 관해 질의되는 경우가 보이고 있다.
도 16에 보인 것들은 사용자들 및/또는 대응하는 노드들의 검색에 관련한 각종 예시적인 GUI화면들이다. 화면 1601을 통해, 사용자는 사용자들 및/또는 대응하는 노드들의 검색을 소망함을 표시할 수 있다. 화면 1603에서, 사용자는 그녀가 검색하기 원하는 사용자들 및/또는 대응하는 노드들에 관련한 이름 메타데이터를 지정할 수 있다. 화면 1605에서, 사용자는 그녀가 검색하기 원하는 사용자들 및/또는 대응하는 노드들에 관련한 메타데이터에 대응하는 키워드들을 지정할 수 있다. 화면 1607에서, 사용자는 그녀가 검색하기 원하는 사용자들 및/또는 대응하는 노드들에 관련한 부가적 메타데이터를 지정할 수 있다.
화면 1609에서, 사용자에게는 검색이 수행됨의 표시가 제공된다. 검색이 사용자들 및/또는 대응하는 노드들이 발견하게 되는 경우, 사용자에게는 화면 1611에 제시되어 사용자에게는 검색이 완료됨에 통지되고 얼마나 많은 사용자 및/또는 대응하는 노드들이 발견되었는지가 알려진다. 찾아진 구성원들이 없는 경우, 화면 1615에서 추후 사용을 위해 질의를 저장하는 옵션이 사용자에게 프롬프트된다.
도 17에 보인 것은 특정 그룹에 가입하기 원하는지를 사용자가 표시할 수 있게 하는 예시적인 GUI화면(1701)이다. 특정 그룹은 예를 들어 위에서 언급된 부류의 검색 동작들을 통해 또는 수신 및 초대를 통해 찾아진 것일 수 있다. 사용자가 그러한 표시를 행한 후, 대응하는 애플리케이션 양식이 찾아졌음을 그녀에게 알려주는 예시적인 GUI화면(1703)이 그녀에게 제시될 수 있다. 예시적인 화면 1704에 서, 채워져야할 필수 필드들을 애플리케이션 양식이 담고 있음이 사용자에게 통지된다. 예시적인 GUI화면 1705에서, 사용자에게는 찾아진 양식이 완성을 위해 제시될 수 있다. 양식의 완성 후, 사용자는 화면 1705를 이용하여 완성된 양식을 적절히 제출할 수 있다. 응답으로, 사용자에게는 그 양식이 제출되었음을 알려주는 예시적인 화면 1707이 제시될 수 있다. 구성원자격이 부여된 사용자의 경우, 그녀에게는 예시적인 화면 1709가 제시될 수 있다.
사용자 인터페이스들에 더 관련하여, 각종 실시예들에서, 사용자가 그녀의 노드로 다른 일을 하기 전에 완료, 제시 등을 위해 사용자 인터페이스를 통해 요구된 동작들, 결과들 등을 사용자가 기다릴 필요가 없다는 점에 주의한다. 따라서, 예를 들어, 사용자는 여기에 기재된 다른 동작들을 수행하도록 행동하여(예컨대, 그러한 동작을 제공하는 소프트웨어의 다른 부분으로 이동함으로써), 요구된 동작들이 완료되기를 및/또는 요구된 결과들이 제시되기를 기다리는 동안 그녀의 노드에서 돌아가는 다른 애플리케이션으로 이동할 수 있다. 부가적으로, 사용자는, 각종 실시예들에서, 유효한 동작들의 완료 및/또는 진행의 비침입성(non-intrusive) 통지들 및 상태 업데이트들을 수신할 수 있다.
게다가, 위에서 언급된 바처럼, 각종 실시예들에서, 사용자에게는, 사용자인터페이스를 통해, 특정 네트워크 동작의 수행 시에 그녀가 발생시킬 비용 및/또는 그녀가 향유할 대역폭들의 정보가 알려질 수 있다. 예를 들면, 위에서 언급된 바처럼, 다수의 반사로가 특정 네트워크 동작에 관계가 있는 경우, 사용자에게는 총 비용 및/또는 평균 대역폭이 제시될 수 있다. 다른 예로서, 위에서 언급된 바처럼, 다수의 대안들이 네트워크 동작의 수행에 이용가능한 경우, 사용자에게는 각각의 대안에 대해 비용 및/또는 대역폭 정보가 제시될 수 있다.
부가적으로, 각종 실시예들에 의하면, 여기에 기재된 사용자인터페이스들은 노드 사용자에 의해, 예를 들면, 그 노드에 의해 제공된 조이스틱 등(예컨대, 5방향 조이스틱(5-way joystick)), 터치스크린, 및 키패드를 통해 액세스될 것임에 주의한다. 게다가, 본 발명의 각종 실시예들에 따르면, 사용자인터페이스들은 그룹기반 다운로드가능 엔티티들(미디어, 파일, 게임 등과 같은 콘텐츠)의 액세스를 가능케 하도록 구현될 수 있다는 점에 주의한다. 더욱이, 각종 실시예들에서, 사용자인터페이스들은 다운로드가능한 엔티티들에 대한 동작들이 그룹들에 대해 일어나도록 구현될 수 있다. 부가적으로, 각종 실시예들에서, 사용자인터페이스들은 다운로드가능한 엔티티들(예컨대, 콘텐츠)을 그룹들간에 혼합하는 것을 사용자가 하지 못하게끔 구현될 수있다.
본 발명의 각종 실시예들에 의하면, 이용가능한 동작들의 목록을 제공하는 GUI 주메뉴가 노드 사용자에게 제시될 수 있다. 이 목록에 포함되는 것은 예를 들어 "최신 콘텐츠 브라우즈(Browse Newest Content)", "국소 콘텐츠 액세스(Access Local Content)", "그룹들", 및/또는 "애플리케이션-와이드 기능들"일 수 있다.
"최신 콘텐츠 브라우즈"를 선택하는 사용자는, 예를 들어, 다운로드가능한 엔티티들의 받은편지함(inbox)을 액세스하고 및/또는 브라우즈하여, 사용자는, 예를 들면, 최근에 수신된 다운로드가능한 엔티티들을 브라우즈할 수 있게 된다. 각종 실시예들에 의하면, 다운로드가능한 엔티티들의 받은편지함 기능성은 받은편지 함이 어떤 날짜 및/또는 시점 이후로(예컨대, 마지막 로그아웃 이후로) 수신된 모든 다운로드가능한 엔티티들을 유지하고 및/또는 링크하도록 구현될 수 있다. 이러한 실시예들의 경우, 받은편지함의 브라우징은 어떤 날짜 및/또는 시점 이후로 수신된 다운로드가능한 엔티티들의 자동 검색의 수신 결과들로서 보여질 수 있다.각종 실시예들에서, 받은편지함을 브라우징하는 사용자에게는 수신된 다운로드가능한 엔티티들의 표시들이 제시되고, 이 표시들은 그룹, 콘텐츠유형 등에 기초한 부류들로 분류된다. 더욱이, 각종 실시예들에서, 그래픽 심벌들 등은 수신된 다운로드가능한 엔티티들의 표시들에 연관하여 제시될 수 있다. 그래픽 심벌들 등은 예를 들어 전송 캐리어, 비용 등의 표시들을 대응한다.
"국소 콘텐츠 액세스"를 선택한 사용자는, 각종 실시예들에서, 그녀의 노드에 유지된 모든 다운로드가능한 엔티티들(예컨대, 콘텐츠)을 볼 수 있고 및/또는 공유될 다운로드가능한 엔티티들 및 공유될 그룹들을 표시할 수 있다. 더욱이, 각종 실시예들에서, 사용자는 특정 엔티티들의 공유를 명백하게 차단하는 동작을 할 수 있다. 따라서, 예를 들면, 사용자에 대한 GUI디스플레이는 다운로드가능한 엔티티들의 목록과, 각각의 하나에 대해 하나 이상의 아마도 표시된 그룹들에 대해 차단, 비공유, 또는 공유와 같은 공유상태를 나타내는 그래픽심벌 등을 사용자에게 제시하도록 할 수 있다.
"그룹들"을 선택한 사용자는, 각종 실시예들에 따르면, 다수의 동작들을 수행할 수 있다. 예를 들면, 사용자는 예를 들어 그룹에 구성원들의 그룹에의 초대 및/또는 수신된 정보를 통한 그룹에 가입과 같은 초대에 대응하는 동작들과 같은 그룹관리동작들을 수행할 수 있다. 다른 예로서, 사용자에게 이용가능한 것은 예를 들어 그룹 애플리케이션 양식들을 위해 템플릿들에 액세스하는 능력과 같이 그룹생성에 관련한 동작들일 수 있다. 또 다른 예로서, 사용자에게 이용가능한 것은 예를 들어 위에서 논의된 바와 같이 사용자에 의해 제시된 정보에 기초하여 그룹 애플리케이션들 내에 개인 정보를 자동으로 미리 채우는 것과 같은 그룹 가입에 관련한 동작들일 수 있다.추가의 예로서, 사용자에게 이용가능한 것은 위에서 논의된 받은편지함을 특정 그룹에 관련하여 브라우징하는 동작들, 그룹 내의 다운로드가능한 엔티티들의 검색에 관련한 동작들, 및/또는 위에서 논의된 것과 같은 방식으로 특정 그룹에 관해 국소 콘텐츠에 액세스하는 것이 될 수 있다. 부가적인 예로서, 사용자에게 이용가능한 것은 그룹구성원들의 검색 및/또는 액세스에 관련한 동작들, 그룹구성원들에 관련한 정보에의 액세스 동작, 및/또는 채팅, 메시징 및 게임들과 같은 그룹 특징들에 액세스하는 것에 관련한 동작들일 수 있다. 각종 실시예들에서, 사용자는 임의의 그룹관련 동작을 수행하기 전에 단일 그룹을 선택하는 것이 요구될 수 있다.
"애플리케이션-와이드 기능들"을 선택하는 사용자는, 각종 실시예들에 따르면, 다수의 동작들을 수행할 수 있다. 예를 들면, 사용자는 진행중인 다운로드에 관한 동작들(예컨대, 보기진행, 일시중지, 취소 및/또는 삭제)을 수행할 수 있고, 및/또는 진행중인 업로드들에 관한 동작들(예컨대, 보기진행, 일시중지, 취소 및/또는 삭제)을 수행할 수 있게 된다. 다른 예로서, 사용자는 다운로드가능한 콘텐츠의 검색(예컨대, 메타데이터 및/또는 키워드들을 이용)을 수행하며, 그룹구성원들 의 검색(예컨대, 메타데이터 및/또는 키워드들을 이용)을 수행하며, 그룹들(예컨대, 공개그룹들)의 검색(예컨대, 메타데이터 및/또는 키워드들을 이용)을 수행하고, 및/또는 대응하는 설정들을 설정할 수 있게 된다. 또 다른 예로서, 사용자는 추후의 사용을 위해 검색질의들을 저장하고 및/또는 위에서 논의된 예를 들어 자동 미리 채움에 채용가능한 개인정보를 설정할 수 있게 된다.
하드웨어 및 소프트웨어
여기에 기재된 어떤 동작들 등은 컴퓨터들에 의해 및/또는 컴퓨터들의 도움으로 실행될 수 있다. 게다가, 여기에 기재된 노드들은 컴퓨터들에 통합되고 및/또는 컴퓨터들을 통합할 수 있다. "컴퓨터", "범용컴퓨터" 등의 어구들은, 여기에 사용된 바와 같이, 아마도 OS X, 리눅스, 다윈, 윈도우즈 CE, 윈도우즈 XP, 윈도우즈 서버 2003, 팜OS, 심비안OS 등과 같은 운영체계들을 돌리며, 아마도 시리즈 60 플랫폼을 채용하고 자바 및/또는 닷넷을 지원하는 프로세서 카드 스마트카드, 매체장치, 개인용컴퓨터, 공학용 워크스테이션, PC, 매킨토시, PDA, 컴퓨터형 손목시계, 유선 또는 무선 단말기, 서버, 네트워크 액세스 포인트, 네트워크 멀티캐스트 포인트 등을 말하지만 이것들에 한정되지는 않는다.
"범용컴퓨터", "컴퓨터" 등의 어구들은 또한, 메모리 또는 저장부가 데이터, 알고리즘들 및/또는 프로그램코드를 담고 있을 하나 이상의 메모리 또는 저장부에 동작상 연결되며 프로그램코드를 실행할 수 있을 것이고 및/또는 프로그램코드, 데이터, 및/또는 알고리즘들을 조작할 수 있을 하나 이상의 프로세서를 말하나 이것에 한정되지는 않는다. 따라서, 도 18에 도시된 바와 같은 예시적인 컴퓨터(18000) 는 두 개의 프로세서들(18051 및 18052)과 동작상 연결된 시스템버스(18050), 임의접근메모리(18053), 읽기전용메모리(18055), 입출력(I/O) 인터페이스들(18057 및 18058), 저장소인터페이스(18059), 및 디스플레이인터페이스(18061)를 구비한다. 저장소인터페이스(18059)는 대량저장소(18063)에 연결된다. I/O인터페이스들(18057 및 18058)의 각각은 이더넷, IEEE 1394, IEEE 1394b, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.16a, IEEE 802.20, 블루투스, 지상디지털비디오방송(DVB-T), 위성디지털비디오방송(DVB-S), 디지털오디오방송(DAB), 일반패킷무선서비스(GPRS), 범용이동통신서비스(UMTS), DVB-X, IrDA(적외선통신규격), 또는 이 기술분야에서 알려진 다른 인터페이스일 수 있다.
대량저장소(18063)는 하드드라이브, 광드라이브 등일 수 있다. 프로세서들(18057 및 18058)은 각각이 IBM 또는 모토롤라 파워PC, AMD 애슬론, AMD 옵테론, 인텔 ARM, 인텔 엑스스케일, 트랜스메타 크루소, 인텔 제논, 또는 인텔 펜티엄과 같은 공통적으로 알려진 프로세서일 수 있다. 이 예에서 보인 바와 같은 컴퓨터(18000)는 또한 터치스크린(18001) 및 키보드(18002)를 구비한다. 각종 실시예들에서, 마우스, 키패드, 및/또는 인터페이스는 대안적으로 또는 부가적으로 채용될 것이다. 컴퓨터(18000)는 카드판독기들, DVD드라이브들, 플로피디스크드라이브들 등을 부가적으로 구비하거나 이것들에 부착되어, 프로그램코드를 담고 있는 매체가 프로그램코드를 컴퓨터에 로딩하기 위해 삽입될 수 있다.
본 발명에 따라, 컴퓨터는 전술한 동작들의 하나 이상을 수행하도록 설계된 하나 이상의 소프트웨어모듈을 실행할 수 있다. 이러한 모듈들은 예를 들면 이 기 술분야에서 알려진 방법들에 따라 자바, 오브젝트 C, C, C# 및/또는 C++과 같은 언어들을 이용하여 프로그램될 것이다. 대응하는 프로그램코드는 예를 들면 DVD, CD-ROM, 및/또는 플로피디스크와 같은 매체에 놓일 것이다. 특정 소프트웨어모듈들 간의 동작들을 임의 설명적 분할은 예시를 위한 것이고 대안적인 동작 분할이 채용될 수 있음에 주의한다. 따라서, 하나의 소프트웨어모듈에 의해 수행되는 것으로 언급된 임의의 동작들은 복수 개의 소프트웨어모듈들에 의해 대신 수행될 수 있다. 마찬가지로, 복수 개의 소프트웨어모듈들에 의해 수행되는 것으로 언급된 임의의 동작들은 하나의 소프트웨어모듈에 의해 대신 수행될 수 있다. 특정 컴퓨터에 의해 수행되는 것으로 개시된 동작들은 복수 개의 컴퓨터들에 의해 대신 수행될 수 있다는 점에 주의한다. 각종 실시예들에서 그리드컴퓨팅 기법들이 채용될 수 있음에도 주의한다.
도 19에 보인 것은 본 발명의 각종 실시예들에서 채용가능한 예시적인 단말기의 기능블록도이다. 도 19의 단말기는 앞에서 논의되었다. 다음에서는, 대응하는 기준신호들이 대응하는 부분들에 인가되고 있다. 도 19의 단말기(19000)는 여기에 기재된 실시예들의 어느 것/전부에 이용될 수 있다. 단말기(19000)는 처리부인 CPU(1903), 다중반송파신호 단말부(수신부)(1905) 및 사용자인터페이스(1901, 1902)를 포함한다. 다중반송파신호 단말부(1905)와 사용자인터페이스(1901, 1902)는 처리부인 CPU(1903)와 결합된다. 하나 이상의 직접메모리액세스(DMA) 채널들이 다중반송파신호 단말부(1905) 및 메모리(1904) 사이에 존재할 수 있다. 사용자인터페이스(1901, 1902)는 디스플레이 및 키보드를 포함하여 단말기(19000)를 사용자가 사용가능하게 한다. 부가하여, 사용자인터페이스(1901, 1902)는 오디오신호들을 수신하고 재생하기 위해 마이크로폰과 스피커를 포함한다. 사용자인터페이스(1901, 1902)는 음성인식기능(미도시)을 포함할 수도 있다.
처리부인 CPU(1903)는 마이크로프로세서(미도시), 메모리(1904) 및 어쩌면 소프트웨어를 포함한다. 소프트웨어는 메모리(1904)에 저장될 수 있다. 마이크로프로세서는, 소프트웨어에 기초하여, 데이터스트림, 데이터수신 시의 임펄스 버스트노이즈의 허용한계의 수신, 사용자인터페이스에 출력의 디스플레이 및 사용자 인터페이스로부터 수신된 입력들의 판독과 같은 단말기(19000)의 동작을 제어한다. 이 동작들은 위에서 설명되어 있다. 하드웨어는 신호 검출용 회로, 복조용 회로, 임펄스 검출용 회로, 상당한 양의 임펄스노이즈가 나타나는 심벌의 샘플들의 제거용 회로, 추정량들의 계산용 회로, 및 손상된 데이터의 정정을 수행하기 위한 회로를 담고 있다.
여전히 도 19를 참조하면, 대안적으로, 미들웨어 또는 소프트웨어 구현이 적용될 수 있다. 단말기(19000)는 사용자가 편안히 휴대할 수 있는 핸드헬드기기일 수 있다. 유익하게는, 단말기(19000)는 멀티캐스트 송신스트림을 수신하기 위한 다중반송파신호 단말부(1905)를 포함하는 셀룰러이동전화기일 수 있다. 그러므로, 단말기(19000)는 어쩌면 서비스제공자들과 상호작용할 수 있다.
위의 기재가 많은 구체적 사항들을 담고 있지만, 이것들은 단순히 본 발명을 예시하여 설명하기 위해 제공된 것이고 발명의 범위를 제한하도록 구성된 것은 아니다. 따라서 이 기술분야의 통상의 지식을 가진자들에게는 각종 변형들 및 개조물 들이 발명의 정신과 범위를 벗어나는 일 없이 본 발명의 시스템들 및 프로세스들 내에서 이루어질 수 있다는 것이 명백할 것이다.

Claims (47)

  1. 엔티티들을 찾아내기 위한 방법에 있어서,
    사용자로부터의 엔티티들의 검색 요구를 제1노드에서 수신하는 단계로서, 상기 요구는 P2P(peer-to-peer)그룹 중에서 상기 엔티티들을 식별하는 검색정보를 포함하며 상기 P2P그룹은 공통의 특징을 갖는 복수 개의 노드들을 구비한, 단계;
    찾으려는 엔티티들에 대응하는 메타데이터와 상기 검색정보를 연관시키는 단계;
    상기 요구에 대응하는 메시지를 제2노드에 디스패치하는 단계로서, 상기 메시지는 상기 메타데이터의 적어도 일부를 포함하는, 단계; 및
    상기 P2P그룹에서 상기 제1노드의 구성원자격을 나타내는 인증서를 상기 제2노드에 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 디스패치된 메시지에 포함된 메타데이터에 부합하는 적어도 하나의 응신의 수신에 응답하여, 상기 P2P그룹에 대해 액세스가 제공될 수 있는 적어도 하나의 엔티티의 표시를 상기 제1노드를 통해 상기 사용자에게 제시하는 단계;
    적어도 하나의 액세스가능 엔티티에 액세스하기 위해 적어도 하나의 연결을 수립하는 단계로서, 상기 적어도 하나의 연결은 상기 인증서에 관련한 정보에 기초하여 인증되는, 단계;
    수립되고 인증된 연결들 중의 적어도 하나를 통해, 액세스가능 엔티티들 중의 적어도 하나에의 액세스 요구를 디스패치하는 단계; 및
    수립되고 인증된 연결들 중의 적어도 하나를 통해, 액세스가능 엔티티들 중의 적어도 하나에 대한 액세스를 받는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서, 상기 인증서는 서비스제공자의 비밀키로 서명된 구역을 담고 있고, 상기 구역은 상기 그룹의 관리자의 공개키와, 상기 서비스제공자에 의해 설정되며 상기 그룹에 대응하는 그룹규칙들을 담고 있는, 방법.
  4. 제1항에 있어서, 상기 인증서는 상기 그룹의 관리자의 비밀키에 의해 서명된 구역을 담고 있고, 상기 구역은 상기 사용자의 공개키와, 그룹관리자에 의해 설정된 그룹규칙들을 담고 있는, 방법.
  5. 제1항에 있어서, 상기 인증서는 상기 사용자의 신원의 증명을 제공하는, 방법.
  6. 제2항에 있어서, 액세스가능 엔티티들 중의 적어도 하나는 상기 P2P그룹의 구성원에 대응하는 노드인, 방법.
  7. 제2항에 있어서, 상기 요구는 제1소스를 통한 엔티티의 제1부분 및 제2소스 를 통한 상기 엔티티의 제2부분의 수신 표시를 포함하는, 방법.
  8. 제2항에 있어서, 상기 요구는 상기 사용자의 노드가 엔티티의 소스 부근에 있을 때 상기 엔티티의 수신 표시를 포함하는, 방법.
  9. 제1항에 있어서, 상기 메타데이터는 키워드들에 대응하는, 방법.
  10. 제2항에 있어서, 적어도 하나의 액세스가능 엔티티에 대응하는 네트워크액세스정보를 상기 사용자에게 제시하는 단계를 더 포함하는, 방법.
  11. 엔티티들을 찾아내기 위한 시스템에 있어서,
    저장된 프로그램코드를 갖는 메모리; 및
    상기 메모리에 동작상 연결되어 상기 저장된 프로그램코드에 따라 명령들을 실행하는 프로세서를 포함하며,
    상기 프로그램코드는, 상기 프로세서에 의해 실행될 때, 상기 프로세스가,
    사용자로부터의 엔티티들의 검색 요구를 제1노드에서 수신하는 단계로서, 상기 요구는 P2P그룹 중에서 상기 엔티티들을 식별하는 검색정보를 포함하며 상기 P2P그룹은 공통의 특징을 갖는 복수 개의 노드들을 구비한, 단계;
    찾으려는 엔티티들에 대응하는 메타데이터와 상기 검색정보를 연관시키는 단계;
    상기 요구에 대응하는 메시지를 제2노드에 디스패치하는 단계로서, 상기 메시지는 상기 메타데이터의 적어도 일부를 포함하는, 단계; 및
    상기 P2P그룹에서 상기 제1노드의 구성원자격을 나타내는 인증서를 상기 제2노드에 제공하는 단계를 수행하게 하는, 시스템.
  12. 제11항에 있어서, 상기 프로세서는,
    디스패치된 메시지에 포함된 메타데이터에 부합하는 적어도 하나의 응신의 수신에 응답하여, 상기 P2P그룹에 대해 액세스가 제공될 수 있는 적어도 하나의 엔티티의 표시를 상기 제1노드를 통해 상기 사용자에게 제시하는 단계;
    적어도 하나의 액세스가능 엔티티에 액세스하기 위해 적어도 하나의 연결을 수립하는 단계로서, 상기 적어도 하나의 연결은 상기 인증서에 관련한 정보에 기초하여 인증되는, 단계;
    수립되고 인증된 연결들 중의 적어도 하나를 통해, 액세스가능 엔티티들 중의 적어도 하나에의 액세스 요구를 디스패치하는 단계; 및
    수립되고 인증된 연결들 중의 적어도 하나를 통해, 액세스가능 엔티티들 중의 적어도 하나에 대한 액세스를 받는 단계를 더 수행하는, 시스템.
  13. 제11항에 있어서, 상기 인증서는 서비스제공자의 비밀키로 서명된 구역을 담고 있고, 상기 구역은 상기 그룹의 관리자의 공개키와, 상기 서비스제공자에 의해 설정되며 상기 그룹에 대응하는 그룹규칙들을 담고 있는, 시스템.
  14. 제11항에 있어서, 상기 인증서는 상기 그룹의 관리자의 비밀키에 의해 서명된 구역을 담고 있고, 상기 구역은 상기 사용자의 공개키와, 그룹관리자에 의해 설정된 그룹규칙들을 담고 있는, 시스템.
  15. 제11항에 있어서, 상기 인증서는 상기 사용자의 신원의 증명을 제공하는, 시스템.
  16. 제12항에 있어서, 액세스가능 엔티티들 중의 적어도 하나는 상기 P2P그룹의 구성원에 대응하는 노드인, 시스템.
  17. 제12항에 있어서, 상기 요구는 제1소스를 통한 엔티티의 제1부분 및 제2소스를 통한 상기 엔티티의 제2부분의 수신 표시를 포함하는, 시스템.
  18. 제12항에 있어서, 상기 요구는 상기 사용자의 노드가 엔티티의 소스 부근에 있을 때 상기 엔티티의 수신 표시를 포함하는, 시스템.
  19. 제11항에 있어서, 상기 메타데이터는 키워드들에 대응하는, 시스템.
  20. 제12항에 있어서, 적어도 하나의 액세스가능 엔티티에 대응하는 네트워크액 세스정보를 상기 사용자에게 제시하는 단계를 더 포함하는, 시스템.
  21. 무선노드에서 P2P환경에서의 공유를 용이하기 하기 위한 방법에 있어서,
    적어도 하나의 엔티티를 다른 사용자들과 공유하도록 선택할 때에 사용자에 의해 채용가능한 인터페이스를 제공하는 단계로서, 엔티티들의 각각은 특징적 메타데이터와 연관되는, 단계; 및
    상기 적어도 하나의 엔티티가 공유될 적어도 하나의 동료그룹을 지정할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 포함하는, 방법.
  22. 제21항에 있어서, 상기 엔티티들 중의 적어도 하나에 관한 정보를 제공함으로써 상기 엔티티들 중의 상기 적어도 하나와 추가적 메타데이터를 연관시킬 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 더 포함하는, 방법.
  23. 제21항에 있어서, 상기 사용자는 상기 적어도 하나의 동료그룹에서 적어도 하나의 수신자를 지정하는, 방법.
  24. 제21항에 있어서, 상기 인터페이스들은 그래픽사용자인터페이스들인, 방법.
  25. 제21항에 있어서, 다른 사용자들과 공유되는 엔티티들에 대응하는 표시들을 볼 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 더 포함하 는, 방법.
  26. 제21항에 있어서, 상기 엔티티의 공유를 명시적으로 차단할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 더 포함하는, 방법.
  27. 제21항에 있어서, 상기 엔티티들 중의 적어도 하나에 대해, 비용관련 정보 및 대역관련 정보 중의 적어도 하나를 상기 사용자에게 제공하는 단계를 더 포함하는, 방법.
  28. 제21항에 있어서, 요구하는 노드가 자신을 상기 적어도 하나의 동료그룹의 구성원으로서 인증하는 단계에 응답하여, 상기 요구하는 노드에 상기 엔티티들 중의 적어도 하나를 디스패치하는 단계를 더 포함하는, 방법.
  29. 제28항에 있어서, 인증하는 단계는, 상기 요구하는 노드가 상기 적어도 하나의 동료그룹에서의 구성원자격을 나타내는 적어도 하나의 인증서를 제공하는 단계를 포함하는, 방법.
  30. 제28항에 있어서, 인증하는 단계는, 공개키 기반구조 키 변경을 포함하는 방법.
  31. 제28항에 있어서, 인증하는 단계는 다수의 레벨들을 포함하는, 방법.
  32. 제31항에 있어서, 상기 다수의 레벨들 중의 적어도 하나는 동료그룹 구성원자격에 의존하여 선택가능한, 방법.
  33. 제21항에 있어서, 상기 적어도 하나의 동료그룹에 속한 노드에, 상기 노드가 가까이 있다고 판단되는 경우에 상기 엔티티들 중의 적어도 하나를 디스패치하는 단계를 더 포함하는, 방법.
  34. 무선노드에서 P2P환경에서의 검색을 용이하게 하기 위한 방법에 있어서,
    엔티티들의 검색 요구를 나타낼 때에 사용자에 의해 채용가능한 인터페이스를 제공하는 단계;
    상기 검색에 대응하는 메타데이터를 지정할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계;
    적어도 하나의 네트워크인터페이스의 채용을 지정할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계; 및
    검색을 위한 적어도 하나의 기준을 지시할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 포함하는, 방법.
  35. 제34항에 있어서, 상기 적어도 하나의 기준은 검색을 착수할 시간과 날짜를 포함하는, 방법.
  36. 제34항에 있어서, 상기 적어도 하나의 기준은 비용규제 및 대역폭규제 중의 적어도 하나를 포함하는, 방법.
  37. 제34항에 있어서, 상기 인터페이스들은 그래픽사용자인터페이스들인, 방법.
  38. 제34항에 있어서, 근래에 수신된 엔티티들을 브라우징할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 더 포함하는, 방법.
  39. 제38항에 있어서, 상기 근래에 수신된 엔티티들은 그룹별로 분류하여 표시되는, 방법.
  40. 제34항에 있어서, 상기 사용자는 추후의 검색을 위해 상기 메타데이터를 저장할 수 있는, 방법.
  41. 제34항에 있어서, 그룹 구성원들에 대응하는 데이터를 볼 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 더 포함하는, 방법.
  42. 제34항에 있어서, 그룹 가입 시 상기 사용자에 의해 채용가능한 인터페이스 를 제공하는 단계를 더 포함하는, 방법.
  43. 제42항에 있어서, 상기 그룹에 가입 시 상기 사용자에 의해 채용가능한 상기 인터페이스는 상기 사용자가 상기 그룹에의 초대를 수신할 수 있게 하는, 방법.
  44. 저장된 프로그램코드를 갖는 메모리; 및
    상기 메모리에 동작상 연결되어 상기 저장된 프로그램코드에 따라 명령들을 실행하는 프로세서를 포함하며,
    상기 프로그램코드는, 상기 프로세서에 의해 실행될 때, 상기 프로세서가,
    적어도 하나의 엔티티를 다른 사용자들과 공유하도록 선택할 때에 사용자에 의해 채용가능한 인터페이스를 제공하는 단계로서, 엔티티들의 각각은 특징적 메타데이터와 연관되는, 단계; 및
    상기 적어도 하나의 엔티티가 공유될 적어도 하나의 동료그룹을 지정할 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 수행하도록 하는, 무선노드.
  45. 제44항에 있어서, 상기 프로세서는 상기 엔티티들 중의 적어도 하나에 관한 정보를 제공함으로써 상기 엔티티들 중의 상기 적어도 하나와 추가적 메타데이터를 연관시킬 때에 상기 사용자에 의해 채용가능한 인터페이스를 제공하는 단계를 더 수행하는, 무선노드.
  46. 제44항에 있어서, 상기 사용자는 상기 적어도 하나의 동료그룹에서 적어도 하나의 수신자를 지정하는, 무선노드.
  47. 제44항에 있어서, 상기 인터페이스들은 그래픽사용자인터페이스들인, 무선노드.
KR1020057022638A 2003-05-27 2004-05-26 P2p환경에서의 사용자 대화를 위한 시스템 및 방법 KR100757976B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/446,576 US20040243672A1 (en) 2003-05-27 2003-05-27 System and method for user interaction in a peer-to-peer environment
US10/446,576 2003-05-27
US10/446,574 2003-05-27
US10/446,574 US20040243665A1 (en) 2003-05-27 2003-05-27 System and method for services provision in a peer-to-peer environment
PCT/US2004/016544 WO2004107124A2 (en) 2003-05-27 2004-05-26 System and method for user interaction in a peer-to-peer environment

Publications (2)

Publication Number Publication Date
KR20060015313A true KR20060015313A (ko) 2006-02-16
KR100757976B1 KR100757976B1 (ko) 2007-09-11

Family

ID=33493036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057022638A KR100757976B1 (ko) 2003-05-27 2004-05-26 P2p환경에서의 사용자 대화를 위한 시스템 및 방법

Country Status (4)

Country Link
EP (1) EP1631879A2 (ko)
KR (1) KR100757976B1 (ko)
CN (1) CN1823492A (ko)
WO (1) WO2004107124A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848289B1 (ko) * 2007-01-05 2008-10-10 엠피에스리서치(주) 무선망에서 피투피 기반의 확장성 있는 실시간 이동그룹통신 서비스 관리 시스템 및 방법
KR20110066674A (ko) * 2009-12-11 2011-06-17 엘지전자 주식회사 이동 통신 단말기에서의 데이터 수신 방법 및 이를 적용한 이동 통신 단말기
US8180853B2 (en) 2007-04-16 2012-05-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316088B2 (en) 2004-07-06 2012-11-20 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
CN100401683C (zh) * 2005-07-11 2008-07-09 华为技术有限公司 网络中对等资源接纳控制子系统实体之间的上报方法
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
GB0607294D0 (en) 2006-04-11 2006-05-24 Nokia Corp A node
US20080091771A1 (en) * 2006-10-13 2008-04-17 Microsoft Corporation Visual representations of profiles for community interaction
CN101425982A (zh) * 2007-10-30 2009-05-06 华为技术有限公司 一种实现聊天的方法、系统及装置
CN101674380A (zh) * 2008-09-12 2010-03-17 深圳华为通信技术有限公司 一种基于条件的用户选择方法、装置及服务器
KR101635615B1 (ko) * 2009-10-30 2016-07-05 삼성전자 주식회사 모바일 기기 및 모바일 기기의 제어 방법
US8301895B2 (en) * 2009-12-02 2012-10-30 Microsoft Corporation Identity based network policy enablement
CN102316127B (zh) 2010-06-29 2014-04-23 阿尔卡特朗讯 无线通信系统中基于分布式存储的文件传输方法
US20120269185A1 (en) * 2011-04-19 2012-10-25 Pbx Central Corpotation System and method for computer based collaboration initiated via a voice call
CN103532825A (zh) * 2012-12-18 2014-01-22 鹤山世达光电科技有限公司 基于群组的用户管理方法及用户管理系统
US10003659B2 (en) * 2014-10-31 2018-06-19 Qualcomm Incorporated Efficient group communications leveraging LTE-D discovery for application layer contextual communication
US10034169B2 (en) * 2014-11-12 2018-07-24 Qualcomm Incorporated Method to authenticate peers in an infrastructure-less peer-to-peer network
CN104935564B (zh) * 2015-04-14 2018-01-16 闪联信息技术工程中心有限公司 使基于mDNS协议的设备及服务在局域网中互相发现的方法
CN106201735A (zh) * 2016-06-27 2016-12-07 北京票之家科技有限公司 消息传输方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944662B2 (en) * 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US7383433B2 (en) * 2001-07-31 2008-06-03 Sun Microsystems, Inc. Trust spectrum for certificate distribution in distributed peer-to-peer networks
US20040133571A1 (en) * 2002-12-20 2004-07-08 Martin Horne Adaptive item search and user ranking system and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848289B1 (ko) * 2007-01-05 2008-10-10 엠피에스리서치(주) 무선망에서 피투피 기반의 확장성 있는 실시간 이동그룹통신 서비스 관리 시스템 및 방법
US8180853B2 (en) 2007-04-16 2012-05-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
US8984096B2 (en) 2007-04-16 2015-03-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
KR20110066674A (ko) * 2009-12-11 2011-06-17 엘지전자 주식회사 이동 통신 단말기에서의 데이터 수신 방법 및 이를 적용한 이동 통신 단말기

Also Published As

Publication number Publication date
WO2004107124A2 (en) 2004-12-09
WO2004107124A3 (en) 2006-01-26
KR100757976B1 (ko) 2007-09-11
EP1631879A2 (en) 2006-03-08
CN1823492A (zh) 2006-08-23

Similar Documents

Publication Publication Date Title
US20040243672A1 (en) System and method for user interaction in a peer-to-peer environment
US7660864B2 (en) System and method for user notification
KR100757976B1 (ko) P2p환경에서의 사용자 대화를 위한 시스템 및 방법
US20040243665A1 (en) System and method for services provision in a peer-to-peer environment
US20040260701A1 (en) System and method for weblog and sharing in a peer-to-peer environment
US20040243580A1 (en) System and method for message handling in a peer-to-peer environment
US10264095B2 (en) Control for inviting an unauthenticated user to gain access to display of content that is otherwise accessible with an authentication mechanism
Dingledine et al. The free haven project: Distributed anonymous storage service
US8886817B2 (en) Federation and interoperability between social networks
US8719375B2 (en) Remote data access techniques for portable devices
AU2007292453B2 (en) DRM aspects of peer-to-peer digital content distribution
US7277946B2 (en) Distributed session listing and content discovery
US20090216859A1 (en) Method and apparatus for sharing content among multiple users
US20160366221A1 (en) Message synchronization in networked data communications services callable by applications
US9654595B2 (en) Dynamically aggregating and configuring access to social networking contacts
US20080086458A1 (en) Social interaction tagging
Masinde et al. Peer-to-peer-based social networks: A comprehensive survey
US20080320040A1 (en) Methods and systems for use of a virtual persona emulating activities of a person in a social network
KR20040081058A (ko) 사회적 상호 작용을 위한 시스템 및 방법
TWI511064B (zh) 用於公用目錄服務之系統與方法
Verma Legitimate applications of peer-to-peer networks
Chen et al. Gradual adaption model for information recommendation based on user access behavior
JP2005196581A (ja) 分散コラボレーション・システムでコンタクトを保存し管理するための方法及び装置
JP2002207736A (ja) デジタル・コンテンツのコミュニティ・システム
JP2015114698A (ja) ソーシャルネットワーキングサービス提供システムおよびサーバ

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
LAPS Lapse due to unpaid annual fee