JP5046503B2 - 通信制御システム及び通信制御方法並びに通信制御用プログラム - Google Patents

通信制御システム及び通信制御方法並びに通信制御用プログラム Download PDF

Info

Publication number
JP5046503B2
JP5046503B2 JP2005274142A JP2005274142A JP5046503B2 JP 5046503 B2 JP5046503 B2 JP 5046503B2 JP 2005274142 A JP2005274142 A JP 2005274142A JP 2005274142 A JP2005274142 A JP 2005274142A JP 5046503 B2 JP5046503 B2 JP 5046503B2
Authority
JP
Japan
Prior art keywords
communication
software
communication control
port number
source port
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2005274142A
Other languages
English (en)
Other versions
JP2007087038A (ja
Inventor
直志 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005274142A priority Critical patent/JP5046503B2/ja
Priority to US11/523,584 priority patent/US8126444B2/en
Priority to CN200610152317.2A priority patent/CN1937626A/zh
Publication of JP2007087038A publication Critical patent/JP2007087038A/ja
Application granted granted Critical
Publication of JP5046503B2 publication Critical patent/JP5046503B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は通信制御システム及び通信制御方法並びに通信制御用プログラムに関し、特にTCP/IP(Transmission Control Protocol/Internet Protocol)またはUDP(User Datagram Protocol)/IP通信に関する通信制御システム及び通信制御方法並びに通信制御用のプログラムに関する。
コンピュータを用いた通信技術の発達に伴いTCP/IP或いはUDP/IPなどの通信プロトコルを用いてコンピュータネットワークを介した通信が日常的になってきている。本発明は、コンピュータネットワークを介して通信を行なう際の通信制御情報の設定に関するものである。
本発明に直接関係する従来技術を図11及び図12を参照して説明する。図11は通信に関する従来のハードウェアの概要を簡単に示したブロック図であり、図12は図11に示したハードウェア上で動作するTCP或いはUDP通信のソフトウェアの機能をブロックで示した図である。
図11に示すハードウェアは、1個或いは複数の有線又は無線のチャネルを介してネットワークNWに接続して通信を行なう通信手段1100と、この通信手段をプログラム制御により動作させるコンピュータ1102と、プログラム及びデータを記憶する記憶装置1104とからなる。これらのハードウェアは例えば単一の筺体1106に格納されているとする。
図12には、ソフトウェア(通常はアプリケーションソフトウェア)1200と、このソフトウェア1200の実行によってTCP或いはUDP通信を行なうソフトウェア実行環境1202とからなる。このソフトウェア実行環境1102は、図11に示したハードウェアとオペレーティングシステム及びミドルウェアを組み合わせた機能を有し、TCP或いはUDP通信手段1204と、この通信手段1204によるTCPまたはUDP通信を制御する通信制御手段1206と、この通信手段1206が内部処理の一環として呼び出す送信元ポート番号自動割当手段1208とから構成されている。
ソフトウェア1200は、TCPまたはUDP通信手段1204を利用し、ネットワークNWを介してTCPまたはUDP通信を行うよう動作し、この際、通信手段1204は、その動作の一環として送信元ポート番号自動割当手段1208を呼び出して送信元ポート番号の自動割当を要求する。送信元ポート番号自動割当手段1208はこの要求に応答して送信元ポート番号を動的に割り当て、通信手段1204に割り当てた送信元ポート番号を送り返す。TCPまたはUDP通信制御手段1206は、通信手段1204によるTCPまたはUDP通信を調査し、TCPまたはUDP通信を制御(帯域配分、通信の転送、通信の遮断などの制御)を行なう。
上述の従来例では、TCPまたはUDP通信手段1204が通信接続の直前に送信元ポート番号を動的に決定するため、予め通信制御手段1206に送信元ポート番号に関連する通信制御情報を記述しておくことができない。従って、上述の従来例では、ソフトウェアを作成する際、ソフトウェアが通信の接続動作を要求する時に通信制御情報をソフトウェア実行環境1202に引き渡すように作成しておく必要があり、このためソフトウェア作成に面倒な作業が要求される。
具体的な従来技術として、特許文献1では、通信制御の一形態であるファイアウォールの設定をソフトウェアの動作と連動して動的に行う技術を開示している。しかしながら、送信元ポート番号に関する情報が実際に通信を行う直前まで決定されない点に対応していないため、通信の接続動作開始時にファイアウォール設定情報をソフトウェアが実行環境へ明示的に引き渡すようにソフトウェアを作成する必要がある。このため、特許文献1に開示された従来技術では、ソフトウェアの通信の接続動作開始部分に従来のソフトウェアをそのまま用いることができないという問題がある。
特開2004-78507号公報
本発明は、TCP/IP通信の接続動作およびUDP/IP通信の送信動作を開始する際、ソフトウェア実行環境において自動的(動的)に送信元ポート番号が割り当てられる場合であっても、通信制御情報をソフトウェア実行環境に予め設定しておくことができるようにし、これによって、従来例のように通信に使用するソフトウェアを改造しなければならないという問題を解決することである。
(1)本発明は、処理の一環として通信を行なうソフトウェアがコンピュータネットワークを介して通信を行なう通信制御システムであって、通信手段と、該通信手段への前記ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なう送信元ポート番号自動割当手段と、割り当てられた送信元ポート番号を取得する送信元ポート番号自動割当結果フック手段と、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を前記ソフトウェアに対して求め、前記ソフトウェア識別情報に基づいて、前記ソフトウェアに対応する通信制御情報を取得し、取得した前記通信制御情報を割り当てられた前記送信元ポート番号で補完する通信制御情報補完手段と、前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定する通信制御情報設定手段と、補完された通信制御情報を用いて通信の制御を行う通信制御手段とを備えることを特徴とする通信制御システムである。
(2)上記(1)において、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を求め、該ソフトウェア識別情報に基づいて前記通信制御情報を取得することを特徴としている。
(3)上記(1)または(2)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する前記通信手段の動作の一環として行われる前記送信元ポート番号自動割当手段での処理であることを特徴としてしる。
(4)上記(1)から(3)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(5)上記(1)または(2)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する前記通信手段の動作とは独立して行なわれる送信元ポート番号自動割当手段により行なわれることを特徴としている。
(6)上記(1)、(2)または(5)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(7)更に、本発明は、処理の一環として通信を行なう1個以上のソフトウェアが夫々物理的に独立した1個以上の第1のハードウェアに実装され、前記1個以上のソフトウェアの内の何れかが、第2のハードウェアに実装されたソフトウェアを介してコンピュータネットワークと通信を行う通信制御システムであって、通信手段と、ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なう送信元ポート番号自動割当手段と、割り当てられた送信元ポート番号を取得する送信元ポート番号自動割当結果フック手段と、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報と、該ソフトウェアが実装されている第1のハードウェアを識別するハードウェア識別情報とを前記ソフトウェアに対して求める識別手段と、前記ソフトウェア識別情報と前記ハードウェア識別情報との組に基づいて通信制御情報を取得する通信制御情報検索手段と、割り当てられた前記送信元ポート番号で取得した前記通信制御情報を補完する通信制御情報補完手段と、前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定する通信制御情報設定手段と、補完された通信制御情報を用いて通信の制御を行う通信制御手段とを備えたことを特徴とする通信制御システムである。
(8)上記(7)において、前記通信制御補完手段は、前記識別手段で求めたソフトウェア識別情報とハードウェア識別情報の組と、前記通信制御情報検索手段において通信制御情報の取得に用いたソフトウェア識別情報とハードウェア識別情報の組とを比較することを特徴とする。
(9)上記(7)または(8)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する前記通信手段の動作の一環として行われる前記送信元ポート番号自動割当手段での処理であることを特徴とする。
(10)上記(7)から(9)の何れかにおいて、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする。
(11)上記(7)または(8)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する前記通信手段の動作とは独立して行なわれる送信元ポート番号自動割当手段により行なわれることを特徴としている。
(12)上記(7)、(8)または(11)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(13)更に本発明は、処理の一環として通信を行なうソフトウェアがコンピュータネットワークを介して通信を行なう際の通信制御方法であって、ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行ない、割り当てられた送信元ポート番号を取得し、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を前記ソフトウェアに対して求め、前記ソフトウェア識別情報に基づいて、前記ソフトウェアに対応する通信制御情報を取得し、取得した前記通信制御情報を割り当てられた前記送信元ポート番号で補完し、前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定し、補完された通信制御情報を用いて前記ソフトウェアがコンピュータネットワークを介して通信を行えるようにすることを特徴とする通信制御方法である。
(14)上記(13)において、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を求め、該ソフトウェア識別情報に基づいて前記通信制御情報を取得することを特徴としている。
(15)上記(13)から(15)の何れかにおいて、前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴としている。
(16)上記(13)から(15)の何れかにおいて、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(17)上記(13)または(14)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする。
(18)上記(13)、(14)または(17)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(19)更に本発明は、処理の一環として通信を行なう1個以上のソフトウェアが夫々物理的に独立した1個以上の第1のハードウェアに実装され、前記1個以上のソフトウェアの内の何れかが、第2のハードウェアに実装されたソフトウェアを介してコンピュータネットワークと通信を行う際の通信制御方法であって、(a) ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行ない、(b) 割り当てられた送信元ポート番号を取得し、(c) 通信を要求したソフトウェア識別するソフトウェア識別情報と、該ソフトウェアが実装されている第1のハードウェアを識別するハードウェア識別情報とを前記ソフトウェアに対して求め、(d) 前記ソフトウェア識別情報と前記ハードウェア識別情報との組に基づいて通信制御情報を取得し、(e) 割り当てられた前記送信元ポート番号で取得した前記通信制御情報を補完し、(f) 前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定し、補完された通信制御情報を用いて前記ソフトウェアの通信制御を行えるようにすることを特徴とする通信制御方法である。
(20)上記(19)において、ステップ(e)において「送信元ポート番号で前記通信制御情報を補完」する際、ステップ(c)で求めたソフトウェア識別情報とハードウェア識別情報の組と、ステップ(d)で通信制御情報の取得に使用したソフトウェア識別情報とハードウェア識別情報の組とを比較することを特徴とする。
(21)上記(19)または(20)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする。
(22)上記(19)から(21)の何れかにおいて、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(23)上記(19)または(20)」において、前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする。
(24)上記(19)、(20)または(23)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としてしる。
(25)更に本発明は、処理の一環として通信を行なうソフトウェアがコンピュータネットワークを介して通信を行なう際の通信制御のためのコンピュータプログラムであって、ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なうステップと、割り当てられた送信元ポート番号を取得するステップと、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を前記ソフトウェアに対して求め、前記ソフトウェア識別情報に基づいて、前記ソフトウェアに対応する通信制御情報を取得し、取得した前記通信制御情報を割り当てられた前記送信元ポート番号で補完するステップと、前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定するステップと、補完された通信制御情報を用いて前記ソフトウェアがコンピュータネットワークを介して通信を行えるようにすることを特徴とする通信制御用コンピュータプログラムである。
(26)上記(25)において、通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を求め、該ソフトウェア識別情報に基づいて前記通信制御情報を取得することを特徴としている。
(27)上記(25)または(26)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする。
(28)上記(25)から(27)の何れかにおいて、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(29)上記(25)または(26)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴としている。
(30)上記(25)、(26)または(29)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
(31)更に本発明は、処理の一環として通信を行なう1個以上のソフトウェアが夫々物理的に独立した1個異常の第1のハードウェアに実装され、前記1個以上のソフトウェアの内の何れかが、第2のハードウェアに実装されたソフトウェアを介してコンピュータネットワークと通信を行う際の通信制御用のコンピュータプログラムであって、(a) ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なうステップと、(b)割り当てられた送信元ポート番号を取得するステップと、(c) 通信を要求した前記ソフトウェアを識別するソフトウェア識別情報と、該ソフトウェアが実装されている第1のハードウェアを識別するハードウェア識別情報とを前記ソフトウェアに対して求めるステップと、(d) 該ソフトウェア識別情報とハードウェア識別情報との組に基づいて通信制御情報を取得するステップと、(e) 割り当てられた前記送信元ポート番号で取得した前記通信制御情報を補完するステップと、(f) 前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定するステップと、を有し、補完された通信制御情報を用いて前記ソフトウェアの通信制御を行えるようにすることを特徴とする通信制御用コンピュータプログラムである。

(32)上記(31)において、ステップ(e)において「送信元ポート番号で前記通信制御情報を補完」する際、ステップ(c)で求めたソフトウェア識別情報とハードウェア識別情報の組と、ステップ(d)で通信制御情報の取得に使用したソフトウェア識別情報とハードウェア識別情報の組とを比較することを特徴としている。
(33)上記(31)または(32)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする。
(34)上記(31)から(33)の何れかにおいて、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする。
(35)上記(31)または(32)において、前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする。
(36)上記(31)、(32)または(35)において、前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴としている。
本発明によれば、個々のソフトウェアが行うTCPまたはUDP通信において、送信元ポート番号が動的に決定される場合でも、予めTCPまたはUDP通信制御情報を記述しておくことができる。このため、送信元ポート番号が動的に決定される場合であっても、個々のソフトウェアを改造する必要がない。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
本発明は、TCP通信の接続動作あるいはUDP通信の送信操作に関連するので、以下の記述では、説明が煩雑になるのを避けるため、通信制御などがTCP或いはUDPであることを特に断らない場合がある。
図1は本発明の第1の実施の形態に使用するハードウェアの概略を簡単に示したブロック図である。図1に示すハードウェアは、有線もしくは無線のチャネル100を介してネットワークNWに接続する少なくとも1個の通信手段102と、プログラム制御により動作するコンピュー104と、プログラム又はデータ或いは両方を蓄積する記憶装置106と有し、これらを、例えば、単一の筐体108に格納されている。
図2は、図1に示したハードウェア上で、オペレーティングシステム、ミドルウェア、アプリケーションソフトウェア等のソフトウェアを実行することにより、第1の実施の形態を実現するブロックを機能別に示している。
図2に示した機能ブロックについて説明する。第1の実施の形態の機能は、通信を行うソフトウェア(多くはアプリケーションソフトウェア)200と、このソフトウェア200が通信を行う際に利用するTCPまたはUDP通信手段202と、通信手段202によるTCPまたはUDP通信を制御する通信制御手段204と、通信手段202が内部処理の一環として呼び出す送信元ポート番号自動割当手段206と、ソフトウェア識別手段208と、送信元ポート番号自動割当結果フック手段210と、通信制御情報検索手段212と、通信制御情報保持手段214と、通信制御情報補完手段216と、通信制御情報設定手段218等に分けられる。
参照番号220で示したソフトウェア実行環境のうち、本発明の第1の実施の形態に係る部分(即ち本実施の形態による拡張部分)を参照番号222で示す。TCPまたはUDP通信によるデータが伝送されるネットワークを、図1と同様にNWで示している。
図2に示した機能ブロックの動作について説明する。
ソフトウェア200は通信手段202を利用してTCPまたはUDP通信を行うよう動作し、一方、通信手段202は、ソフトウェア200からの要求に応じて、ネットワークNWを介してTCPまたはUDP通信を行うように動作する。
通信制御手段204は、通信手段202からのTCPまたはUDP通信を受けると共に、通信制御情報設定手段218から受け取った通信制御情報に従って、TCPまたはUDP通信制御を行なう。通信制御とは、例えば、帯域配分、通信の転送、通信の遮断などの制御である。送信元ポート番号自動割当手段206の動作は、通信手段202の内部処理の一環を成しており、ソフトウェア200が送信元ポート番号を指定せずに通信手段202にTCPまたはUDP通信を行うように要求してきた場合に、適切な送信元ポート番号を自動的にTCPまたはUDP通信に割り当てるように動作する。つまり、本実施の形態では、ソフトウェア200が送信元ポート番号を指定することはない。
ソフトウェア識別手段208は、ソフトウェア200を識別するものであり、例えば、ソフトウェア200の実行ファイル名などの識別子をソフトウェア識別情報としてソフトウェア200と関連付ける。
送信元ポート番号自動割当結果フック手段210は、ソフトウェア200が行うTCPまたはUDP通信に対して、送信元ポート番号自動割当手段206が動的に割り当てた送信元ポート番号を取得する。上述のソフトウェア識別手段208は、フック手段210が送信元ポート番号を取得するのに応じて、ソフトウェア識別情報を通信制御情報検索手段212に送出する。この検索手段212は、ソフトウェア識別情報を検索キーとして通信制御情報保持手段214に予め保存されているTCPまたはUDP通信制御情報群の中から、通信を行なおうとしているソフトウェアに対応する通信制御情報を検索して取り出す。なお、通信制御情報保持手段214には、ソフトウェア200が通信手段202にTCPまたはUDP通信を要求する以前に上述の通信制御情報群が蓄積されている。
通信制御情報保持手段214は、例えばルックアップテーブルなどを利用し、ソフトウェア識別情報と通信制御情報とを関連付けて保持している。ここで、通信制御情報とソフトウェア識別情報との関連付けは1対1或いは1対多であり、ソフトウェア識別情報が特定されればTCPまたはUDP通信制御情報を一意に定めることができる。
なお、通信制御情報保持手段214に保持されている通信制御情報には送信元ポート番号に関する情報が欠落しているので、送信元ポート番号に関する情報が取得されるまでは、通信制御手段204に設定する通信制御情報として不十分である。
通信制御情報補完手段216は、通信制御情報検索手段212が通信制御情報保持手段214から取得した「ソフトウェア200に関連する通信制御情報」を、送信元ポート番号自動割当結果フック手段210が取得した送信元ポート番号で補完するよう動作する。送信元ポート番号が補完された後の通信制御情報は、通信制御手段204に設定する通信制御情報として十分である。通信制御情報設定手段218は、通信制御情報補完手段216において送信元ポート番号が補完された通信制御情報を通信制御手段204に設定する。
次に、図2及び図3を参照して第1の実施の形態の動作について説明する。
図3に示すように、ソフトウェア200(図2)が、その動作の一部として、TCPまたはUDP通信を行うように通信手段202に依頼する(ステップ300)。この段階でのソフトウェア200の動作は、TCP/IPの接続動作もしくはUDP/IPの送信動作であり、上述したように、ソフトウェア200は送信元ポート番号を指定していない。
次に、通信手段202は、送信元ポート番号自動割当手段206を内部処理の一環として呼び出して送信元ポート番号の自動割当を行う(ステップ302)。
さらに、送信元ポート番号自動割当結果フック手段210は、送信元ポート番号自動割当手段206によって送信元ポート番号の自動割当動作が行われたことを検知して自動割当された送信元ポート番号を取得する(ステップ304)。
送信元ポート番号自動割当手段フック手段210が送信元ポート番号を取得した後、ソフトウェア識別手段208が、通信手段202を利用するソフトウェア200を識別してソフトウェア識別情報を取得する(ステップ306)。
通信制御情報検索手段212は、取得されたソフトウェア識別情報を用いて通信制御情報保持手段214に保持されている「複数の通信制御情報」を検索し、ソフトウェア識別情報に対応する通信制御情報を取得する(ステップ308)。上述したように、この時点で得られた通信制御情報には送信元ポート番号に関する情報が欠落しているので通信制御手段204に設定する情報としては不完全である。
このため、通信制御情報補完手段216は、検索手段212から通信制御情報を取得した後、この通信制御情報をステップ304で取得した送信元ポート番号に関する情報で補完する(ステップ310)。従って、補完された通信制御情報は、通信制御手段204に設定する情報として完全となる。次いで、通信制御情報設定手段218は、上述の補完された通信制御情報を通信制御手段204に設定する(ステップ312)。
次に、通信手段202は、ソフトウェア200の依頼(ステップ300)に基づいてTCPまたはUDP通信を行い(ステップ314)、通信制御手段204は、ステップ312で設定された通信制御情報に基づいて通信を制御する(ステップ316)。
上述した第1の実施の形態の効果は次の通りである。即ち、本実施の形態によれば、ソフトウェア200が、通信手段202にTCPまたはUDP通信を依頼すると、送信元ポート番号自動割当手段206が送信元ポート番号の自動割当を行う動作を起点とし、通信制御手段204の設定までをソフトウェア実行環境222の内部で行う。この際、通信制御情報保持手段214に予め保持しておく通信制御情報に送信元ポート番号に関する情報が欠落しているが、送信元ポート番号自動割当結果フック手段210が取得した送信元ポート番号で補完されるので、送信元ポート番号を明示的に指定しないソフトウェアであっても、予め通信制御情報を記述することができるという効果がある。
また、本実施の形態によれば、ソフトウェア200は、通信手段202にTCPまたはUDP通信を依頼するのみなので、ソフトウェア200としては従来のものをそのまま利用することができるという効果がある。
次に、本発明の第2の実施の形態について図面を参照して説明する。
図4は、本発明の第2の実施の形態に関連するハードウェアの構成を模式的に示したブロック図である。図4に示すように、第2の実施の形態では、1個以上(即ち1個或いは複数個)の筺体400(1)〜400(n)と1個の筐体408が設けられている。夫々の筐体400(1)〜400(n)のハードウェア構成は同一であり、したがって、筐体400(1)に収納されたハードウェア401について説明する。
筐体400(1)には、通信チャネルを介して筐体408の通信手段410と通信を行なう通信手段402と、プログラム制御により動作するコンピュータ404と、プログラム又はデータ或いは双方を蓄積する記憶手段406とが収められている。
筐体408を構成するハードウェア409は、筐体400(1)〜400(n)の内の1個あるいは複数個の筐体のハードウェアと通信を行なう通信手段410と、有線もしくは無線チャネルを介してネットワークNWと通信する他の通信手段412と、プログラム制御により動作するコンピュータ414と、プログラムもしくはデータ或いはその双方を蓄積する記憶装置416とが格納されている。
図5は、図4に示したハードウェア上で、適切なソフトウェアを実行することにより第2の実施の形態を実現する機能をブロックで示している。ここで、適切なソフトウェアとは、上述の第1の実施の形態と同様に、オペレーティングシステム、ミドルウェア、アプリケーションソフトウェアを指す。
図5において、ソフトウェア500及びソフトウェア実行環境522は、筐体400(1)のハードウェア401上に実装され、一方、ソフトウェア実行環境524は筐体408のハードウェア409上に実装されている。
ソフトウェア500は、TCPまたはUDP通信を行うソフトウェア(多くはアプリケーションソフトウェア)であり、ソフトウェア実行環境522及び524は、ソフトウェア500が通信を行う際に利用する通信手段502と、この通信手段502が内部処理の一環として呼び出す送信元ポート番号自動割当手段504と、通信手段502によるTCPまたはUDP通信を制御する通信制御手段506と、ソフトウェア識別手段508と、ハードウェア識別手段509と、送信元ポート番号自動割当結果フック手段510と、通信制御情報検索手段512と、通信制御情報保持手段514と、通信制御情報補完手段516と、通信制御情報設定手段518とから構成される。なお、ソフトウェア識別手段508とハードウェア識別手段509とをまとめて参照番号519で示している。ネットワークNWは、第1の実施の形態と同様に、TCPまたはUDP通信を伝送するネットワークである。
ソフトウェア実行環境522の内のソフトウェア実行環境526は、本実施の形態のために拡張された部分(即ち本発明による拡張部分)であり、また、ソフトウェア実行環境524の内のソフトウェア実行環境528は、本実施の形態のために拡張された部分である。
図4に示したハードウェア及び図5に示したソフトウェア機能ブロックは概略つぎのように動作する。
筐体400(1)のハードウェア401に実装されたソフトウェア500は、TCPまたはUDP通信手段502を利用して通信を行うよう動作する。この通信手段502は、ソフトウェア500からの要求に応じて、ハードウェアである通信手段402、410、412を用いて、ネットワークNWを介したTCPまたはUDP通信を行うように動作する。送信元ポート番号自動割当手段504の動作は、TCPまたはUDP通信手段502の内部処理の一環を成しており、ソフトウェア500が送信元ポート番号を指定せずに通信手段502に通信を行うように要求してきた場合に、適切な送信元ポート番号を自動的にTCPまたはUDP通信に割り当てるように動作する。
TCPまたはUDP通信制御手段506は、通信手段502による通信を監視或いは調査し、通信制御情報設定手段518から与えられた通信制御情報に従って通信を制御する。通信制御とは、第1の実施の形態と同様、例えば、帯域配分、通信の転送、通信の遮断などである。
送信元ポート番号自動割当手段504は、上述したように、通信手段502での処理の一環として動作し、ソフトウェア500が要求したTCPまたはUDP通信に対して送信元ポート番号を動的に割り当てる。割り当てられた送信元ポート番号は、送信元ポート番号自動割当結果フック手段510に取り込まれる。
ソフトウェア識別手段508及びハードウェア識別手段509は、送信元ポート番号自動割当結果フック手段510が送信元ポート番号を取得するのに応答し、それぞれ、ソフトウェア500を識別すると共に、ソフトウェア500が実装されている筐体或いはハードウェア(本例の場合は筐体400(1)或いはハードウェア401)を識別する。即ち、ソフトウェア識別手段508は、例えば、ソフトウェア500の実行ファイル名をソフトウェア識別情報として取得し、更に、ハードウェア識別手段509は、ソフトウェア500が実装されている筐体400(1)のシリアルナンバー等をハードウェア識別情報(即ちソフトウェア実行用ハードウェアの識別情報)として取得する。筐体400(1)を識別するハードウェア識別情報は、例えば、ソフトウェア500に予め書き込むようにすればよい。取得された「ソフトウェア識別情報・ハードウェア識別情報」の組は、通信制御情報検索手段512に送出される。さらに、この「ソフトウェア識別情報・ハードウェア識別情報」の組は送信元ポート番号自動割当結果フック手段510にも送られ、ここで既に取得されている送信元ポート番号と組み合わされ、「送信元ポート番号・ソフトウェア識別情報・ハードウェア識別情報」の組として通信制御情報補完手段516に伝達される。
通信制御情報検索手段512は、通信制御情報保持手段514に予め保存されている通信制御情報群の中から、「ソフトウェア識別情報・ハードウェア識別情報」の組と対応する通信制御情報を検索して取り出し、「通信制御情報・ソフトウェア識別情報・ハードウェア識別情報」の組を通信制御情報補完手段516に引き渡す。なお、通信制御情報保持手段514は、通信制御情報と、ソフトウェア識別情報およびハードウェア識別情報の対の情報とを関連付けて保持している。ここで、通信制御情報と、ソフトウェア識別情報およびハードウェア識別情報の組の関連付けは、1対1もしくは1対多であり、ソフトウェア識別情報とハードウェア識別情報の両方を特定すれば、関連付けられた通信制御情報を一意に定めることができる。
通信制御情報保持手段514に保持されている通信制御情報は、送信元ポート番号に関する情報が欠落しており、送信元ポート番号に関する情報が保管されるまでは、通信制御手段506に設定する通信制御情報として不十分である。
通信制御情報補完手段516は、通信制御情報検索手段512が取得した通信制御情報に欠落している送信元ポート番号を、送信元ポート番号自動割当結果フック手段510が取得した送信元ポート番号で補完する。この際、通信制御情報補完手段516は、通信制御情報検索手段512から渡された「通信制御情報・ソフトウェア識別情報・ハードウェア識別情報」の組の「ソフトウェア識別情報・ハードウェア識別情報」と、送信元ポート番号自動割当結果フック手段510から渡された「送信元ポート番号・ソフトウェア識別情報・ハードウェア識別情報」の組の「ソフトウェア識別情報・ハードウェア識別情報」とを比較し、合致していれば、通信制御情報検索手段512が取得した通信制御情報に欠落している送信元ポート番号を、送信元ポート番号自動割当結果フック手段510が取得した送信元ポート番号で補完する。
この理由は、ソフトウェア実行環境522が、同一筐体或いは異なった筐体に収納されている「同一或いは異なったソフトウェア」から、ほぼ同時に通信依頼を受けた場合に、通信制御情報を正しい送信元ポート番号で補完できるようにするためである。
通信制御情報検索手段補完後の通信制御情報は、通信制御手段506に設定する通信制御情報として十分である。通信制御情報設定手段518は、通信制御情報補完手段516が補完した後のTCPまたはUDP通信制御情報を通信制御手段506に設定するように動作する。
次に、図5及び図6を参照して本実施の形態の全体の動作について説明する。
まず、ソフトウェア500が、その動作の一部として、TCPまたはUDP通信を通信手段502に依頼する(ステップ600)。ここでのTCPまたはUDP通信は、TCP/IPの接続動作もしくはUDP/IPの送信動作を含み、送信元ポート番号をソフトウェア500で明示的に指定しない。
次に、通信手段502は、内部処理の一環として、送信元ポート番号自動割当手段504を呼び出して送信元ポート番号の自動割当を行う(ステップ602)。
さらに、送信元ポート番号自動割当結果フック手段510は、送信元ポート番号自動割当手段504によって送信元ポート番号の自動割当動作が行われたことを検知し、自動割当された送信元ポート番号を取得する(ステップ604)。
送信元ポート番号を取得した後、ソフトウェア識別手段508が、通信手段502に通信を依頼したソフトウェア500を識別してソフトウェア識別情報を取得し、ハードウェア識別手段509がハードウェア識別情報を取得する(ステップ606)。取得された「ソフトウェア識別情報・ハードウェアの識別情報」の組は、通信制御情報検索手段512に通信手段402を用いて送信され、更に、送信元ポート番号自動割当結果フック手段510にも送られる。送信元ポート番号自動割当結果フック手段510は、「ソフトウェア識別情報・ハードウェアの識別情報」の組に、既に取得している送信元ポート番号と組み合わせ、「送信元ポート番号・ソフトウェア識別情報・ハードウェア識別情報」の組として通信制御情報補完手段516に伝達する。
通信制御情報検索手段512が、通信手段410を用いて、ソフトウェア識別情報とハードウェアの識別情報の組を取得した後、通信制御情報保持手段514に保持されている1個以上の通信制御情報の中から、「ソフトウェア識別情報・ハードウェア識別情報」の組をキーにして、1個の通信制御情報を取得する(ステップ608)。この時点でのTCPまたはUDP通信制御情報は、送信元ポート番号に関する情報が欠落しており、通信制御手段506に設定する情報としては不完全である。
通信制御情報補完手段516は、検索手段512から通信制御情報を取得した後、通信制御情報における送信元ポート番号に関する情報の欠落を、ステップ604で取得した送信元ポート番号に関する情報を用いて補完する。この際、上述したように、通信制御情報補完手段516は、通信制御情報検索手段512から渡された「通信制御情報・ソフトウェア識別情報・ハードウェア識別情報」の組の「ソフトウェア識別情報・ハードウェア識別情報」と、送信元ポート番号自動割当結果フック手段510から渡された「送信元ポート番号・ソフトウェア識別情報・ハードウェア識別情報」の組の「ソフトウェア識別情報・ハードウェア識別情報」とを比較し、合致していれば、通信制御情報検索手段512が取得した通信制御情報を、送信元ポート番号自動割当結果フック手段510が取得した送信元ポート番号で補完する(ステップ610)。
この時点で、送信元ポート番号に関する情報が通信制御情報に含まれることになり、通信制御手段506に設定する情報として完全となる。
通信制御情報設定手段518は、送信元ポート番号に関する情報が補完された通信制御情報を通信制御手段506に設定する(ステップ612)。この時点以降、通信制御手段506は、設定された通信制御情報に基づいてTCPまたはUDP通信の制御を行う準備ができたことになる。
最後に、通信手段502は、ソフトウェア500からの依頼(図6のステップ600)に基づいてTCPまたはUDP通信を行う。このTCPまたはUDP通信の制御は、ステップ612で行われた通信制御情報の設定に基づき、通信制御手段506において行なわれる。
上述の第2の実施の形態の効果について説明する。
先ず、第1の実施の形態で説明した効果と同様の効果がある。更に、ソフトウェア500を実行するコンピュータ404と、通信制御手段506を実行するコンピュータ414とが別になっているので、ソフトウェア500を実行する負荷と、通信制御手段506を実行する負荷を分散することができる。
更にまた、第2の実施の形態によれば、1個以上の筐体400(1)−400(n)の夫々に実装されたハードウェアと1個のハードウェア409とからなるシステムで構成されているため、1個のハードウェア409内の通信制御情報保持手段514に通信制御情報を保持することで、1個以上の筐体400(1)−400(n)の夫々に実装されたハードウェアでのTCPまたはUDP通信を制御できるという効果がある。
更にまた、第2の実施の形態によれば、通信制御情報補完手段516において通信制御情報に送信元ポート番号を補完する際、検索手段512とフック手段510から送られてきた「ソフトウェア識別情報・ハードウェア識別情報」の組が合致するかどうかをチェックしている。従って、1個の筐体中で同一のソフトウェアが同時に複数個動作する場合や、1個の筐体中で複数の異なったソフトウェアが同時に動作する場合や、異なる筐体中で同一のソフトウェアが同時に動作する場合にも、通信制御情報補完手段516において的確に通信制御情報を送信元ポート番号で補完することができる。
次に、第3の実施の形態ついて図面を参照して説明する。本実施の形態に係るハードウェアは、上述した第1の実施の形態で説明した図1のハードウェアと同様の構成なので、ハードウェアについての説明は省略する。
図7は、第3の実施の形態を実現するソフトウェアの機能をブロックで示したものであり、本実施の形態は、図7のソフトウェアの機能ブロックを、図1に示したハードウェア上で適切なソフトウェア(オペレーティングシステム・ミドルウェア・アプリケーションソフトウェア)を実行することにより実現される。
図7に示すように、第3の実施の形態は、TCPまたはUDP通信を行うソフトウェア700(多くはアプリケーションソフトウェア)と、このソフトウェア700がTCPまたはUDP通信を行う際に利用する通信手段702と、この通信手段702によるTCPまたはUDP通信を制御する通信制御手段704と、送信元ポート番号自動割当手段706と、ソフトウェア識別手段708と、通信手段呼出フック手段710と、通信制御情報検索手段712と、通信制御情報保持手段714と、通信制御情報補完手段716と、送信元ポート番号自動割当呼出手段718と、送信元ポート自動割当取得手段720と、通信制御情報設定手段722とから構成される。
なお、ソフトウェア実行環境724の内のソフトウェア実行環境726が、本実施の形態を実現するために拡張された部分である。また、TCPまたはUDP通信は、ネットワークNWを介して伝送される。
上述の機能ブロックはそれぞれ次のように動作する。ソフトウェア700は、通信手段702を利用して、TCPまたはUDP通信を行うよう動作する。通信手段702は、ソフトウェア700からの要求に応じて、ネットワークNWを介してTCPまたはUDP通信を行うように動作する。通信制御手段704は、通信手段702によるTCPまたはUDP通信を調査し、通信制御情報設定手段722から与えられた通信制御情報に従って、TCPまたはUDP通信を制御(帯域配分、通信の転送、通信の遮断など)するように動作する。
送信元ポート番号自動割当手段706は、後述する通信呼出フック手段710及び送信元ポート番号自動割当呼出手段718の処理に応答し、通信手段702によるTCPまたはUDP通信で用いられる送信元ポート番号を、通信手段702が動作する前に、自動的に(ソフトウェア700に送信元ポート番号を指定されること無く)決定し、TCPまたはUDP通信に割り当てるように動作する。 ソフトウェア識別手段708は、ソフトウェア700を識別するための識別子(例えばソフトウェア700の実行ファイル名など)を、ソフトウェア識別情報としてソフトウェア700と関連付ける。
通信手段呼出フック手段710は、ソフトウェア700が通信手段702を呼び出したことを検知し、通信手段702が実行される前に、送信元ポート番号自動割当呼出手段718から開始される一連の処理を行わせるように動作する。通信制御情報検索手段712は、通信制御情報保持手段714に、予め保存されている通信制御情報群の中から、ソフトウェア識別情報と対応する通信制御情報を検索して取り出すように動作する。通信制御情報保持手段714は、通信制御情報とソフトウェア識別情報とを関連付けて保持している。ここで、ソフトウェア識別情報と通信制御情報との関連付けは、1対1もしくは1対多であり、ソフトウェア識別情報を特定すれば、関連付けられた通信制御情報が一意に定まる。なお、通信制御情報保持手段714に保持されている通信制御情報には、送信元ポート番号に関する情報が欠落しており、通信制御手段704に設定する通信制御情報として不十分である。
通信制御情報補完手段716は、通信制御情報検索手段712が取得した通信制御情報における送信元ポート番号に関する情報の欠落を、送信元ポート自動割当取得手段720が取得した送信元ポート番号を用いて補完する。補完された通信制御情報は、通信制御手段704に設定する通信制御情報として十分である。送信元ポート番号自動割当呼出手段718は、送信元ポート番号自動割当手段706を呼び出すよう動作する。送信元ポート自動割当取得手段720は、送信元ポート番号自動割当手段706で割り当てられた送信元ポート番号を取得し、通信制御情報補完手段716に引き渡すように動作する。通信制御情報設定手段722は、通信制御情報補完手段716が補完した通信制御情報を通信制御手段704に設定する。
次に、図7及び図8を参照して第3の実施の形態の動作について説明する。
まず、ソフトウェア700が、その動作の一部として、TCPまたはUDP通信を行うために通信手段702を呼び出す(ステップ800)。ここでのTCPまたはUDP通信は、TCP/IPの接続動作もしくはUDP/IPの送信動作を含み、送信元ポート番号をソフトウェア700において明示的に指定しない。
通信手段呼出フック手段710は、通信手段702が呼び出されたことを検知し、送信元ポート番号自動割当呼出手段718を呼び出す(ステップ802)。次に、送信元ポート番号自動割当呼出手段718が、送信元ポート番号自動割当手段706を呼び出し、送信元ポート番号自動割当手段706が、適切な送信元ポート番号を自動的に(ソフトウェア700から送信元ポート番号を指定されること無く)決定して通信用として割り当てる(ステップ804)。
次に、送信元ポート自動割当取得手段720は、送信元ポート番号自動割当手段706がTCPまたはUDP通信に割り当てた送信元ポート番号を取得し、通信制御情報補完手段716に引き渡す(ステップ806)。その後、ソフトウェア識別手段708が、通信手段702を利用しようとするソフトウェア700を識別してソフトウェア識別情報を取得する(ステップ808)。次いで、通信制御情報検索手段712が、通信制御情報保持手段714に保持されている1個以上のTCPまたはUDP通信制御情報の中から、ソフトウェア識別情報をキーにして、1個の通信制御情報を取得する(ステップ810)。この時点での通信制御情報には、送信元ポート番号に関する情報が欠落しており、通信制御手段704に設定する情報としては不完全である。
通信制御情報を取得した後、通信制御情報補完手段716は、ステップ806で取得した送信元ポート番号に関する情報を用いて上述の通信制御情報における欠落情報を補完し(ステップ812)、続いて、補完された通信情報は、通信制御情報設定手段722によって通信制御手段704に設定される(ステップ814)。この時点で通信制御手段704は設定された通信制御情報に基づいてTCPまたはUDP通信の制御を行なうことができるので、通信手段702は、ソフトウェア700からの依頼(ステップ800)に基づいてTCPまたはUDP通信を行う(ステップ816)。つまり、通信制御手段704は、ステップ814で設定された通信制御情報の設定に基づいてTCPまたはUDP通信を制御する(ステップ818)。
第3の実施の形態によれば、上述した第1の実施の形態で説明したと同様の効果が得られる。しかし、第1の実施の形態では、通信手段内部に改造を加えて、送信元ポート番号自動割当結果フック手段が呼び出されるようにする必要があるが、第3の実施の形態によれば、TCPまたはUDP通信手段の開始時点に改造を加えて、通信手段呼出フック手段が呼び出されるようにすればよいので、TCPまたはUDP通信手段の内部構造を詳細に分析しなくても改造を行うことができるという効果が得られる。
次に、本発明に係る第4の実施の形態について説明する。本実施の形態は、上述した第3の実施の形態を図4に示したハードウェア上に実装するものである。つまり、第3及び第4の実施の形態との関係は、第1及び第2の実施の形態の関係と同様なので、詳細な説明は省略する。
次に、具体的な実施例を用いて本発明を更に説明する。
図9は、本発明に係る実施例に使用するハードウェアの構成を簡単に示したものであり、端末装置900は、有線イーサネットワークENW(イーサネットは登録商標である)に接続するための有線イーサネットワークインタフェース902と、プログラムにより動作するコンピュータ904(CPUと内部メモリを有する)と、コンピュータ904の外部記憶装置であるハードディスクドライブ906とを備えている。
図10は、本発明の実施例を示すブロック図であり、図9に示したハードウェア上でソフトウェア(オペレーティングシステム、ミドルウェア、アプリケーションソフトウェア)を実行することにより実現される。
本実施例では、Webブラウザ1000がアプリケーションソフトウェアとして動作している。Webブラウザ1000は、その動作の一環として、有線イーサネット上のIPネットワーク1002を介してWebサーバ1004と通信するため、ネットワーク関連システムコール1006を呼び出すものとする。ここで例えば、UNIX(登録商標)系のオペレーティングシステムを用いるとすると、具体的なネットワーク関連システムコールとして、socketシステムコール(Webサーバ1004への接続用ソケット作成要求)1008、bindシステムコール1010、connectシステムコール(Webサーバ1004への接続要求)1012、recvシステムコール(Webサーバ1004からのデータ取得要求)1014等が挙げられる。
典型的には、Webブラウザ1000は、socketシステムコール1008、connectシステムコール1012、recvシステムコール1014の順でネットワーク関連システムコール1006を呼び出し、bindシステムコール1010は呼び出さない。なぜなら、bindシステムコール1010には、送信元ポート番号を明示する働きがあるが、Webブラウザ1000は、通常、送信元ポート番号を明示的に指定しないよう動作するためである。
Webブラウザ1000が、connectシステムコール1012を呼び出すと、connectシステムコール1012の内部で送信元ポート番号を割り当てるために、送信元ポート番号自動割当用のオペレーティングシステム内部関数1016が呼び出される(オペレーティングシステムによっては、独立した関数ではなく、他の関数の処理の一部として実装されている場合もある)。
送信元ポート番号自動割当用のオペレーティングシステム内部関数1016は本発明の実施例のために改造されているものとする。具体的には、送信元ポート番号自動割当用のオペレーティングシステム内部関数1016の処理が全て終了した直後にフック関数1018が呼び出されるように改造されている。
フック関数1018は、送信元ポート番号自動割当用のオペレーティングシステム内部関数1016が割り当てた送信元ポート番号を取得し、パケットフィルタ用制御情報送信元ポート番号補完用ソフトウェア1020に引き渡す。引渡しには、例えばUNIXドメインソケットによるプロセス間通信が用いられる。
また、フック関数1018は、Webブラウザ1000の例えばプロセスIDをpsコマンド等の呼出用ソフトウェア1022に引き渡す。引渡しには、例えばUNIXドメインソケットによるプロセス間通信が用いられる。
なお、UNIX系のオペレーティングシステムでは、動作中ソフトウェアの識別子としてプロセスIDが用いられ、ネットワーク関連システムコール1006中では、呼出元のソフトウェアのプロセスIDは容易に取得できる。
psコマンド等呼出用ソフトウェア1022は、プロセスIDを引き渡されると、それに対応するソフトウェアの実行ファイル名を特定する。この動作は、例えばUNIX系のオペレーティングシステムでは、通常、psコマンドなどを呼び出すことにより可能となる。また、psコマンド等呼出用ソフトウェア1022は、特定した実行ファイル名を、パケットフィルタ用制御情報データベース検索ソフトウェア1024に引き渡す。引渡しには、例えばUNIXドメインソケットによるプロセス間通信が用いられる。
パケットフィルタ用制御情報データベース検索ソフトウェア1024は、実行ファイル名を引き渡されると、実行ファイル名をキーとして、パケットフィルタ用制御情報データベース1026を検索し、Webブラウザ用制御情報1028を取得し、パケットフィルタ用制御情報送信元ポート番号補完用ソフトウェア1020に引き渡す。引渡しには、例えばUNIXドメインソケットによるプロセス間通信が用いられる。ここで、Webブラウザ用制御情報1028には送信元ポート番号に関する情報が欠落しているので、パケットフィルタ1030に引き渡す情報としては不完全である。
パケットフィルタ用制御情報送信元ポート番号補完用ソフトウェア1020は、送信元ポート番号とWebブラウザ用制御情報1028とを引き渡されると、Webブラウザ用制御情報1028を送信元ポート番号によって補完し、送信元ポート番号補完済みであるWebブラウザ用制御情報1032を作成し、パケットフィルタ用制御情報設定ソフトウェア1034に引き渡す。引渡しには、例えば、UNIXドメインソケットによるプロセス間通信が用いられる。ここで、送信元ポート番号補完済みWebブラウザ用制御情報1032は、送信元ポート番号に関する情報を含んでいるので、パケットフィルタ1030に引き渡す情報として完全である。
パケットフィルタ用制御情報設定ソフトウェア1034は、送信元ポート番号補完済みWebブラウザ用制御情報1032が引き渡されると、パケットフィルタ1030に送信元ポート番号補完済みWebブラウザ用制御情報1032を設定する。設定には、パケットフィルタ1030固有の設定方法、即ち、通常、パケットフィルタ1030の設定ファイルを書き換えてからパケットフィルタ1030を再起動する等の方法が用いられる。
ここまででフック関数1018から開始された一連の処理が終了し、Webブラウザ1000の処理が再開される。Webブラウザ1000によるネットワーク接続要求(connectシステムコール(10005))が終了したので、Webサーバ1004からのデータ取得要求(recvシステムコール1014)が行われる。このrecvシステムコール1014によって、Webサーバ1004からデータが送られてくると、パケットフィルタ1030は、送信元ポート番号補完済みWebブラウザ用制御情報1032に従って、データをウィルス検出用ソフトウェア1036に転送する。ここで、ウィルス検出用ソフトウェア1036への転送はあくまで実際に即した例示であり、その他の制御を行うことも同様に可能である。
パケットフィルタ1020は、ウィルス検出用ソフトウェア1036によるウィルスチェックが終了したら、Webサーバ1004からのデータをWebブラウザ1000に転送する。
以上説明した実施例からわかるように、本発明によれば、Webブラウザ1000を改造することなく、TCP/IP通信の接続要求を含むWebブラウザ1000の通信動作に対して、パケットフィルタ1030による制御が可能であり、かつ、Webブラウザ用制御情報1028には送信元ポート番号の情報を記述しておく必要がない。
本発明は、例えば、パーソナルコンピュータのセキュリティ強化に適用できるし、ソフトウェアが拡張可能な携帯電話のセキュリティ強化にも適用可能である。
さらに、本発明は、データベースから同義語を検索する情報検索装置や、情報検索装置をコンピュータ上で実現するためのプログラムにも適用できる。
本発明に係る第1の実施の形態を実施するためのハードウェアの構成を簡単に示したブロック図。 本発明に係る第1の実施の形態の動作を説明するための機能ブロック図。 本発明に係る第1の実施の形態の動作を説明するための流れ図。 本発明に係る第2の実施の形態を実施するためのハードウェアの構成を簡単に示したブロック図。 本発明に係る第2の実施の形態の動作を説明するための機能ブロック図。 本発明に係る第2の実施の形態の動作を説明するための流れ図。 本発明に係る第3の実施の形態の動作を説明するための機能ブロック図。 本発明に係る第3の実施の形態の動作を説明するための流れ図。 本発明に係る実施例に使用するハードウェアの構成を簡単に示したブロック図。 本発明に係る実施例の動作を説明するための機能ブロック図。 従来例のハードウェアの構成を簡単に示したブロック図。 図11に示した従来例を説明するための機能ブロック図。
符号の説明
102,402 通信手段(ハードウェア)
104,404,414 コンピュータ
106,406,416 記憶装置
200,500,700 ソフトウェア
202,502,702 TCP又はUDP通信手段
204,506,704 TCP又はUDP通信制御手段
206,504,706 送信元ポート番号自動割当手段
208,708 ソフトウェア識別手段
210,510,720 送信元ポート番号自動割当結果フック手段
212,512,712 通信制御情報検索手段
214,514,714 通信制御情報保持手段
216,516,716 通信制御情報補完手段
218,518,722 通信制御情報設定手段
220,524,724 ソフトウェア実行環境
508 ソフトウェア/ハードウェア識別手段

Claims (33)

  1. 処理の一環として通信を行なうソフトウェアがコンピュータネットワークを介して通信
    を行なう通信制御システムであって、
    通信手段と、
    該通信手段への前記ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なう送信元ポート番号自動割当手段と、
    割り当てられた送信元ポート番号を取得する送信元ポート番号自動割当結果フック手段と、
    通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を前記ソフトウェアに対して求め、前記ソフトウェア識別情報に基づいて、前記ソフトウェアに対応する通信制御情報を取得し、取得した前記通信制御情報を割り当てられた前記送信元ポート番号で補完する通信制御情報補完手段と、
    前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定する通信制御情報設定手段と、
    補完された通信制御情報を用いて通信の制御を行う通信制御手段と
    を備えることを特徴とする通信制御システム。
  2. 前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する前記通信手段の動作の一環として行われる前記送信元ポート番号自動割当手段での処理であることを特徴とする請求項1に記載の通信制御システム。
  3. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項1からの何れかに記載の通信制御システム。
  4. 前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する前記通信手段の動作とは独立して行なわれる送信元ポート番号自動割当手段により行なわれることを特徴とする請求項1に記載の通信制御システム。
  5. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項1または4に記載の通信制御システム。
  6. 処理の一環として通信を行なう1個以上のソフトウェアが夫々物理的に独立した1個以上の第1のハードウェアに実装され、前記1個以上のソフトウェアの内の何れかが、第2のハードウェアに実装されたソフトウェアを介してコンピュータネットワークと通信を行う通信制御システムであって、
    通信手段と、
    ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なう送信元ポート番号自動割当手段と、
    割り当てられた送信元ポート番号を取得する送信元ポート番号自動割当結果フック手段と、
    通信を要求した前記ソフトウェアを識別するソフトウェア識別情報と、該ソフトウェアが実装されている第1のハードウェアを識別するハードウェア識別情報とを前記ソフトウェアに対して求める識別手段と、
    前記ソフトウェア識別情報と前記ハードウェア識別情報との組に基づいて通信制御情報を取得する通信制御情報検索手段と、
    割り当てられた前記送信元ポート番号で取得した前記通信制御情報を補完する通信制御情報補完手段と、
    前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定する通信制御情報設定手段と、
    補完された通信制御情報を用いて通信の制御を行う通信制御手段と
    を備えたことを特徴とする通信制御システム。
  7. 前記通信制御補完手段は、前記識別手段で求めたソフトウェア識別情報とハードウェア識別情報の組と、前記通信制御情報検索手段において通信制御情報の取得に用いたソフトウェア識別情報とハードウェア識別情報の組とを比較することを特徴とする請求項に記載の通信制御システム。
  8. 前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する前記通信手段の動作の一環として行われる前記送信元ポート番号自動割当手段での処理であることを特徴とする請求項6または7に記載の通信制御システム。
  9. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項6から8の何れかに記載の通信制御システム。
  10. 前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する前記通信手段の動作とは独立して行なわれる送信元ポート番号自動割当手段により行なわれることを特徴とする請求項またはに記載の通信制御システム。
  11. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項6、7または10に記載の通信制御システム。
  12. 処理の一環として通信を行なうソフトウェアがコンピュータネットワークを介して通信を行なう際の通信制御方法であって、
    ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行ない、
    割り当てられた送信元ポート番号を取得し、
    通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を前記ソフトウェアに対して求め、
    前記ソフトウェア識別情報に基づいて、前記ソフトウェアに対応する通信制御情報を取得し、
    取得した前記通信制御情報を割り当てられた前記送信元ポート番号で補完し、
    前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定し、
    補完された通信制御情報を用いて前記ソフトウェアがコンピュータネットワークを介して通信を行えるようにすることを特徴とする通信制御方法。
  13. 前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする請求項12に記載の通信制御方法。
  14. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項13または14に記載の通信制御方法。
  15. 前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする請求項12に記載の通信制御方法。
  16. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項12または15に記載の通信制御方法。
  17. 処理の一環として通信を行なう1個以上のソフトウェアが夫々物理的に独立した1個以上の第1のハードウェアに実装され、前記1個以上のソフトウェアの内の何れかが、第2のハードウェアに実装されたソフトウェアを介してコンピュータネットワークと通信を行う際の通信制御方法であって、
    (a) ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行ない、
    (b) 割り当てられた送信元ポート番号を取得し、
    (c) 通信を要求した前記ソフトウェアを識別するソフトウェア識別情報と、該ソフトウェアが実装されている第1のハードウェアを識別するハードウェア識別情報とを前記ソフトウェアに対して求め、
    (d) 前記ソフトウェア識別情報と前記ハードウェア識別情報との組に基づいて通信制御情報を取得し、
    (e) 割り当てられた前記送信元ポート番号で取得した前記通信制御情報を補完し、
    (f) 前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定し、
    補完された通信制御情報を用いて前記ソフトウェアの通信制御を行えるようにすることを特徴とする通信制御方法。
  18. ステップ(e)において「送信元ポート番号で前記通信制御情報を補完」する際、ステップ(c)で求めたソフトウェア識別情報とハードウェア識別情報の組と、ステップ(d)で通信制御情報の取得に使用したソフトウェア識別情報とハードウェア識別情報の組とを比較することを特徴とする請求項17に記載の通信制御方法。
  19. 前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする請求項17または18に記載の通信制御方法。
  20. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項17から19の何れかに記載の通信制御方法。
  21. 前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする請求項17または18に記載の通信制御方法。
  22. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項17、18または21に記載の通信制御方法。
  23. 処理の一環として通信を行なうソフトウェアがコンピュータネットワークを介して通信を行なう際の通信制御のためのコンピュータプログラムであって、
    ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なうステップと、
    割り当てられた送信元ポート番号を取得するステップと、
    通信を要求した前記ソフトウェアを識別するソフトウェア識別情報を前記ソフトウェアに対して求め、前記ソフトウェア識別情報に基づいて、前記ソフトウェアに対応する通信制御情報を取得し、取得した前記通信制御情報を割り当てられた前記送信元ポート番号で補完するステップと、
    前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定するステップと、
    補完された通信制御情報を用いて前記ソフトウェアがコンピュータネットワークを介して通信を行えるようにすることを特徴とする通信制御用コンピュータプログラム。
  24. 前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする請求項23に記載のコンピュータプログラム。
  25. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項23または24に記載の通信制御用コンピュータプログラム。
  26. 前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする請求項23に記載の通信制御用コンピュータプログラム。
  27. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項23または26に記載の通信制御用コンピュータプログラム。
  28. 処理の一環として通信を行なう1個以上のソフトウェアが夫々物理的に独立した1個異常の第1のハードウェアに実装され、前記1個以上のソフトウェアの内の何れかが、第2のハードウェアに実装されたソフトウェアを介してコンピュータネットワークと通信を行う際の通信制御用のコンピュータプログラムであって、
    (a) ソフトウェアの通信依頼に応答して送信元ポート番号の割当を行なうステップと、
    (b) 割り当てられた送信元ポート番号を取得するステップと、
    (c) 通信を要求した前記ソフトウェアを識別するソフトウェア識別情報と、該ソフトウェアが実装されている第1のハードウェアを識別するハードウェア識別情報とを前記ソフトウェアに対して求めるステップと、
    (d) 該ソフトウェア識別情報とハードウェア識別情報との組に基づいて通信制御情報を取得するステップと、
    (e) 割り当てられた前記送信元ポート番号で取得した前記通信制御情報を補完するステップと、
    (f) 前記ソフトウェア識別情報と前記ソフトウェアに対応する通信制御情報と前記送信元ポート番号とを対応付けて前記通信制御情報として設定するステップと、
    を有し、補完された通信制御情報を用いて前記ソフトウェアの通信制御を行えるようにすることを特徴とする通信制御用コンピュータプログラム。
  29. ステップ(e)において「送信元ポート番号で前記通信制御情報を補完」する際、ステップ(c)で求めたソフトウェア識別情報とハードウェア識別情報の組と、ステップ(d)で通信制御情報の取得に使用したソフトウェア識別情報とハードウェア識別情報の組とを比較することを特徴とする請求項28に記載の通信制御用コンピュータプログラム。
  30. 前記送信元ポート番号の割当は、前記ソフトウェアの通信を実行する通信手段の動作の一環である送信元ポート番号自動割当処理により行なわれることを特徴とする請求項28または29に記載の通信制御用コンピュータプログラム。
  31. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項28から30の何れかに記載の通信制御用コンピュータプログラム。
  32. 前記送信元ポート番号の割当は、前記ソフトウェアの通信依頼に応答し、前記ソフトウェアの通信を実行する通信手段の動作とは独立して行なわれる送信元ポート番号自動割当処理により行なわれることを特徴とする請求項28または29に記載の通信制御用コンピュータプログラム。
  33. 前記通信はTCP/IP通信或いはUDP/IP通信であることを特徴とする請求項28、29または32に記載の通信制御用コンピュータプログラム。
JP2005274142A 2005-09-21 2005-09-21 通信制御システム及び通信制御方法並びに通信制御用プログラム Expired - Fee Related JP5046503B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005274142A JP5046503B2 (ja) 2005-09-21 2005-09-21 通信制御システム及び通信制御方法並びに通信制御用プログラム
US11/523,584 US8126444B2 (en) 2005-09-21 2006-09-20 Communication system and method for executing application program that specifies no communication parameter
CN200610152317.2A CN1937626A (zh) 2005-09-21 2006-09-21 用于执行不指定通信参数的应用程序的通信系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005274142A JP5046503B2 (ja) 2005-09-21 2005-09-21 通信制御システム及び通信制御方法並びに通信制御用プログラム

Publications (2)

Publication Number Publication Date
JP2007087038A JP2007087038A (ja) 2007-04-05
JP5046503B2 true JP5046503B2 (ja) 2012-10-10

Family

ID=37884868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005274142A Expired - Fee Related JP5046503B2 (ja) 2005-09-21 2005-09-21 通信制御システム及び通信制御方法並びに通信制御用プログラム

Country Status (3)

Country Link
US (1) US8126444B2 (ja)
JP (1) JP5046503B2 (ja)
CN (1) CN1937626A (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62222347A (ja) * 1986-03-25 1987-09-30 Mitsubishi Electric Corp ゲ−トウエイの通信制御方式
JP3458384B2 (ja) * 1991-06-25 2003-10-20 富士通株式会社 通信処理方法
JPH06324978A (ja) * 1993-05-14 1994-11-25 Sumitomo Electric Ind Ltd サーバプログラムのポート番号の割当て方式
JPH09282255A (ja) * 1996-04-09 1997-10-31 Oki Electric Ind Co Ltd 通信システム
US7120697B2 (en) * 2001-05-22 2006-10-10 International Business Machines Corporation Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
JP2002185880A (ja) * 2000-12-14 2002-06-28 Sony Corp 情報処理装置および方法、受信装置および方法、並びに記録媒体
US7711831B2 (en) * 2001-05-22 2010-05-04 International Business Machines Corporation Methods, systems and computer program products for source address selection
ATE367700T1 (de) * 2002-04-16 2007-08-15 Bosch Gmbh Robert Verfahren und einheit zur bitstromdekodierung
JP2004078507A (ja) 2002-08-16 2004-03-11 Sony Corp アクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラム
JP4104146B2 (ja) * 2004-03-03 2008-06-18 日本電信電話株式会社 ユーザ端末、ネットワーク制御システム及びネットワークドライバ

Also Published As

Publication number Publication date
US20070066294A1 (en) 2007-03-22
JP2007087038A (ja) 2007-04-05
CN1937626A (zh) 2007-03-28
US8126444B2 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
CN109525990B (zh) 无线投屏方法、装置、计算机设备和存储介质
US8769040B2 (en) Service providing system, a virtual machine server, a service providing method, and a program thereof
US8316133B2 (en) Thin client system using session managing server and session managing method
EP1719320B1 (en) Server-side protocol configuration of accessing clients
US6934952B2 (en) Method and apparatus for managing multiple instances of server code on a machine
CN114070822B (zh) 一种Kubernetes Overlay IP地址管理方法
US20070061482A1 (en) Information processing apparatus, communication control method, and communication control program
JPWO2007072554A1 (ja) アドレス割当装置
JP2013218687A (ja) サーバー監視システム及びその方法
WO2020248375A1 (zh) 数据库间数据同步方法、系统、计算机设备及存储介质
US9344399B2 (en) Relay server and relay communication system
US20090190590A1 (en) Server Machine and Network Processing Method
CN111459676A (zh) 一种节点资源管理方法、装置及存储介质
JP3562995B2 (ja) サービス品質管理装置
JP5046503B2 (ja) 通信制御システム及び通信制御方法並びに通信制御用プログラム
CN116881040A (zh) 一种业务操作处理方法、装置、电子装置和存储介质
JP2006202272A (ja) コンピュータデバイスの構成要素間の、指定された接続を決定するシステムおよび方法
CN115277391A (zh) 一种网络配置方法、装置、集群及存储介质
CN108259345B (zh) 端口生成方法和装置
CN115580614A (zh) 一种数据下载方法、装置、设备及计算机可读存储介质
WO2013097237A1 (zh) 一种部署应用进程的方法、设备和系统
CN114416149A (zh) 一种服务的处理方法、装置及设备
JP2010146246A (ja) マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法
CN113556374A (zh) 一种获取制造商使用说明mud文件的方法、设备和系统
JP2014154149A (ja) リモート制御に対する管理システム及び管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080818

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110301

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110428

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5046503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees