KR101591116B1 - 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 - Google Patents

플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101591116B1
KR101591116B1 KR1020107017229A KR20107017229A KR101591116B1 KR 101591116 B1 KR101591116 B1 KR 101591116B1 KR 1020107017229 A KR1020107017229 A KR 1020107017229A KR 20107017229 A KR20107017229 A KR 20107017229A KR 101591116 B1 KR101591116 B1 KR 101591116B1
Authority
KR
South Korea
Prior art keywords
data file
server
client
database
file
Prior art date
Application number
KR1020107017229A
Other languages
English (en)
Other versions
KR20100113102A (ko
Inventor
토마스 맥지핸
Original Assignee
마스터카드 인터내셔날, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마스터카드 인터내셔날, 인코포레이티드 filed Critical 마스터카드 인터내셔날, 인코포레이티드
Publication of KR20100113102A publication Critical patent/KR20100113102A/ko
Application granted granted Critical
Publication of KR101591116B1 publication Critical patent/KR101591116B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

데이터베이스에 접속된 파일 시스템으로 데이터 파일을 저장하고 상기 파일 시스템으로부터 데이터 파일을 판독하기 위한 시스템 및 방법이 제공된다. 일 특징에서, 클라이언트 시스템과 서버 시스템 간에 데이터 파일을 전송하기 위한 방법이 제공된다. 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 서버는 제2 컴퓨터 운영 체제를 실행하고 파일 시스템을 포함하며 데이터베이스로 접속된다. 상기 방법은 상기 데이터 파일을 저장하려는 요청을 상기 데이터베이스에 의해 수신하는 단계 - 상기 요청은 상기 클라이언트와 연관된 소프트웨어 애플리케이션에 의해 전달됨 - 를 포함한다. 상기 방법은 또한 상기 클라이언트로부터 상기 데이터 파일을 수신하는 단계, 서버 파일 시스템의 디렉토리에 상기 데이터 파일을 저장하는 단계, 상기 데이터베이스 내에 상기 디렉토리에 대한 경로를 저장하는 단계, 및 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하는 단계를 포함한다.

Description

플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR PLATFORM-INDEPENDENT DATA FILE TRANSFERS}
본 발명은 일반적으로 데이터 파일을 전송하기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 클라이언트-서버 네트워크 내에서 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 시스템 및 방법에 관한 것이다.
클라이언트-서버 네트워크의 동작 동안, 클라이언트 및/또는 서버와 같은 네트워크 노드들 간에 데이터 파일을 전송하는 것이 종종 바람직하다. 적어도 몇몇의 그러한 네트워크에서, 데이터베이스 또는 데이터베이스를 갖는 서버는 특정 레코드에 대한 데이터베이스 표 안에 전체 데이터 파일을 저장할 수 있다. 예를 들면, 데이터베이스는 각각의 레코드에 대해 레코드 식별자 및 식별된 레코드와 연관된 데이터 파일을 수용하는 표를 포함할 수 있다. 그러나, 레코드의 수가 커지면서, 데이터베이스 사이즈는 추가적인 데이터 파일 때문에 급격히 증가한다. 이는 데이터베이스에 새로운 레코드를 추가하는 스피드 뿐만 아니라, 쿼리가 데이터베이스 내에서 프로세싱되는 스피드에도 대단히 영향을 미칠 수 있다.
더구나, 적어도 소정의 데이터베이스는 이미지, 오디오, 및/또는 기타 멀티미디어 객체와 같은 BLOB(Binary Large Object)들로 2진 데이터의 전체 데이터 파일을 저장할 수 있다. 예를 들면, 데이터베이스는 각각의 레코드에 대해 레코드 식별자 및 식별된 레코드와 연관된 BLOB을 수용하는 표를 포함할 수 있다. 그러한 데이터베이스는 위에서 기술된 동일한 성능 문제를 겪는다. 따라서, 데이터 파일을 전송하는 운영 체제에 독립적인, 데이터베이스 내외로 데이터 파일 전송을 가능하게 하는 시스템이 필요하게 된다.
일 특징에서, 클라이언트 시스템과 서버 시스템 간에 데이터 파일을 전송하기 위한 방법이 제공된다. 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 서버는 제2 컴퓨터 운영 체제를 실행하고 파일 시스템을 포함하며 데이터베이스로 접속된다. 상기 방법은 상기 데이터 파일을 저장하려는 요청을 상기 데이터베이스에 의해 수신하는 단계 - 상기 요청은 상기 클라이언트와 연관된 소프트웨어 애플리케이션에 의해 전달됨 - 를 포함한다. 상기 방법은 또한 상기 클라이언트로부터 상기 데이터 파일을 수신하는 단계, 상기 서버 파일 시스템의 디렉토리에 상기 데이터 파일을 저장하는 단계, 상기 데이터베이스 내에 상기 디렉토리에 대한 경로를 저장하는 단계, 및 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하는 단계를 포함한다.
또 다른 특징에서, 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 네트워크-기반 시스템이 제공된다. 상기 시스템은 제1 클라이언트 및 제2 클라이언트를 포함하는 복수의 클라이언트 시스템 - 상기 제1 클라이언트는 제1 컴퓨터 운영 체제를 실행하고 제1 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관되며, 상기 제2 클라이언트는 제2 컴퓨터 운영체제를 실행하고 제2 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관됨 - 을 포함한다. 상기 시스템은 또한 파일 시스템 및 데이터베이스를 포함하는 서버 시스템 - 상기 서버는 제3 컴퓨터 운영 체제를 실행됨 - 을 포함한다. 상기 서버는 상기 클라이언트들에 접속되도록 구성되며, 상기 서버는 상기 제1 클라이언트로부터 데이터 파일을 저장하려는 요청을 수신하고, 상기 제1 클라이언트로부터 상기 데이터 파일을 수신하고, 상기 데이터 파일을 상기 서버 파일 시스템의 디렉토리에 저장하고, 상기 디렉토리에 대한 경로를 상기 데이터베이스에 저장하고, 성공 코드 및 실패 코드 중 하나를 상기 제1 클라이언트로 출력하도록 더 구성된다.
또 다른 특징에서, 플랫폼 독립적인 데이터 파일 전송을 수행하기 위해 데이터베이스에 접속되는 컴퓨터가 제공된다. 상기 컴퓨터는 파일 시스템을 포함하고, 상기 컴퓨터는 클라이언트와 통신하며, 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 컴퓨터는 제2 컴퓨터 운영 체제를 실행한다. 상기 컴퓨터는 상기 클라이언트로부터 데이터 파일을 저장하려는 요청을 수신하고, 상기 클라이언트로부터 상기 데이터 파일을 수신하고, 상기 데이터 파일을 상기 파일 시스템의 디렉토리에 저장하고, 상기 디렉토리에 대한 경로를 상기 데이터베이스에 저장하고, 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하도록 프로그래밍된다.
또 다른 특징에서, 클라이언트 시스템과 서버 시스템 간에 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램이 제공된다. 상기 서버 시스템은 파일 시스템을 포함하고 데이터베이스에 접속된다. 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 서버는 제2 컴퓨터 운영 체제를 동작시킨다. 상기 프로그램은 데이터 파일을 저장하려는 요청을 수신하고 - 상기 요청은 상기 클라이언트와 연관된 소프트웨어 애플리케이션에 의해 전달됨 - , 상기 데이터 파일을 상기 클라이언트로부터 수신하고, 상기 데이터 파일을 상기 서버 파일 시스템의 디렉토리에 저장하고, 상기 디렉토리에 대한 경로를 상기 데이터베이스에 저장하고, 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하는 적어도 하나의 코드 세그먼트를 포함한다.
도 1은 본 발명의 일 실시예에 따른 시스템 아키텍처의 예시적인 실시예의 단순 블록도.
도 2는 본 발명의 일 실시예에 따른 시스템 아키텍쳐의 예시적인 실시예의 확장된 블록도.
도 3은 도 2에 도시된 시스템에 의해 활용되는 예시적인 방법을 도시하는 흐름도.
본 명세서에서 사용된 바와 같이, 프로세서는 시스템 및 마이크로컨트롤러, RISC(reduced instruction set circuits), ASIC(application specific integrated circuits), PLC(programmable logic circuits), 및 본 명세서에서 기술된 기능을 실행할 수 있는 임의의 다른 회로 또는 프로세서를 포함하는 임의의 프로그램 가능한 시스템을 포함할 수 있다. 위의 예는 예시적일 뿐이며, 그러므로 프로세서라는 용어의 정의 및/또는 의미를 임의의 방식으로 한정하는 것은 아니다.
본 명세서에서 사용된 바와 같이, 데이터베이스는 계층적 데이터베이스, 관계 데이터베이스, 플랫 파일 데이터베이스, 객체 관계 데이터베이스, 객체 지향 데이터베이스, 및 컴퓨터 시스템에 저장된 임의의 다른 구조화 레코드 또는 데이터 집합을 포함하는 임의의 데이터 집합을 포함할 수 있다. 위의 예는 예시적일 뿐이며, 그러므로 데이터베이스 용어의 정의 및/또는 의미를 임의의 방식으로 한정하는 것은 아니다. 데이터베이스의 예는 오라클® 데이터베이스, MySQL, IBM® DB2, 마이크로소프트® SQL 서버, Sybase®, 및 PostgreSQL을 포함하지만, 이에 한정되는 것은 아니다. 그러나, 본 명세서에 기술되는 시스템 및 방법을 가능하게 하는 임의의 데이터베이스가 사용될 수 있다. (오라클은 레드우드 쇼어스, 캘리포니아에 위치한 오라클 회사의 등록 상표이고, IBM은 아몽크, 뉴욕에 위치한 인터내셔널 비지니스 머신즈 코포레이션의 등록 상표이며, 마이크로소프트는 레드몬드, 워싱턴에 위치한 마이크로소프트 회사의 등록된 상표이고, Sybase는 더블린, 캘리포니아에 위치한 Sybase의 등록된 상표이다.)
본 명세서에 사용된 바와 같이, CLOB(Character Large Object)은 데이터베이스 시스템에 저장될 수 있는 텍스트와 같은 문자 데이터의 집합이다. CLOB 변수 유형은 상대적으로 큰 크기의 데이터를 포함할 수 있다. 예를 들면, CLOB은 대략 2 기가바이트(GB)의 데이터까지 포함할 수 있다.
데이터베이스를 사용하여 클라이언트-서버 네트워크 내에서 플랫폼 독립적인 데이터 파일 전송을 수행하는 것을 활용하는 시스템 및 방법의 예시적인 실시예가 본 명세서에 기술된다. 시스템 및 방법은, 예를 들면 데이터베이스에 접속한 서버의 파일 시스템 내에 데이터 파일을 저장하는 것 및 데이터베이스 내에 데이터 파일의 경로를 저장하는 것을 활용한다. 게다가, 시스템 및 방법은, 먼저 데이터 파일의 파일 시스템 경로에 대해 데이터베이스에 쿼리하고 반환된 경로에 따라서 파일 시스템으로부터 데이터 파일을 판독함으로써, 파일 시스템으로부터 데이터 파일을 판독하는 것을 활용한다. 결과로서, 본 명세서에 기술되는 시스템 및 방법은, 클라이언트의 운영 체제 및 서버의 운영 체제와 관계없이, 임의의 프로그래밍 언어로 작성된 소프트웨어 애플리케이션이 데이터베이스에 접속된 서버의 파일 시스템에 데이터 파일을 작성하고 데이터베이스에 접속된 서버의 파일 시스템으로부터 데이터 파일을 판독가능하게 한다.
본 명세서에 기술되는 시스템 및 방법의 기술적 효과는 (a) 데이터베이스에 접속된 서버의 파일 시스템에 복수의 디렉토리를 생성하는 것 - 서버는 임의의 운영체제를 사용하거나 실행함 - , (b) 임의의 프로그래밍 언어로 작성된 클라이언트 소프트웨어 애플리케이션을 사용하여 임의의 운영 체제를 사용하고 데이터 파일을 전송하는 클라이언트로부터 데이터 파일을 수신하는 것, (c) 서버의 메모리에 데이터 파일을 저장하는 것, (d) CLOB 변수를 선언하는 것, (e) 서버 메모리로부터 데이터 파일의 각각의 라인을 CLOB 변수로 순차적으로 판독하는 것, (f) CLOB 변수로부터 서버 파일 시스템의 사전으로 각각의 라인을 복사하는 것, 및 (g) 데이터베이스 내의 사전에 대한 경로를 저장하는 것 중 적어도 하나를 포함한다. 본 명세서에 기술되는 시스템 및 방법의 시스템 및 방법의 추가적인 기술적 효과는 (g) 저장된 데이터 파일을 검색하기 위해 클라이언트로부터 요청을 수신하는 것, (h) CLOB 변수를 선언하는 것, (i) 사전으로부터 데이터 파일의 각각의 라인을 CLOB 변수로 순차적으로 판독하는 것, (j) CLOB 변수로부터 서버 메모리로 각각의 라인을 복사하는 것, 및 (k) 데이터 파일을 클라이언트로 전송하는 것 중 적어도 하나를 포함한다.
일 실시예에서, 컴퓨터 프로그램이 제공된다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체 상에 구현되고, 임의의 운영 체제를 사용하거나 실행하는 클라이언트 시스템 및 임의의 운영 체제를 사용하고 데이터베이스와 통신하기 위해 접속되는 서버 시스템과 같은 최종 수요자 장치 간의 통신을 위해 구조화 쿼리 언어(SQL)를 활용한다. 하나의 실시예에서, 그러한 시스템은 지불 거래 네트워크와 같은 비지니스-엔티티 인트라넷 내에서 사용된다. 대안적인 실시예에서, 그러한 시스템은 인터넷 상에서 뿐만 아니라 하나 이상의 비지니스-엔티티 인트라넷의 조합 내에서 사용된다.
본 명세서에 기술되는 시스템 및 방법은 본 명세서에 기술된 특정 실시예에 한정되는 것은 아니다. 예를 들면, 각각의 시스템의 구성요소 및/또는 각각의 방법의 단계는 본 명세서에 기술되는 다른 구성요소 및/또는 단계로부터 독립적으로 그리고 개별적으로 사용되고/사용되거나 실행될 수 있다. 게다가, 각각의 구성요소 및/또는 단계는 또한 다른 조합 패키지 및 방법으로 또한 사용되거나 실행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 예시적인 시스템(100)의 단순 블록도이다. 일 실시예에서, 시스템(100)은 금융 거래 카드 지불 시스템이다. 보다 구체적으로, 예시적인 실시예에서, 시스템(100)은 서버 시스템(102) 및 복수의 클라이언트 서브-시스템을 포함하고, 여기서 클라이언트 서브-시스템은 클라이언트 시스템(104)으로 또한 지칭되며 서버 시스템(102)과 연결된다. 일 실시예에서, 클라이언트 시스템(104)은 웹 브라우저 및/또는 클라이언트 소프트웨어 애플리케이션을 포함하는 컴퓨터이고, 서버 시스템(102)은, 인터넷 및/또는 인트라넷과 같은 네트워크 상에서 클라이언트 시스템(104)에 액세스가능하다. 클라이언트 시스템(104)은 근거리 통신망(LAN), 광역 통신망(WAN), 전화 접속 연결, 케이블 모뎀, 무선 모뎀, 및/또는 특수 고스피드 ISDN 라인과 같은 네트워크를 포함하는 많은 인터페이스를 통해 인터넷에 상호연결된다. 클라이언트 시스템(104)은 웹 기반 전화, 개인 휴대 정보 단말기(PDA), 또는 다른 웹 기반 연결가능 장비를 포함하는, 인터넷에 상호연결될 수 있는 임의의 장치일 수 있다. 데이터베이스 서버(106)는 금융 거래 카드 지불 데이터와 같은 다양한 자료의 정보를 포함하는 데이터베이스(108)에 연결된다. 일 실시예에서, 중앙집중형 데이터베이스(108)는 서버 시스템(102)에 저장되고, 클라이언트 시스템(104) 중 하나의 잠재적인 사용자에 의해 클라이언트 시스템(104) 중 하나를 통해 서버 시스템(102)에 로깅함으로써 액세스된다. 대안적인 실시예에서, 데이터베이스(108)는 서버 시스템(102)으로부터 원격으로 저장될 수 있고 비중앙 집중형일 수 있다.
도 2는 본 발명의 일 실시예에 따른 시스템(200)의 서버 아키텍처의 예시적인 실시예의 확장된 블록도이다. 시스템(200)의 구성요소는 (도 1에 도시된) 시스템(100)의 구성요소와 동일하고, 도 1에 사용되는 동일한 참조 번호를 사용하여 도 2에서 식별된다. 시스템(200)은 서버 시스템(102) 및 클라이언트 시스템(104)을 포함한다. 서버 시스템(102)은 데이터베이스 서버(106), 애플리케이션 서버(202), 웹 서버(204), 팩스 서버(206), 디렉토리 서버(208), 및 메일 서버(210)를 더 포함한다. 디스크 저장 유닛(212)은 데이터베이스 서버(106) 및 디렉토리 서버(208)에 접속된다. 디스크 저장 유닛(212)의 예는 NAS(Network Attached Storage) 장치 및 SAN(Storage Area Network) 장치를 포함하지만, 이에 한정되는 것은 아니다. 데이터베이스 서버(106)는 또한 데이터베이스(108)에 접속된다. 서버(106, 202, 204, 206, 208, 및 210)는 근거리 통신망(LAN; 214)에 접속된다. 게다가, 시스템 관리자의 워크스테이션(216), 사용자 워크스테이션(218), 및 감독관의 워크스테이션(220)이 LAN(214)에 접속된다. 이와 달리, 워크스테이션(216, 218, 및 220)은 인터넷 링크를 사용하여 LAN(214)에 접속되거나 인트라넷을 통해 연결된다.
각각의 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)은 웹 브라우저 및/또는 클라이언트 애플리케이션을 갖는 개인 컴퓨터이다. 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)에서 수행되는 기능은 일반적으로 각각의 클라이언트 시스템(104) 및/또는 워크스테이션(216, 218, 및 220)에서 수행되는 것으로 도시되지만, 그러한 기능은 LAN(214)에 접속되는 많은 개인 컴퓨터 중 하나에서 대신 수행될 수 있다. 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)은, LAN(214)에 액세스를 갖는 개인에 의해 수행될 수 있는 다양한 유형의 기능의 이해를 오직 활용하기 위해 개별 기능과 연관되는 것으로 도시된다.
서버 시스템(102)이 ISP 인터넷 연결(222)을 사용하여 액세스되는 것을 가능하게 하기 위해, 서버 시스템(102)은 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)에 통신가능하게 접속되도록 구성된다. 예시적인 실시예에서의 통신은 인터넷을 사용하여 수행되는 것으로 도시되지만, 임의의 다른 광역 통신망(WAN) 유형 통신이 다른 실시예에서 활용될 수 있으며, 예를 들면, 시스템 및 프로세서는 인터넷을 사용하여 수행되는 것에 한정되는 것은 아니다. 게다가, WAN(224)이 아닌 근거리 통신망(214)은 WAN(224)을 대신하여 사용될 수 있다. 또한, 팩스 서버(206)는 전화 링크를 사용하여 원거리에 위치한 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)과 통신한다.
예시적인 실시예에서, 클라이언트 시스템(104)은 복수의 컴퓨터 운영 체제 중 임의의 것을 사용하거나 실행할 수 있다. 가능한 컴퓨터 운영 체제의 예는 마이크로소프트® 윈도우즈, 맥 OS X®, 및 Canonical Ltd. 우분투(Ubuntu)®, 노벨® 수세(SUSE) 리눅스, 및 데비안®과 같은 리눅스 배포판을 포함하지만, 이에 한정되는 것은 아니다. (마이크로소프트는 레드몬드, 워싱턴에 위치한 마이크로소프트 회사의 등록된 상표이고, 맥 OS X는 캘리포니아 쿠퍼티노에 위치한 Apple, Inc.의 등록된 상표이며, Canonical Ltd. 우분투는 Mann의 Isle에 위치한 Canonical Ltd.의 등록된 상표이고, 노벨은 메세츄세츠, 월트햄에 위치한 Novell, Inc.의 등록된 상표이며, 데비안은 인디애나폴리스, 인디아나에 위치한 Public Interest, Inc.의 소프트웨어의 등록된 상표이다.) 그러나, 본 명세서에 기술되는 바와 같이 클라이언트 시스템(104)을 기능하게 할 수 있는 임의의 컴퓨터 운영 체제가 사용될 수 있다. 각각의 클라이언트 시스템(104)은 서버 시스템(102)과 상호작용하고/상호작용하거나 클라이언트 애플리케이션을 사용하여 데이터베이스 서버(106)를 통해 데이터베이스(108)에 액세스된다. 예시적인 실시예에서, 클라이언트 소프트웨어 애플리케이션은 복수의 프로그래밍 언어 중 임의의 것으로 작성될 수 있다. 가능한 프로그래밍 언어의 예는 C#, C++, Java, 및/또는 Perl을 포함하지만, 이에 한정되는 것은 아니다. 그러나, 본 명세서에 기술된 바와 같이 클라이언트 시스템(104)에 의해 사용된 소프트웨어 애플리케이션을 기능하게 할 수 있는 임의의 프로그래밍 언어가 사용될 수 있다.
게다가, 예시적인 실시예에서, 데이터베이스 서버(106)는 복수의 컴퓨터 운영 체제 중 임의의 것을 사용하거나 실행할 수 있다. 가능한 컴퓨터 운영 체제의 예는 마이크로소프트® 윈도우즈 서버 2003, FreeBSD®, UNIX®, 및 위에 기술된 것들과 같은 리눅스 배포판을 포함하지만, 이에 한정되는 것은 아니다. (마이크로소프트는 레드몬드, 워싱턴에 위치한 마이크로소프트 회사의 등록된 상표이고, FreeBSD는 볼더, 콜로라도에 위치한 FreeBSD 재단의 등록된 상표이며, UNIX는 샌프란시스코, 캘리포니아에 위치한 The Open Group의 등록된 상표이다.) 그러나, 본 명세서에 기술된 바와 같이 데이터베이스 서버(106)를 기능하게 할 수 있는 임의의 컴퓨터 운영 체제가 사용될 수 있다. 또한, 디렉토리 서버(208)와 같은 데이터베이스(108)와 통신가능하게 접속된 임의의 서버는, 예를 들면 위에 기술된 복수의 컴퓨터 운영 체제 중 임의의 것을 사용하거나 실행할 수 있다.
도 3은 (도 2에 도시된) 시스템(200)에 의해 활용되는 예시적인 방법(300)을 도시하는 흐름도이다. 예시적인 실시예에서, 시스템(200) 내에서 데이터 파일을 전송하기 위해, 복수의 디렉토리가 생성되어야 한다(302). 각각의 사전은 (도 2에 도시된) 데이터베이스 서버(106)와 같은 (도 2에 도시된) 데이터베이스(108)에 접속된 서버의 파일 시스템에 생성된다. 대안적인 실시예에서, 디렉토리는 데이터베이스(108)에 의해 액세스가능한 파일 시스템을 갖는 (도 2에 도시된) 서버 시스템(102) 내의 임의의 서버 상에 생성될 수 있다. 복수의 디렉토리 유형 및 디렉토리 이름은 데이터베이스(108) 내에 또한 생성된다. 일 실시예에서, SQL 명령어는 데이터베이스(108)가 디렉토리 유형을 생성하고 디렉토리 이름을 디렉토리 유형과 연관시키라고 지시하도록 사용된다.
디렉토리가 파일 시스템 내에 생성되고 데이터베이스(108)의 디렉토리 유형과 연관된 후, (도 2에 도시된) 클라이언트 시스템(104)은 클라이언트 애플리케이션을 통해 데이터 파일이 저장되거나 판독되어야 한다고 요청할 수 있다. 데이터베이스 서버(106)는 요청을 수신하고(304), 요청이 저장 요청인지 또는 판독 요청인지 여부를 결정한다.
예시적인 실시예에서, 요청이 저장 요청인 경우, 데이터베이스 서버(106)는 클라이언트 시스템(104)으로부터 데이터 파일 및 디렉토리를 수신한다(306). 대안적인 실시예에서, 디렉토리가 클라이언트 시스템(104)으로부터 수신되지 않는 경우, 데이터베이스 서버(106)는 디폴트 디렉토리를 선택한다. 데이터베이스(108)는 데이터 파일을, (도 2에 도시된) 데이터베이스 서버(106) 또는 디렉토리 서버(208)와 같은 서버의 (도시되지 않은) 메모리로 저장한다(308). 서버 메모리는 랜덤 액세스 메모리(RAM) 모듈 및/또는 서버 파일 시스템에 생성되는 스왑 공간을 포함할 수 있다. 데이터베이스(108)는 CLOB(Character Large Object) 변수를 선언하며(310), 이는 서버 메모리에 저장되는 데이터 파일로부터 목적지 디렉토리로 데이터를 복사하도록 사용된다. 데이터베이스(108)는 서버 메모리로부터 문자들의 제1 라인을 판독한다(312). 보다 구체적으로, 데이터베이스(108)는 CLOB 변수를 문자들의 제1 라인과 동일하게 설정한다. 예시적인 실시예에서, 데이터베이스(108)는 기술된 바와 같이 생성된 디렉토리를 열고, CLOB 변수를 디렉토리로 저장한다(314). 이와 달리, 디렉토리가 아직 생성되지 않은 경우, 데이터베이스(108)는 위에 기술된 바와 같이 디렉토리를 생성한다(302). 데이터베이스(108)는 서버 메모리에 저장된 데이터 파일의 문자들의 남은 라인이 있는지 여부를 결정한다(316). 데이터 파일의 끝은 엔드 오브 파일(EOF) 플래그와 같은 플래그에 의해 표현될 수 있다. 데이터 파일에 남은 문자의 라인이 있는 경우, 데이터베이스(108)는 서버 메모리로부터 문자들의 다음 라인을 판독하는 단계(312), CLOB 변수를 문자들의 다음 라인과 동일하게 설정하는 단계, 및 CLOB 변수 값을 디렉토리로 저장하는 단계(314)를 반복한다. 데이터베이스(108)는 디렉토리의 경로 및/또는 파일 이름을 특정 데이터베이스 표에 저장한다(318). 데이터베이스 표는 각각의 데이터베이스 레코드에 대한 식별자를 포함하는 제1 컬럼 및 데이터 파일이 저장되는 디렉토리의 경로를 포함하는 제2 컬럼과 같은 복수의 데이터 컬럼 및/또는 식별자를 포함한다. 데이터 파일이 저장될 때, 데이터베이스(108)는 성공 코드 및 실패 코드 중 하나를 클라이언트 시스템(104)으로 출력한다(320). 성공 코드 또는 실패 코드는 음성 신호 및/또는 시각 신호를 통하여 사용자에게 클라이언트 디스플레이 상에 디스플레이될 수 있다.
예시적인 실시예에서, 요청이 판독 요청인 경우, 데이터베이스 서버(106)는 클라이언트 시스템(104)으로부터 파일 이름 및/또는 연관된 데이터베이스 레코드를 수신한다(322). 데이터베이스(108)는 CLOB(Character Large Object) 변수를 선언하고(324), 데이터 파일에 연관되는 서버 파일 시스템의 디렉토리에 대해 검색한다(326). 데이터베이스(108)는, 요청되는 데이터 파일과 연관된 데이터베이스 레코드에 대한 식별자를 사용하여, 디렉토리 경로 및 연관된 레코드 식별자를 저장하기 위한 위에 기술되는 표와 같은 표를 검색할 수 있다. 데이터베이스(108)는 디렉토리 내의 데이터 파일을 열고, 데이터 파일의 제1 라인을 판독한다(328). 데이터베이스(108)는 CLOB 변수를 데이터 파일의 제1 라인과 동일하게 설정한다. CLOB 변수 값은 서버 메모리에 저장된다(330). 데이터베이스(108)는 디렉토리에 저장되는 데이터 파일 내에 문자들의 남은 라인이 있는지 여부를 결정한다(332). 데이터 파일의 끝은 엔드 오브 파일(EOF) 플래그와 같은 플래그에 의해 표현된 수 있다. 디렉토리에 남아 있는 문자들의 라인이 있는 경우, 데이터베이스(108)는 디렉토리로부터 문자들의 다음 라인을 판독하는 단계(328), CLOB 변수를 문자들의 다음 라인과 동일하게 설정하는 단계, 및 CLOB 변수를 서버 메모리에 저장하는 단계(330)를 반복한다. 데이터 파일은 클라이언트 시스템(104)으로 전송된다(334). 데이터 파일이 전송될 때, 데이터베이스(108)는 성공 코드 및 실패 코드 중 하나를 클라이언트 시스템(104)으로 출력한다(320). 성공 코드 또는 실패 코드는 클라이언트 디스플레이 상에 음성 신호 및/또는 시각 신호를 통해 사용자에게 디스플레이될 수 있다. 이와 달리, 데이터 파일은 클라이언트 디스플레이를 사용하여 클라이언트 시스템(104)의 사용자에게 디스플레이될 수 있다.
본 명세서에 기술된 시스템 및 방법은 데이터베이스를 포함하는 클라이언트-서버 네트워크에서 플랫폼 독립적인 데이터 파일 전송을 수행하는 것을 활용한다. 게다가, 시스템 및 방법은, 서버에 의해 사용되는 컴퓨터 운영 체제에 관계없이, 임의의 프로그래밍 언어로 작성되며 임의의 컴퓨터 운영 체제를 사용하여 클라이언트에 의해 실행되는 소프트웨어 애플리케이션이, 데이터 파일을 쓰고 데이터베이스에 접속된 서버의 파일 시스템으로부터 데이터 파일을 판독가능하게 한다.
본 명세서에 기술된 시스템 및 방법은 데이터베이스를 사용하여 플랫폼 독립적인 데이터 파일 전송의 맥락에서 기술되지만, 시스템 및 방법은 오직 그러한 시스템 및/또는 방법에 한정하는 것은 아니라고 이해된다. 유사하게, 도시되는 시스템 구성요소는 본 명세서의 특정 실시예에 한정되는 것은 아니며, 그 시스템의 구성요소는 본 명세서에 기술된 다른 구성요소로부터 독립적이고 개별적으로 활용될 수 있다.
본 발명은 다양한 특정 실시예에 관해 기술되었지만, 당업자는 본 발명이 특허청구범위의 사상과 범주 내에서 수정되어 실시될 수 있다고 이해될 것이다.

