KR101699675B1 - 육상 운송 네트워크 표시 - Google Patents
육상 운송 네트워크 표시 Download PDFInfo
- Publication number
- KR101699675B1 KR101699675B1 KR1020167007320A KR20167007320A KR101699675B1 KR 101699675 B1 KR101699675 B1 KR 101699675B1 KR 1020167007320 A KR1020167007320 A KR 1020167007320A KR 20167007320 A KR20167007320 A KR 20167007320A KR 101699675 B1 KR101699675 B1 KR 101699675B1
- Authority
- KR
- South Korea
- Prior art keywords
- route
- network
- locations
- transport
- location
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 230000036961 partial effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 33
- 238000010923 batch production Methods 0.000 description 19
- 238000012423 maintenance Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 239000000969 carrier Substances 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- XXQCMVYBAALAJK-UHFFFAOYSA-N ethyl n-[4-[benzyl(2-phenylethyl)amino]-2-(2-phenylethyl)-1h-imidazo[4,5-c]pyridin-6-yl]carbamate Chemical compound N=1C=2C(N(CCC=3C=CC=CC=3)CC=3C=CC=CC=3)=NC(NC(=O)OCC)=CC=2NC=1CCC1=CC=CC=C1 XXQCMVYBAALAJK-UHFFFAOYSA-N 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- CYRZYVXEHUQRAE-UHFFFAOYSA-N 1-chloro-4-[dichloro-(4-chlorophenyl)methyl]benzene Chemical compound C1=CC(Cl)=CC=C1C(Cl)(Cl)C1=CC=C(Cl)C=C1 CYRZYVXEHUQRAE-UHFFFAOYSA-N 0.000 description 1
- 241000272478 Aquila Species 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
-
- G06Q50/28—
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Train Traffic Observation, Control, And Security (AREA)
- Traffic Control Systems (AREA)
Abstract
운송 서비스의 시간표 정보로부터 육상 운송 네트워크의 표시를 생성하는 방법 및 컴퓨터 프로그램이 제공된다. 컴퓨터에 의해 노선 위치들이 상기 시간표 정보로부터 결정되고, 상기 노선 위치들은 운송 서비스의 종점을 포함한다. 직접 연결된 노선 위치들의 튜플이 형성된다. 직접 연결된 노선 위치들을 연결함으로써 네트워크 경로들이 생성되고, 이 경로들의 전체가 육상 운송 네트워크의 표시를 형성한다.
Description
본 발명은 일반적으로 육상 운송 네트워크에 관한 것으로, 예를 들면 육상 운송 네트워크의 표시(representation)를 생성하는 방법, 이 방법을 실행하도록 프로그램된 컴퓨터 시스템 및 대응하는 컴퓨터 프로그램에 관한 것이다.
EP 1 764 280 A1에는 철도 기반구조, 철도 차량, 및 철도를 운영 및 관리하는 직원을 포함한 철도망을 통해 복수의 객체를 이동시키는 스케줄링 시스템 및 방법에 대하여 설명되어 있다. 이 문서는 열차의 이동을 더 잘 제어하고 열차의 스케줄링을 최적화하기 위해 일련의 파라미터 및 기준을 사용하는 것을 다룬다. 이 문서는 철도 네트워크의 표시를 생성하는 것과는 관련이 없다.
제1 양태에 따르면, 육상 운송 네트워크에서 운송 서비스의 시간표 정보(timetable information)로부터 육상 운송 네트워크의 표시를 생성하는 방법이 제공된다. 시간표 정보는 종점, 즉 원천지(origin)와 목적지(destination), 및 운송 서비스의 중간 정차 지점(stop point)을 포함한다. 이 방법은, 컴퓨터에 의해,
- 운송 서비스의 종점을 포함하는 노선 위치(routing location)를 시간표 정보로부터 결정하는 단계와;
- 직접 연결된 노선 위치들의 튜플(tuple)- 직접 연결된 노선 위치들의 튜플은 운송 서비스가 정차하는 중간 노선 위치 없이 운송 서비스에 의해 연결된 노선 위치들의 쌍임 -을 형성하는 단계와;
- 직접 연결된 노선 위치들을 연결함으로써 네트워크 경로- 이 경로들의 전체는 육상 운송 네트워크의 표시를 형성함 -를 생성하는 단계를 포함한다.
추가의 양태에 따르면, 육상 운송 네트워크에서 운송 서비스의 시간표 정보로부터 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템이 제공된다. 시간표 정보는 종점, 즉 원천지와 목적지, 및 운송 서비스의 중간 정차 지점을 포함한다. 컴퓨터 시스템은,
- 운송 서비스의 종점을 포함하는 노선 위치를 시간표 정보로부터 결정하고;
- 직접 연결된 노선 위치들의 튜플- 직접 연결된 노선 위치들의 튜플은 운송 서비스가 정차하는 중간 노선 위치 없이 운송 서비스에 의해 연결된 노선 위치들의 쌍임 -을 형성하고;
- 직접 연결된 노선 위치들을 연결함으로써 네트워크 경로- 이 경로들의 전체는 육상 운송 네트워크의 표시를 형성함 -를 생성하도록 프로그램된다.
다른 양태에 따르면, 육상 운송 네트워크에서 운송 서비스의 시간표 정보로부터 육상 운송 네트워크의 표시를 생성하는 컴퓨터 프로그램이 제공된다. 시간표 정보는 종점, 즉 원천지와 목적지, 및 운송 서비스의 중간 정차 지점을 포함한다. 컴퓨터 프로그램은 컴퓨터로 하여금,
- 운송 서비스의 종점을 포함하는 노선 위치를 시간표 정보로부터 결정하고;
- 직접 연결된 노선 위치들의 튜플- 직접 연결된 노선 위치들의 튜플은 운송 서비스가 정차하는 중간 노선 위치 없이 운송 서비스에 의해 연결된 노선 위치들의 쌍임 -을 형성하고;
- 직접 연결된 노선 위치들을 연결함으로써 네트워크 경로- 이 경로들의 전체는 육상 운송 네트워크의 표시를 형성함 -를 생성하게 한다.
다른 특징들은 개시된 방법 및 제품에서 고유적이거나 예시에 관한 하기의 설명 및 첨부 도면으로부터 당업자에게 명백하게 될 것이다.
이제, 첨부 도면을 참조하면서 본 발명의 실시예를 설명한다.
도 1은 시간표 정보에 의해 표시되는 예시적인 운송 서비스를 나타내는 이탈리아 지도이다.
도 2는 예시적인 컴퓨터 시스템 아키텍처의 개략도이다.
도 3은 일괄 프로세스의 예시적인 하이 레벨 설계 개요를 보인 도이다.
도 4는 네트워크 표시의 구축을 보인 도이다.
도 5a, 5b는 예시적인 일괄 프로세스 및 시간표 분석기 워크플로우를 보인 도이다.
도 6은 네트워크 경로 구축기의 예시적인 워크플로우를 보인 도이다.
도 7은 예시적인 인접도(adjacency map)를 보인 도이다.
도 8은 본 발명의 방법을 실행하도록 구성된 예시적인 컴퓨터 시스템을 보인 도이다.
도면 및 도면의 설명은 발명의 예에 관한 것이고 발명 자체는 아니다.
도 1은 시간표 정보에 의해 표시되는 예시적인 운송 서비스를 나타내는 이탈리아 지도이다.
도 2는 예시적인 컴퓨터 시스템 아키텍처의 개략도이다.
도 3은 일괄 프로세스의 예시적인 하이 레벨 설계 개요를 보인 도이다.
도 4는 네트워크 표시의 구축을 보인 도이다.
도 5a, 5b는 예시적인 일괄 프로세스 및 시간표 분석기 워크플로우를 보인 도이다.
도 6은 네트워크 경로 구축기의 예시적인 워크플로우를 보인 도이다.
도 7은 예시적인 인접도(adjacency map)를 보인 도이다.
도 8은 본 발명의 방법을 실행하도록 구성된 예시적인 컴퓨터 시스템을 보인 도이다.
도면 및 도면의 설명은 발명의 예에 관한 것이고 발명 자체는 아니다.
예시적인 도면을 상세히 설명하기 전에 좀 더 일반적인 예시적인 아이템에 대하여 설명한다.
네트워크 표시는 물리적인 네트워크 자체는 아니지만, 예를 들면 네트워크 노드 및 노드들 간의 링크를 그래프 형태로 묘사하는 네트워크의 추상적 논리적 표현이다.
육상 운송(ground transportation)은 철도, 버스, 지하철 및/또는 배에 의한 운송을 포함할 수 있다. 운송 서비스는 예를 들면 하나의 지점으로부터 다른 지점으로 승객 또는 화물의 운송을 말한다. 여기에서 사용하는 용어 "(육상) 운송 서비스"는 특정 일시에 열차, 버스 또는 배에 의한 단일 여행과 같은 서비스 사례를 지칭하지 않는다. 특수한 "운송 서비스"는 오히려 공통적으로 소정의 특징을 가진 모든 사례들을 지칭한다. 예를 들면, 일부 실시형태에 있어서, 특수한 "운송 서비스"는 동일한 운송 유형(열차 또는 버스; 승객 또는 화물 서비스)의 상이한 일시에 운용하는 모든 사례 및 하나의 "운송 서비스"로서의 동일한 시작 지점 및 터미널 정차를 포함한다. 다른 실시형태에 있어서, 하나 이상의 추가적인 공통 특징은 예를 들면 고속 열차와 보통(저속) 열차의 구별을 가능하게 하는 "운송 서비스", 예를 들면, 평균 속도의 서비스에 속하는 것을 규정한다. 다른 선택적 구별은 중간 정차에서 보여질 수 있다. 일부 실시형태에 있어서, 동일한 시작 지점 및 터미널 정차를 가진 모든 사례들은 그들의 중간 정차가 일치하는지에 관계없이 동일한 "운송 서비스"에 속한다. 다른 실시형태에서는 중간 정차의 일부 또는 전부가 동일한 사례들만이 동일한 "운송 서비스"에 속한다.
육상 운송 서비스는 전형적으로 적어도 2개의 정차 지점, 즉 시작 지점, 즉 원천지와 터미널 정차 지점, 즉 목적지를 가지며, 이들은 집합적으로 "종점"이라고 부른다. 상기 2개의 종점에서만 정차를 하는 논스톱 서비스가 있을 수 있다. 다른 서비스들은 종점들 사이에서 하나 이상의 중간 정차를 가질 수 있다. 정차 지점(종점 또는 중간 정차 지점)의 관념은 서비스 지향형이고, 이것은 승객 또는 화물이 정차 지점에서 운송 서비스에 승차 및/또는 하차할 수 있다는 것을 의미한다. 운용상의 정차, 즉 승객 또는 화물이 운송 서비스에 승차 또는 하차할 수 없는 육상 운송 시스템의 내부 운용에 필요한 정차(예를 들면, 신호 전에 정차하는 열차)는 본 발명의 상황에서 "정차", "정차 지점" 또는 "종점"이라고 생각하지 않는다.
육상 운송 네트워크 표시의 생성은 육상 운송 네트워크에서 운송 서비스의 시간표 정보를 정보 입력으로서 사용하여 수행된다. 운송 서비스 사업자는 일반적으로 서비스의 잠재적 사용자에게 각각의 서비스에 대한 상세 정보를 제공하기 위해 고객에게 시간표를 제공한다. 전형적으로, 시간표에 의해 제공되는 정보는 종점 및 중간 정차 지점(만일 있으면), 및 서비스가 종점 및 정차 지점에서 떠날 때 및/또는 도착하는 때의 일시, 즉 출발 시간 및/또는 도착 시간을 포함한다. 주기적으로 운용하는 서비스의 날짜는 그 날짜들을 제공함으로써 명시적으로, 또는 "매일", "매 근무일", "일요일" 등과 같이 운영 기간을 특정함으로써 암묵적으로 특정될 수 있다.
육상 운송 네트워크의 표시를 생성하는 처리는 시간표로부터 도출된 "노선 위치"에 기초를 둔다. "노선 위치"는 네트워크 표시를 나타내는 그래프의 노드가 된다. 각각의 노선 위치는 시간표에서 모든 운송 서비스의 전체에 포함된 정차 지점에 대응하지만, 일부 실시형태에서는 정차 지점의 모두가 "노선 위치"가 되도록 선택되지 않는다. 따라서, 상기 후자의 실시형태에서는 노선 위치의 집합이 모든 운송 서비스의 정차 지점 집합의 진부분집합이다. 일부 실시형태에서는 운송 서비스의 종점만이 "노선 위치"를 형성한다. 다른 실시형태에서는 특정 중간 정차 지점이 상기 종점에 추가하여 "노선 위치"로서 또한 고려된다. 또 다른 실시형태에서는 모든 정차 지점, 즉 종점과 모든 중간 정차 지점이 "노선 위치"로서 고려된다. 이것에 대해서는 뒤에서 더 자세히 설명된다.
노선 위치가 결정된 때, 직접 연결된 노선 위치들의 튜플이 형성된다. 양측의 노선 위치가 속하는 적어도 하나의 육상 운송 서비스가 있는 경우에 2개의 노선 위치가 연결된다. 2개의 연결된 노선 위치는 운송 서비스가 당해 2개의 노선 위치 사이에서 정차하는 노선 위치가 없는 적어도 하나의 서비스가 있는 경우에 직접 연결된다. 다시 말하면, 당해 운송 서비스가 2개의 연결된 노선 위치 사이에 중간 정류장을 갖는 경우에도, 그 중간 정류장 중의 어느 것도 (다른 하나의) 노선 위치가 아니면 상기 2개의 노선 위치는 "직접 연결"되는 것으로 고려된다.
직접 연결된 노선 위치들의 튜플이 형성된 때 네트워크 경로가 생성된다. 네트워크 경로의 생성은 공통의 노선 위치를 가진 직접 연결 노선 위치의 쌍들을 결합함으로써 수행된다. 가능한 모든 결합된 쌍으로부터 야기하는 이러한 경로들의 전체가 육상 운송 네트워크의 표시를 형성한다.
네트워크 표시의 생성이 시간표에 기초를 둔다는 사실에 기인해서, 결과적인 네트워크 표시는 철도 트랙 또는 도로의 지도와 같은 육상 운송 시스템의 물리적 네트워크가 아니라는 점에 주목한다. 표시된 네트워크는 오히려 서비스 지향형이다. 예를 들면 이것은 승객의 여행 기회 및/또는 화물의 운송 기회를 표시하는 네트워크이다. 이것은 전형적으로 육상 운송 시스템에 의해 내부적으로만 사용되는 물리적인 연결을 포함하지 않는다. 예를 들면, 마셜링(marshalling), 션팅(shunting) 또는 스위칭, 엠프티 러닝(empty running) 등을 위해서만 사용되는 물리적인 철도 또는 도로 연결은 포함되지 않는다. 일부 실시형태에서는 예컨대 고속 열차로의 승객 수송과 같은 특정 서비스 부류의 서비스들만이 고려된다. 이 경우의 결과적인 네트워크 표시는 고속 여객 열차의 네트워크만을 표시한다. 일부 실시형태에서는 예컨대 장애인이 접근 가능한 서비스 또는 자전거 운송에 개방된 서비스와 같은 특수한 특징을 가진 서비스만이 고려된다. 이 경우의 결과적인 네트워크 표시는 예컨대 장애인이 접근 가능한 서비스 또는 자전거 운송에 개방된 서비스 등의 네트워크만을 표시한다.
일부 실시형태에 있어서, 방법 청구항에서 표시된 모든 행동들은 인간의 개입 없이 컴퓨터에 의해 자동으로 실행된다.
육상 운송 네트워크에서 정차 지점들의 이름은 반드시 고유(unique)할 필요는 없다. 예를 들면, 상이한 정차 지점들이 시간표에서 동일한 이름을 가질 수 있다. 일부 실시형태에 있어서, 시간표 정보에서의 적어도 종점에, 및 선택적으로 일부 또는 모든 중간 정류장에 고유한 위치 코드가 지정된다. 상기 고유한 위치 코드는 여기에서 설명하는 방법을 수행할 때 사용된다. 시간표 정보에서 종점에 대한 고유한 위치 코드의 지정은 시간표를 사용할 수 있게 하고, 이 경우 시간표 정보에서의 종점 및 선택적으로 중간 정류장이 고유한 방식으로 식별될 필요가 없다.
또한, 시간표에서 정차 지점의 이름은 다른 서비스 사업자(예를 들면, 다른 철도 회사)가 그들의 시간표에서 동일한 정차 지점에 대하여 다른 이름을 사용할 수 있다는 점에서 고유성이 또한 부족할 수 있다. 시간표 정보에서 종점들에 대한 고유한 위치 코드의 지정은 다른 서비스 사업자가 사용하는 동일한 종점 및 선택적으로 동일한 중간 정차 지점을 명확하게 식별하는 데 도움을 준다. 이것은 다른 사업자로부터의 시간표가 독특하지 않은 위치 표시를 가진 시간표, 또는 부분적인 시간표, 또는 부정확한 시간표를 비롯해서 결합 방식으로 사용될 수 있게 한다.
다른 실시형태들은 시간표로부터의 정차 지점들이 본 발명의 방법에서 "노선 위치"로서 포함되는 선택성의 정도가 다르다.
일부 실시형태에 있어서, 노선 위치에 관한 선택이 이루어지지 않는다. 이것은 운송 서비스의 모든 정차 지점(즉, 종점 및 모든 중간 정차 지점)이 노선 위치로서 취해진다는 것을 의미한다.
다른 실시형태에 있어서, 종점만이 노선 위치로 된다. 이것은 직접 연결된 노선 위치들의 튜플의 수 및 그에 따라서 네트워크 경로의 수를 크게 감소시킨다. 따라서, 네트워크 표시를 생성하는데 필요한 컴퓨터 처리 시간 및 데이터 저장량도 또한 크게 감소된다. 이러한 노선 위치 선택 방식은 서비스가 다수의 중간 정차 지점을 갖지만 단지 하나의 시작 지점 및 하나의 종점을 가질 수 있기 때문에 매우 제한적으로 나타날 수 있다. 그러나, 더 큰 도시는 일반적으로 그 도시에서 시작 또는 종료하는 적어도 하나의 서비스를 갖기 때문에, 그러한 더 큰 도시는 통상적으로 이러한 제한적인 노선 위치 선택 방식 하에서도 노선 위치의 리스트에 포함될 것이다.
다른 실시형태에 있어서, 노선 위치 선택의 제한은 전부가 아닌 일부 중간 정차 지점을 시작 지점 및 종점에 추가하여 노선 위치의 집합에 포함시킴으로써 상기 2개의 극단(extreme) 사이에 걸친다. 예를 들면, 포함된 중간 정차 지점은 서비스들 간의 교차 지점, 즉 적어도 2개의 운송 서비스에서 공통인 중간 정차 지점일 수 있다. 이것은 각각의 정차 지점을 노선 위치로 고려하는 실시형태에 비하여 네트워크 표시를 생성하는데 필요한 컴퓨터 처리 시간 및 데이터 저장량을 더욱 감소시킨다. 그러나, "종점만"의 실시형태와 비교하면, 다른 운송 서비스들 간의 연결 스테이션이 네트워크 표시에 포함되는 것이 보장된다.
후자의 실시형태에 있어서, 2개 이상의 다른 운송 서비스가 단일 교차 지점에서 교차할 뿐만 아니라 일련의 2개 이상의 공통인 중간 정차 지점을 갖는 경우가 있을 수 있다. 이러한 실시형태의 일부 변형예에 있어서, 이러한 공통의 정차 지점은 모두 "노선 위치"로 고려된다. 그러나, 필요한 컴퓨터 처리 시간 및 필요한 데이터 저장량을 줄이기 위해, 2개의 교차 지점 시퀀스를 가진 운송 서비스의 다른 변형예에 있어서, 상기 교차 지점 중의 하나만이 노선 위치로서 취해지거나, 3개 이상의 교차 지점의 시퀀스를 가진 변형예에서는 상기 교차 지점 중의 2개만이 노선 위치로서 취해진다. 예를 들면, 일련의 공통 교차 지점의 최초 지점과 최종 지점만이 노선 위치로서 사용될 수 있다.
네트워크 경로의 생성은 직접 연결된 노선 위치의 쌍들을 결합함으로써 준비된다. 일부 실시형태에 있어서, 이러한 결합은 노선 위치들을 노선 위치들이 직접 연결되는 노선 위치 또는 노선 위치들과 연결하여 운송 네트워크의 그래프를 생성함으로써 수행된다. 이 그래프의 노드들은 노선 위치이고, 그래프의 에지(edge)는 노선 위치들 간의 (직접) 연결이다.
그 다음에, 그래프 순회(graph traversal)에 의해 전체 네트워크 경로가 결정된다. 일부 실시형태에 있어서, 그래프 순회는 깊이 우선 탐색(depth-first search)이고, 다른 실시형태에 있어서, 그래프 순회는 너비 우선 탐색(breadth-first search)이다. 예를 들면, 깊이 우선 탐색에 있어서, 이 순회는 그래프의 노드로부터 반복적으로 시작하고 동일 노드의 방문을 배제하면서 가능한 한 멀리 있는 각 브랜치의 노드들을 방문함으로써 수행된다. 이러한 각각의 순회는 하나의 네트워크 경로를 산출한다. 하나의 시작점으로부터 접근 가능한 모든 브랜치에 대하여 이것을 반복함으로써 시작점으로서 사용되는 노드로부터의 모든 네트워크 경로가 산출된다. 너비 우선 탐색에 있어서, 당해 노드로부터 시작하는 순회는 현재 방문한 노드에 이웃하는 모든 노드들을 검사하고, 현재 방문한 노드와 방문하지 않은 그 이웃 노드들을 연결하여 네트워크 경로를 병렬로 구축한다. 그 다음에, 상기 이웃하는 노드들 각각에 대하여 차례로, 방문하지 않은 그 이웃 노드들을 검사한다.
깊이 우선 순회 및 너비 우선 순회 양자에 있어서, 이 동작은 그래프의 모든 노드를 시작점으로서 이용하여 반복된다. 그 결과, 그래프 내의 모든 노선 위치들이 모든 노선 위치들을 시작점으로서 이용하여 방문되고, 이것에 의해 그래프 내의 모든 네트워크 경로를 찾는다. 일반적으로, 그래프는 주기(cycle)를 갖는다. 그러나, 주기적인(cyclic) 네트워크 경로는 동일한 네트워크 경로에서 동일한 노선 위치가 2회 방문되는 것을 금지함으로써 배제된다.
일부 실시형태에 있어서, 주기가 배제되어야 하는 필요조건 외에 그래프 순회에 대하여 추가적인 "출구"(exit) 조건이 있을 수 있다. 예를 들면, 일부 실시형태에 있어서, 이 방식으로 결정된 네트워크 경로의 최대 길이는 제한된다. 네트워크 경로의 길이는 순회되는 노드의 수, 즉 순회되는 노선 위치의 수로 표시될 수 있다. 따라서, 일부 실시형태에 있어서, 이렇게 결정된 네트워크 경로는 주어진 최대수의 노선 위치보다 더 많은 노선 위치를 갖지 않는다. 이러한 길이 제한의 의미는 네트워크를 통해 이동하는 승객 또는 상품에 대한 운송 서비스들 간의 잠재적 변화의 최대수가 제한된다는 것이다.
시간표는 가끔 정차 지점과 그들의 링크, 이동 시간 및/또는 운송 서비스에 관한 추가의 정보를 포함한다. 일부 실시형태에 있어서, 상기 추가의 정보는 (i) 2개의 위치 사이의 거리, (ii) 2개의 위치 사이에서 운송 서비스의 이동 시간, (iii) 운송 서비스를 제공하는 운송 설비에서의 기내 서비스(service onboard) 레벨, (iv) 운송 설비에 대한 접근 레벨, 및 (v) 운송 서비스의 가격 중의 적어도 하나를 포함한다. 예를 들면, 기내 서비스는 케이터링(catering), 인터넷 접속성 등과 관련될 수 있다. 서비스에 대한 무장벽 접근(barrier-free access)에 관한 정보는 장애인과 같은 소정의 사용자 그룹에 관련될 수 있다. 일부 실시형태는 추가적인 시간표 정보를 육상 운송 네트워크의 표시와 논리적으로 연관시키는 행동을 포함한다. 추가 정보를 논리적으로 연관시키는 행동은 추가 정보를 노선 위치에 논리적으로 연결시키는 것 및/또는 노선 위치들 간의 (세그먼트) 접속을 포함할 수 있다.
일부 실시형태에 있어서, 추가의 정보는 시간표에 명시적으로 포함되지 않고 시간표에 의해 제공된 정보로부터 도출된다. 예를 들면, 2개의 정차 지점 간의 평균 이동 속도는 시간표에 표시된 2개의 정차 지점 간의 거리를 상기 2개의 정차 지점 간의 이동 시간으로 나눔으로써 계산될 수 있다(상기 이동 시간은 제2 정차 지점에 도착한 시간과 제1 정차 지점으로부터 출발한 시간 간의 차에 의해 계산될 수 있고, 이 시간들은 일반적으로 시간표에 표시된다).
따라서, 일부 실시형태에 있어서, 이동 속도 분류는 추가적인 거리 정보 및 이동 시간 정보에 기초하여 육상 운송 네트워크의 각 세그먼트에 대하여 수행된다. 이동 속도 분류는 그 다음에 다른 추가적인 시간표 정보와 관련하여 위에서 설명한 바와 같이 육상 운송 네트워크의 표시에서의 대응하는 세그먼트와 논리적으로 연관될 수 있다. 이동 속도 분류에 기초해서, 소정의 속도 분류, 예를 들면, 이동 노선에 대하여 초고속 철도, 고속 철도 또는 보통 철도와의 운송 서비스 연결만을 선택할 수 있다.
일부 실시형태에 있어서, 특유의 네트워크 표시가 예를 들면 시간표 정보로부터 이용가능하거나 또는 계산되는 하나 이상의 추가 정보 아이템에 의한 운송 서비스의 필터링에 기초하여 구축된다.
육상 운송 네트워크의 표시를 생성하는 처리는 이전의 생성으로부터의 정보를 이용하지 않고 스크래치(scratch)로부터 수행될 수 있다. 운송 네트워크는 시간이 지나면서 개발할 수 있기 때문에, 갱신된 네트워크 표시를 생성하는 과정에서, 이전의 네트워크 생성 과정에서 이미 결정된 노선 위치 및/또는 직접 연결 노선 위치들의 튜플이 사용될 수 있다. 그러한 노선 위치 및 직접 연결 노선 위치들의 튜플은 "이미 존재하는 노선 위치" 및 "이미 존재하는 직접 연결 노선 위치들의 튜플"이라고도 부른다. 따라서, 일부 실시형태에 있어서, 새로운 시간표 정보로부터 결정된 노선 위치는 기존의 노선 위치 정보가 갱신되도록 이미 존재하는 노선 위치에 추가된다. 마찬가지로, 새로운 시간표 정보로부터 결정된 직접 연결 노선 위치들의 튜플이 기존의 직접 연결 노선 위치에 대한 정보가 갱신되도록 이미 존재하는 직접 연결 노선 위치들의 튜플에 추가될 수 있다.
네트워크 표시의 갱신은 구식의 노선 위치 및 직접 연결 노선 위치의 쌍들을 제거하고, 이것에 의해 구식 네트워크 경로를 제거하는 것을 또한 포함할 수 있다. 네트워크의 "삭제되는" 부분은 네트워크의 현재 사례, 예를 들면 직접 연결 노선 위치의 현재 쌍들을 네트워크의 최근 생성된 사례의 대응하는 쌍들과 비교함으로써 결정될 수 있다.
갱신 메카니즘을 이용하여 네트워크 표시의 성숙도를 또한 평가할 수 있다. 만일 네트워크의 표시에 대한 주어진 수의 새로운 시간표가 네트워크 표시에서의 변화를 유도하지 않으면, 네트워크는 성숙된 것으로 고려될 수 있다. 이것은 그 다음에 최종 갱신 기간 중에 발행된 새로운 시간표를 포함시켜서 노선 위치 및 직접 연결 노선 위치 튜플을 갱신하고 상기 갱신된 데이터에 기초하여 새로운 네트워크 표시를 생성함으로써 갱신이 주기적으로, 예를 들면, 1년에 1회만 수행되는 "유지 상태"로 지정될 수 있다. 반면에, 만일 네트워크 표시가 새로운 시간표를 포함시킴으로써 계속하여 변하면, 그 네트워크는 아직 안정된 성숙 상태에 도달하지 않았고, 각각의 새로운 시간표가 노선 위치 및 직접 연결 노선 위치 튜플의 갱신 및 새로운 네트워크 표시의 생성을 트리거하는 "증분 상태"로 여전히 지정될 수 있다. "유지 상태" 또는 "증분 상태"의 지정은, 일부 실시형태에 있어서, 완전한 네트워크라고 부를 수 있고, 다른 실시형태에서는 예컨대 유지 상태가 네트워크의 하나 이상의 부분에 지정되고 증분 상태가 네트워크의 하나 이상의 다른 부분에 지정되도록 상이한 지정이 네트워크의 상이한 부분에 대하여 이루어질 수 있다.
육상 운송 네트워크의 표시를 생성하는 처리는 불완전한 시간표 집합 또는 부정확한 시간표에서 또한 수행될 수 있다. 이러한 경우에, 이미 존재하는 네트워크 표시를 증분적으로 보강하고 및/또는 오차를 제거하고 및/또는 네트워크 표시를 더 정확하게 만들기 위해 증분 상태가 이용된다.
일부 실시형태에 있어서, 기존 네트워크 표시의 갱신은 새로운 노선 위치 및 직접 연결 노선 위치 튜플의 포함이라고 부르지 않고, 새로운 시간표로부터 추가 정보의 포함(또는 갱신)이라고 또한 부른다. 위에서 설명한 것과 유사한 방법으로, 추가의 정보는 새로운 시간표로부터 결정 또는 도출되고, 이 추가 정보는 (i) 2개의 위치 사이의 거리, (ii) 2개의 위치 사이에서 운송 서비스의 이동 시간, (iii) 운송 서비스를 제공하는 운송 설비에서의 기내 서비스 레벨, (iv) 운송 설비에 대한 접근 레벨, 및 (v) 이동 속도 분류 중의 적어도 하나를 포함한다. 상기 추가 정보는 새로운 또는 이미 존재하는 노선 위치 및/또는 새로운 또는 이미 존재하는 직접 연결 노선 위치 튜플과 연관되고, 또는 상기 추가 정보는 이미 존재하는 노선 위치 및/또는 이미 존재하는 직접 연결 노선 위치 튜플과 이미 연관된 추가 정보를 갱신한다.
일부 실시형태에 있어서, 육상 운송 네트워크의 표시를 생성하는 방법에 포함되는 모든 행동들은 컴퓨터 시스템, 예를 들면, 여기에서 설명하는 컴퓨터 시스템에 의해 자동으로 수행된다.
이렇게 하여 획득된 네트워크 표시는 예를 들면 저니 플래너(journey planner)의 기초로서 사용될 수 있다. 저니 플래너는 하나 이상의 운송 위치 사이에서 이동 제안을 (직접적으로 또는 간접적으로) 계산하는 소프트웨어 컴포넌트이다. 네트워크 표시는 위치들 간의 연결의 저장된 표시로서 생각할 수 있고, 시간표 및 이용가능성 정보와 함께 이동 제안을 계산하기 위한 저니 플래너에 대한 입력으로서 사용될 수 있다.
이렇게 하여 획득된 네트워크 표시는 네트워크의 전자 지도(완전한 지도 또는 부분 지도) 또는 네트워크의 임의의 그래픽 화면 디스플레이를 생성하기 위해 또한 사용될 수 있다.
일부 실시형태는 육상 운송 네트워크에서 운송 서비스의 시간표 정보로부터 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템과 관련된다. 컴퓨터 시스템은 컴퓨터 시스템의 비일시적 컴퓨터 판독가능 기억 매체, 예를 들면, 자기 또는 광학 데이터 디스크에 저장된 컴퓨터 프로그램으로 프로그램된다. 컴퓨터 프로그램은 컴퓨터에서 실행된 때 여기에서 설명하는 하나 이상의 방법이 실행되게 하는 명령어를 갖는다. 예를 들면, 명령어들은 컴퓨터가,
운송 서비스의 종점을 포함하는 노선 위치를 시간표 정보로부터 결정하고;
직접 연결 노선 위치들의 튜플- 직접 연결 노선 위치들의 튜플은 운송 서비스가 정차하는 중간 노선 위치 없이 운송 서비스에 의해 연결된 노선 위치들의 쌍임 -을 형성하고;
직접 연결 노선 위치들을 연결함으로써 네트워크 경로- 이 경로들의 전체는 육상 운송 네트워크의 표시를 형성함 -를 생성함으로써 육상 운송 네트워크에서 운송 서비스의 시간표 정보로부터 생성되도록 컴퓨터가 육상 운송 네트워크의 표시를 생성하게 한다.
다른 실시형태는 컴퓨터 프로그램 자체에 관련된다. 이러한 실시형태의 일부에 있어서, 컴퓨터 프로그램은 비일시적 컴퓨터 판독가능 기억 매체에 저장된 컴퓨터 프로그램 명령어의 형태를 갖는다.
여기에서 설명하는 방법은 1인 또는 복수의 사업자(복수의 위치를 공유하는 사업자)가 그들의 시간표를 이용하여 모든 가능한 및 의미있는 네트워크 접속을 구축하는 완전 자동화된 절차이다. 또한, 설명되는 프로세스는 사업자에게 이용 가능하게 만들어진 새로운 시간표를 처리함으로써 네트워크 표시를 개선하고 최신 상태로 유지할 수 있다.
여기에서 설명하는 방법은 아마도 큰 부피의 시간표로부터의 식별, 운송 시스템 내 위치들 간의 링크 정보의 일관되고 신뢰성 있으며 중복되지 않은 부분집합을 수반한다. 이것은,
- 노선 위치를 결정하고,
- 어떤 노선 위치가 서로에게 직접 연결되는지를 거리 및 이동 시간 등의 추가 정보와 함께 결정하고,
- 시스템 내의 임의의 2개의 노선 위치 간의 모든 의미있는 노선을 계산함으로써 달성된다.
시간표 정보는 예를 들면 네트워크 표시에 포함되는 모든 운송 사업자에 걸쳐 공통의 형식을 가진 저장소(repository)에서 이용 가능한 것으로 예상된다. 전형적으로, 다른 사업자들은 다른 형식의 시간표 정보를 제공한다. 예비적인 행동으로서, 시간표 정보는 다른 서비스 사업자로부터 제공되고 공통 형식 내의 데이터베이스에 저장될 수 있다.
육상 운송 네트워크의 표시를 생성하는 방법에 대하여 이제 도면에 예시된 실시예에 따라서 자세히 설명한다. 이 설명 및 도면은 단지 예로서 발명의 일반적인 양태를 설명하는 것이고 발명 자체는 아니라는 점에 주목한다.
시간표 정보에 의해 표시되는 예시적인 운송 서비스; 도 1:
육상 운송 네트워크의 표시를 생성하기 위해 사용되는 시간표 정보는 전형적으로 수천 개의 다른 운송 서비스에 대한 정보를 포함하지만, 이하의 예시적인 설명은 단지 3개의 다른 운송 서비스만을 포함한다는 점에서 단순화된 것이다.
따라서, 예시적인 도 1은 여기에서 예를 들면 이탈리아 내의 3개의 다른 육상 운송 서비스를 보여준다. 여기에서 고려하는 예시적인 경우는 복합(intermodal) 운송 서비스, 즉 철도 서비스와 버스 서비스(coach service)를 포함한다. 이 예에서, 상이한 유형의 운송 서비스, 즉 철도 서비스와 버스 서비스를 제공하는 2인의 운송 사업자로부터의 시간표는 예컨대 열차를 운영하는 이탈리안 레일(Italian Rail)(코드 IR)과 버스를 운영하는 유로 코치(Euro Coaches)(코드 EC)를 포함한다. 상기 3개의 운송 서비스를 특징화하는 정보는 도 1의 라벨링에 포함된다. 도 1은 또한 시간표 정보를 지도 내의 지리적 위치를 연결하는 선으로 도시된 3개의 서비스를 가진 이탈리아 지도 형태로 보여준다.
이 예에서는 하기의 운송 서비스를 이용할 수 있다:
- 열차 번호 IR 101, 밀라노(도면에는 "Milano" 또는 "MIL"으로 표시됨)에서부터 로마(도면에는 "Roma" 또는 "ROM"으로 표시됨)까지 평일에 운행하고 볼로냐와 플로렌스(도면에는 "Firenze" 또는 "FIR"로 표시됨)에서 정차함(실선);
- 열차 번호 IR 102, 베니스(도면에는 "Venezia" 또는 "VEN"으로 표시됨)에서부터 볼로냐(도면에는 "BOL"로 표시됨)까지 주말 및 금요일에 운행하고 중간 정류장 없음(대시선);
- 버스 번호 EC 51, 로마에서부터 라퀼라(도면에는 "ACQ"로 표시됨)까지 매일 운행하고 중간 정류장 없음(일점쇄선).
고유한 글로벌 위치 코드 지정
실제로, 운송 위치(예를 들면, 정차 지점)는 사업자들 간에 공유되지만 상이한 코드 집합으로 식별될 수 있다. 일부 실시형태에 있어서, 위치들은 코드들이 사업자 특유 코드로/로부터 맵되게 하는 글로벌 고유 코드로 식별된다.
예를 들면, 이 방법은 밀라노역 IR에 대하여 "MIL", 볼로냐역 IR(BOL)에 대하여 "BOL", 플로렌스역에 대하여 "FIR", 베니스역 IR에 대하여 "VEN", 및 라퀼라 터미널 EC에 대하여 "ACQ"와 같이 상이한 서비스의 모든 정차 지점에 대하여 예컨대 3개의 문자 코드로 고유한 글로벌 위치 코드를 지정한다. 일부 실시형태에 있어서, 동일한 도시 내의 다른 역들은 예컨대 로마역 IR 및 로마 터미널 EC에 대하여 "ROM"과 같이 동일한 고유한 글로벌 위치 코드가 지정된다.
지정의 결과는 표 1과 같다.
[표 1]
노선(routing) 위치 결정
전술한 바와 같이, 노선 위치에 대하여 상이한 대안적인 정의가 있다. 대안적인 실시형태는 하기의 기준을 이용하여 노선 위치를 규정한다:
(i) 운송 서비스의 모든 정차 지점, 즉 종점과 모든 중간 정차 지점이 노선 위치로서 취해진다;
(ii) 적어도 2개의 운송 서비스의 종점과 교차 지점, 즉 종점과 공통 정차 지점만이 노선 위치로서 취해진다;
(iii) 종점만이 노선 위치로서 취해진다.
상기 기준 (iii)은 가장 제한적인 기준이다. 이것은 네트워크 내의 가장 "중요한" 위치만을 시간표 정보로부터 추론하기 위한 시도이다. 이것은 전형적으로 운송 서비스가 종종 주요 도시와 같은 "중요한" 위치에서 시작하고 및/또는 "중요한" 위치를 목적지로 한다는 사실에 의존한다.
기준 (iii)에 대한 이 설명의 제한하는 의도가 없는 단순히 예로서, 기준 (iii)에 따른 노선 위치가 사용되는 예시적인 실시형태를 이제 더 자세히 설명한다. 이것은 다음과 같은 행동들을 포함한다:
- 하나 이상의 운송 사업자에 대하여, 각종 운송 서비스에 의해 서비스되는 최초 및 최종 위치를 예를 들면 시간표 저장소로부터 검색한다;
- 이들의 고유한 글로벌 위치 코드의 리스트를 중복 없이 생성한다. 예시적인 구현예에 있어서, 리스트는 집합(예를 들면, C++ 구현의 경우 std::set)에 대하여 적당한 데이터 컨테이너를 이용하여 생성된다;
- 상기 위치 코드를 시스템에 의해 이미 알려진 노선 위치 코드와 비교한다;
- 새로운 노선 위치 코드(= 시스템에 의해 아직 알려지지 않은 노선 위치)를 시스템에 저장한다.
도 1의 예시적인 운송 서비스의 시간표 정보를 입력으로서 이용하여, 이 처리는 MIL, VEN, BOL, ROM 및 ACQ를 노선 위치로서 인식한다. 왜냐하면, 이 위치들은 도 1의 운송 서비스의 종점들의 집합을 형성하는 역이기 때문이다. FIR은 도 1의 임의의 운송 서비스의 종점이 아니기 때문에 노선 위치로서 인식되지 않는다.
표 2는 도 1의 모든 운송 서비스에 대하여, 정차 위치의 운송 사업자 위치 코드, 지정된 고유한 글로벌 위치 코드, 및 정차 위치가 노선 위치인지 여부에 관한 개관이다.
[표 2]
직접 연결 노선 위치 결정
노선 위치를 결정하였으면, 처리는 적어도 하나의 운송 서비스에 의해 직접 연결되는 노선 위치들의 튜플 또는 쌍의 리스트를 생성한다. 생성된 리스트는 중복이 없다.
만일 하기 조건들 중 하나가 참(true)이면 2개의 노선 위치는 "직접 연결"된다.
- 적어도 하나의 운송 서비스가 고려되는 제1 노선 위치로부터 임의의 중간 정류장 없이 고려되는 제2 노선 위치까지 가동한다;
- 적어도 하나의 운송 서비스가 고려되는 제1 노선 위치로부터 고려되는 제2 노선 위치까지 가동하고, 노선 위치로 되지 않는 하나 이상의 중간 정류장을 갖는다.
다시 말해서, 2개의 노선 위치는 만일 적어도 하나의 운송 서비스가 고려되는 제1 노선 위치로부터 고려되는 제2 노선 위치까지 가동하지만 운송 서비스가 정차하는 중간 노선 위치를 갖지 않으면 "직접 연결"된다.
이 정의는 "노선 위치"로서 고려되는 것으로부터 독립적이다. 따라서, 이것은 노선 위치가 상기 기준 (i), (ii) 또는 (iii) 중의 임의의 기준에 따라서 결정되는 실시형태에 적용된다.
예시적인 구현예에 있어서, 노선 위치의 리스트를 찾기 위한 행동 후에, 직접 연결 노선 위치의 리스트를 생성하기 위한 행동이 다음과 같이 행하여질 수 있다.
- 글로벌 위치 코드의 쌍으로 이루어진 요소들을 포함하도록 데이터 컨테이너를 초기화한다. 이것은 집합 요소의 중복 엔트리를 허용하지 않는 집합, 즉 노선 위치의 쌍의 중복 엔트리가 없는 집합(예를 들면, C++ 구현의 경우 std::set)에 대한 데이터 컨테이너일 수 있다. 일부 실시형태에 있어서, 요소들은 추가의 정보, 예를 들면, 2개의 위치 코드에 의해 표시된 2개의 위치 간의 이동 시간 또는 거리를 포함할 수 있다;
- 이 구조를 현재 시간에 시스템에 의해 이미 알려진 모든 직접 연결 노선 위치 쌍으로 채운다;
- 시스템에서 알려진 노선 위치의 리스트를 검색한다;
- 하나 이상의 운송 사업자에 대하여 그들의 중간 정류장과 함께 모든 운송 서비스를 시간표 저장소로부터 검색한다;
- 각각의 운송 서비스에 대하여:
ㅇ 출발 위치를 선택한다; 이것은 노선 위치를 보장하기 위한 것이고, 그 글로벌 위치 코드를 검색한다;
ㅇ 다음 노선 위치를 발견할 때까지 서비스에 따라 순차적인 순서로 운송 서비스의 정류장에 대하여 반복하고, 그 글로벌 위치 코드를 검색한다. 이 시점에서 1쌍의 직접 연결 노선 위치가 발견된다;
ㅇ 2개의 위치 코드를 알파벳 순서로 배치한다; 이것에 의해 예를 들면 PAR-MRS가 MRS-PAR로 된다. 이것은 네트워크 정보가 이동 방향과 무관하기 때문이고, 만일 2개의 위치 사이에 링크가 존재하면, 이것은 양방향으로 유효한 것으로 고려된다;
ㅇ 상기 직접 연결 노선 위치의 쌍을 데이터 구조에 저장한다(현재 시간에 시스템에 의해 이미 알려지지 않은 경우);
ㅇ 운송 서비스의 나머지 정류장에 대하여 동일한 절차를 반복한다;
- 처리의 종단에서, 새로운 직접 연결 노선 위치 코드의 쌍을 시스템에 저장한다.
표 3a는 도 1의 모든 예시적인 운송 서비스에 대한 직접 연결 노선 위치의 이 방법에 의해 생성된 쌍들의 리스트 및 표 2에 나타낸 노선 위치의 예시적인 리스트를 보인 것이다. 식별자 "쌍 ID"는 각각의 직접 연결 위치 쌍들에 추가된다.
[표 3a]
직접 연결된 노선 위치 쌍
직접 연결 노선
위치에 대한 추가 정보의
결정
일부 예시적인 구현예에 있어서, 추가 정보는 직접 연결 노선 위치의 결정(예를 들면 전술한 바와 같이) 중에 시간표(만일 있으면)로부터 추출되고 각각의 노선 위치 쌍들과 함께 저장될 수 있다. 추가의 추출되고 저장되는 정보는 하기의 것일 수 있다:
- 2개의 직접 연결 노선 위치 간의 거리; 및/또는
- 2개의 직접 연결 노선 위치 간의 최소 이동 시간.
직접 연결 노선 위치의 쌍(예를 들면, 표 3에서 "위치_1"과 "위치_2"의 쌍)이 상기 처리에 의해 발견될 때마다, 하기의 추가적인 행동이 수행될 수 있다:
- 위치_1로부터의 출발 일시 및 위치_2에의 도착 시간을 시간표로부터 판독한다. 상기 2개의 값 간의 차를 계산하여 이동 시간을 획득한다;
- 만일 쌍(위치_1, 위치_2)이 시스템에 의해 알려지지 않았으면, 상기 계산된 이동 시간을 상기 쌍과 함께 단순히 저장한다;
- 상기 쌍이 시스템에 의해 이미 알려져 있으면, 상기 계산된 이동 시간을 기존의 것과 비교한다. 만일 계산된 이동 시간이 이미 알려진 이동 시간보다 더 짧으면, 기존의 이동 시간을 새로운 이동 시간으로 덮어쓰기하고, 그렇지 않으면 기존의 이동 시간을 유지한다;
및/또는
- 만일 존재하면, 위치_1과 위치_2 간의 거리를 시간표로부터 판독한다;
- 만일 쌍(위치_1, 위치_2)이 시스템에 의해 알려지지 않았으면, 상기 거리를 상기 쌍과 함께 단순히 저장한다;
- 상기 쌍이 시스템에 의해 이미 알려져 있으면, 기존의 것을 새로운 것으로 덮어쓰기하고, 그렇지 않으면 기존의 것을 유지한다. 대안적인 구현예에 있어서, 이전에 알려진 거리와 새로운 거리 사이의 평균값을 계산 및 저장한다. 이 방법에서, 새로운 거리 값과 이전의 거리 값은 둘 다 동일한 가중치로 고려된다. 이것에 의해 목표는 거리의 정확성을 증분적으로 개선하는 것이다.
예시적인 표 3b는 표 3에 대응하는 직접 연결 노선 위치의 이 방법으로 생성된 쌍들의 리스트를 보인 것으로서, 각각의 노선 위치 쌍들과 함께 저장될 2개의 직접 연결 노선 위치 간의 거리와 최소 이동 시간이 추가된 것이다("N/A"는 정보를 이용할 수 없음을 표시한다).
[표 3b]
추가 정보를 함께 표시한 직접 연결 노선 위치 쌍
다른 예시적인 구현예에 있어서, 예를 들면 하기와 같은 다른 추가적인 정보가 시간표로부터 검색되어 저장된다:
- 네트워크 활용 정보, 예를 들면, 특정의 트랙, 즉 임의의 2개의 주어진 노선 위치 사이에서 얼마나 많은 운송 서비스가 가동중인지;
- 전체 네트워크 통계; 예를 들면:
ㅇ 몇 퍼센트의 트랙이 단지 하나의 서비스만을 전달하는지;
ㅇ 가장 교통량이 많은 트랙이 무엇인지(번호 또는 운송 서비스);
ㅇ 네트워크(또는 그 일부)의 활용이 시간에 따라 어떻게 진화하는지;
- 운송 서비스에 관한 기내 서비스의 레벨;
- 운송 서비스에 대한 접근 레벨.
자동화된 트랙 속도 분류
추가의 예시적인 구현예에 있어서, 자동화된 트랙 속도 분류는 거리 및 최소 이동 시간 정보에 기초를 둔다. 처리가 운송 서비스의 세그먼트(2개의 직접 연결 노선 위치에 의해 규정됨)에 대하여 거리 및 최소 이동 시간 정보를 검색할 수 있을 때, 속도 인증(speed certification)은 세그먼트 길이(2개의 직접 연결 노선 위치들 간의 거리)를 당해 세그먼트에 대한 최소 이동 시간으로 나눈 결과에 기초하여 운송 서비스의 세그먼트에 기인된다. 트랙 속도 분류는 철도 서비스로 제한될 수 있다.
표 4는 예시적인 속도 분류 규칙을 보인 것이다.
[표 4]
속도 분류 규칙
이러한 유형의 속도 분류 규칙에 기초하여, 시간표로부터 추출된 거리 및 최소 이동 시간 정보가 개별 세그먼트에 대한 트랙 속도 분류를 수행하기 위해 사용된다. 분류가 기초를 두는 이동 시간 정보가 고려되는 세그먼트에서 각종 서비스의 최소 이동 시간을 반영하기 때문에, 결과적인 트랙 속도 분류는 그 세그먼트에서 가동되는 모든 운송 서비스가 예를 들면 고속인 것을 인증하지 않으며, 이것은 오히려 트랙이 적어도 분류에 의해 표시된 속도로 서비스를 전달할 수 있음을 표시한다.
예시적인 표 3c는 표 3b에 따른 거리 및 최소 이동 시간 정보와 함께 직접 연결 노선 위치의 쌍들의 리스트를 보인 것으로서, 2개의 직접 연결 노선 위치들 간의 세그먼트에 대한 트랙 속도 분류가 추가된 것이다. 이 트랙 속도 분류는 각각의 노선 위치 쌍 및 선택적으로 거리와 최소 이동 시간 정보와 함께 저장된다(표 4에서 "고속"과 "보통"은 "고속 철도"와 "보통 철도"의 간략형이다).
[표 3c]
트랙 속도 분류를 포함한 직접 연결 노선 위치 쌍
네트워크 경로 생성
네트워크 경로는 결정된 직접 연결 노선 위치에 기초하여 생성된다. 추가 정보의 결정 및/또는 트랙 속도 분류를 위한 행동은 선택적이고, 이들은 수행될 수 있지만 네트워크 경로를 생성하기 전에 수행될 필요가 없다.
직접 연결 노선 위치의 쌍들의 리스트로부터 시작하여, 처리는 임의의 2개의 주어진 직접 연결 노선 위치들 간의 모든 가능한 경로의 새로운 리스트를 생성한다.
예시적인 구현예에 있어서, 네트워크 경로의 생성은 하기의 입력들을 취한다:
- 직접 연결 노선 위치 쌍들의 리스트; 및
- 선택적으로, 잠재적 운송 서비스 변화가 너무 많은 네트워크 경로를 걸러내기 위한 네트워크 경로의 최대 길이(경로를 따르는 중간 노선 위치의 수). 일부 실시형태에 있어서, 이 값은 시스템 관리자에 의해 선택될 수 있다.
예시적인 방법 실시형태에 있어서, 직접 연결 노선 위치의 그래프가 깊이 우선 그래프 순회와 유사하게 구성된다. 이 방법은 도 6 및 도 7에 또한 예시되어 있고, "네트워크 경로 구축기(5)의 예시적인 워크플로우"의 제목으로 뒤에서 자세히 설명한다. 예시적인 방법은 다음과 같이 진행한다:
- 필드가 하기와 같은 데이터 구조 네트워크_링크(network_link)를 생성한다:
ㅇ 목표 위치 글로벌 코드;
ㅇ 목표 위치까지의 이동 시간(선택적);
ㅇ 목표 위치까지의 거리(선택적);
- 키(key)가 글로벌 위치 코드이고 그 값이 네트워크_링크 객체의 리스트인 아이템들의 지도를 초기화한다;
- 시스템에 의해 알려진 모든 노선 위치 코드의 리스트를 판독한다;
- 발견된 각각의 노선 위치의 지도에 새로운 아이템을 생성한다;
- 직접 연결 노선 위치들의 쌍을 판독한다; 각 쌍(위치_1, 위치_2)에 대하여:
ㅇ 지도상에서 키가 위치_1 코드인 아이템을 찾는다;
ㅇ 하기의 것을 가진 네트워크_링크 객체를 이 노드에 추가한다:
ㆍ 목표 위치 글로벌 코드로서, 위치_2의 코드;
ㆍ 이동 시간으로서, 위치_1과 위치_2 간의 최소 이동 시간(선택적);
ㆍ 거리로서, 위치_1과 위치_2 간의 거리(선택적);
ㅇ 키가 위치_2 코드인 아이템을 지도에서 찾는다;
ㅇ 하기의 것을 가진 네트워크_링크 객체를 이 노드에 추가한다:
ㆍ 목표 위치 글로벌 코드로서, 위치_1의 코드;
ㆍ 이동 시간으로서, 위치_1과 위치_2 간의 최소 이동 시간(선택적);
ㆍ 거리로서, 위치_1과 위치_2 간의 거리(선택적);
- 상기 처리의 종단에서, 임의의 다른 위치에 대한 링크가 없는 노선 위치(네트워크_링크 없는 객체)를 지도로부터 제거한다(이 행동은 링크 없는 노선 위치가 "노선 위치"의 정의에 의해 암묵적으로 배제될 수 있기 때문에 선택적이다);
- 아직 지도상에 있는 각각의 노선 위치에 대하여, 직접 연결된 위치들을 회귀적으로 찾음으로써 다른 노선 위치에 대한 모든 가능한 경로를 발견한다;
ㅇ 지도상의 위치로부터, 각각의 네트워크_링크 객체를 하나씩 방문한다. 방문한 각각의 네트워크_링크 객체에 대하여 처리는 길이 2의 경로를 찾는다:
ㆍ 네트워크_링크 객체로부터 시작하여, 지도상의 상대적인 목표 위치 노드를 찾고 동일한 동작을 회귀적으로 반복한다. 그 다음에 처리는 길이 3, 4, ...를 찾을 것이다;
ㅇ 회귀중에, 주기성(cycle)을 회피하도록(동일 경로에 대하여 동일 위치를 2회 방문하는 것을 피하도록) 스택(stack)이 유지된다. 경로 내의 위치가 회귀적으로 찾아질 때마다, 스택에 위치 코드가 추가된다;
ㅇ 이와 동시에, 지금까지 찾아진 각각의 유효 경로의 정보(순서대로 방문한 위치, 거리 및 이동 시간 정보(선택적))가 시스템에 저장된다;
ㅇ 하기의 출구 조건 중의 하나가 참으로 될 때까지 회귀를 계속한다:
ㆍ 경로의 최대 길이에 도달하였다(스택 사이즈);
ㆍ 주기성이 발견되었다(최종 방문한 위치가 스택에 이미 존재한다);
ㅇ 만일 회귀가 정지하면, 하기의 처리 순서를 적용한다:
ㆍ 최종 방문한 위치를 스택으로부터 제거한다;
ㆍ 스택 내의 이전 위치로부터 회귀를 재개한다;
ㅇ 만일 스택이 비어있으면, 이것은 처리가 지도상의 초기에 선택된 최초 위치로부터 시작하여 모든 유효 경로를 발견하였음을 의미하고; 그 다음에 처리는 지도상의 다음 위치에 대하여 동일한 절차를 적용한다.
이 예시적인 처리의 결과인 도 1에 예시된 운송 서비스의 임의의 2개의 직접 연결 노선 위치들 간의 모든 가능한 경로의 리스트를 표 5에 나타내었다. 식별자 "네트워크 경로 ID"는 찾아진 각각의 네트워크 경로에 추가된다.
[표 5]
네트워크 경로
네트워크 표시의 정제(refinement) 및 유지
네트워크 표시는 스크래치로부터, 즉 이미 알려진 노선 위치 및/또는 직접 연결 노선 위치 쌍들을 이용하지 않고 초기에 생성될 수 있다.
노선 위치 및 직접 연결 노선 위치 쌍들의 초기 집합에 기초하여 초기 네트워크 표시가 생성되면, 예컨대 새로운 시간표로부터 도출된 노선 위치 및 직접 연결 노선 위치 쌍들을 노선 위치 및 직접 연결 노선 위치 쌍들의 이미 존재하는 집합에 새로 추가함으로써 갱신된 네트워크 표시가 생성될 수 있다.
네트워크 표시의 갱신은 예를 들면 새로운 시간표의 수신에 의해, 또는 주기적으로, 또는 주문에 의해 트리거될 수 있다.
일부 실시형태에 있어서, 새로운 시간표의 수신에 의한 갱신의 트리거링은 "증분 국면"(incremental phase)이라고 부르는 기간 동안에 사용될 수 있고, 주기적으로 또는 주문에 의한 갱신의 트리거링은 "유지 국면"(maintenance phase)이라고 부르는 기간 동안에 사용될 수 있다.
일부 실시형태에 있어서, 증분 국면과 유지 국면은 결합되어 증분 국면에서 네트워크 표시를 정제하기 위한 2-국면 접근법을 형성하고, 네트워크 표시가 충분히 성숙되면 갱신된 네트워크 표시를 유지 국면에서 유지한다. 일부 실시형태에 있어서, 상기 2개의 국면은 각종 운송 사업자에게 독립적으로 적용할 수 있고; 이것은 네트워크 표시가 사업자 X에 대하여 증분 국면에 있고 다른 사업자 Y에 대하여 유지 국면에 있을 수 있음을 의미한다.
증분 국면 중에, 네트워크 구축기(= 네트워크 표시를 생성하는 처리)는 주어진 사업자에 대한 새로운 시간표를 획득할 때마다 가동된다. 예를 들면, 네트워크 구축기는 당해 사업자에 대한 각각의 새로운 시간표 획득의 종단에서 트리거될 것이다. 그 다음에, 네트워크 표시가 이 네트워크 사업자에 대하여 갱신된다.
유지 국면 중에, 새로운 시간표 획득시마다 네트워크 구축기를 가동할 필요가 없다. 네트워크 표시가 적절히 최신형으로 유지되는 것을 보장하도록 네트워크 구축기를 가동하고 이것에 의해 네트워크 표시를 주기적으로(예를 들면, 1년에 1회) 갱신하는 것으로서 충분하다. 이 국면 중에, 예를 들면 네트워크 구축기는 유지 국면에 있는 모든 운송 사업자에 대하여 기간마다 1회 잡 스케줄러(job scheduler)에 의해 시작된다. 상기 기간은 반드시 고정될 필요가 없고, 일부 실시형태에서는 시간에 따른 시간표의 변동에 적응될 수 있다.
증분 국면 중에 후속적으로 생성된 네트워크 표시에 있어서의 변화의 생성은 네트워크가 성숙되고 증분 국면으로부터 유지 국면으로 천이가 이루어져야 하는 때를 사정(assess)하기 위한 진단 도구로서 사용될 수 있다. 예를 들면, 새로운 운송 사업자가 고려될 때, 증분 국면은 새로운 시간표를 소정의 횟수만큼 획득한 후에 상기 시간표(예를 들면, 새로운 노선 위치 또는 직접 연결된 쌍)에 의해 유도된 네트워크 표시에서 아직 변화가 있을 때까지 지속된다. 이와 대조적으로, 시간표의 순차적 버전의 획득이 네트워크 표시에서 임의의 추가의 변화를 유도하지 않을 때, 네트워크는 성숙되고 증분 국면은 완성된 것으로 고려된다. 예를 들면, 증분 국면은 주어진 수의 연속적인 새로운 시간표가 네트워크 표시에서 변화를 유도하지 않을 때까지 유지될 수 있고, 상기 주어진 수는 예를 들면 2와 5 사이의 수, 예를 들면 3일 수 있다.
일부 실시형태에 있어서, 갱신 처리는 예를 들어서 만일 네트워크 경로가 기존의 네트워크 표시에서 누락된 것으로 밝혀지면 수동으로 역시 트리거될 수 있다.
시스템 아키텍처의
실시예의
개관; 도 2
도 2는 시간표 정보로부터 육상 운송 네트워크의 표시를 구축하는 처리를 자동으로 실행하도록 일부 실시형태에서 사용될 수 있는 예시적인 컴퓨터 시스템 아키텍처(1)의 개관을 제공한다. 이 아키텍처(1)는 2개의 메인 노드, 즉 응용 노드(2)와 데이터베이스 노드(3)에 기초를 둔다. 응용 노드(2)는 응용 컴포넌트에 전용되고; 예를 들면 이진수 라이브러리(예를 들면, 시간표 분석기 라이브러리 및 네트워크 경로 구축기 라이브러리)의 형태로 시간표 분석기(4)와 네트워크 경로 구축기(5)를 또한 호스트한다. 데이터베이스 노드(3)는 데이터 저장에 전용되고, 예를 들면 위치 데이터베이스(6), 시간표 데이터베이스(7) 및 네트워크 데이터베이스(8)를 포함한다. 위치 데이터베이스(6)는 사업자가 규정한 위치 코드 및 이 코드를 글로벌 위치 코드로 및 글로벌 위치 코드로부터 번역한 것의 리스트를 포함한다. 시간표 데이터베이스(7)는 육상 운송 사업자의 시간표를 포함한다. 네트워크 데이터베이스(8)는 노선 위치 코드, 직접 연결 노선 위치의 쌍, 및 네트워크 경로를 포함한다.
시간표의 획득(9)은 운송 서비스 사업자로부터 시간표의 검색에 전용되는 처리이다. 시간표의 획득(9)은 네트워크 구축기 가동 스크립트(10)의 실행을 트리거할 수 있다. 네트워크 구축기 가동 스크립트(10)는 주어진 스케줄에 따라 네트워크 구축기 가동 스크립트(10)를 트리거하도록 적응된 일반 스케줄러 데몬인 잡 스케줄러(11)에 의해 또한 트리거될 수 있다. 일부 실시형태에 있어서, 잡 스케줄러는 네트워크 표시가 유지 국면에 있을 때 육상 운송 네트워크 표시의 주기적인 갱신을 야기하고, 이것은 서비스가 갱신될 필요가 있는 운송 사업자의 리스트를 제공할 수 있다. 네트워크 구축 가동 스크립트(10)는 애플리케이션 노드(2)의 일부인 일괄 프로세스(12)를 초기화한다. 네트워크 구축기 가동 스크립트(10)는 일괄 프로세스(12)에 입력 독립변수(input argument)(예를 들면, 운송 사업자 리스트)를 제공하고 일괄 프로세스(12)로부터 출구 코드(예를 들면, 성공 또는 실패를 표시하는 것)를 수신하도록 적응된다.
일괄 프로세스(12)는 시간표 분석기(4)와 네트워크 경로 구축기(5)를 포함한다. 시간표 분석기(4)는 시간표와 위치 코드를 분석하여 노선 위치 및 직접 연결 노선 위치의 쌍들의 리스트를 계산한다. 시간표 분석기(4)는 하나 이상의 운송 사업자에 관한 시간표 정보를 사업자 위치에 대한 글로벌 위치 코드 변환과 함께 위치 데이터베이스(6) 및 시간표 데이터베이스(7)로부터 검색한다. 시간표 분석기(4)는 네트워크 데이터베이스(8)로부터 기존의 노선 위치 코드 및 직접 연결 노선 위치의 쌍을 판독하고, 계산된 아이템들을 네트워크 데이터베이스(8)에 저장할 수 있다. 네트워크 경로 구축기는 노선 위치 코드 및 직접 연결 노선 위치의 쌍을 네트워크 데이터베이스로부터 판독하고, 네트워크 경로를 계산하며, 네트워크 경로를 네트워크 데이터베이스(8)에 저장하도록 적응된다.
지금까지 설명한 엔티티(1~12)들은 광학 매체, 자기 매체 또는 반도체 기반 기억 매체와 같은 비일시적 컴퓨터 판독가능 기억 매체에 저장된 컴퓨터 프로그램 명령어 또는 데이터의 형태로 된 소프트웨어 컴포넌트(컴퓨터 프로그램, 데이터 베이스)일 수 있다.
일괄 프로세스(12)의 예시적인
하이
레벨 설계; 도 3
도 3은 도 2의 일괄 프로세스(12)의 예시적인 하이 레벨 설계를 보인 것이다. 일괄 프로세스(12)는 이진수 일괄 라이브러리(batch library)(13)에 의해 표시된다. 일괄 라이브러리(13)는 일괄 엔트리 계층(14), 응용 로직 계층(15), 응용 객체 모델(16) 및 데이터 접근 객체 모델(17)을 포함한다.
일괄 엔트리 계층(14)은 데이터베이스에 대한 접속을 초기화하고, 입력 파라미터를 처리하며, 응용 로직 코드를 호출한다. 응용 로직 계층(15)은 응용 코드를 포함한다. 예를 들면 응용 로직 계층(15)은 시간표 분석기(4) 및 네트워크 경로 구축기(5)(도 2)를 포함할 수 있다. 응용 객체 모델(16)은 입력 데이터 형식과 무관하게 데이터베이스로부터 판독되고 비즈니스 논리 계층(15)에 의해 관리되는 메모리 내의 데이터를 표시하는 부류(class)들의 집합이다. 데이터 접근 객체 모델(17)은 데이터베이스(일괄 프로세스(12) 자체의 부속품이 아닌 위치 데이터베이스(6), 시간표 데이터베이스(7) 및 네트워크 데이터베이스(8)(도 2))에 접근하는 임무를 갖고, 이를 위해, 데이터베이스 쿼리(예를 들면, SQL 쿼리의 형태) 및 데이터베이스 테이블(예를 들면, C++ 부류의 형태)에 접근하기 위한 프로그램 부류를 포함한다.
상기 엔티티(12~17)들은 광학 매체, 자기 매체 또는 반도체 기반 기억 매체와 같은 비일시적 컴퓨터 판독가능 기억 매체에 저장된 컴퓨터 프로그램 명령어 또는 데이터의 형태로 된 소프트웨어 컴포넌트일 수 있다.
시간표의 획득에 의해
트리거되는
네트워크 표시 구축; 도 4
도 4에 관한 이하의 설명에서, 도 4의 참조 번호 "n"은 "4.n"을 나타내고, 예를 들면 도 4의 참조 번호 "10"은 "4.10"을 나타낸다.
도 4는 네트워크 표시의 구축이 새로운 시간표의 획득에 의해 트리거되는 도 2 및 도 3에 예시된 시스템의 가동 모드(run mode)를 보인 프로토콜 도면이고, 이것은 예를 들면 증분 국면에서 사용될 수 있다. 이 처리는 하나 이상의 특정 운송 사업자로 제한되어 이러한 네트워크 사업자를 참조하는 네트워크 표시 부분만이 구축되게 할 수 있다. 도 4에서, 시간은 상부로부터 하부로 동작한다. 이 처리에 수반되는 엔티티는 도면 위의 헤더 라인에 나타내었다.
도 4의 처리는 4.1에서 운송 사업자가 위치 데이터를 전송함으로써 선택적으로 시작할 수 있다. "위치의 획득"이라고 나타낸 엔티티는 4.2에서 위치 데이터베이스(6)의 위치 데이터를 갱신하고, 4.3에서 복귀 코드를 운송 사업자에게 전송한다.
4.4에서, 운송 사업자는 시간표를 시간표의 획득(9)에 보내고, 시간표의 획득(9)은 4.5에서 시간표 데이터베이스(7)의 시간표를 갱신하며, 4.6에서 복귀 코드를 운송 사업자에게 전송한다.
4.7에서, 시간표의 획득(9)은 도 4에서 "네트워크 구축기"라고 간단하게 또한 표시된 네트워크 구축기 가동 스크립트(10)를 호출한다. 입력 독립변수로서, "사업자_명"이라고 표시되는 사업자 명칭이 통과될 수 있다. 4.8에서, 네트워크 구축기 가동 스크립트(10)는 통과된 사업자 명칭에 대한 일괄 프로세스(12)를 불러낸다. 4.9에서 일괄 프로세스(12)는 시간표 분석기(4)를 호출하고, 시간표 분석기(4)는 4.10에서 노선 위치 및 직접 연결된 노선 위치 쌍들을 검출한다. 4.11에서, 시간표 분석기(4)는 네트워크 경로 구축기(5)를 호출하고, 네트워크 경로 구축기(5)는 4.12에서 네트워크 경로를 구축하여 이것을 네트워크 데이터베이스(8)에 저장한다.
마지막으로, 복귀 코드(출구 코드)는 4.13에서 네트워크 경로 구축기(5)로부터 시간표 분석기(4)로, 4.14에서 시간표 분석기(4)로부터 일괄 프로세스(12)로, 일괄 프로세스(12)로부터 네트워크 구축기 가동 스크립트(10)로, 및 네트워크 구축기 가동 스크립트(10)로부터 시간표의 획득(9)으로 연쇄적으로 복귀된다.
잡 스케줄러에 의해
트리거되는
네트워크 표시 구축
네트워크 표시 구축이 잡 스케줄러(11)(도 2)에 의해 트리거되는 다른 가동 모드는 도 4에 도시된 것과 유사하다. 즉 행동 4.1 내지 4.6은 분산되고, 행동 4.7은 (시간표의 획득(9) 대신에) 잡 스케줄러가 네트워크 구축기 가동 스크립트(10)를 불러내도록 수정된다. 도 4에서처럼, 네트워크 구축기 가동 스크립트(10)는 네트워크 표시가 입력 독립변수로서 구축되어야 하는 사업자 명칭을 통과시킨다.
이 가동 모드는 네트워크 표시가 주어진 스케줄로, 예를 들면, 1년에 1회 구축되게 하는 것이 적당하고, 이것은 예를 들면 유지 국면에서 사용된다.
일괄 프로세스 및 시간표 분석기 워크플로우; 도 5a, 5b
도 5a, 5b는 도 2~4의 일괄 프로세스 및 시간표 분석기의 워크플로우의 더 상세한 예시적인 설명도이다.
도 5a, 5b에 관한 이하의 설명에서, 도 5a, 5b의 참조 번호 "n"은 "5.n"을 나타내고, 예를 들면 도 5a, 5b의 참조 번호 "10"은 "5.10"을 나타낸다.
5.1에서, 일괄 프로세스(12)는 일괄 엔트리 계층(14)에 입력 데이터를 제공한다. 일괄 엔트리 계층(14)은 5.2에서 하나 이상의 사업자 코드를 상기 입력 데이터에서 검출한다. 5.3에서, 일괄 엔트리 계층(14)은 데이터 접근 객체 모델(17)에 질의함으로써 사업자가 존재하는지를 확인한다. 데이터 접근 객체 모델(17)은 대응하는 복귀 코드를 5.4에서 일괄 엔트리 계층(14)에 돌려보낸다. 5.5에서, 일괄 엔트리 계층(14)은 사업자 코드를 통과시킴으로써 당해 사업자의 시간표 분석기(4)를 호출한다.
5.6에서, 시간표 분석기(4)는 사업자 코드에 대한 기존 위치 코드를 데이터 접근 객체 모델(17)로부터 검색한다. 데이터 접근 객체 모델(17)은 5.11에서 응용 객체 모델(16)에게 피요청 데이터를 공급하고, 5.12에서 응용 객체 모델(16)로부터 복귀 코드를 수신하며, 5.13에서 복귀 코드를 시간표 분석기에게 돌려보낸다.
5.14에서, 시간표 분석기(4)는 사업자의 기존 노선 위치를 데이터 접근 객체 모델(17)로부터 판독한다. 데이터 접근 객체 모델(17)은 5.15에서 응용 객체 모델(16)에게 피요청 데이터를 공급하고, 5.16에서 응용 객체 모델(16)로부터 복귀 코드를 수신하며, 5.17에서 복귀 코드를 시간표 분석기에게 돌려보낸다.
5.18에서, 시간표 분석기(4)는 사업자의 기존 직접 연결 노선 위치 쌍을 데이터 접근 객체 모델(17)로부터 판독한다. 데이터 접근 객체 모델(17)은 5.19에서 응용 객체 모델(16)에게 피요청 데이터를 공급하고, 5.20에서 응용 객체 모델(16)로부터 복귀 코드를 수신하며, 5.21에서 복귀 코드를 시간표 분석기에게 돌려보낸다.
5.22에서, 시간표 분석기(4)는 적어도 하나의 서비스의 원천지 또는 목적지로서 상기 시간표 데이터로부터 노선 위치를 검출하고, 검출된 노선 위치를 5.23에서 기존 노선 위치와 비교한다. 만일 시간표 분석기(4)가 새로운 노선 위치를 찾으면, 시간표 분석기(4)는 상기 새로운 노선 위치를 5.24에서 응용 객체 모델(16)에게 전달하고, 5.25에서 응용 객체 모델(16)로부터 복귀 코드를 수신한다.
5.26에서, 시간표 분석기(4)는 상기 시간표 데이터로부터 직접 연결 노선 위치 쌍 및 노선 위치를 검출하고, 검출된 쌍을 5.27에서 이미 존재하는 직접 연결 노선 위치 쌍과 비교한다. 만일 시간표 분석기(4)가 새로운 직접 연결 노선 위치 쌍을 찾으면, 시간표 분석기(4)는 상기 새로운 직접 연결 노선 위치 쌍을 5.28에서 응용 객체 모델(16)에게 전달하고, 5.29에서 상기 응용 객체 모델(16)로부터 복귀 코드를 수신한다.
5.30에서, 시간표 분석기(4)는 트랜잭션(transaction)의 시작을 데이터 접근 객체 모델(17)에게 표시한다. 이것은 단순히 예이고, 다른 구현예에서는 트랜잭션이 예를 들면 5.14 및/또는 5.18에서 데이터 객체에 대한 제1 판독 접근으로 개시될 수 있고, 일부 예시적인 구현예에서는 트랜잭션이 트랜잭션의 시작을 명시적으로 표시할 필요 없이 접근과 함께 암묵적으로 개시될 수 있다.
5.31 및 5.32에서, 시간표 분석기(4)는 데이터 접근 객체 모델(17)이 새로운 노선 위치 및 새로운 직접 연결 노선 위치 쌍을 위치 데이터베이스(6)에 저장하게 한다. 5.33에서, 시간표 분석기(4)는 트랜잭션을 커밋한다. 5.34에서, 시간표 분석기(4)는 트랜잭션이 성공적으로 완료되었음을 확인하는 복귀 코드를 데이터 접근 객체 모델(17)로부터 수신하고, 5.35에서 시간표 분석기(4)는 대응하는 성공 코드를 5.5에서의 최초 호출에 응답하여 일괄 엔트리 계층(14)에 돌려보낸다.
그 후 5.36에서, 일괄 엔트리 계층(14)은 네트워크 경로 구축기(5)를 호출한다. 네트워크 경로 구축기(5)는 그 다음에 5.37에서 네트워크 경로를 구축하고, 성공인 경우에 5.38에서 성공 코드를 일괄 엔트리 계층(14)에 돌려보낸다. 마지막으로, 5.39에서, 일괄 엔트리 계층(14)은 성공을 표시하는 출구 코드를 5.1에서의 일괄 프로세스의 초기 호출에 응답하여 일괄 프로세스(12)에 보낸다.
네트워크 경로 구축기(5)의 예시적인 워크플로우; 도 6 및 도 7
도 5a, 5b의 5.36에서, 네트워크 경로 구축기(5)가 호출된다. 5.37에서의 행동의 예시적인 워크플로우는, 네트워크 경로 구축기(5)가 네트워크 경로를 구축할 때, 도 6으로 예시된다.
도 7은 도 6의 네트워크 경로 생성 처리에서 생성된 예시적인 인접도(adjacency map)를 보인 것이고, 이것은 도 1의 예시적인 운송 서비스 및 표 2와 3a에 리스트된 노선 위치 쌍 및 네트워크 경로와 관련된다.
일부 실시형태에 있어서, 네트워크 경로 구축기(5)는 시간표 분석기(4)가 새로운 노선 위치 또는 새로운 직접 연결 노선 위치 쌍을 찾은 경우에만 실행된다.
네트워크 경로 구축기(5)의 실행은 하기의 주요 단계를 수반할 수 있다:
- 6.1에서, 새로운 데이터베이스 트랜잭션이 시작되고, 그 결과 만일 네트워크 경로 구축기(5)의 실행중에 무엇인가가 실패하여 트랜잭션이 커밋될 수 없으면, 이전의 네트워크 표시가 재확립될 것이다.
- 6.2에서, 기존의 네트워크 경로가 네트워크 데이터베이스(8)로부터 삭제된다. 이것은 단지 하나의 직접 연결 노선 위치 쌍이 추가된 경우에도 모든 네트워크 경로가 새롭게 결정된다는 것을 의미한다.
- 6.3에서, 각 네트워크 경로의 최대 길이 즉, 도 6에서 "MAX_PATH_LEN"으로 표시되는 단일 네트워크 경로에서의 노선 위치의 최대수가 판독된다(이 행동은 전방으로, 예를 들면, 트랜잭션이 6.1에서 시작되기 전으로 이동될 수 있다).
- 6.4에서, 기존의 직접 연결 노선 위치 쌍들이 네트워크 데이터베이스(8)로부터 판독된다.
- 6.5에서, 노선 위치들의 리스트를 포함하는 인접도가 중복 없이 생성된다. 각각의 노선 위치에 대하여, 제1 위치에 인접한 각각의 다른 노선 위치에 대한 포인터가 생성되고, 이러한 포인터는 "인접 링크"라고도 부른다. 인접 링크는 다른 노선 위치 객체에 대한 포인터이다. 일부 구현예에 있어서, 메모리는 각 위치에 대하여 1회 할당될 뿐이다. 인접도 생성의 종단에서, 임의의 다른 노선 위치에 대한 링크를 갖지 않는 노선 위치는 지도로부터 제거된다(만일 있으면). 도 7은 도 1의 예시적인 운송 서비스 및 도 6의 네트워크 경로 생성 처리에서 생성된 표 2 및 표 3a에 리스트된 노선 위치 쌍 및 네트워크 경로에 관한 예시적인 인접도를 보인 것이다. 도 7에서, 인접 링크는 링크가 지시하는 노선 위치를 표시하는 헤더부 및 포인터 자체를 운반하는 데이터부, 즉 링크가 지시하는 노선 위치의 주소를 구비한 해시 박스(hashed box)의 형태로 데이터 컨테이너로서 도시되어 있고, 포인터 자체는 당해 노선 위치를 지시하는 화살표에 의해 표시된다.
- 지도 내의 각각의 원천지 노선 위치에 대하여, 다른 노선 위치에 대한 모든 가능한 경로는 원천지 노선 위치로부터 다른 노선 위치로의 포인터를 회귀적으로 따름으로써 발견된다. 회귀중에, 주기성(즉, 동일 경로에 대하여 동일한 노선 위치를 2회 방문하는 것)을 회피하도록 스택이 유지된다. 이 처리 부분은 6.6에서 시작하고, 이때 하나의 위치가 "LOCATION_FROM"이라고 표시된 인접도로부터 선택된다. 6.7에서, 위치 LOCATION_FROM이 스택에 추가된다. 6.8에서, "LOCATION_FROM"에 직접 연결된 위치가 선택되고 "LOCATION_TO"로 표시된다. 6.9에서 LOCATION_TO가 스택에 추가된다. 6.10 및 6.11에서 스택 사이즈가 이미 네트워크 경로의 최대 길이(MAX_PATH_LEN)보다 더 큰지 여부가 확인되고, 만일 위치 LOCATION_TO가 스택에 이미 존재하면, 즉 주기성이 발견되면, 임의의 응답이 긍정인 경우 처리는 6.14로 분기할 것이다. 만일 양측의 응답이 부정이면, 스택에서 노선 위치에 의해 표시된 하나의 네트워크 경로가 6.12에서 발견된다. 6.13에서, LOCATION_TO가 LOCATION_FROM에 복사되고, 흐름은 6.7로 복귀한다.
6.14에서, 위치 LOCATION_FROM이 스택으로부터 제거되고 스택 내의 최종 위치(만일 있으면)가 새로운 LOCATION_FROM으로 된다. 6.15에서, 스택이 비어있는지 여부가 확인된다. 만일 응답이 긍정이면, 6.16에서 인접도에 다른 원천지 위치가 있는지 확인한다. 만일 응답이 긍정이면, 하나의 네트워크 경로의 구축이 종료되고, 그 네트워크 경로가 6.17에서 데이터베이스에 추가된다.
만일 6.15에서의 결과가 부정이면, 즉 예를 들면 6.10에서 최대 경로 길이에 도달하였기 때문에 스택이 비어있지 않으면, 6.18에서 LOCATION_FROM에 직접 연결된 추가의 노선 위치가 있는지 확인한다. 만일 응답이 긍정이면, 처리는 6.8로 되돌아가서 처리를 계속하고, 만일 응답이 부정이면 처리는 6.14로 되돌아간다.
데이터베이스 버퍼는 6.17에서 종료된 네트워크 경로로 채워진다. 어느 지점에서 데이터베이스 버퍼는 충만될 것이고, 그 내용이 네트워크 데이터베이스(8)에 그대로 베껴질 것이다. 이를 위해, 6.19에서 버퍼가 충만되었는지 확인한다. 만일 응답이 부정이면 처리는 6.17로 되돌아간다. 만일 응답이 긍정이면, 즉 버퍼가 충만되어 있으면, 버퍼 내용, 즉 버퍼 내의 완성된 네트워크 경로가 6.20에서 네트워크 데이터베이스에 기입된다. 그 다음에 처리는 (6.21에서) 6.17로 되돌아가서 추가의 네트워크 경로를 버퍼링하고, 저장할 추가의 네트워크 경로가 없어질 때까지 계속된다. 만일 저장할 추가의 네트워크 경로가 없으면, 네트워크 경로의 구축이 완료되고, 6.22에서 데이터베이스 트랜잭션이 커밋된다. 5.11에서 네트워크 경로 구축기(5)를 호출함으로써 시작된 처리가 종료되고, 호출은 6.23에서 복귀 상태 코드 "SUCCESS"와 함께 시간표 분석기 호출로 되돌아간다.
컴퓨터 시스템; 도 8
도 8은 응용 노드(2) 및 선택적으로 데이터베이스 노드(3) 및 요소들(9, 10, 11)(도 2)을 호스트하도록 구성되고 일련의 명령어를 실행하여 컴퓨터 시스템이 여기에서 설명한 임의의 방법을 수행하게 하는 예시적인 컴퓨터 시스템(100)을 도식적으로 보인 도이다. 컴퓨터 시스템(100)은 프로세서(101), 주메모리(102) 및 네트워크 인터페이스(104)를 포함한다. 컴퓨터 시스템(100)은 또한 컴퓨터 시스템(100)이 그 기능을 실행하게 하는 소프트웨어를 영구적으로 저장하는 정적 메모리(103), 예를 들면, 비분리형의 플래시 및/또는 반도체 드라이브 및/또는 분리형의 마이크로 또는 미니 SD 카드를 포함한다. 또한, 컴퓨터 시스템(100)은 디스플레이(106), 사용자 인터페이스 제어 모듈(108) 및/또는 영숫자 및 커서 입력 장치(107)를 포함할 수 있다. 선택적으로, 카드 리더 및 USB 인터페이스와 같은 추가적인 I/O 인터페이스(109)를 구비할 수 있다. 일부 실시형태에 있어서, 데이터베이스(6, 7, 8)는 정적 메모리(103)에 저장되고, 예컨대 데이터베이스 클라이언트-서버 아키텍처로 구현되는 외부 데이터베이스(6, 7, 8)를 구비한 다른 실시형태에서는 데이터베이스(6, 7, 8)에 대한 접근이 네트워크 인터페이스 장치(104)를 통해 수행된다.
전술한 임의의 하나 또는 모든 방법을 구체화하는 실행 가능한 명령어 집합(즉, 소프트웨어)(110)이 비휘발성 메모리(103)에 완전하게 또는 적어도 부분적으로 영구적으로 저장된다. 실행된 때, 대응하는 처리 데이터가 주메모리(102) 및/또는 프로세서(101)에 저장된다. 소프트웨어(110)는 근거리 통신망 또는 인터넷 내의 소프트웨어 서버로/로부터 네트워크 인터페이스 장치(104)를 통하여 전파 신호(111)로서 추가로 송신 또는 수신될 수 있다.
비록 발명의 교시에 따라 구성된 소정의 제품 및 방법을 여기에서 설명하였지만, 본 특허의 보호 범위는 이것으로 제한되지 않는다. 이와 대조적으로, 본 특허는 축어적으로 또는 균등물 규칙하에서 첨부된 특허 청구범위의 범위 내에 있는 발명 교시의 모든 실시형태를 포괄한다.
Claims (17)
- 육상 운송 네트워크에서 운송 서비스들의 시간표 정보로부터 육상 운송 네트워크의 표시를 생성하는 방법에 있어서,
상기 시간표 정보는 종점들과, 상기 운송 서비스들의 중간 정차 지점들을 포함하고, 상기 방법은,
컴퓨터에 의해 상기 시간표 정보로부터 상기 운송 서비스들의 종점들을 포함하는 노선(routing) 위치들을 결정하는 단계;
상기 컴퓨터에 의해 직접 연결 노선 위치들의 튜플(tuple)들을 형성하는 단계로서, 상기 직접 연결 노선 위치들의 튜플들은, 운송 서비스가 정차하는 어떠한 중간 노선 위치도 없이 상기 운송 서비스에 의해 연결되는 노선 위치들의 쌍들인 것인, 상기 형성 단계; 및
상기 직접 연결 노선 위치들을 연결함으로써 네트워크 경로들을 생성하는 단계로서, 상기 네트워크 경로들 전체는 상기 육상 운송 네트워크의 표시를 형성하고, 상기 네트워크 경로들은 서비스 지향형이며 상기 육상 운송 네트워크에 기초한 여행 기회들만을 나타내는 것인, 상기 생성 단계
를 포함하고,
상기 네트워크 경로들을 생성하는 단계는, 상기 노선 위치들 모두를, 상기 노선 위치들이 직접 연결되는 상기 노선 위치들과 연결시킴으로써 비디오 디스플레이 상에 그래프를 형성하는 단계와, 상기 그래프 내의 상기 네트워크 경로들 모두를 발견하기 위해 그래프 순회(traversal)를 수행하는 단계를 포함하며,
동일 네트워크 경로에 대해 동일 노선 위치를 2회 방문하는 것은 배제되는 것인, 육상 운송 네트워크의 표시를 생성하는 방법. - 제1항에 있어서, 상기 시간표 정보 내의 종점들은 고유한 위치 코드들로 표시될 필요가 없고, 상기 방법은,
상기 고유한 위치 코드들에 기초해서 상기 고유한 위치 코드들을 상기 시간표 정보 내의 상기 종점들에 지정(assign)하는 단계를 더 포함하는 것인, 육상 운송 네트워크의 표시를 생성하는 방법. - 제2항에 있어서, 상기 시간표 정보는, 위치들의 고유하지 않은 명칭들, 불완전한(partial) 시간표들, 및 부정확한 시간표들 중 하나를 포함하는, 상이한 운송 서비스 제공자들로부터의 시간표들을 포함하는 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제1항에 있어서, 상기 노선 위치들을 결정할 때, 상기 운송 서비스들의 종점들 및 모든 중간 정차 지점들이 노선 위치들로서 취해지는 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제1항에 있어서, 상기 운송 서비스들의 종점들만이 상기 노선 위치들로서 취해지는 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제1항에 있어서, 교차 지점들이 상기 컴퓨터에 의해 결정되고, 상기 운송 서비스들의 노선 위치들, 종점들 및 교차 지점들이 상기 노선 위치들로서 취해지는 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제1항에 있어서, 상기 그래프 순회는 깊이 우선 탐색과 너비 우선 탐색 중 하나인 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제1항에 있어서,
상기 시간표 정보로부터 추가 정보를 결정하는 단계로서, 상기 추가 정보는, 2개의 위치들 사이의 거리, 상기 2개의 위치들 사이에서 운송 서비스의 이동 시간, 운송 서비스를 제공하는 운송 설비에서의 기내(onboard) 서비스의 레벨, 상기 운송 설비에 대한 접근 레벨, 및 상기 운송 서비스의 가격 중의 적어도 하나를 포함하는 것인, 상기 추가 정보를 결정하는 단계; 및
상기 추가 정보를 상기 육상 운송 네트워크의 표시와 연관시키는 단계
를 더 포함하는, 육상 운송 네트워크의 표시를 생성하는 방법. - 제8항에 있어서,
추가적인 거리 정보 및 이동 시간 정보에 기초하여 상기 육상 운송 네트워크의 세그먼트(segment)들에 대하여 이동 속도 분류를 수행하는 단계; 및
상기 이동 속도 분류를, 상기 육상 운송 네트워크의 표시 내의 세그먼트들과 연관시키는 단계
를 더 포함하는, 육상 운송 네트워크의 표시를 생성하는 방법. - 제1항에 있어서, 새로운 시간표 정보로부터 결정된 노선 위치들이 이미 존재하는 노선 위치들에 추가되어, 기존의 노선 위치 정보가 갱신되는 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제1항에 있어서, 새로운 시간표 정보로부터 결정된 직접 연결 노선 위치들의 튜플들이, 이미 존재하는 직접 연결 노선 위치들의 튜플들에 추가되어, 상기 직접 연결 노선 위치들을 위한 정보가 갱신되는 것인, 육상 운송 네트워크의 표시를 생성하는 방법.
- 제11항에 있어서,
새로운 시간표 정보로부터 추가 정보를 결정하고 도출하는 단계로서, 상기 추가 정보는, 2개의 위치들 사이의 거리, 2개의 위치들 사이에서 운송 서비스의 이동 시간, 상기 운송 서비스를 제공하는 운송 설비에서의 기내 서비스의 레벨, 상기 운송 설비에 대한 접근 레벨, 및 이동 속도 분류 중 적어도 하나를 포함하는 것인, 상기 추가 정보를 결정하고 도출하는 단계; 및
상기 추가 정보를 상기 노선 위치들 및 상기 직접 연결 노선 위치들의 튜플들 중 하나와 연관시키고, 상기 노선 위치들 및 상기 직접 연결 노선 위치들의 튜플들 중 하나와 이미 연관된 상기 추가 정보를 갱신하는 단계
중 하나의 단계를 포함하는, 육상 운송 네트워크의 표시를 생성하는 방법. - 육상 운송 네트워크에서 운송 서비스들의 시간표 정보로부터 상기 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템에 있어서,
상기 시간표 정보는 상기 운송 서비스들의 종점들과 정차 지점들을 포함하고, 상기 컴퓨터 시스템은 프로세서를 포함하며,
상기 프로세서는,
상기 운송 서비스들의 종점들을 포함하는 노선 위치들을 상기 시간표 정보로부터 결정하고;
직접 연결 노선 위치들의 튜플들 - 상기 직접 연결 노선 위치들의 튜플들은, 운송 서비스가 정차하는 어떠한 중간 노선 위치도 없이 상기 운송 서비스에 의해 연결되는 노선 위치들의 쌍들임 - 을 형성하고;
상기 직접 연결 노선 위치들을 연결함으로써 네트워크 경로들을 생성하도록
프로그래밍되며,
상기 네트워크 경로들 전체는 상기 육상 운송 네트워크의 표시를 형성하고, 상기 네트워크 경로들은 서비스 지향형이고, 상기 육상 운송 네트워크에 기초한 여행 기회들만을 나타내며,
상기 네트워크 경로들을 생성하는 것은, 상기 노선 위치들 모두를, 상기 노선 위치들이 직접 연결되는 상기 노선 위치들과 연결시킴으로써 비디오 디스플레이 상에 그래프를 형성하는 것과, 상기 그래프 내의 상기 네트워크 경로들 모두를 발견하기 위해 그래프 순회를 수행하는 것을 포함하며,
동일 네트워크 경로에 대해 동일 노선 위치를 2회 방문하는 것은 배제되는 것인, 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템. - 제13항에 있어서, 상기 시간표 정보 내의 종점들은 고유한 위치 코드들로 표시될 필요가 없고, 상기 프로세서는 또한, 상기 고유한 위치 코드들에 기초해서 상기 고유한 위치 코드들을 상기 시간표 정보 내의 상기 종점들에 지정하도록 프로그래밍되는 것인, 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템.
- 제13항에 있어서, 상기 노선 위치들을 결정할 때, 상기 운송 서비스들의 종점들 및 중간 정차 지점들 모두가 노선 위치들로서 취해지는 것인, 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템.
- 제13항에 있어서, 상기 운송 서비스들의 종점들만이 상기 노선 위치들로서 취해지는 것인, 육상 운송 네트워크의 표시를 생성하는 컴퓨터 시스템.
- 컴퓨터 프로그램 명령어들을 저장한 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체에 있어서,
상기 컴퓨터 프로그램 명령어들은, 컴퓨터 상에서 실행될 때, 육상 운송 네트워크 상의 운송 서비스들의 시간표 정보로부터 상기 육상 운송 네트워크의 표시가 생성되게 하고, 상기 시간표 정보는 상기 운송 서비스들의 종점들과 정차 지점들을 포함하며, 상기 육상 운송 네트워크의 표시가 생성되게 하는 것은,
상기 운송 서비스들의 종점들을 포함하는 노선 위치들을 상기 시간표 정보로부터 결정하고;
직접 연결 노선 위치들의 튜플들 - 상기 직접 연결 노선 위치들의 튜플들은, 운송 서비스가 정차하는 어떠한 중간 노선 위치도 없이 상기 운송 서비스에 의해 연결되는 노선 위치들의 쌍들임 - 을 형성하고;
상기 직접 연결 노선 위치들을 연결함으로써 네트워크 경로들을 생성함으로써
수행되며,
상기 네트워크 경로들 전체는 상기 육상 운송 네트워크의 표시를 형성하고, 상기 네트워크 경로들은 서비스 지향형이고, 상기 육상 운송 네트워크에 기초한 여행 기회들만을 나타내며,
상기 네트워크 경로들을 생성하는 것은, 상기 노선 위치들 모두를, 상기 노선 위치들이 직접 연결되는 상기 노선 위치들과 연결시킴으로써 비디오 디스플레이 상에 그래프를 형성하는 것과, 상기 그래프 내의 상기 네트워크 경로들 모두를 발견하기 위해 그래프 순회를 수행하는 것을 포함하며,
동일 네트워크 경로에 대해 동일 노선 위치를 2회 방문하는 것은 배제되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/969,856 US9250077B2 (en) | 2013-08-19 | 2013-08-19 | Ground-transportation network representation |
EP13290194.3 | 2013-08-19 | ||
US13/969,856 | 2013-08-19 | ||
EP13290194.3A EP2840548A1 (en) | 2013-08-19 | 2013-08-19 | Ground-transportation network representation |
PCT/EP2014/002213 WO2015024639A1 (en) | 2013-08-19 | 2014-08-12 | Ground-transportation network representation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160044575A KR20160044575A (ko) | 2016-04-25 |
KR101699675B1 true KR101699675B1 (ko) | 2017-01-24 |
Family
ID=51355504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167007320A KR101699675B1 (ko) | 2013-08-19 | 2014-08-12 | 육상 운송 네트워크 표시 |
Country Status (4)
Country | Link |
---|---|
KR (1) | KR101699675B1 (ko) |
AU (1) | AU2014310905A1 (ko) |
CA (1) | CA2919902C (ko) |
WO (1) | WO2015024639A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3407306A1 (en) * | 2017-05-23 | 2018-11-28 | Siemens Aktiengesellschaft | Method for deduplication of public transport stations in overlapping geographical areas and corresponding route planner or ticketing system |
CN111667085B (zh) * | 2019-03-08 | 2024-04-09 | 北京京东振世信息技术有限公司 | 物流路由网络的确定方法、装置、介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001503541A (ja) * | 1996-08-13 | 2001-03-13 | ケニス ジェイ シュミーア | 公共交通機関乗り物到着情報システム |
KR100744034B1 (ko) * | 2005-07-13 | 2007-07-30 | (주)비에스아이시스템 | 운송수단의 상하행 표시장치 |
-
2014
- 2014-08-12 CA CA2919902A patent/CA2919902C/en active Active
- 2014-08-12 AU AU2014310905A patent/AU2014310905A1/en not_active Abandoned
- 2014-08-12 WO PCT/EP2014/002213 patent/WO2015024639A1/en active Application Filing
- 2014-08-12 KR KR1020167007320A patent/KR101699675B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO2015024639A1 (en) | 2015-02-26 |
CA2919902C (en) | 2022-09-20 |
AU2014310905A1 (en) | 2016-03-10 |
KR20160044575A (ko) | 2016-04-25 |
CA2919902A1 (en) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10030985B2 (en) | Updating navigational map data | |
US6317753B1 (en) | Update system and method for geographic databases | |
KR101976294B1 (ko) | 주행 노선 매칭 방법, 장치 및 저장 매체 | |
US8494771B2 (en) | Journey planning in public transportation networks | |
US10740702B2 (en) | Method, system, and non-transitory computer-readable medium for reducing computation time in one-to-many path searching using heuristics and limited boundary adjustment | |
US20140279662A1 (en) | Transportation time estimation based on multi-granular maps | |
US20160239515A1 (en) | Method and system for detecting duplicate travel path information | |
JP6138934B2 (ja) | 交通需要制御装置 | |
Yarkoni et al. | Quantum shuttle: traffic navigation with quantum computing | |
Zhao et al. | Ridesharing Problem with Flexible Pickup and Delivery Locations for App‐Based Transportation Service: Mathematical Modeling and Decomposition Methods | |
CN110222912B (zh) | 基于时间依赖模型的铁路行程路线规划方法及装置 | |
US20190155940A1 (en) | Real-time prediction and explanation of sequences of abnormal events | |
EP3086268A1 (en) | Resource operation planning assist apparatus and resource operation planning assist method | |
US9250077B2 (en) | Ground-transportation network representation | |
JP2022033712A (ja) | 行程分析のための車両イベントデータを処理するシステム及び方法 | |
KR101699675B1 (ko) | 육상 운송 네트워크 표시 | |
Zuo et al. | High-capacity ride-sharing via shortest path clustering on large road networks | |
Reyes-Rubiano et al. | Exploration of a disrupted road network after a disaster with an online routing algorithm | |
JP2021190094A (ja) | 配送計画作成方法、装置、システムおよびコンピュータ読み取り可能な記憶媒体 | |
US10902655B1 (en) | Editing cached map titles | |
KR101945310B1 (ko) | 차량운행관리장치 및 차량운행관리방법 | |
EP2840548A1 (en) | Ground-transportation network representation | |
JP2010237487A (ja) | 地図データ検査装置 | |
US20240159546A1 (en) | Methods, devices for real-time nearest neighbour search on a road system | |
KR102668821B1 (ko) | 회전기반 최적경로 탐색 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200106 Year of fee payment: 4 |