따라서, 본 발명의 목적은 임의의 수의 객체와 관련된 정보를 통신할 수 있는 시스템 및 방법을 제공하는 것이다.
이러한 본 발명의 목적은 본 발명의 독립 청구항 1 및 15에 의해 해결된다.
본 발명은 유리하게도, 실제 세계의 임의의 수의 객체를 임의의 위치에 위치될 수 있는 임의의 수의 데이터 처리 유닛 또는 응용 서버에 저장된 정보 서비스에 링크하게 한다. 이들 서비스는 텍스트, 이미지, 응용 프로그램 또는 임의의 다른 종류의 메시지일 수 있다. 데이터 처리 유닛 또는 응용 서버는 바람직하게는 서비스에 관련된 데이터를 포함하는 복수의 응용 데이터 패킷을 저장한다. 복수의 응용 데이터 패킷의 각각은 실제 세계의 복수의 객체 중 하나와 관련될 수 있다, 즉 객체에 관련된 정보를 포함한다. 응용 데이터 패킷은 임의의 크기로 이루어질 수 있다.
유리하게도, 복수의 디렉토리 서버의 각각은 각각의 객체를 적어도 하나의 응용 데이터 패킷과 결합한 객체 데이터를 포함하는 임의로 측정 가능한 데이터 베이스의 일부를 저장한다. 복수의 디렉토리 서버는 객체에 관련된 응용 데이터 패킷을 검색할 때 키 자원으로 작용한다. 판독 수단으로부터 판독 객체 태그를 수신하고, 판독 객체 태그에 관련된 객체 데이터를 저장 및 객체 데이터를 검색하기 위해 디렉토리 서버를 식별하는 수단이 제공된다. 동작 중에, 시스템 커널은 복수의 객체 중 하나에 관련된 객체 태그의 데이터를 수신하고, 복수의 디렉토리 서버 중 적어도 하나에 의해 실행되는 탐색에 기초하여, 저장 위치(들)의 어드레스, 즉 객체에 관련된 응용 데이터 패킷을 저장하는 응용 서버의 어드레스를 수득한다. 이어서, 응용 데이터 패킷이 검색될 수 있고, 장치에 공급될 수 있다. 장치는 이동 전화 또는 데이터 처리 유닛 등일 수 있다. 다른 방법으로, 판독 객체 태그에 관련된 객체 데이터가 장치에 송신될 수 있다. 본 발명은 따라서 유리하게 상이한 제공자로부터 상이한 서비스를 접속하게 한다.
본 발명의 유리한 실시예에서, 복수의 디렉토리 서버는 각각 복수의 응용 데이터 패킷이 복수의 객체 중 특정 객체에 관련되는 것에 대한 정보를 저장하는 태그 메모리 수단을 포함한다. 따라서, 태그 데이터 블록은 유리하게도 적어도 하나의 객체 태그 및 적어도 하나의 응용 식별자를 포함할 수 있다. 또한, 태그 데이터 블록은 응용 식별자에 대응하는 응용 데이터 패킷을 저장하는 응용 서버의 어드레스를 포함할 수 있다.
각각의 디렉토리 서버는 또한 유리하게도 태그 메모리 수단에 특정된 응용 데이터 패킷을 저장하는 응용 서버 어드레스에 대한 정보를 포함하는 어드레스 데이터 블록을 저장하는 어드레스 메모리 수단을 포함할 수 있다. 어드레스 데이터 블록은 유리하게도 각 응용 데이터 패킷이 제공될 수 있다. 따라서, 어드레스 데이터 블록은 대응하는 응용 데이터 패킷을 저장하는 서버의 응용 서버 어드레스 및 응용 식별자를 저장할 수 있다. 어드레스 데이터 블록은 응용 데이터 패킷에 관련된 객체의 객체 태그를 또한 저장할 수 있다. 어드레스 데이터 블록은 유리하게도 대응하는 응용 데이터 패킷이 제거되는 경우, 객체 데이터로부터 응용 식별자를 제거하는데 사용될 수 있다.
태그 메모리 수단 및 어드레스 메모리 수단은 유리하게도 객체가 자체의 태그를 통해 특정 저장 위치, 즉 특정 응용 서버의 어드레스에 간접적으로 링크될 수 있기 때문에, 중단 링크의 문제를 해결하게 한다. 특정 객체에 관련된 특정 응용 데이터 패킷의 조사는 따라서 유리하게도 태그 메모리 수단에서 특정 객체 태그를 탐색함으로써 실행될 수 있으며, 이어서 각각의 응용 식별자에 대한 응용 서버 어드레스가 어드레스 메모리 수단으로부터 검색될 수 있다.
본 발명의 다른 실시예에서, 상기 시스템은 유리하게도 해시 테이블에 사용 가능한 디렉토리 서버의 리스트를 저장하는 메모리 수단을 포함하고, 해시 테이블에 기초하여 특정 객체에 관련된 정보를 저장하는 디렉토리 서버 중 특정 서버를 식별하기 위해 해시 함수(hashfunction)가 제공된다. 해시 함수는 복수의 디렉토리 서버로 모든 객체 태그를 맵핑하는데 사용된다. 해시 함수는 객체 태그 및 관련된 객체 데이터 중 하나를 저장 및 제거하는 동작, 디렉토리 서버 중 하나로부터 객체 태그 중 하나에 관련된 객체 데이터를 검색하는 동작, 및 디렉토리 서버 중 하나로부터 다른 하나로 객체 태그를 재할당하는 동작에 사용될 수 있다.
유리하게도, 모든 객체 태그 및 디렉토리 서버 어드레스는 오름차순으로 번호가 부여될 수 있고, 연속적인 번호를 갖는 객체 태그의 태그 데이터 블록이 연속적인 번호를 갖는 디렉토리 서버에 저장되며, 지정된 번호에 의해 분류되는 모든 사용 가능한 디렉토리 서버의 리스트, 즉 그 어드레스가 해시 테이블로서 유지된다. 따라서, 특정 객체에 관련된 정보를 저장하는 디렉토리 서버는 해시 함수에 의해 식별될 수 있다. 결정된 디렉토리 서버는 객체 태그에 관련된 객체 데이터를 저장하기 쉽다. 결정된 디렉토리 서버가 객체 데이터를 저장하지 않는 경우, 해시 함수의 출력 범위는 1/2로 될 수 있다.
객체가 객체 데이터의 데이터 베이스에 삽입되는 경우, 적절한 디렉토리 서버가 유리하게도 해시 함수를 사용하여 계산될 수 있다. 더욱이, 새로운 디렉토리 서버가 사용 가능하게 되어 해시 테이블로 삽입되는 경우, 응용 데이터 블록의 위치를 저장하는 것이 유리하게 해시 함수를 사용하여 재계산될 수 있다.
바람직하게는, 해시 테이블은 적어도 하나의 감시 서버에 의해 저장되지만, 시스템 커널의 임의의 다른 구성 요소가 해시 테이블 또는 해시 테이블의 카피를 저장할 수 있다. 따라서, 해시 테이블의 카피가 디렉토리 서버 등에 저장되는 것이 가능하다. 해시 테이블의 카피는 처리 시간을 감소시키기 위해, 주기적으로만 갱신될 수 있다.
상기 시스템의 복수의 장치에 해시 테이블의 카피를 제공하는 것은 조사 동작이 다수의 장치에 의해 실행될 수 있기 때문에, 시스템의 응답 시간을 더욱 감소시킨다.
더욱이, 복수의 중개 서버가 시스템 커널의 구성 요소에 대한 정보를 저장하기 위해 제공될 수 있다. 중개 서버는 또한 해시 테이블의 카피를 저장할 수 있다.
유리하게도, 검색된 응용 데이터 패킷은 정보를 재생 또는 디스플레이하기 위해 사용되는 데이터 처리 장치로 또는 이동 전화로의 고정 및 무선 통신 링크를 통해 통신될 수 있다. 음성 처리와 같은 데이터 변환은 유리하게도 특정하게 제공되는 자원 수단에 의해 실행될 수 있다.
더욱이, 견고한 시스템을 제공하기 위해, 시스템 커널의 구성 요소가 복제 구성 요소에 의해 복제될 수 있다.
본 발명의 또 다른 이점은 종속항에 설명되어 있다.
본 발명은 첨부한 도면과 관련하여 볼 때 더욱 완전히 이해될 수 있다.
이하에는, 본 발명의 바람직한 실시예가 도면과 관련하여 설명된다.
도 1은 본 발명에 따르는 시스템의 일 실시예의 블록도를 도시한다. 이 시스템은 복수의 객체의 각각과 복수의 정보 서비스의 대응하는 서비스에 링크하도록 배치된다.
도 1의 실시예는 적어도 하나의 응용 서버(AS; AS1-AS) 및 복수의 디렉토리 서버(DS; DS1-DSn)를 갖는 시스템 커널(K)을 포함한다. 시스템 커널(K)은 복수의 응용 서버 및 전화(M), 데이터 처리 유닛(DPU) 등의 사이에서 데이터를 통신하도록 배치된다. 응용 서버는 각각 어드레스(IS; IS1-ISp)를 가지고, 응용 식별자(AI1-AIm)를 각각 갖는 복수의 응용 데이터 패킷을 저장한다. 응용 서버는 인터넷과 같은 공지된 데이터컴 또는 텔레컴 네트워크의 일부일 수 있다. 복수의 객체(D)는 각각 도시되는 복수의 태그(T)로 표시된다. 객체 태그의 데이터를 판독하여 동일한 것을 시스템 커널(K)에 송신하기 위해 판독기(R)가 제공된다.
상기 시스템은 예컨대, 물리적 세계의 임의의 제품 또는 아이템일 수 있는 복수의 객체를 객체에 관련된 다양한 종류의 정보에 링크하도록 배치된다. 따라서, 각 특정 객체를 초점이 맞추어진 정보 서비스의 세트와 관련시키는 것이 가능하다. 사용자는 특정 객체(D)에 관련된 그러한 정보 서비스의 세트 또는 판독기(R)를 사용하여 객체 태그(T; T1-Tw)를 판독함으로써 정보 서비스에 대한 정보를 검색할 수 있다. 객체에 대한 정보는 응용 서버의 대응하는 서버로부터 시스템 커널(K)에 의해 자동으로 수득된다. 수득된 정보는 시스템 커널로부터 정규 전화 또는 이동 전화일 수 있는 전화(M)로 또는 데이터 처리 유닛(DPU)으로 송출될 수 있다.
본 발명에 따르는 시스템을 이용하여, 사용자는 예컨대, 특정 객체 또는 제품의 제조자에 의해 제공되는 것으로서 객체 또는 객체의 그룹에 관련된 디폴트 정보에 액세스할 수 있다. 더욱이, 사용자는 객체에 관련된 특정 서비스를 실행할 수 있다. 사용자는 또한 객체에 사용 가능한 서비스 예컨대, 객체와 관련된 서비스의 리스트를 조사할 수 있고, 그 리스트를 브라우즈(browse)할 수 있다. 이 경우에, 객체에 관련된 모든 서비스의 리스트는 예컨대, 사용자에 의해 동작되는 데이터 처리 유닛(DPU)의 디스플레이 상에 디스플레이될 수 있다. 상기 시스템은 또한 예컨대, 룸(room)내의 또는 도어(door) 등을 통과하는 객체 태그를 자동으로 판독하는데 사용될 수 있다.
어드레스(IS; IS1-ISp)를 갖고 객체(D)에 관련된 데이터를 저장하는 복수의 응용 서버는 인트라넷, 사내 네트워크 또는 인터넷과 같은 현재의 컴퓨터 네트워크와 유사한 세계의 임의의 위치에 위치될 수 있다. 복수의 응용 서버의 일부 또는 모두가 적어도 하나의 공지된 데이터컴 또는 텔레컴 네트워크의 일부를 구성하고, 시스템 커널(K)만이 객체 및 서비스 사이의 링크로서 작용하는 것이 또한 가능하다. 응용 서버는 따라서, 전용 장치일 수 있거나 다른 네트워크와 공유될 수 있다. 응용 서버에 저장된 데이터는 예컨대, 관련 데이터 또는 다른 종류의 기록 정보를 저장하는 다른 서버에 링크하는 제품의 사용자 매뉴얼과 같은 텍스트일 수 있다. 더욱이, 상기 데이터는 이미지, 비디오, 오디오 신호 등을 포함할 수 있다. 응용 서버 및 이동 전화 및/또는 데이터 처리 유닛 사이의 시스템 커널(K)을 통한 데이터의 교환은 응용의 대화식 실행을 포함하는 것이 또한 가능하다.
판독기(R)는 복수의 객체 태그(T;T1-Tw) 중 하나를 판독하기 위해 배치된다. 판독기는 바코드 판독기 또는 임의의 다른 판독 장치일 수 있다. 객체 태그는 통상적으로 사용되는 바와 같이 능동 또는 수동 태그일 수 있고, 바람직하게는 매우 작다. mm 범위의 태크가 현재 사용 가능하다.
판독기(R)는 이동 전화(M) 및/또는 데이터 처리 유닛(DPU)에 접속되는 독립 장치(PCMCIA 크기)일 수 있거나, 판독기, 이동 전화(M), 데이터 처리 유닛(DPU)를 포함하는 파선으로 도 1에 도시되어 있는 바와 같이 이동 전화(M) 및/또는 데이터 처리 유닛(DPU)에 통합될 수도 있다. 객체 태그를 판독하기 위해, 사용자는 바람직하게는 객체 태그에 판독기를 지향시키고 판독 프로세스를 개시한다. 그러나, 객체 태그가 예컨대, 판독기의 근처에 있는 경우 자동으로 판독되는 것도 또한 가능하다.
판독기(R), 이동 전화(M) 및 데이터 처리 유닛(DPU) 및 시스템 커널(K) 사이의 정보의 송신은 고정된 통신 라인을 통해 또는 무선 통신을 통해 실행될 수 있다. 예를 들어, 데이터 송신은 이동 전화 네트워크, 고정 라인을 사용하는 전화 네트워크 및 컴퓨터 네트워크를 포함할 수 있다.
도 1은 하나의 판독기(R)만을 도시하고 있지만, 상기 시스템은 다수의 판독기를 동작시키는 다수의 사용자에 서비스할 수 있다. 사용자는 어떠한 위치에도 위치될 수 있고, 사용자가 정보에 대한 요구를 발하고 판독 객체 태그를 송신하는 시스템 커널에 접속하는 것이 유일한 요구 조건이다. 바람직하게는, 각 사용자에게는 예컨대, 이동 전화(M) 또는 데이터 처리 유닛(DPU)일 수 있는 디렉토리 서버 또는 응용 서버 중 하나로부터 검색된 정보를 수신하는 장치가 설치될 수도 있다.
동작시에, 시스템 커널(K)은 판독기(R)에 의해 판독되는 객체(D)의 객체 태그(T; T1-Tw)를 포함하는 사용자로부터의 정보에 대한 요구를 수신한다. 이러한 요구의 수신시에, 시스템 커널(K)은 객체(D)에 관련된 정보를 저장하는 응용 서버를 식별하는 동작을 실행한다. 응용 서버 및 어드레스(IS; IS1-ISp)가 각각 적절하게 식별되면, 객체(D)에 관련된 데이터는 응용 서버로부터 검색될 수 있고 사용자에게 제공될 수 있다.
상기 시스템에 의해 조정되는 데이터의 양, 즉 객체의 수 및 응용 데이터 패킷의 수는 과도하게 커질 수 있으므로, 단일 유닛이 객체를 응용 데이터 패킷에 관련시키는 모든 정보를 조정할 수 없다. 따라서, 시스템 커널(K)은 각각의 응용 데이터 패킷을 적어도 하나의 복수의 객체에 관련시키는 객체 데이터의 데이터 베이스의 일부를 각각 저장하는 복수의 디렉토리 서버(DS; DS1-DSm)를 포함한다.
사용 가능한 커널 구성 요소에 대한 정보를 유지하는 수단이 제공되는 것이 바람직하다. 통상적으로, 상기 정보는 시스템 커널의 임의의 구성 요소에 유지될 수 있다. 그러나, 이러한 목적으로 하나 또는 복수의 전용 감시 서버(도시 생략)가 제공될 수도 있다. 감시 서버의 수는 예컨대, 상기 시스템에 의해 조정되는 트래픽(traffic)에 의존할 수 있다. 감시 서버/서버들은 예컨대, 모든 디렉토리 서버의 어드레스의 최신의 리스트를 항상 유지할 수 있다. 또한, 상기 리스트의 주기적으로 갱신된 카피가 시스템 커널내의 다른 위치에 저장될 수 있다.
본 발명의 키 양태는 객체 데이터의 데이터 베이스가 복수의 디렉토리 서버(DS; DS1-DSn)에 분배되어, 객체의 수가 새로운 디렉토리 서버를 새로운 객체 데이터를 저장하는 기존의 서버에 부가함으로써 거의 임의적으로 측정될 수 있게 하는 것이다. 각각의 디렉토리 서버(DS; DS1-DSn)는 바람직하게는 사용 가능한 객체 태그(T; T1-Tw)의 작은 수의 범위에 관련된 객체 데이터를 저장한다. 상기 논급된 바와 같이, 객체 태그에 관련된 객체 데이터는 바람직하게는 객체에 관련된 응용 데이터 패킷의 응용 식별자(AI1-AIm) 뿐만 아니라 응용 데이터 패킷의 저장 위치 예컨대, 응용 데이터 패킷을 저장하는 응용 서버(IS; IS1-ISp)의 어드레스에 대한 정보를 포함한다.
본 발명의 일 실시예에 따르면, 시스템 커널(K)에 의한 응용 데이터 패킷의 검색은 2 단계로 실행될 수 있다. 제1 단계에서, 객체에 관련된 객체 데이터를 저장하는 디렉토리 서버가 식별되고 객체 데이터가 검색된다. 제2 단계에서, 객체 데이터를 사용하여, 응용 데이터 패킷이 응용 서버 및/또는 객체 데이터로부터 검색되거나, 그 일부가 사용자에게, 즉, 이동 전화(M) 및/또는 데이터 처리 유닛(DPU)으로 송신된다.
정확한 디렉토리 서버를 식별하는 제1 단계는 모든 사용 가능한 디렉토리 서버(DS1-DSn)의 어드레스 또는 식별자를 포함하는 해시 테이블(H)의 조사를 통해 실행될 수 있다. 이러한 조사 절차를 용이하게 하기 위해, 해시 함수가 사용된다.
해시 함수는 복수의 객체를 복수의 디렉토리 서버(DS; DS1-DSn)에 맵하는데 사용된다. 객체의 수가 디렉토리 서버의 수보다 크기 때문에, 해시 함수는 각각의 디렉토리 서버에 객체의 그룹에 관련된 객체 데이터를 할당하는데 사용된다. 따라서, 각각의 객체 태그가 해시 함수를 사용하여 목표 디렉토리 서버에 할당된다. 바람직하게는, 해시 함수는 사용 가능한 디렉토리 서버 상에 균일하게 객체 태그를 분배한다. 그러한 맵핑을 용이하게 하기 위해, 바람직하게는 모든 객체 및 디렉토리 서버의 시퀀스가 예컨대, 수, 스트링 등에 의해 정의된다. 다수의 상이한 맵핑계획(scheme) 또는 해시 함수가 이용될 수 있다.
복수의 디렉토리 서버 상으로의 객체 데이터의 분배가 해시 함수에 대응하는 정의된 계획에 따르기 때문에, 특정 객체 태그에 관련된 객체 데이터를 저장하는 목표 디렉토리 서버를 식별하는 동일한 계획을 사용하는 것이 가능하다. 객체 데이터가 데이터 베이스에 대한 변경에 기인하여 목표 디렉토리 서버에서 발견되지 않는 경우, 해시 함수는 추가의 실시예에 관하여 설명된 바와 같이, 객체 데이터를 저장하는 실제 디렉토리 서버를 식별하기 위한 추가의 단계를 포함한다.
새로운 객체 데이터가 디렉토리 서버에 기초하여 데이터에 삽입되는 경우, 이하 더욱 상세하게 설명되는 바와 같이, 데이터가 재배치되어야 하는 경우 또는 디렉토리 서버의 수가 변경되는 경우, 해시 함수가 또한 이용될 수 있다.
설명된 실시예의 시스템 커널(K)은 바람직하게는 판독기(R)에 의해 판독되는 객체 태그(T; T1-Tw)를 포함하는 객체에 대한 정보의 요구를 수신하는 적어도 하나의 액세스 서버(AS; AS1-ASr)를 포함한다. 더욱이, 바람직하게는 적어도 하나의 액세스 서버(AS; AS1-ASr)는 적어도 하나의 디렉토리 서버(DS; DS1-DSn)로부터 수득되는 응용 서버의 어드레스(IS; IS1-ISp)를 검색하고/하거나 대응하는 응용 데이터 패킷을 검색한다. 도 1의 실시예에서, 적어도 하나의 액세스 서버(AS; AS1-ASr)는 판독기(R)를 사용하여 판독되는 객체 태그(T; T1-Tw)에 관하여 시스템으로부터의 검색 정보에 접속된 요구의 체인을 실행한다.
다른 실시예에서, 예컨대, 지리적 위치에 의해 그룹화된 사용자의 그룹에 각각 서비스하거나 복수의 객체의 서브그룹에 각각 서비스하는 복수의 임의로 위치되는 액세스 서버(AS; AS1-ASr)가 제공될 수 있다.
객체 태그(T)를 포함하는 정보의 요구를 수신한 후에, 액세스 서버(AS; AS1-ASr)는 객체에 관련된 응용 데이터 패킷에 관한 정보를 저장하는 디렉토리 서버(DS; DS1-DSn)를 식별하기 위한 동작을 실행한다.
이것은 바람직하게는 차례로 해시 함수 및 해시 테이블(H)을 사용하여 디렉토리 서버(DS1; DS2; ...; DSn) 중 하나로 객체 태그(T; T1-Tw)를 포함하는 요구를 송출하는 것을 포함하고, 객체 태그(T; T1-Tw)를 저장하는 디렉토리 서버를 결정하며, 이 요구를 특정 디렉토리 서버로 전송한다. 그러나, 액세스 서버(AS; AS1-ASr) 또는 시스템 커널(K)의 다른 구성 요소가 정확한 디렉토리 서버를 식별하기 위한 단계를 실행하는 것도 또한 가능하다.
정확한 디렉토리 서버(Ds; DS1-DSn)의 식별 후에, 객체 태그(T; T1-Tw)를 포함하는 요구가 식별된 디렉토리 서버로 전송된다. 디렉토리 서버는 후속 단계에서, 판독 객체 태그(T; T1-Tw) 및 그에 따라서 객체(D)와 관련된 응용 데이터 패킷을 저장하는 응용 서버(IS; IS1-ISp)의 모든 어드레스를 결정하기 위한 동작을 실행한다. 이후에 설명되는 바와 같이, 조사 요구가 정확한 디렉토리 서버에 도달하기 전에 추가의 장치로 중계되는 중간 단계가 또한 가능하다.
수득된 어드레스(IS; IS1-ISp) 및 액세스 서버(AS; AS1-ASr)로 복귀될 수 있으며, 이후에 선택적으로 다른 정보가 식별된 응용 서버로부터 특정 응용 데이터 패킷을 검색하거나 어드레스(IS; IS1-ISp) 및 가능하게는 다른 정보를 사용자에게, 즉, 이동 전화(M) 또는 데이터 처리 유닛(DPU)에 직접 송신한다.
전술한 바와 같이, 응용 서버는 물리적인 객체에 관련된 다양한 서비스를 제공한다. 그러나, 본 발명에 따르는 시스템은 바람직하게는 부가적인 정보 서비스를 포함하기 위해 다른 정보 시스템과 호환 가능하다. 호환 시스템은 예컨대, 인터넷일 수 있다. 이 경우에, WWW 정보는 본 발명에 따르는 시스템에 의해 객체 태그에 기초하여 검색될 수 있다. 상기 시스템은 인터넷과 같은 기존의 컴퓨터 네트워크의 저장 수단을 전적으로 사용하지만, 자신의 응용 서버를 제공하지는 않는 것이 가능하다. 본 발명에 따르는 시스템 및 방법은 객체에 관련된 정보를 검색하는 공지된 데이터컴 또는 텔레컴 네트워크의 표준 및/또는 보정 프로토콜을 사용하는 것이 또한 가능하다.
이하에서, 도 2에 관하여, 해시 테이블(H)에 유지되는 사용 가능한 디렉토리 서버(DS; DS1-DSn)의 리스트의 실시예가 설명된다.
상기 설명된 바와 같이, 판독기(R)로부터 객체 태그(T; T1-Tw)를 수신한 후에, 액세스 서버(AS; AS1-ASr)는 디렉토리 서버 중 하나로 요구를 송신하고, 차례로 수신된 객체 태그(T)에 관련된 객체 데이터를 저장하는 복수의 디렉토리 서버(DS; DS1-DSn) 중 특정 서버를 식별하기 위한 동작을 실행한다.
해시 테이블은 시스템 커널(K)의 임의의 구성 요소에 의해 저장될 수 있다. 그러나, 바람직하게는, 새롭게 사용 가능한 디렉토리 서버 및 제거된 디렉토리 서버의 트랙을 유지하기 위한 최신의 해시 테이블이 항상 적어도 하나의 감시 서버(HS1-HSt)에 저장된다. 해시 테이블의 카피가 정확한 디렉토리 서버에 관한 요구를 수신할 때 조사 동작을 실행하기 위해 각각의 디렉토리 서버에 부가적으로 저장될 수 있다. 더욱이, 해시 테이블의 카피가 적어도 하나의 액세스 서버 또는 중개 서버(도시 생략)에 저장될 수 있다.
해시 테이블의 카피는 항상 최신으로 되어야 할 필요는 없다. 해시 테이블의 카피는 갱신 수단(도시 생략)에 의해 주기적으로만 갱신되는 것이 바람직하다. 객체 데이터의 조사가 비임계적인 단계이기 때문에, 자원이 해시 테이블(H)의 카피를 주기적으로 갱신함으로써 절감될 수 있다.
도 1에 관하여 간략하게 설명된 바와 같이, 디렉토리 서버(DS1; DS2; ...; DSn) 중 하나가 요구된 객체 태그에 관련된 정보를 저장하는 디렉토리 서버를 식별하는 것이 바람직하다. 그러나, 시스템 커널(K)의 다른 구성 요소가 정확한 디렉토리 서버를 식별하는 수단으로서 작용할 수 있다.
바람직하게는, 해시 테이블(H)은 응용 서버의 어드레스를 포함하는 기록을 저장하는 다수의 엔트리를 포함한다.
도 2의 예에서, 해시 테이블은 8개의 엔트리를 포함하고, 사용 가능한 서버의 어드레스가 해시 테이블의 각각의 연속적인 엔트리내에 기록으로서 저장된다. 따라서, 해시 테이블은 도 2에 도시되어 있는 바와 같이, 모든 사용 가능한 디렉토리 서버의 순위가 정해진 리스트를 구성한다. 해시 테이블(H)에 저장된 기록은 4개의 디렉토리 서버(DS; DS1-DSn)의 어드레스를 나타내는 A, B, C 및 D로 표시된다. 그러나, 임의의 다른 순위 예컨대, D, B, A, C도 가능하다.
상기 설명된 바와 같이, 디렉토리 서버에서 객체 태그에 대한 불필요한 조사 동작을 방지하기 위해, 객체 데이터가 도 2에 표시된 탐색 수단(SM)에 의해 실행될 수 있는 해시 함수에 따라서 디렉토리 서버에 저장될 수 있다. 탐색 수단(SM)은 바람직하게는 객체의 수 및 사용 가능한 디렉토리 서버의 수에 따라서 객체 태그를 그룹화하고, 즉, 객체 데이터를 저장 및 검색하기 위한 목표 디렉토리 서버가 예컨대, 태그에 할당된 수일 수 있는 객체 태그의 식별자 및 사용 가능한 디렉토리 섭(DS; DS1-DSn)의 수에 기초하여 결정된다.
객체 태그는 그룹화될 수 있고, 객체 태그의 각 그룹에 관련된 객체 데이터는 해시 함수 또는 임의의 계획을 사용하여 복수의 디렉토리 서버 중 하나에 저장될 수 있다. 객체에 관련된 객체 데이터를 디렉토리 서버에 저장하고 객체에 관한 정보의 요구를 수신할 때 정확한 디렉토리 서버를 결정하기 위해, 동일한 계획 또는 해시 함수가 사용되게 하는 것만이 요구된다. 예를 들어, 저장 계획으로서, 모든 객체 태그 및 디렉토리 서버가 연속적으로 번호가 부여될 수 있으며, 연속적인 번호를 갖는 객체 태그에 관련된 객체 데이터가 연속적인 번호를 갖는 디렉토리 서버에 저장될 수 있다.
도시된 실시예에서, 연속적인 번호를 갖는 객체 태그를 연속적인 번호를 갖는 디렉토리 서버 상에 맵하는 해시 함수가 사용된다. 따라서, 각각의 디렉토리 서버(DS; DS1-DSn)는 연속적으로 번호 부여된 객체 태그(T1-Tw)의 서브그룹을 저장하여, 연속적인 번호를 갖는 객체 태그가 연속적인 번호를 갖는 디렉토리 서버에 저장된다. 따라서, 제1 객체 태그(T1)에 관련된 객체 데이터는 제1 디렉토리 서버(DS1)에 저장되고, 제2 객체 태그(T2)에 관련된 객체 데이터는 제2 디렉토리 서버(DS2)에 저장되며, 제3 객체 태그(T3)에 관련된 객체 데이터는 제3 디렉토리 서버(DS3)에 저장되고, 제4 객체 태그(T4)에 관련된 객체 데이터는 제4 디렉토리 서버(DS4)에 저장된다. 4개의 디렉토리 서버가 사용 가능하기 때문에, 제5 객체 태그(T5)에 관련된 객체 데이터가 다시 제1 디렉토리 서버(DS1)에 저장되고, 유사하게 모든 다른 객체 태그가 사용 가능한 4개의 디렉토리 서버에 저장된다.
디렉토리 서버에 객체 데이터를 저장/검색하기 위한 상기 해시 함수는 다른 맵핑 계획이 사용될 수 있는 예로서만 작용한다. 예를 들어, 특정 범위의 수를 갖는 객체 태그의 블록은 특정 디렉토리 서버에 저장될 수 있다는 것이 또한 가능하다.
상기 시스템의 중요한 특징은 객체 데이터의 큰 데이터 베이스를 조정하는 능력이다. 더욱이, 상기 시스템은 객체 데이터의 데이터 베이스의 크기를 변화시키는데 적합한 특징을 제공한다. 특히, 상기 시스템은 새로운 객체 데이터의 삽입 또는 구식의 객체 데이터의 제거를 조정할 수 있다. 또한, 상기 시스템의 용량이 증가될 필요가 있는 경우, 새로운 디렉토리 서버가 부가될 수 있고, 객체 데이터의 저장 위치가 그에 따라 재배치될 수 있다. 유사하게, 디렉토리 서버가 제거될 수 있다. 이러한 것은 모두 해시 함수를 사용하여 객체 데이터에 대한 디렉토리 서버를 적절하게 할당함으로써 및 해시 테이블(H)을 적절하게 배치함으로써 달성된다.
이하에서, 히시 테이블(H) 및 최신의 객체 데이터의 데이터 베이스를 유지하기 위한 처리 단계 및 객체 데이터를 검색하는 단게의 예는 도 2a에 관하여 설명된다.
먼저, 일부 유지 동작이 전반적으로 간략히 설명된다.
새로운 디렉토리 서버가 사용 가능하게 되는 경우, 이 서버가 새로운 기록으로서 해시 테이블(H)에 부가될 수 있다. 유사하게, 해시 테이블 엔트리 중 하나가 비게 되는 경우 디렉토리 서버 중 하나가 제거될 수 있다.
그러나, 사용 가능한 디렉토리 서버의 수가 변경되는 경우에, 앞서 저장된 객체 데이터가 이전의 디렉토리 서버의 수에 기초하는 해시 함수를 사용하여 복수의 디렉토리 서버에 맵핑된 반면에, 목표 디렉토리 서버는 새로운 디렉토리 서버의 수에 기초하여 식별된다. 이것은 종종 원하는 객체에 관련된 객체 데이터를 실제로 저장하는 디렉토리 서버에 유도하지 않는다. 이 경우에, 해시 함수는 원하는 객체 데이터를 실제로 저장하는 디렉토리 서버가 최종적으로 식별될 때까지 특정 시퀀스에 따라서 남아 있는 디렉토리 서버에 질의하도록 설계될 수 있다.
상기의 경우에, 앞서 저장된 객체 데이터가 정확한 목표 디렉토리 서버, 즉, 현재의 새로운 디렉토리 서버의 번호에 기초하여 결정된 디렉토리 서버로 전송된다. 이러한 전송은 예컨대, 요구시에 객체 데이터가 정확한 디렉토리 서버에 위치되지 않는 것으로 밝혀진 경우, 실행될 수 있다.
이러한 진행에 따르면, 디렉토리 서버의 수가 변경된 후에, 객체 데이터의 데이터 베이스가 객체 태그의 정확한 저장 위치 및 관련된 객체 데이터에 관하여 점진적으로 갱신된다, 즉, 각각의 목표 디렉토리 서버로 이동된다.
객체 데이터의 데이터 베이스의 일부가 복제된 서버로부터 백업 서버로 카피되는 경우, 새롭게 사용 가능한 디렉토리 서버가 디렉토리 서버 중 하나를 복제하도록 백업 서버로서 삽입될 수 있음에 유의하라.
상기 유지 단계는 바람직하게는 최신의 해시 테이블을 항상 사용하기 위해, 적어도 하나의 감시 서버(HS1-HSt)에 의해 실행된다.
이후에, 도 2a의 플로우차트의 단계가 상세히 설명된다.
먼저, 새로운 객체 태그에 대응하는 새로운 객체 데이터의 삽입이 설명된다.
단계 S21에서, 상기 시스템은 복수의 디렉토리 서버에 분배된 자체의 데이터 베이스에 새로운 객체 데이터를 삽입하도록 통지된다.
단계 S22에서, 새로운 객체 데이터를 저장하는 주요 디렉토리 서버가 예컨대, 새로운 객체 태그에 할당된 수에 기초하여 또한 사용 가능한 디렉토리 서버의 수에 기초하여 계산된다. 주요 디렉토리 서버를 식별하는 단계는 바람직하게는 적어도 하나의 감시 서버(HS1-HSt) 중 하나에 의해 실행된다. 그러나, 시스템 커널(K)의 임의의 다른 구성 요소가 주요 디렉토리 서버를 식별할 수 있다. 따라서, 새로운 객체 데이터를 저장하는 주요 디렉토리 서버를 식별하는 해시 함수는 사용 가능한 디렉토리 서버의 수에 의존하고, 따라서 특정 객체 태그에 대한 목표 디렉토리 서버가 도 2a에 이중 화살표로 표시된 바와 같이 사용 가능한 디렉토리 서버의 수에 따라 변화한다.
새로운 객체 데이터에 대한 목표 디렉토리 서버가 해시 함수를 사용하여 식별된 후에, 객체 데이터는 단계 S23에서 목표 디렉토리 서버에 전송되어 저장된다. 이것은 새로운 객체 데이터를 삽입하는 단계의 시퀀스를 완료시킨다.
이후에, 또한 도 2a에 관하여, 원하는 객체 태그 또는 객체에 관련된 객체 데이터에 대한 조사 동작을 실행하는 단계가 설명된다.
단계 S24에서, 조사 요구가 시스템 커널(K)에 의해 수신된다. 상기 설명된 바와 같이, 요구는 일반적으로 판독기(R)를 사용하여 객체 태그를 판독하는 사용자에 의해 발해진다.
조사 요구의 수신에 이어서, 특정 객체 태그에 대한 주요 디렉토리 서버가 단계 S22에서 해시 함수에 따라서 결정된다. 단계 S22는 파선의 박스로 표시된 바와 같이 데이터를 삽입하고 객체 데이터를 검색하는 것과 동일하다. 객체 태그에 대한 주요 디렉토리 서버가 해시 함수를 사용하여 결정된 후에, 객체 데이터에 대한 요구가 단계 S25에서 목표 디렉토리 서버로 송신된다.
단계 S26에서는, 주요 디렉토리 서버에서, 객체 태그에 관련된 객체 데이터가 주요 디렉토리 서버에 실제로 위치되는지가 결정된다. 상기 설명된 바와 같이, 이것은 데이터 베이스가 크기 변경되고 디렉토리 서버가 부가 또는 제거될 수 있기 때문에, 일반적인 경우는 아니다. 따라서, 원하는 객체에 관련된 객체 데이터가 데이터 베이스에 저장된 후에 새로운 디렉토리 서버가 부가되는 경우, 단계 S22에서 계산되는 주요 디렉토리 서버는 디렉토리 서버와 상이하며, 여기에 객체 데이터가 실제로 저장된다. 객체 태그에 관련된 객체 데이터가 데이터 베이스에 삽입된 후에 디렉토리 서버 중 하나가 제거되는 경우에도, 상기는 참(true)을 유지한다.
객체 데이터가 식별된 주요 디렉토리 서버에 위치되는 경우, 단계 S27에서 객체 데이터가 디렉토리 서버로부터 검색되고, 시스템 커널에 의해 실행되는 원하는 정보를 사용자에게 제공하는 후속 단계가 실행된다. 상기 설명된 바와 같이, 이것은 객체 데이터 또는 사용자에게, 즉, 데이터 처리 유닛(DPU) 및/또는 이동 전화(M)에 직접 송신하는 객체 데이터 또는 그 일부에 기초하여 응용 서버로부터 응용 데이터 패킷을 검색하는 것을 포함할 수 있다.
단계 S26에서, 객체 태그에 관련된 객체 데이터가 식별된 주요 디렉토리 서버에 위치되지 않는 것이 결정된 경우, 단계 S28에서, 조사 요구가 다른 디렉토리 서버에 전송된다. 디렉토리 서버의 수가 최근 증가된 경우에, 조사 요구는 이전의 사용 가능한 디렉토리 서버의 수에 기초하여 해시 함수를 사용하여 결정되는 디렉토리 서버로 전송될 수 있다. 디렉토리 서버의 수가 최근에 감소된 경우에도, 상기는 참을 유지한다. 디렉토리가 원하는 객체 데이터를 저장하지 않는 경우, 에러 메시지가 발생되고 동작은 종료한다.
그러나, 조사 요구가 모든 남아 있는 디렉토리 서버에 전송되는 것이 또한 가능하다. 객체 데이터가 원하는 위치에 위치되지 않는 경우, 정확한 디렉토리 서버가 단계 S28에서 식별된 후에, 단계 S29에서 객체 데이터가 디렉토리 서버로부터 검색되고 그 데이터 베이스로부터 소거된다.
이어서, 흐름은 단계 S23으로 진행한다. 단계 S23에서, 상기 설명된 바와 같이, 검색된 객체 데이터가 단계 S22에서 결정된 목표 디렉토리 서버에 저장된다.
도 3은 본 발명의 다른 예에 따르는 플로우차트를 사용하여 객체에 관련된 응용 데이터 패킷을 검색하는 단계를 설명한다. 이 실시예에서, 디렉토리 서버를 식별하는 모듈로(modulo) 동작을 이용하는 해시 함수를 포함하는 조사 동작이 설명된다. 도 3은 또한 객체 데이터가 정확한 디렉토리 서버에 저장되지 않은 것을 검출하는 경우에 객체 데이터가 해시 함수를 사용하여 어떻게 재배치될 수 있는지를 설명한다.
단계 S31에서, 시스템 커널(K)은 사용자로부터 객체에 관련된 정보를 요구하는 요구를 수신한다. 요구는 적어도 판독 수단(R)으로부터 시스템 커널로 송신되는 객체(D)의 객체 태그(T; T1-Tw)를 포함한다. 또한, 상기 요구는 예컨대, 사용자의 어드레스 또는 식별자 및 요구되는 정보 또는 서비스의 유형을 특정하는 파라미터를 포함할 수 있다. 바람직하게는, 상기 요구는 액세스 서버(AS; AS1-ASr) 중 하나에 의해 수신된다. 그러나, 상기 논급된 바와 같이, 시스템의 다른 구성 요소가 요구를 수신 또는 처리할 수도 있다.
객체에 관련된 정보에 대한 요구를 수신할 때, 단계 S32에서, 서버 해시 테이블(H)내의 엔트리의 수가 파라미터 α로 지정되고, 객체 태그의 수가 파라미터 β로 지정된다. 이후의 단계 S33에서, 모듈로 동작 βmod α가 실행되고, 그 결과는 파라미터 γ로 지정된다.
후속 단계 S34에서, 수 γ를 갖는 해시 테이블 위치가 디렉토리 서버(DS; DS1-DSn) 중 하나의 어드레스를 포함하는 기록을 포함하는지의 여부가 결정된다, 즉, 지정된 수 γ를 갖는 디렉토리 서버가 사용 가능한지가 결정된다.
서버 해시 테이블의 위치 γ가 비어 있는 경우, 단계 S35에서 동작 α=α/2가 실행되고 흐름이 단계 S33으로 복귀한다. 단계 S33에서, 다시 β mod α가 새로운 γ를 수득하기 위해 계산된다. 흐름은 해시 테이블 위치 γ가 디렉토리 서버 어드레스 중 하나를 포함하는 기록을 포함하는지가 다시 결정되면, 다시 단계 S34에 도달한다.
이러한 단계 S33, S34 및 S35의 루프는 단계 S35에서 해시 테이블 위치 γ가 디렉토리 서버 어드레스를 포함하는 기록을 포함하는지가 결정될 때까지 반복된다. 그 후, 단계 S36, 판폭 객체 태그를 포함하는 요구가 목표 디렉토리 서버, 즉 자체의 어드레스가 해시 테이블 위치 γ에 저장되는 디렉토리 서버에 송신된다.
이어서, 단계 S37에서, 목표 디렉토리 서버는 자체에 저장된 객체 데이터가 판독 객체 태그를 포함하는 기록을 실제로 포함하는지를 결정한다. 그러한 기록을 찾을 수 없는 경우, 흐름은 단계 S33으로 복귀하고 γ가 새롭게 계산된다. 흐름은 객체 데이터를 저장하는 디렉토리 서버가 발견될 때까지, 상기 설명한 바와 같이 계속된다. 디렉토리 서버가 객체 데이터를 저장하지 않는 경우, 에러 메시지가 발생된다.
단계 S38에서, 상기 방법에 의해 계산된 제1 사용 가능 디렉토리 서버가 판독 객체 태그를 포함하는 객체 데이터를 포함하지 않는 경우, 객체 데이터 재배치가 실행된다. 이 경우에, 객체 데이터는 상기 방법으로 계산된 바와 같이 제1 사용 가능 디렉토리 서버에 재배치된다. 재배치 동작은 바람직하게는 새로운 디렉토리 서버에 객체 데이터를 저장하는 것과 오래된 디렉토리 서버에 대해 객체 데이터를 삭제하는 것을 포함한다.
단계 S39에서, 객체 데이터를 저장하는 디렉토리 서버는 객체와 관련된 응용 데이터 패킷을 저장하는 객체 데이터 응용 서버 어드레서(IS; IS1-ISp)로부터 결정하고, 검색된 어드레스 및 응용 식별자를 액세스 서버(AS; AS1-ASr)에 복귀시킨다.
단계 S40에서, 응용 서버의 수득된 어드레스를 사용하여 각각의 데이터 패킷이 검색되거나 응용 서버 어드레스가 사용자에게 송신된다.
다른 실시예에서, 원하는 객체 데이터를 저장하는 디렉토리 서버의 어드레스를 포함하는 해시 테이블의 위치의 수는 목표 객체의 수 모듈로 디렉토리 서버의 수를 계산함으로써 수득될 수 있다. 또한, 이것은 조사 동작을 실행하는 단계의 상이한 시퀀스 예컨대, 단계 S39, S38 및 S40의 시퀀스에 부착될 수 있다.
또한 다른 실시예에서, 응용 데이터 패킷을 검색하는 대신에, 어드레스 정보 및 서비스에 대한 추가의 정보가 예컨대, 요구를 개시하는 유닛에 송신될 수 있다. 더욱이, 모듈로 동작 대신에, 복수의 디렉토리 서버(DS; DS1-Dsn)에 객체 데이터의 유사한 분배를 제공하는 다른 수학적인 연산이 이용될 수 있다.
이후에, 새로운 객체에 관련된 객체 데이터를 복수의 디렉토리 서버(DS; DS1-Dsn)에 유지되는 데이터 베이스에 입력하는 동작의 예가 도 4에 관하여 설명된다. 도 4에서, 도 3에 관하여 설명된 해시 함수가 사용된다.
객체 데이터를 데이터 베이스에 삽입하기 위해, 적어도 하나의 감시 서버(HS1-HSt)에 저장된 최신의 해시 테이블이 사용된다.
단계 S41에서, 시스템 커널(K)은 새로운 객체에 관련된 객체 데이터를 복수의 디렉토리 서버에 유지되는 데이터 베이스에 삽입하기 위해, 사용자 또는 시스템 관리자로부터 요구를 수신한다.
단계 S42 내지 단계 S45에서, 도 3과 유사하게, 객체 데이터를 저장하는 디렉토리 서버의 수 γ가 계산된다. 단계 S42-S45가 단계 S32-S35에 대응하기 때문에, 그 설명은 생략한다.
단계 S44에서, 위치 γ에서 디렉토리 서버가 사용 가능한지가 결정되고, 단계 S46에서, 객체 데이터가 위치 γ에서 디렉토리 서버에 저장된다.
해시 테이블에 의존하여, 단계 S44에서, 해시 테이블의 위치 γ에서 디렉토리 서버가 식별된다. 이후에, 단계 S47에서, 시스템 커널은 디렉토리 서버 γ에서 새로운 객체 태그에 관련된 객체 데이터의 저장을 개시한다.
설명하지는 않았지만, 상기 동작은 응용 서버에 각각의 응용 데이터 패킷을 저장하는 것을 포함할 수 있다.
도 3에 관하여 설명된 앞의 예와 유사하게, 다른 실시예에서, 새로운 객체 태그에 관련된 객체 데이터를 저장하는 목표 디렉토리 서버가 사용 가능한 수의 디렉토리 서버에 해시 함수를 적용함으로써 수득될 수 있다.
도 3 및 도 4에 관하여 전술한 단계들은 객체 태그에 관련된 객체 데이터가 해시 테이블의 위치 γ에서 디렉토리 서버에 저장될 가능성이 가장 높게 한다. 더욱이, 예를 들어, 새로운 디렉토리 서버가 삽입된 경우, 또는 오래된 디렉토리 서버가 제거된 경우, 객체 데이터가 적절하게 재배치되게 한다.
이후에, 도 5에 관하여, 복수의 디렉토리 서버(DS; DS1-Dsn) 중 하나의 실시예가 설명된다.
일 예로서, 디렉토리 서버(DS1)의 구성 요소가 예시되어 있다. 디렉토리 서버(DS1)는 디렉토리 서버의 동작을 제어하는 중앙 처리 유닛(CPU)를 포함한다. 더욱이, 태그 메모리 수단(TM)이 객체 및 적어도 하나의 응용 식별자(AI1-AIm)를 각각 포함하는 복수의 태그 데이터 블록(TB1-TBi)를 저장하기 위해 제공된다. 또한, 태그 데이터 블록은 적어도 하나의 응용 식별자(AI1-AIm)에 대응하는 응용 데이터 패킷을 저장하는 응용 서버 어드레스(IS; IS1-ISp)를 포함할 수 있다.
도 5에 도시되어 있는 디렉토리 서버(DS1)의 실시예는 응용 식별자(AI1-AIm) 중 하나, 대응하는 응용 서버 어드레스(IS; IS1-ISp) 및 선택적으로 대응하는 객체 태그(T; T1-Tw)를 각각 포함하는 복수의 어드레스 데이터 블록(AB1-ABk)을 저장하는 어드레스 메모리 수단(AM)을 더 포함한다. 어드레스 데이터 블록은 예컨대, 응용 데이터 패킷이 제거된 경우, 폐영역 회수(garbage collection)를 실행하기 위해 사용될 수 있다. 이 경우에, 어드레스 데이터 블록은 각각의 응용 식별자를 저장하는 태그 데이터 블록을 식별하게 한다.
도 5의 우측에는, 태그 데이터 블록(TBi)의 일 예가 도시되어 있다. 데이터 블록의 제1 저장 위치에, 객체 태그가 저장되고, 태그 데이터 블록의 후속 위치에 객체 태그(T; T1-Tw)에 관련된 응용 데이터 패킷의 응용 식별자가 저장된다. 도시된 예에서, 응용 식별자(AI10, AI12)가 태그 데이터 블록(TBi)에 포함된다. 또한 파선으로 표시된 바와 같이, 태그 데이터 블록(TBi)은 응용 서버 어드레스를 포함할 수 있으며, 여기에 응용 식별자(AI10, AI12)에 대응하는 응용 데이터 패킷을 저장하기 위해 취해진 응용 서버 어드레스(IS2)가 도시되어 있다.
또한 도 5의 우측에는, 어드레스 데이터 블록(ABk)의 일 예가 도시되어 있다. 어드레스 데이터 블록(ABk)의 제1 위치에, 응용 식별자가 저장된다. 도시된 예에서, 응용 식별자(AI10)가 저장된다. 어드레스 데이터 블록(ABk)의 후속 위치에, 도 5의 실시예에서, 응용 식별자(AI10)를 갖는 응용 데이터 패킷이 어드레스(IS2)를 갖는 응용 서버에 위치되기 때문에, 응용 서버 어드레스(IS2)가 저장된다. 또한, 파선으로 도시된 바와 같이, 어드레스 데이터 블록(ABi)은 객체 태그를 포함할 수 있으며, 여기에 응용 데이터 패킷(AI10)에 대응하는 객체 태그(T; T1-Tw)가 도시되어 있다.
대체 실시예에서, 디렉토리 서버는 단일 메모리 수단을 포함할 수 있으며, 그 경우에 객체에 관련된 모든 객체 데이터는 제공된 메모리 수단에 저장된다.
디렉토리 서버(DS1)가 특정 객체에 대한 조사 요구를 수신한 경우, 객체가 디렉토리 서버(DS1)에 실제로 위치되는지가 먼저 결정된다. 객체가 디렉토리 서버에 위치되지 않는 경우, 객체 태그를 포함하는 요구가 다른 디렉토리 서버에 전송될 수 있다. 그러나, 객체 태그를 포함하는 태그 데이터 블록이 디렉토리 서버(DS1)에 저장되는 경우에, 객체에 관련된 응용 데이터 패키지의 위치에 대한 정보를 검색하기 위한 동작이 실행될 수 있다. 도 5의 실시예에서, 객체 태그(T; T1-Tw)에 관한 정보가 요구되는 경우, 디렉토리 서버(DS1)는 태그 데이터 블록(TBi)를 식별한다. 태그 데이터 블록(TBi)은 응용 식별자(AI10) 및 응용 서버 어드레스(IS2)를 포함한다.
응용 서버 어드레스(IS2)가 데이터 블록에 포함되지 않는 경우, 그 어드레스는 어드레스 데이터 블록(ABk)으로부터 결정된다. 복수의 응용 데이터 패킷에 관한 복수의 그러한 조사 절차는 디렉토리 서버에 의해 실행될 수 있고, 그 결과는 탐색 요구를 발하는 유닛에 복귀된다.
이후에, 객체 태그의 구조의 실시예가 간략하게 설명된다. 충분히 큰 수의 객체를 참조할 수 있게 하기 위해, 객체 태그는 바람직하게는 적어도 128 비트를 포함한다. 이 비트는 ASCII 코드 등에 따르는 코드 숫자 또는 부호일 수 있다.
일 예로서, 이후에 숫자가 코딩되는 한 예가 설명된다. 객체 태그는 바람직하게는 일반부와 특정부로 구성된다. 예를 들어, 특정 제공자가 100000 객체 태그의 수열(number series)를 요구하는 경우, 예컨대, 수열 5878700000-5878799999가 예약될 수 있다. 이 경우에, 열 데이터는 식별 번호 5878700000을 사용하여 저장될 수 있다. 객체 태그의 최상위 숫자는 바람직하게는 객체 태그의 일반부의 길이를 설명하고, 상기 예에서는 5 숫자이다. 일반 정보의 조사는 이 열의 객체 태그 예컨대, 태그 5878701234에 대해 실행되고, 객체 태그는 선두 5 숫자에 의해 상기 10000 수의 수열의 일부로서 식별된다. 상기 열은 5개의 최종 숫자를 0으로 둠으로써 구성되고, 상기 조사는 열 번호 5878500000에 의해 실행된다.
상기 예는 실제 시스템에서 객체 태그를 10 숫자에 의해서만 나타내지만, 바람직하게는 더욱 큰 수의 숫자가 사용된다.
이후에, 시스템 커널(K)의 실시예가 도 6에 관하여 설명된다.
도 6의 도시된 실시예의 시스템 커널은 임의의 수의 액세스 서버(AS; AS1-ASr) 및 디렉토리 서버(DS1-DSn), 임의의 수의 중개 서버(BS; BS1-BSs) 및 자원 수단(RS1-RSu) 및 감시 서버(HS1-HSt)를 포함한다. 모든 구성 요소는 서로 통신하기 위해 네트워크(N)를 통해 접속된다. 견고한 시스템을 제공하기 위해, 액세스 서버, 중개 서버, 디렉토리 서버 또는 시스템 커널의 다른 구성 요소의 전부 또는 일부가 복제될 수 있다.
액세스 서버(AS; AS1-ASr)는 사용자 및 시스템 커널 사이에 링크를 구성한다. 예를 들어, 사용자가 특정 객체에 대한 정보를 수득하기를 원하는 경우, 객체 태그가 판독기를 사용하여 판독되어 액세스 서버(AS; AS1-ASr) 중 하나, 바람직하게는 근처에 위치되는 액세스 서버로 송신된다. 액세스 서버는 예를 들어, 적절한 액세스 서버에 조사 요구를 송신하는 이동 통신 네트워크의 네트워크 노드에 이동 장치를 접속함으로써 액세스될 수 있다. 외부 세계로부터 객체 태그를 수신하는 이외에, 액세스 서버(AS; AS1-ASr)는 바람직하게는 객체에 관련된 정보를 검색 및 표시하는 시스템의 전체 조사 동작을 또한 감시한다. 디렉토리 서버를 사용하여 액세스 서버의 제어하에서의 조사 동작은 도 1 내지 도 4에 관하여 이미 설명된 바 있다.
중개 서버(BS; BS1-BSs)는 디렉토리의 데이터 베이스, 자원 및 네트워크에 접속된 다른 중개자를 유지해야 한다. 따라서, 중개 서버는 바람직하게는 각각 디렉토리 서버 어드레스의 리스트를 저장할 뿐만 아니라 자원 수단의 어드레스 및 다른 중개 서버의 어드레스를 저장하는 메모리 수단을 포함한다. 객체에 관련된 정보에 대한 요구를 수신할 때, 액세스 서버는 적절한 디렉토리 서버 어드레스, 자원 수단 등에 관하여 특정 조사 동작을 실행하는 적어도 하나의 중개 서버를 사용할 수 있다. 어떤 경우에는, 중개 서버가 디렉토리 서버 중 적절한 하나를 식별하기 위한 단계를 실행할 수도 있다.
자원 수단(RS1-RSu)이 응용 수행의 복잡성을 감소시키기 위해, 응용 데이터 패킷에 특정 동작 예컨대, 음성 표현, 음성 인식 및 언어 번역 서비스를 실행하도록 제공된다.
감시 서버(HS1-HSt)는 바람직하게는 객체 데이터의 삽입 및/또는 제거를 위해 사용되는 최신의 해시 테이블을 유지한다.
시스템 커널(K)은 가능하게는 전세계에 분배되는 것이 바람직하다. 그 구성 요소는 전기 통신 네트워크에 의해 또는 인터넷과 같은 기존의 컴퓨터 네트워크에 의해 접속될 수 있다.
이후에, 본 발명의 다른 실시예가 도 7에 관하여 설명된다. 도 7은 객체 태그(T)로 표시된 복수의 객체(D) 중 하나, 이동 전화(M) 또는 데이터 처리 유닛(DPU)에 접속된 판독 수단(R), 시스템 커널(K), 뿐만 아니라 상기 설명된 바와 같이 인터넷을 통해 시스템 커널(K)에 접속된 응용 서버(IS; IS1-ISp)를 도시한다.
도 7에 따르는 시스템의 동작은 이하와 같다. 판독기(R)에 의해 판독된 객체 태그(T; T1-Tw)가 고정 통신 라인 또는 무선 통신 링크를 통해 시스템 커널(K)로 송신된다. 시스템 커널(K)은 객체 태그(T)와 관련된 객체(D)에 관련된 정보를 포함하는 응용 데이터 패킷의 정확한 위치에 대한 정보를 검색하기 위해 조사 동작을 실행한다. 시스템 커널(K)이 정보, 바람직하게는 객체에 관련된 정보를 저장하는 응용 서버의 어드레스를 성공적으로 검색하면, 저장 위치에 대한 정보는 사용자에게 직접 제공되거나, 시스템 커널이 이동 전화(M) 또는 데이터 처리 유닛(DPU)을 통해 사용자에게 송신될 수 있는 응용 서버로부터 정보를 검색할 수 있다.
도 8 내지 도 11은 본 발명에 따르는 방법을 실행하는 예의 단계를 개략적으로 도시한다.
먼저, 도 8에 관하여, 객체에 관련된 정보를 검색하는 단계의 예가 설명된다.
제1 단계 S81에서, 이동국(M) 또는 데이터 처리 유닛(DPU)은 객체에 관련된 정보, 즉 판독기(R)에 의해 판독된 객체 태그에 대한 조사 요구를 발한다. 조사 요구는 액세스 서버(AS; AS1-ASr)에 송신된다. 액세스 서버는 상기 요구를 디렉토리 서버 중 하나로 송신한 후 판독 객체 태그에 관련된 객체 데이터를 저장하는 정확한 디렉토리 서버(DS; DS1-DSn)를 식별한다. 그러나, 다른 실시예에서는, 정확한 디렉토리 서버의 식별은 액세스 서버에 의해 실행될 수도 있다. 정확한 디렉토리 서버를 식별하는 단계의 예는 특히 도 3에 관하여 앞에서 설명된 바 있다.
제2 단계 S82에서, 액세스 서버(AS; AS1-ASr)은 디렉토리 서버 중 하나로부터 객체 태그에 관련된 정보에 관한 정보를 요구한다. 디렉토리 서버는 예컨대, 해시 테이블의 카피를 사용하여 객체에 관련된 응용 데이터 패킷 뿐만 아니라 각가의 저장 위치, 즉, 응용 서버의 어드레스를 식별하는 객체 데이터를 저장하는 디렉토리 서버에 상기 요구를 적절하게 전송하는 자체의 데이터 베이스에서 조사 동작을 실행한다. 디렉토리 서버는 단계 S83에서 액세스 서버에 상기 데이터를 송신한다.
이어서 단계 S84 및 S85에서, 액세스 서버(AS; AS1-ASr)은 디렉토리 서버로부터 검색된 정보를 사용자에게 송신하거나, 응용 서버로부터 특정 응용 데이터 패킷을 검색하는 동작을 실행한다. 최종 단계 S86에서, 액세스 서버는 정보에 대한 요구를 발하는 데이터 처리 유닛(DPU) 또는 사용자의 이동 전화(M)로 검색된 데이터를 제공한다.
본 발명에 따르는 방법의 제2 예는 도 9에 관하여 설명된다. 도 9의 예는 인터넷과 같은 공지된 데이터컴 또는 텔레컴 네트워크와 결합하여 사용되는 특히 유용한 시스템이다. 이 예에서, 본 발명에 따르는 시스템은 HTTP 요구를 통해 서비스와 같은 정규 인터넷 어드레스의 조사를 실행하는데 주로 사용된다.
제1 단계 S91에서, 사용자는 데이터 처리 유닛(DPU) 또는 이동 전화(M)를 통해 도 8에 관하여 설명된 바와 같이 액세스 서버(AS; AS1-ASr)에 의해 수신되는 조사 요구를 발한다. 도 8의 단계 S82 및 S83과 유사하게, 액세스 서버(AS; AS1-ASr)는 정확한 디렉토리 서버를 식별하고 단계 S92 및 S93에서 조사 요구의 기초인 객체 태그에 관련된 정보를 검색하는 동작을 개시한다.
단계 S94에서, 액세스 서버는 조사 결과에 기초하여 응용 데이터 패킷을 검색할 수 있고, 그 결과를 데이터 처리 유닛(DPU) 또는 이동 전화(M)에 송신할 수 있다. 다른 방법으로는, 액세스 서버는 조사 결과를 직접 데이터 처리 유닛(DPU) 또는 이동 전화(M)에 복귀시킨 후, 단계 S95에서 응용 서버로부터 응용 데이터 패킷을 직접 검색하는데 사용될 수 있다. 응용 데이터 패킷은 단계 S96에서 수신된다. 다른 방법으로는, 정규 HTTP 요구와 같은 정규 인터넷 조사가 단계 S95' 및 S96'에서 실행될 수 있다.
이제 도 10에 관하여, 정확한 디렉토리 서버를 식별하는 대체예를 설명한다.
제1 단계 S101에서, 앞의 도면과 유사하게, 객체 태그에 관련된 정보에 대한 조사 요구가 액세스 서버(AS; AS1-ASr)에 의해 수신된다.
앞의 예와 상이하게, 중개 서버(BS; BS1-BSs)는 정확한 디렉토리 서버를 식별하거나 시스템의 자원의 조사를 실행하도록 조사 동작을 실행할 때 액세스 서버(AS; AS1-ASr)를 보조하는데 사용된다. 단계 S102에서, 액세스 서버는 중개 서버(BS; BS1-BSs)로부터 디렉토리 보조를 요구한다. 단계 S103에서, 시스템의 자원 또는 정확한 디렉토리 서버의 어드레스는 중개 서버에 의해 송신되고, 단계 S104 및 S105에서, 액세스 서버는 앞의 도면과 유사하게 객체 태그에 관련된 객체 데이터를 검색한다.
다른 방법으로는, 단계 S103에서, 중개 서버(BS; BS1-BSs)는 임의의 다른 바람직한 디렉토리 서버의 어드레스를 액세스 서버에 복귀시킬 수 있고, 액세스 서버는 바람직한 디렉토리 서버에 조사 요구를 전송한 후 원하는 객체 데이터를 저장하는 정확한 디렉토리 서버를 식별한다.
본 발명에 따르는 방법을 실행하는 단계의 다른 예가 도 11에 관하여 설명된다. 도 11의 실시예는 예를 들어, 사용자에게 발송되기 전에 검색된 응용 데이터 패킷이 더욱 처리하는 것을 필요로 하는 응용에 적합하다. 상기 설명된 바와 같이, 이러한 처리는 액세스 서버(AS; AS1-ASr) 또는 포함되는 다른 서버의 처리 부하를 감소시키기 위해, 자원 수단(RS; RS1-RSu)에 의해 실행될 수 있다.
앞의 예에서와 같이, 단계 S111에서, 특정 객체 태그와 관련된 정보에 대한 조사 요구가 액세스 서버에 의해 수신된다. 정확한 디렉토리 서버의 조사가 앞의 예에서와 동일하기 때문에, 그 설명을 생략한다. 단계 S112 및 S113에서, 액세스 서버(AS; AS1-ASr)는 응용 서버 중 대응하는 하나로부터 적어도 하나의 응용 데이터 패킷을 검색하고, 단계 S114에서 적어도 하나의 응용 데이터 패킷이 자원 수단(RS; RS1-RSu)에 송신되어, 수신된 데이터에 대한 변환을 실행하고 단계 S115에서 액세스 서버로 다시 상기 데이터를 재송신한다.
최종 단계 S116에서, 변환된 데이터는 데이터 처리 유닛(DPU) 및/또는 이동 전화(M)에 전송된다.
다른 방법으로는, 파선으로 표시된 바와 같이, 단계 S113-S116 대신에, 단계 S113'에서, 응용 데이터 패킷이 응용 서버로부터 자원 수단(RS; RS1-RSu)로 직접 송신될 수 있어, 수신된 데이터에 대해 상기 동작을 실행한다. 더욱이, 상기 데이터는 단계 S115 및 S116 대신에 단계 S115'에서 데이터 처리 유닛(DPU) 또는 이동 전화(M)으로 직접 송신될 수 있다.