Claims (25)

  1. 클라이언트 시스템과 서버 시스템 간에 데이터 파일을 전송하기 위한 방법으로서, 상기 서버 시스템은 파일 시스템, 데이터베이스 시스템 및 메모리 컴포넌트를 가지며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 상기 파일 시스템에 대한 액세스를 상기 클라이언트 시스템에 제공하며, 상기 클라이언트 시스템은 제1 컴퓨터 운영 체제를 실행하고, 상기 서버 시스템은 제2 컴퓨터 운영 체제를 실행하며, 상기 방법은,
    상기 데이터 파일을 저장하라는 요청을 상기 데이터베이스 시스템에 의해 수신하는 단계 - 상기 요청은 상기 클라이언트 시스템과 연관된 소프트웨어 애플리케이션에 의해 전달됨 - ;
    상기 데이터베이스 시스템에 의해 상기 클라이언트 시스템으로부터 상기 데이터 파일을 수신하는 단계;
    상기 데이터베이스 시스템을 사용하여, 상기 서버 시스템 내의 상기 메모리 컴포넌트에 상기 데이터 파일을 저장하는 단계;
    상기 데이터베이스 시스템을 사용하여, 상기 서버 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하는 단계;
    상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하는 단계 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 서버 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -;
    상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터베이스 시스템을 사용하여, 성공 코드를 상기 클라이언트 시스템에 출력하는 단계 - 상기 성공 코드는 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타냄 -;
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 서버 시스템은 제1 서버 및 제2 서버를 포함하고, 상기 서버 파일 시스템 내에 포함된 목적지 디렉토리에 상기 데이터 파일을 저장하는 단계는 상기 제2 서버의 메모리에 상기 수신된 데이터 파일을 저장하는 단계 및 상기 데이터베이스 시스템에 의해 CLOB(Character Large Object) 변수를 선언하는 단계를 포함하고, 상기 서버 시스템 내의 상기 메모리 컴포넌트에 상기 데이터 파일을 저장하는 단계는, 상기 제1 서버 내에 포함된 임시 메모리에 상기 데이터 파일을 저장하는 단계를 포함하고, 상기 데이터베이스 시스템은 디렉토리 경로들을 저장하기 위한 컬럼을 포함하는 표(table)를 포함하고, 상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하는 단계는, 상기 표 내에 상기 디렉토리 경로를 저장하는 단계 및 상기 서버 파일 시스템에 복수의 디렉토리를 생성하는 단계를 더 포함하고, 상기 데이터 파일이 저장되는 상기 디렉토리는 선택된 디렉토리와 디폴트 디렉토리 중 하나인, 방법.
  3. 삭제
  4. 삭제
  5. 제2항에 있어서, 상기 데이터 파일은 복수의 문자 라인을 포함하고, 목적지 디렉토리로 상기 데이터 파일을 복사하는 단계는, 상기 수신된 데이터 파일을 상기 제1 서버로부터 상기 제2 서버로 전송하는 단계 및, 상기 수신된 데이터 파일을 상기 제2 서버의 메모리에 저장하는 단계를 포함하고, 상기 서버 파일 시스템 내에 포함된 디렉토리에 상기 데이터 파일을 저장하는 단계는,
    상기 CLOB 변수를 각각의 라인과 동일하게 설정하고;
    상기 CLOB 변수의 내용을 상기 디렉토리로 복사하고;
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하여
    상기 복수의 문자 라인의 각각의 라인을 상기 디렉토리에 순차적으로 저장하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 데이터 파일을 상기 클라이언트 시스템으로 전송하라는 요청을 상기 데이터베이스 시스템에 의해 수신하는 단계 - 상기 클라이언트 시스템으로부터 상기 데이터 파일을 수신하는 단계는 이미지 파일, 오디오 파일, 및 멀티미디어 파일 중 적어도 하나를 수신하는 단계를 포함함 -;
    상기 데이터베이스 시스템에 의해 상기 데이터 파일을 전송하라는 요청과 연관된 식별자를 수신하는 단계;
    적어도 상기 식별자를 이용하여 상기 데이터베이스 시스템으로부터 상기 데이터 파일의 상기 목적지 디렉토리를 검색하는 단계;
    상기 데이터 파일로부터의 상기 데이터를 상기 제1 서버의 상기 메모리에 저장하는 단계; 및
    상기 데이터 파일을 상기 제1 서버로부터 상기 클라이언트 시스템으로 전송하는 단계
    를 더 포함하는, 방법.
  7. 제6항에 있어서, 상기 데이터 파일은 복수의 문자 라인을 포함하고, 상기 데이터 파일을 상기 제1 서버의 상기 메모리 컴포넌트에 저장하는 단계는,
    상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하고;
    CLOB(Character Large Object) 변수를 선언하며;
    상기 CLOB 변수를 각각의 라인과 동일하게 설정하고;
    상기 CLOB 변수의 내용을 상기 메모리 컴포넌트로 복사하며;
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하여
    상기 복수의 문자 라인의 각각의 라인을 상기 메모리 컴포넌트로 순차적으로 저장하는 단계를 포함하는, 방법.
  8. 삭제
  9. 제6항에 있어서, 상기 클라이언트는 복수의 클라이언트 시스템 중 제1 클라이언트이고, 상기 데이터 파일을 상기 제1 서버로부터 상기 클라이언트 시스템으로 전송하는 단계는 상기 데이터 파일을 상기 복수의 클라이언트 시스템 중 제2 클라이언트 시스템으로 전송하는 단계를 포함하고, 상기 제1 서버와 상기 제2 서버 중 적어도 하나에 의해 실행되는 상기 제2 컴퓨터 운영 체제는, 상기 클라이언트 시스템에 의해 실행되는 상기 제1 컴퓨터 운영 체제와 상이하며, 상기 제2 클라이언트 시스템은 상기 제1 클라이언트 시스템에 의해 실행되는 상기 제1 컴퓨터 운영 체제와 상이한 제3 컴퓨터 운영 체제를 실행하는, 방법.
  10. 제9항에 있어서, 상기 데이터 파일을 제2 클라이언트 시스템으로 전송하는 단계는 상기 데이터 파일을 상기 제2 클라이언트 시스템으로 전송하는 단계를 포함하고, 상기 제2 클라이언트 시스템은, 상기 제1 클라이언트 시스템과 연관된 소프트웨어 애플리케이션의 언어와 상이한 프로그래밍 언어로 작성된 상기 소프트웨어 애플리케이션과 연관되는, 방법.
  11. 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 네트워크-기반 시스템으로서,
    제1 클라이언트 및 제2 클라이언트를 포함하는 복수의 클라이언트 시스템 - 상기 제1 클라이언트는 제1 컴퓨터 운영 체제를 실행하고 제1 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관되며, 상기 제2 클라이언트는 제2 컴퓨터 운영체제를 실행하고 제2 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관됨 - ; 및
    파일 시스템, 메모리 컴포넌트 및 데이터베이스 시스템을 포함하는 서버 시스템 - 상기 서버 시스템은 제3 컴퓨터 운영 체제를 실행하고, 상기 복수의 클라이언트에 연결되도록 구성되며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 상기 파일 시스템에 대한 액세스를 상기 복수의 클라이언트에 제공하도록 구성됨 -
    을 포함하고,
    상기 데이터베이스 시스템은,
    상기 제1 클라이언트로부터 데이터 파일을 저장하라는 요청을 수신하고,
    상기 제1 클라이언트로부터 상기 데이터 파일을 수신하며,
    상기 데이터 파일을 상기 메모리 컴포넌트에 저장하고,
    상기 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하고,
    상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 경로를 저장하고 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 서버 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -,
    상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타내는 성공 코드를 상기 제1 클라이언트에 출력하도록 구성되는, 네트워크-기반 시스템.
  12. 삭제
  13. 제11항에 있어서,
    상기 서버 시스템은 제1 서버 및 제2 서버를 포함하고, 상기 메모리 컴포넌트는 상기 제1 서버 내에 포함되고, 상기 파일 시스템은 제2 서버 내에 포함되며, 상기 데이터베이스 시스템은,
    복수의 디렉토리를 상기 서버 파일 시스템에 생성하고 - 상기 데이터 파일이 저장되는 상기 디렉토리는 선택된 디렉토리 및 디폴트 디렉토리 중 하나임 - ,
    상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하며,
    상기 수신된 데이터 파일을 상기 제1 서버의 상기 메모리 컴포넌트에 저장하고,
    상기 수신된 데이터 파일을 상기 제1 서버로부터 상기 제2 서버로 전송하고,
    상기 CLOB 변수를 사용하여 상기 데이터 파일을 상기 제2 서버의 상기 파일 시스템 내의 상기 목적지 디렉토리에 저장하도록 더 구성되는, 네트워크-기반 시스템.
  14. 제13항에 있어서, 상기 데이터 파일은 복수의 문자 라인을 포함하고, 상기 데이터베이스 시스템은,
    상기 CLOB 변수를 각각의 라인과 동일하게 설정하고,
    상기 CLOB 변수의 내용을 상기 목적지 디렉토리에 복사하며,
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하도록 더 구성되는, 네트워크-기반 시스템.
  15. 제13항에 있어서, 상기 데이터베이스 시스템은,
    상기 데이터 파일을 상기 복수의 클라이언트 중 한 클라이언트에게 전송하라는 요청을 수신하고,
    상기 제2 서버 내의 상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하며,
    상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하고,
    상기 CLOB 변수를 각각의 라인과 동일하게 설정하며,
    상기 CLOB 변수의 내용을 상기 제1 서버의 상기 메모리 컴포넌트로 복사하고,
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하며,
    상기 데이터 파일을 메모리 컴포넌트로부터 상기 클라이언트로 전송하도록 더 구성되는, 네트워크-기반 시스템.
  16. 제11항에 있어서, 상기 제1 클라이언트에 의해 실행되는 상기 제1 컴퓨터 운영 체제는 상기 제2 클라이언트에 의해 실행되는 상기 컴퓨터 운영 체제 및 상기 서버 시스템에 의해 실행되는 제3 운영 체제 중 적어도 하나와 상이하고, 상기 제1 클라이언트에 연관된 상기 소프트웨어 애플리케이션을 작성하는데 사용되는 상기 제1 프로그래밍 언어는 상기 제2 클라이언트와 연관된 상기 소프트웨어 애플리케이션을 작성하는데 사용되는 상기 제2 프로그래밍 언어와 상이한, 네트워크-기반 시스템.
  17. 삭제
  18. 플랫폼 독립적인 데이터 파일 전송을 수행하기 위해 데이터베이스에 연결되는 컴퓨터로서, 상기 컴퓨터는 파일 시스템 및 메모리 컴포넌트를 포함하고, 상기 컴퓨터는 클라이언트와 통신하며, 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 컴퓨터는 제2 컴퓨터 운영 체제를 실행하며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 또한
    상기 클라이언트로부터 데이터 파일을 저장하라는 요청을 수신하고,
    상기 클라이언트로부터 상기 데이터 파일을 수신하며,
    상기 데이터 파일을 상기 메모리 컴포넌트에 저장하고,
    상기 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하고,
    상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하고 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -;
    상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타내는 성공 코드를 상기 클라이언트에 출력하도록 구성되는, 컴퓨터.
  19. 제18항에 있어서, 상기 데이터베이스 시스템은,
    상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하며,
    상기 CLOB 변수를 상기 메모리 컴포넌트에 저장된 상기 데이터 파일의 문자들의 제1 라인과 동일하게 설정하고,
    상기 CLOB 변수의 내용을 상기 목적지 디렉토리에 복사하며,
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하도록 더 구성되는, 컴퓨터.
  20. 제18항에 있어서, 상기 데이터베이스 시스템은,
    상기 데이터 파일을 상기 클라이언트로 전송하라는 요청을 수신하고,
    상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하며,
    상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하고,
    상기 CLOB 변수를 각각의 라인과 동일하게 설정하며,
    상기 CLOB 변수의 내용을 상기 컴퓨터의 상기 메모리 컴포넌트로 복사하고,
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하며,
    상기 데이터 파일을 상기 메모리 컴포넌트로부터 상기 클라이언트로 전송하도록 더 구성되는, 컴퓨터.
  21. 제20항에 있어서, 상기 클라이언트는 복수의 클라이언트 시스템 중 제1 클라이언트이고, 상기 컴퓨터는 상기 데이터 파일을 상기 복수의 클라이언트 시스템 중 제2 클라이언트로 전송하도록 구성되며, 상기 제1 클라이언트는 상기 컴퓨터에 의해 실행되는 상기 제2 컴퓨터 운영 체제와 상이한 상기 제1 컴퓨터 운영 체제를 실행하고, 상기 제2 클라이언트는 제3 운영 체제를 실행하는, 컴퓨터.
  22. 클라이언트 시스템과 서버 시스템 간에 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 컴퓨터 실행가능 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 서버 시스템은 파일 시스템, 데이터베이스 시스템 및 메모리 컴포넌트를 포함하며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 상기 파일 시스템에 대한 액세스를 상기 클라이언트 시스템에 제공하도록 구성되며, 상기 클라이언트 시스템은 제1 컴퓨터 운영 체제를 실행하고, 상기 서버 시스템은 제2 컴퓨터 운영 체제를 동작시키고, 상기 컴퓨터 실행가능 명령어들은 상기 서버 시스템에 의해 실행되는 경우, 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이
    데이터 파일을 저장하라는 요청을 수신하고 - 상기 요청은 상기 클라이언트 시스템과 연관된 소프트웨어 애플리케이션에 의해 전달됨 - ,
    상기 데이터 파일을 상기 클라이언트 시스템으로부터 수신하며,
    상기 데이터 파일을 상기 서버 시스템 내의 상기 메모리 컴포넌트에 저장하고,
    상기 서버 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하고,
    상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하고 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 서버 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -;
    상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타내는 성공 코드를 상기 클라이언트 시스템에 출력하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  23. 제22항에 있어서, 상기 컴퓨터 실행가능 명령어들은 추가로 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이
    상기 데이터 파일을 상기 서버의 메모리에 저장하고,
    CLOB(Character Large Object) 변수를 선언하며,
    상기 CLOB 변수를 상기 메모리 컴포넌트에 저장된 상기 데이터 파일의 문자들의 제1 라인과 동일하게 설정하고,
    상기 CLOB 변수의 내용을 상기 목적지 디렉토리로 복사하며,
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  24. 제22항에 있어서, 상기 컴퓨터 실행가능 명령어들은 추가로 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이,
    상기 데이터 파일을 상기 클라이언트 시스템으로 전송하라는 요청을 수신하고,
    상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하며,
    CLOB(Character Large Object) 변수를 선언하고,
    상기 CLOB 변수를 각각의 라인과 동일하게 설정하며,
    상기 CLOB 변수의 내용을 상기 서버 시스템의 상기 메모리 컴포넌트로 복사하고,
    상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하며,
    상기 데이터 파일을 상기 메모리 컴포넌트로부터 상기 클라이언트로 전송하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  25. 제22항에 있어서, 상기 클라이언트 시스템은 복수의 클라이언트 중 제1 클라이언트를 포함하고, 상기 컴퓨터 실행가능 명령어들은 추가로 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이, 상기 데이터 파일을 상기 복수의 클라이언트 중 제2 클라이언트로 전송하게 하도록 하고, 상기 제1 클라이언트는 상기 서버에 의해 실행되는 상기 제2 컴퓨터 운영 체제와 상이한 상기 제1 컴퓨터 운영 체제를 실행하며, 상기 제2 클라이언트는 제3 운영 체제를 실행하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020107017229A 2007-12-31 2008-12-04 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 KR101591116B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US1798307P 2007-12-31 2007-12-31
US61/017,983 2007-12-31
US12/143,897 US9128946B2 (en) 2007-12-31 2008-06-23 Systems and methods for platform-independent data file transfers
US12/143,897 2008-06-23

Publications (2)

Publication Number Publication Date
KR20100113102A KR20100113102A (ko) 2010-10-20
KR101591116B1 true KR101591116B1 (ko) 2016-02-03

Family

ID=40799796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107017229A KR101591116B1 (ko) 2007-12-31 2008-12-04 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법

Country Status (10)

Country Link
US (1) US9128946B2 (ko)
EP (1) EP2240864A4 (ko)
JP (1) JP5394396B2 (ko)
KR (1) KR101591116B1 (ko)
AU (1) AU2008343496B2 (ko)
BR (1) BRPI0821672A2 (ko)
CA (1) CA2710754C (ko)
MX (1) MX2010007275A (ko)
RU (1) RU2525743C2 (ko)
WO (1) WO2009085557A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671491B2 (en) 2013-11-01 2020-06-02 Micro Focus Llc Asset browsing and restoration over a network using pre-staging and directory storage
WO2015065470A1 (en) * 2013-11-01 2015-05-07 Longsand Limited Asset browsing and restoration over a network using on demand staging
US9524301B2 (en) * 2014-04-30 2016-12-20 The Boeing Company Transferring files between different operating systems
US10108766B2 (en) 2014-11-05 2018-10-23 The Boeing Company Methods and apparatus for analyzing fatigue of a structure and optimizing a characteristic of the structure based on the fatigue analysis
US11412084B1 (en) * 2016-06-23 2022-08-09 8X8, Inc. Customization of alerts using telecommunications services
RU2656721C1 (ru) * 2017-03-21 2018-06-06 Общество с ограниченной ответственностью "Научно-технический центр РЕЛЭКС" (ООО "НТЦ РЕЛЭКС") Способ организации хранения частично совпадающих больших объектов
CN111988411B (zh) * 2020-08-22 2023-01-10 上海萱闱医疗科技有限公司 断网后客户端数据自动续传方法、装置、计算机可读存储介质
CN116346391B (zh) * 2022-10-26 2023-11-10 广东省土地调查规划院 一种国土调查数据内外网信息交互方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288302A (ja) 2002-03-28 2003-10-10 Ntt Comware Corp 種別の異なるコンテンツの管理方法およびコンテンツ管理装置
US20060212495A1 (en) 2005-03-18 2006-09-21 Mikihiko Tokunaga Method and system for storing data into a database

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
US5694598A (en) * 1994-10-12 1997-12-02 U S West Technologies, Inc. Method for mapping data between a relational format and an object-oriented format
US5732402A (en) * 1995-02-10 1998-03-24 International Business Machines Corporation System and method for data space management using buddy system space allocation
US5742810A (en) * 1995-08-31 1998-04-21 International Business Machines Corporation System, method and computer program product for passing host variables to a database management system
US5864870A (en) * 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US5848415A (en) * 1996-12-18 1998-12-08 Unisys Corporation Selective multiple protocol transport and dynamic format conversion in a multi-user network
US5999943A (en) * 1997-10-31 1999-12-07 Oracle Corporation Lob locators
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6738790B1 (en) * 1997-10-31 2004-05-18 Oracle International Corporation Approach for accessing large objects
EA002886B1 (ru) * 1997-11-13 2002-10-31 Хайперспейс Коммьюникейшнз, Инк. Система пересылки файлов
US6012067A (en) * 1998-03-02 2000-01-04 Sarkar; Shyam Sundar Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web
JP3863291B2 (ja) * 1998-05-28 2006-12-27 株式会社日立製作所 データベース処理方法、データベース処理システム及び媒体
CA2245087A1 (en) 1998-08-17 2000-02-17 Solar Information Co., Ltd. Searching system for searching files stored in a hard disk of a personal computer
US6226650B1 (en) * 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6487551B2 (en) * 1998-09-24 2002-11-26 International Business Machines Corporation Externalizing very large objects in a relational database client/server environment
US6256626B1 (en) * 1998-09-24 2001-07-03 International Business Machines Corporation Externalizing very large objects in a relational database client/server environment
US6119051A (en) * 1998-10-27 2000-09-12 Bell & Howell Mail And Messaging Technologies Co. Client-server system, method and computer product for managing database driven insertion (DDI) and mail piece tracking (MPT) data
US6442517B1 (en) 2000-02-18 2002-08-27 First International Digital, Inc. Methods and system for encoding an audio sequence with synchronized data and outputting the same
JP2002014889A (ja) * 2000-06-30 2002-01-18 Akira Fujiwara データファイルダウンロード方法
US7797276B1 (en) * 2000-10-02 2010-09-14 Guang Yang Integrated database data editing system
US6901428B1 (en) * 2000-10-11 2005-05-31 Ncr Corporation Accessing data from a database over a network
US7272833B2 (en) * 2000-12-26 2007-09-18 International Business Machines Corporation Messaging service in a federated content management system
JP3784290B2 (ja) 2001-09-14 2006-06-07 協同飼料株式会社 豚の飼育方法及びそれに用いる養豚用飼料
US6931410B2 (en) * 2002-01-11 2005-08-16 International Business Machines Corporation Method, apparatus, and program for separate representations of file system locations from referring file systems
US7181511B1 (en) * 2002-04-15 2007-02-20 Yazaki North America, Inc. System and method for using software objects to manage devices connected to a network in a vehicle
US7082455B2 (en) * 2002-04-23 2006-07-25 International Business Machines Corporation Method and apparatus of parameter passing of structured data for stored procedures in a content management system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US20040163041A1 (en) * 2003-02-13 2004-08-19 Paterra, Inc. Relational database structures for structured documents
CA2419982A1 (en) * 2003-02-26 2004-08-26 Ibm Canada Limited - Ibm Canada Limitee Executing a large object fetch query against a database
JP2005056085A (ja) 2003-08-01 2005-03-03 Fujitsu Ltd データ構造変換プログラム
RU2006123938A (ru) * 2004-01-05 2008-02-20 Дидье ТИТГАДТ (BE) Многосоставные системы на основе поведения как типы данных
US7366735B2 (en) 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
JP4866844B2 (ja) * 2004-06-16 2012-02-01 オラクル・インターナショナル・コーポレイション Lobに格納されたxml内容の効率的な抽出
US7237268B2 (en) * 2004-07-13 2007-06-26 Fields Daniel M Apparatus and method for storing and distributing encrypted digital content and functionality suite associated therewith
US8200700B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
JP4414381B2 (ja) * 2005-08-03 2010-02-10 富士通株式会社 ファイル管理プログラム、ファイル管理装置、ファイル管理方法
US20080005194A1 (en) * 2006-05-05 2008-01-03 Lockheed Martin Corporation System and method for immutably cataloging and storing electronic assets in a large scale computer system
US7761411B2 (en) * 2007-07-20 2010-07-20 Oracle International Corporation Delta operations on a large object in a database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288302A (ja) 2002-03-28 2003-10-10 Ntt Comware Corp 種別の異なるコンテンツの管理方法およびコンテンツ管理装置
US20060212495A1 (en) 2005-03-18 2006-09-21 Mikihiko Tokunaga Method and system for storing data into a database

Also Published As

Publication number Publication date
BRPI0821672A2 (pt) 2015-06-16
EP2240864A1 (en) 2010-10-20
JP2011511339A (ja) 2011-04-07
RU2010125680A (ru) 2011-12-27
US9128946B2 (en) 2015-09-08
CA2710754C (en) 2016-10-04
WO2009085557A1 (en) 2009-07-09
MX2010007275A (es) 2010-12-02
KR20100113102A (ko) 2010-10-20
JP5394396B2 (ja) 2014-01-22
EP2240864A4 (en) 2013-10-30
AU2008343496B2 (en) 2013-04-04
RU2525743C2 (ru) 2014-08-20
US20090171972A1 (en) 2009-07-02
CA2710754A1 (en) 2009-07-09
AU2008343496A1 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
KR101591116B1 (ko) 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법
JP7113040B2 (ja) 分散型データストアのバージョン化された階層型データ構造
CN110447021B (zh) 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统
US7499959B2 (en) System and method for performing an on-line check of a file system
AU739236B2 (en) File system interface to a database
JP4604041B2 (ja) 集合値化された列とスカラ値化された列を単一のステートメントで修正するためのsql言語の拡張
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US8346722B2 (en) Replica placement strategy for distributed data persistence
US7676481B2 (en) Serialization of file system item(s) and associated entity(ies)
US8190570B2 (en) Preserving virtual filesystem information across high availability takeover
US20010027457A1 (en) Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
US6647391B1 (en) System, method and article of manufacture for fast mapping from a propertied document management system to a relational database
CN103595797B (zh) 一种分布式存储系统中的缓存方法
CN100498781C (zh) 用附着属性存储逻辑文件系统元数据的方法
EP0229232A2 (en) File management system
US7181473B1 (en) Identifying files within a namespace
US6405217B1 (en) State-based implementation of transactions on a file system
EP0270360A2 (en) Data management system
CN110955658A (zh) 一种基于Java智能合约的数据组织和存储方法
US8640090B2 (en) Active and modifiable data dictionary
US6330571B1 (en) Method and computer program product for implementing datalink path protection
US7155458B1 (en) Mechanism for distributed atomic creation of client-private files
RU105770U1 (ru) Архитектура для хранения и представления данных в эмуляторе
Pentakalos et al. Performance Analysis of the Unitree Central File
MXPA06000913A (en) Serialization of file system item(s) and associated entity(ies)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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