JP6295643B2 - Managing the scope of network services - Google Patents

Managing the scope of network services Download PDF

Info

Publication number
JP6295643B2
JP6295643B2 JP2013265077A JP2013265077A JP6295643B2 JP 6295643 B2 JP6295643 B2 JP 6295643B2 JP 2013265077 A JP2013265077 A JP 2013265077A JP 2013265077 A JP2013265077 A JP 2013265077A JP 6295643 B2 JP6295643 B2 JP 6295643B2
Authority
JP
Japan
Prior art keywords
service
source device
network
address
request
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
JP2013265077A
Other languages
Japanese (ja)
Other versions
JP2014130588A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/730,854 external-priority patent/US9398100B2/en
Priority claimed from US13/730,853 external-priority patent/US9253263B2/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2014130588A publication Critical patent/JP2014130588A/en
Application granted granted Critical
Publication of JP6295643B2 publication Critical patent/JP6295643B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、概してネットワークサービスに関し、より詳細には、ソース装置が異なるネットワークにあるネットワークサービスを使用できるようにするアプローチに関する。   The present invention relates generally to network services, and more particularly to an approach that allows source devices to use network services that are in different networks.

この章に記載されるアプローチは、達成しようとされた可能性のあるアプローチであるが、必ずしも従前に考案され又は達成されたアプローチではない。したがって、特に示されない限り、本章に記載されるアプローチは、本願の請求項に対する従来技術ではなく、この章に含まれることにより従来技術と見なされるものではない。   The approaches described in this chapter are approaches that may have been attempted, but not necessarily approaches that have been previously devised or achieved. Accordingly, unless otherwise indicated, the approaches described in this section are not prior art to the claims of this application and are not to be considered prior art by inclusion in this section.

(AirPrintのような)ネットワークサービス及び発見システムは、一般的になってきている。多くのユーザは、彼らのモバイル装置からネットワークサービス及びネットワークアプリケーションに接続している。通常、発見システムは、ネットワークサービスを要求する装置と同じネットワークセグメント又はサブネットに存在するネットワークサービスの発見を支援する。しかしながら、要求側装置と異なるネットワークセグメント又はサブネットに存在するネットワークサービスの発見を支援するために、2つのアプローチのうちの1つが実施され得る。   Network services and discovery systems (such as AirPrint) are becoming popular. Many users connect to network services and network applications from their mobile devices. Typically, a discovery system assists in the discovery of network services that reside in the same network segment or subnet as the device that requests the network service. However, one of two approaches can be implemented to assist in the discovery of network services that reside in a different network segment or subnet than the requesting device.

1つのアプローチでは、2つのネットワーク又はサブネットを接続するルータで、マルチキャストルーティングが実施される。マルチキャストルーティングは、サブネット間でマルチキャストトラフィックを渡すことを可能にする。しかしながら、幾つかのルータ又は無線アクセスポイントは、マルチキャストルーティング機能をサポートしない。   In one approach, multicast routing is performed at a router connecting two networks or subnets. Multicast routing allows multicast traffic to pass between subnets. However, some routers or wireless access points do not support the multicast routing function.

もう1つのアプローチでは、専用ソフトウェアを備えたサーバが、各ネットワーク又はサブネットに配置される。これらのサーバは、ネットワーク又はサブネットからのパケットを他のネットワーク又はサブネットへ送信させる。しかしながら、このようなサーバ又はソフトウェアをネットワーク又はサブネット毎に配置することは、面倒である。   In another approach, a server with dedicated software is placed in each network or subnet. These servers send packets from the network or subnet to other networks or subnets. However, it is troublesome to arrange such servers or software for each network or subnet.

1又は複数のネットワークサービスの範囲及びそれらへのアクセス管理する技術を提供する。 Techniques are provided for managing the scope of and access to one or more network services.

ある技術によると、サービスマネジャは、ネットワークを介して、第1のサブネットに存在するターゲット装置から、ターゲット装置が提供する第1のサービスを示す第1のサービス情報を受信する。第1のサービス情報を受信するのに応答して、サービスマネジャは第1のサービス情報を格納する。サービスマネジャは、第1のサブネットと異なる第2のサブネットに存在するソース装置から、サービス情報についての第1の要求を受信する。第1の要求を受信するのに応答して、サービスマネジャは、第1のサービス情報を識別し、第1のサービス情報を有する応答を生成し、ソース装置へ応答を送信する。   According to a technique, a service manager receives first service information indicating a first service provided by a target device from a target device that exists in a first subnet via a network. In response to receiving the first service information, the service manager stores the first service information. The service manager receives a first request for service information from a source device that resides in a second subnet that is different from the first subnet. In response to receiving the first request, the service manager identifies the first service information, generates a response with the first service information, and sends the response to the source device.

別の技術によると、サービスマネジャは、第1のサブネットに位置する第1のサービスを含む複数のサービスを識別するサービスデータを格納する。サービスマネジャは、サービスデータと関連付けられた1又は複数のルールを格納する。サービスデータ及び1又は複数のルールを格納した後に、サービスマネジャは、第1のサブネット内のソース装置から、利用可能なサービスについての要求を受信する。要求を受信するのに応答して、サービスマネジャは、1又は複数のルールのうちの少なくとも1つのルールに基づき、複数のサービスのサブセットを識別し、該サブセットは第1のサービスを有しない。サービスマネジャは、複数のサービスのうちのサブセットを識別し第1のサービスを有しない利用可能なサービスのリストを有する応答を生成する。サービスマネジャは、応答をソース装置へ送信する。   According to another technique, the service manager stores service data identifying a plurality of services including a first service located in a first subnet. The service manager stores one or more rules associated with service data. After storing the service data and one or more rules, the service manager receives a request for available services from a source device in the first subnet. In response to receiving the request, the service manager identifies a subset of the plurality of services based on at least one rule of the one or more rules, the subset having no first service. The service manager identifies a subset of the plurality of services and generates a response having a list of available services that do not have the first service. The service manager sends a response to the source device.

実施形態は、1又は複数のプロセッサにより処理される命令、1又は複数のコンピュータにより実施される方法、又は相応して構成される装置若しくは機器により実施され得る。   Embodiments may be implemented by instructions processed by one or more processors, one or more computer-implemented methods, or correspondingly configured apparatus or equipment.

添付の図面中、同様の参照符号は同様の要素を表す。
例示的なネットワークアーキテクチャを示すブロック図である。 ユーザに印刷サービスのオプションを選択させる例示的なスクリーンを示すブロック図である。 利用可能なネットワークサービスを示す例示的なスクリーンを示すブロック図である。 同じサブネット内のネットワークサービス登録シーケンスを示すシーケンス図である。 ネットワークサービス発見シーケンス及びネットワークサービス実行シーケンスを示すシーケンス図である。 異なるネットワークサブネット内でネットワークサービスを発見させるために、各サブネットでサーバアプリケーションを用いる例示的なネットワークアーキテクチャを示すブロック図である。 一実施形態における、あるサブネット内の装置に別のサブネット内のネットワークサービスを発見させる例示的なネットワークアーキテクチャを示すブロック図である。 一実施形態における、サービスマネジャにより保持されるネットワークサービス情報テーブルを示すブロック図である。 一実施形態における、ネットワークサービスがサービスマネジャにどのように登録するかを示すシーケンス図である。 一実施形態における、ネットワークサービスをどのように発見するかを示すシーケンス図である。 一実施形態における、ソース装置で保持されるネットワークサービス情報テーブルを示すブロック図である。 一実施形態における、利用可能なネットワークサービスを示す例示的なスクリーンを示すブロック図である。 一実施形態における、ソース装置でサービスコネクタにより保持されるネットワークサービス情報テーブルを示すブロック図である。 一実施形態における、別のサブネット内のネットワークサービスがソース装置からにどのようにアクセスされるかを示すシーケンス図である。 一実施形態における、1又は複数のネットワークリソースの使用を管理する例示的なアーキテクチャを示すブロック図である。 一実施形態における、ソース装置が1又は複数のルールを用いて登録されたネットワークービスをどのように発見するかを示すシーケンス図である。 一実施形態による、動作、ユーザ、位置、装置属性及び特定ルールの間の関連を示すブロック図である。 一実施形態による、動作、ユーザ、位置、装置属性及び特定ルールの間の関連を示すブロック図である。 本発明の実施形態が実装され得るコンピュータシステムのブロック図である。
Like reference symbols in the accompanying drawings indicate like elements.
1 is a block diagram illustrating an example network architecture. FIG. FIG. 6 is a block diagram illustrating an exemplary screen that allows a user to select a print service option. FIG. 3 is a block diagram illustrating an example screen showing available network services. It is a sequence diagram which shows the network service registration sequence in the same subnet. It is a sequence diagram which shows a network service discovery sequence and a network service execution sequence. FIG. 2 is a block diagram illustrating an example network architecture that uses a server application in each subnet to allow network services to be discovered in different network subnets. FIG. 2 is a block diagram illustrating an example network architecture that allows devices in one subnet to discover network services in another subnet in one embodiment. It is a block diagram which shows the network service information table hold | maintained by the service manager in one Embodiment. FIG. 6 is a sequence diagram illustrating how a network service registers with a service manager in one embodiment. FIG. 6 is a sequence diagram illustrating how to discover network services in one embodiment. It is a block diagram which shows the network service information table hold | maintained at the source device in one Embodiment. FIG. 3 is a block diagram illustrating an example screen showing available network services in one embodiment. It is a block diagram which shows the network service information table hold | maintained by the service connector in the source device in one Embodiment. FIG. 6 is a sequence diagram illustrating how network services in another subnet are accessed from a source device in one embodiment. FIG. 2 is a block diagram illustrating an example architecture for managing the use of one or more network resources in one embodiment. In one embodiment, it is a sequence diagram showing how to discover network services that the source device is registered with one or more rules. FIG. 6 is a block diagram illustrating an association between actions, users, locations, device attributes, and specific rules, according to one embodiment. FIG. 6 is a block diagram illustrating an association between actions, users, locations, device attributes, and specific rules, according to one embodiment. And FIG. 7 is a block diagram of a computer system in which embodiments of the present invention may be implemented.

以下の説明では、説明を目的として、本発明の実施形態の完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、当業者は、本発明がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、良く知られた構造及び装置が、本発明を不必要に不明瞭にしないために、ブロック図で示される。   In the following description, for purposes of explanation, numerous details are set forth in order to provide a thorough understanding of embodiments of the present invention. However, one skilled in the art will understand that the invention may be practiced regardless of such specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.

<概要>
本願明細書は、1又は複数のネットワークサービスの範囲及びそれらへのアクセスを管理する技術を記載する。ネットワークサービスをホストするターゲット装置は、異なる装置で実行するサービスマネジャと通信するよう構成されるサービスコネクタを実行する。サービスマネジャは、該ネットワークサービス及び0又は複数の他のネットワークサービスに関するサービス情報を格納する。サービスマネジャは、ネットワークサービスの使用を要求し得るソース装置にサービス情報を提供する。サービスマネジャは、利用可能なサービスについてのソース装置からの要求に応答して、サービス情報を提供しても良い。したがって、ソース装置は、ターゲット装置及びソース装置が異なるサブネット内に存在したとしても、ターゲット装置を発見することができる。
<Overview>
This specification describes techniques for managing the scope of and access to one or more network services. A target device that hosts a network service executes a service connector configured to communicate with a service manager executing on a different device. The service manager stores service information regarding the network service and zero or more other network services. The service manager provides service information to source devices that may request use of network services. The service manager may provide service information in response to a request from the source device for available services. Therefore, the source device can discover the target device even if the target device and the source device are in different subnets.

関連する技術では、サービスコネクタを実行するソース装置は、異なる装置で実行するサービスマネジャから利用可能なサービスを要求する。サービスマネジャは、ソース装置が発見できるネットワークサービスのリストを決定する。ネットワークサービスのリストは、ソース装置の現在位置、ソース装置は認証情報に関連付けられるか否か、ソース装置は特定の属性を有するか否か等のような、1又は複数の基準に基づき決定される。このように、ネットワークサービスがソース装置と同じサブネット内に存在していたとしても、サービスマネジャはソース装置が発見できるネットワークサービスを制限できる。   In related technology, a source device executing a service connector requests a service available from a service manager executing on a different device. The service manager determines a list of network services that the source device can discover. The list of network services is determined based on one or more criteria such as the current location of the source device, whether the source device is associated with authentication information, whether the source device has certain attributes, etc. . Thus, even if the network service exists in the same subnet as the source device, the service manager can limit the network services that the source device can find.

<ネットワークサービス発見のための範囲限定アプローチ>
前述のように、ネットワークサービスを発見するために複数のアプローチを用いることができる。図1は、ソース装置が該ソース装置と同じサブネット内にあるサービスのみを発見できる例示的なネットワークアーキテクチャ100を示すブロック図である。ネットワークアーキテクチャ100は、2つのサブネット、つまりサブネット180及びサブネット190を有する。サブネット180及び190は、ルータ170により通信可能に結合される。サブネット180は、ソース装置110及び120、並びにターゲット装置130及び140を有する。サブネット190は、ソース装置150及びターゲット装置160を有する。ソース装置110、130及び150は、それぞれ、アプリケーション112、122及び152を有する。アプリケーション112、122及び152は、それぞれ、ターゲット装置130、140及び160によりホストされる1又は複数のサービス132、142及び162を要求しても良い。
<Scope-limited approach for network service discovery>
As mentioned above, multiple approaches can be used to discover network services. FIG. 1 is a block diagram illustrating an example network architecture 100 in which a source device can only discover services that are in the same subnet as the source device. Network architecture 100 has two subnets: subnet 180 and subnet 190. Subnets 180 and 190 are communicatively coupled by router 170. The subnet 180 includes source devices 110 and 120 and target devices 130 and 140. The subnet 190 includes a source device 150 and a target device 160. Source devices 110, 130, and 150 have applications 112, 122, and 152, respectively. Applications 112, 122, and 152 may request one or more services 132, 142, and 162 hosted by target devices 130, 140, and 160, respectively.

図1に示す各装置は、サービスプラットフォームを有する。該サービスプラットフォームを通じて、(ソース装置の場合には)アプリケーション又は(ターゲット装置の場合には)サービスは情報を送信又は要求する。   Each apparatus shown in FIG. 1 has a service platform. Through the service platform, an application (in the case of a source device) or a service (in the case of a target device) sends or requests information.

図2は、ユーザに印刷サービスのオプションを選択させる例示的なスクリーン200を示すブロック図である。スクリーン200は、アプリケーション112によりソース装置110で生成されても良い。スクリーン200は、ユーザにサービスを選択させるボタン210を有する。例えば、スクリーン200の選択は、図3に示すスクリーン300をソース装置110に表示させる。   FIG. 2 is a block diagram illustrating an exemplary screen 200 that allows a user to select print service options. The screen 200 may be generated on the source device 110 by the application 112. The screen 200 has a button 210 that allows the user to select a service. For example, selection of the screen 200 causes the screen 300 shown in FIG.

スクリーン300は、ソース装置110に登録されている印刷サービスのリスト310を有する。リスト310は、ターゲット装置120のサービス122とターゲット装置130のサービス132を識別する。特に、ターゲット装置150はソース装置110とは異なるサブネット内に存在するので、リスト310は、ターゲット装置150のサービス152を含まない。   The screen 300 has a list 310 of print services registered in the source device 110. List 310 identifies service 122 of target device 120 and service 132 of target device 130. In particular, the list 310 does not include the service 152 of the target device 150 because the target device 150 is in a different subnet than the source device 110.

図2のスクリーン200に戻ると、スクリーン200は、ユーザが選択できる印刷オプションのリスト220を有する。スクリーン200は、実行ボタン230も有する。実行ボタン230は、選択されると、選択されたオプションを示す印刷ジョブを選択されたサービスに提出させる。再び、選択されるサービスは、サブネット180内で発見されるサービスに限定される。   Returning to the screen 200 of FIG. 2, the screen 200 has a list 220 of print options that the user can select. The screen 200 also has an execution button 230. The execute button 230, when selected, causes a print job indicating the selected option to be submitted to the selected service. Again, the services that are selected are limited to those that are found within subnet 180.

図4は、同じサブネット内のネットワークサービス登録シーケンス400を示すシーケンス図である。ステップ410で、サービス132は、サービスプラットフォーム134へ登録要求を送信する。ステップ420−440で、サービスプラットフォーム134は、図示の例ではソース装置110、ソース装置120及びターゲット装置140を含むサブネット180にある装置の各サービスプラットフォームを通知する。   FIG. 4 is a sequence diagram showing a network service registration sequence 400 within the same subnet. In step 410, the service 132 sends a registration request to the service platform 134. In steps 420-440, the service platform 134 notifies each service platform of the devices in the subnet 180 including the source device 110, the source device 120, and the target device 140 in the illustrated example.

図5は、ネットワークサービス発見シーケンス及びネットワークサービス実行シーケンス500を示すシーケンス図である。ステップ505で、ユーザは、アプリケーション112に、印刷サービスの発見を開始する入力を供給する。ステップ510で、応答して、アプリケーション112は、サービスプラットフォーム114へ要求を送信する。要求は、利用可能な印刷サービスに関するものである。ステップ515で、応答して、サービスプラットフォーム114は、1又は複数の印刷サービスのリストを返送する。ステップ520で、応答して、アプリケーション112は、リストを示すスクリーンを生成し、該スクリーンをソース装置110に表示させる。ステップ525で、ユーザは、アプリケーション112に、表示されたリスト内に列挙された印刷サービスのうちの1つの選択を示す入力を供給する。ステップ530で、応答して、アプリケーション112は、ユーザ選択印刷サービスを選択する。ステップ535で、ユーザは、アプリケーション112に、1又は複数の印刷オプションの選択を示す入力を供給する。ステップ540で、応答して、アプリケーション112は、ユーザ選択印刷オプションを選択する。ステップ545で、ユーザは、アプリケーション112に、印刷ジョブの実行を示す入力を供給する。ステップ550で、応答して、アプリケーション112は、(選択された印刷サービス及び選択された印刷オプションを識別する)印刷ジョブを、ターゲット装置130によりホストされるサービス132に提出する。ステップ555で、サービス132は、印刷ジョブを実行し、結果を生成する。ステップ560で、サービス132は、結果をアプリケーション112へ送信する。アプリケーション112は、該結果に関する情報を表示させても良い。   FIG. 5 is a sequence diagram showing a network service discovery sequence and a network service execution sequence 500. In step 505, the user provides input to the application 112 to initiate discovery of the print service. In step 510, in response, application 112 sends a request to service platform 114. The request is for an available print service. In response, at step 515, the service platform 114 returns a list of one or more print services. In step 520, in response, the application 112 generates a screen showing the list and causes the source device 110 to display the screen. At step 525, the user provides input to application 112 indicating selection of one of the print services listed in the displayed list. In step 530, in response, the application 112 selects a user selected print service. At step 535, the user provides input to application 112 indicating selection of one or more print options. In step 540, in response, application 112 selects a user-selected print option. At step 545, the user provides input to the application 112 indicating execution of the print job. In step 550, in response, application 112 submits a print job (identifying the selected print service and selected print options) to service 132 hosted by target device 130. In step 555, the service 132 executes the print job and generates a result. At step 560, service 132 sends the result to application 112. The application 112 may display information regarding the result.

<各サブネット内の特別に構成されたサーバを用いたサービス発見>
図6は、異なるネットワークサブネット内でネットワークサービスを発見させるために、各サブネットでサーバアプリケーションを用いる例示的なネットワークアーキテクチャ600を示すブロック図である。ネットワークアーキテクチャ600は、幾つかの点でネットワークアーキテクチャ100と似ている。ネットワークアーキテクチャ600は、2つのサブネット、つまりサブネット680及びサブネット690を有する。サブネット680及び690は、ルータ670に通信可能に結合される。サブネット680は、ソース装置610及びターゲット装置630を有する。サブネット690は、ソース装置650及びターゲット装置660を有する。ソース装置610、650は、それぞれ、アプリケーション612、652を有する。アプリケーション612、652は、それぞれ、ターゲット装置630、660によりホストされる1又は複数のサービス632、662を要求しても良い。
<Service discovery using specially configured servers in each subnet>
FIG. 6 is a block diagram illustrating an example network architecture 600 that uses server applications in each subnet to allow discovery of network services in different network subnets. Network architecture 600 is similar to network architecture 100 in several respects. Network architecture 600 has two subnets: subnet 680 and subnet 690. Subnets 680 and 690 are communicatively coupled to router 670. The subnet 680 includes a source device 610 and a target device 630. The subnet 690 includes a source device 650 and a target device 660. The source devices 610 and 650 have applications 612 and 652, respectively. Applications 612 and 652 may request one or more services 632 and 662 hosted by target devices 630 and 660, respectively.

図6に示す各ソース装置及びターゲット装置は、サービスプラットフォームを有する。該サービスプラットフォームを通じて、(ソース装置の場合には)アプリケーション又は(ターゲット装置の場合には)サービスは情報を送信又は要求する。   Each source device and target device shown in FIG. 6 has a service platform. Through the service platform, an application (in the case of a source device) or a service (in the case of a target device) sends or requests information.

ネットワークアーキテクチャ600は、サブネット680内に置かれたサーバ620及びサブネット690内に置かれたサーバ640も有する。サーバ620はトンネルサービスアプリケーション622を有し、サーバ640はトンネルサービスアプリケーション642を有する。トンネルサービスアプリケーション622及び642は、両サブネット内のネットワークサービスを発見するために用いられる。したがって、ソース装置610はターゲット装置660によりホストされるサービス662を発見でき、ソース装置650はターゲット装置630によりホストされるサービス632を発見できる。   Network architecture 600 also includes a server 620 located in subnet 680 and a server 640 located in subnet 690. Server 620 has a tunnel service application 622, and server 640 has a tunnel service application 642. Tunnel service applications 622 and 642 are used to discover network services in both subnets. Accordingly, source device 610 can discover service 662 hosted by target device 660 and source device 650 can discover service 632 hosted by target device 630.

<サービスコネクタを用いたサービス発見>
図7は、一実施形態における、あるサブネット内の装置に別のサブネット内のネットワークサービスを発見させる例示的なネットワークアーキテクチャ700を示すブロック図である。ネットワークアーキテクチャ700は、サービスマネジャ760、ネットワーク770、並びに2つのサブネット、つまりサブネット780及びサブネット790を有する。サービスマネジャ760及びネットワーク770は、サブネット780及び790により通信可能に結合される。
<Service discovery using service connectors>
FIG. 7 is a block diagram illustrating an example network architecture 700 that allows devices in one subnet to discover network services in another subnet in one embodiment. The network architecture 700 has a service manager 760, a network 770, and two subnets: subnet 780 and subnet 790. Service manager 760 and network 770 are communicatively coupled by subnets 780 and 790.

サブネット780は、ソース装置710及びターゲット装置720、750を有する。サブネット790は、ターゲット装置730、740を有する。ソース装置710は、アプリケーション712を有する。アプリケーション712は、それぞれターゲット装置720−750によりホストされる1又は複数のサービス722、732、742、752を要求しても良い。サービス722、732、742、752の例は、印刷サービス、ファックスサービス、スキャンサービス、及びアーカイブサービスを有する。アプリケーション712の例は、文書処理アプリケーション、画像処理アプリケーションを含む。これらのアプリケーションの各々は、例えば、1又は複数の文書又は画像を印刷する印刷サービスを要求しても良い。   The subnet 780 includes a source device 710 and target devices 720 and 750. The subnet 790 includes target devices 730 and 740. The source device 710 has an application 712. Application 712 may request one or more services 722, 732, 742, 752 hosted by target devices 720-750, respectively. Examples of services 722, 732, 742, 752 include printing services, fax services, scanning services, and archiving services. Examples of the application 712 include a document processing application and an image processing application. Each of these applications may request a print service that prints one or more documents or images, for example.

ネットワーク770は、ソース装置710とターゲット装置720−750との間のデータ交換を提供する任意の媒体又は機構により実施できる。ネットワーク770の例は、LAN(Local Area Network)、WAN(Wide Area Network)、イーサネット(登録商標)若しくはインターネットのようなネットワーク、又は1若しくは複数の地上波、衛星若しくは無線リンクを含むが、これらに限定されない。   Network 770 may be implemented by any medium or mechanism that provides data exchange between source device 710 and target devices 720-750. Examples of the network 770 include a network such as a local area network (LAN), a wide area network (WAN), an Ethernet, or the Internet, or one or more terrestrial, satellite, or wireless links. It is not limited.

図1に示す各装置は、サービスプラットフォームを有する。特に、ソース装置710はサービスプラットフォーム714を有し、ターゲット装置720−750は、それぞれサービスプラットフォーム724−754を有する。サービスプラットフォームは、サービスプラットフォームに「分かっている」サービスに関する情報を格納する。サービスプラットフォームは、サービス情報を同じサブネットにある他のサービスプラットフォームと共有し/に広告する。サービス情報は、各サービスのIPアドレス、各サービスのポート番号、各サービスの名称、各サービスをホストする装置の装置識別子、等を有しても良い。装置で実行するアプリケーション(例えばアプリケーション712)は、既知のサービスに関する情報を読み出すために、該装置にあるサービスプラットフォーム(例えばサ―ビスプラットフォーム714)に問い合わせることができる。   Each apparatus shown in FIG. 1 has a service platform. In particular, the source device 710 has a service platform 714 and the target devices 720-750 have service platforms 724-754, respectively. The service platform stores information about services that are “known” to the service platform. The service platform shares / advertises service information with other service platforms in the same subnet. The service information may include an IP address of each service, a port number of each service, a name of each service, a device identifier of a device that hosts each service, and the like. An application executing on a device (eg, application 712) can query a service platform (eg, service platform 714) on the device to retrieve information about known services.

ソース装置710は、サービスコネクタ716も有する。サービスコネクタ716は、ネットワークサービスがソース装置710と同じ又は異なるサブネットにあるかに係わらず、サービスマネジャ760と通信してネットワークサービスに関する情報を読み出す。ターゲット装置720、740は、それぞれ、サービスコネクタ726、746を有する。サービスコネクタ726、746は、サービスマネジャ760と通信して、サービスマネジャ760に、サービスコネクタの個々のホストするサービス(つまり、サービス722、742)に関して通知する。サービスマネジャ760は、サービス722、742を識別するサービス情報を格納し、いずれかのサブネットからのソース装置に、いずれかのサブネット内で利用可能なネットワークサービスに関してサービスマネジャ760に問い合わせさせる。このように、各サブネット内でのネットワークサービスの発見を可能にするために、2つの特別に構成されたサーバは各サブネット内で要求されない。   Source device 710 also has a service connector 716. The service connector 716 communicates with the service manager 760 to read information about the network service regardless of whether the network service is in the same or different subnet as the source device 710. The target devices 720 and 740 have service connectors 726 and 746, respectively. Service connectors 726, 746 communicate with service manager 760 to notify service manager 760 regarding the service connector's individual hosted services (ie, services 722, 742). The service manager 760 stores service information for identifying the services 722 and 742, and causes the source device from any subnet to inquire the service manager 760 regarding network services available in any subnet. In this way, two specially configured servers are not required in each subnet to allow discovery of network services within each subnet.

一実施形態では、1又は複数のサービスコネクタ716、726、746がそれらの個々の装置にホストされたサービスを通知されると、1又は複数のサービスコネクタ716、726、746は、それらの個々のサービスプラットフォームと通信するよう構成される。このように、これらのサービスコネクタは、それらの個々のサービスプラットフォームからのサービスに関する情報を読み出し、サービスマネジャ760にそれらのホストされたサービスを通知できる。   In one embodiment, when one or more service connectors 716, 726, 746 are notified of services hosted on their individual devices, one or more service connectors 716, 726, 746 Configured to communicate with the service platform. In this way, these service connectors can retrieve information about services from their individual service platforms and inform the service manager 760 of their hosted services.

サービスコネクタ716、726、746は、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアとの任意の組合せで実装できる。サービスコネクタ716、726、746は、サービスマネジャ760の識別子を有するようハードコードされても良い。代替として、サービスコネクタ716、726、746は、サービスマネジャ760のアドレスを自動的に発見するよう構成されても良い。例えば、新しいネットワークが検出されると、サービスコネクタ716は、ネットワークを通じて、サービスマネジャ760により認識可能な一般的フォーマットに準拠する発見メッセージを送信しても良い。サービスマネジャ760は、サービスコネクタ716がサービスマネジャ760と通信するために用いるアドレス情報を含む発見応答で応答する。   Service connectors 716, 726, 746 may be implemented in software, hardware, or any combination of software and hardware. Service connectors 716, 726, 746 may be hard-coded to have service manager 760 identifiers. Alternatively, the service connectors 716, 726, 746 may be configured to automatically find the address of the service manager 760. For example, when a new network is detected, the service connector 716 may send a discovery message that conforms to a general format recognizable by the service manager 760 over the network. Service manager 760 responds with a discovery response that includes address information that service connector 716 uses to communicate with service manager 760.

<サービスマネジャにより保持されるサービス情報>
図8は、一実施形態における、サービスマネジャ760により保持されるネットワークサービス情報のテーブル800を示すブロック図である。テーブル800は、6個の異なる種類の情報のために6個の列、つまりサービス種類、装置識別子、サービス名、IPアドレス及びポート番号、プロトコルアクセス種類、サービス範囲を有する。図示の例では、テーブル800は、3個の行又はエントリを有する。各エントリは、異なるサービスに対応する。図示の例では、各サービスは印刷の類である。他の実施形態では、サービス種類の例は、ファックス、スキャン、アーカイブを有しても良い。3個のエントリは、それぞれ、ターゲット装置720、ターゲット装置730、ターゲット装置740を識別する。テーブル800は、ターゲット装置750のエントリを有しない。これは、ターゲット装置750が、ターゲット装置750をサービスマネジャ760に自動的に登録したサービスコネクタを有しないからである。ターゲット装置730もサービスコネクタを有しないが、テーブル800はターゲット装置730のエントリを有する。この状況は、例えば、管理者が手動でターゲットサービス732をサービスマネジャ760に登録した場合に起こり得る。
<Service information held by the service manager>
FIG. 8 is a block diagram illustrating a table 800 of network service information held by the service manager 760 in one embodiment. Table 800 has six columns for six different types of information: service type, device identifier, service name, IP address and port number, protocol access type, and service range. In the illustrated example, the table 800 has three rows or entries. Each entry corresponds to a different service. In the example shown, each service is a kind of printing. In other embodiments, examples of service types may include fax, scan, and archive. The three entries identify the target device 720, the target device 730, and the target device 740, respectively. The table 800 does not have an entry for the target device 750. This is because the target device 750 does not have a service connector that automatically registers the target device 750 with the service manager 760. The target device 730 also has no service connector, but the table 800 has an entry for the target device 730. This situation can occur, for example, when an administrator manually registers the target service 732 with the service manager 760.

プロトコルアクセス種類に関して、図示の例では、TCPが識別される。プロトコルアクセス種類の別の例は、UDPである。幾つかのターゲットサービスは、TCPとUDPの両方をサポートし得る。   With respect to the protocol access type, TCP is identified in the illustrated example. Another example of the protocol access type is UDP. Some target services may support both TCP and UDP.

サービス範囲に関して、図示の例では、「複数セグメント」が識別される。サービス範囲の別の例は、「単一セグメント」である。ターゲットサービスが「単一セグメント」に関連付けられる場合、ターゲットサービスと異なるセグメント又はサブネット内のソース装置が該ターゲットサービスにアクセスすることが許されないことを示す。「サービス範囲」の別の例は、特定IPアドレスである。ターゲットサービスが特定IPアドレスに関連付けられる場合、該特定IPアドレスに関連付けられたソース装置のみが、ターゲットサービスへのアクセスを許される。サービスマネジャ760及び/又はサービスコネクタは、「サービス範囲」値を用いてアクセス制御を行っても良い。   Regarding the service range, in the illustrated example, “multiple segments” are identified. Another example of service coverage is “single segment”. When a target service is associated with a “single segment”, it indicates that a source device in a different segment or subnet from the target service is not allowed to access the target service. Another example of “service range” is a specific IP address. If the target service is associated with a specific IP address, only the source device associated with the specific IP address is allowed access to the target service. The service manager 760 and / or the service connector may perform access control using the “service range” value.

<ネットワークサービス登録>
図9は、一実施形態における、ネットワークサービスがサービスマネジャ700にどのように登録するかを示すシーケンス図である。図9はターゲット装置740を示すが、図7に示す他のターゲット装置が代わりに関与しても良い。代替で、図9は、図7」に示した各ターゲット装置に適用可能である。
<Network service registration>
FIG. 9 is a sequence diagram illustrating how a network service registers with the service manager 700 in one embodiment. Although FIG. 9 shows a target device 740, other target devices shown in FIG. 7 may be involved instead. Alternatively, FIG. 9 is applicable to each target device shown in FIG.

ステップ910で、サービス742は、サービスプラットフォーム744へ登録要求メッセージを送信する。サービス742は、サービス742が装置で実行し始めると、自身の関連付けられたサービスプラットフォームと通信するよう構成されても良い。   In step 910, the service 742 sends a registration request message to the service platform 744. Service 742 may be configured to communicate with its associated service platform when service 742 begins to execute on the device.

ステップ920で、応答して、サービスプラットフォーム744は、サービスコネクタ746に、サービス742はターゲット装置740に登録されたことを通知する。サービスプラットフォーム744は、サービスプラットフォーム744がターゲット装置740にホストされた別のサービスを通知される度に、サービスコネクタ716と通信するよう構成されても良い。   In step 920, in response, the service platform 744 notifies the service connector 746 that the service 742 has been registered with the target device 740. Service platform 744 may be configured to communicate with service connector 716 each time service platform 744 is notified of another service hosted on target device 740.

ステップ930で、応答して、サービスコネクタ746は、サービスプラットフォーム744からサービス742に関するサービス情報を要求する。このようなサービス情報の例は、テーブル800に設けられ、例えばIPアドレス及びポート番号、サービス種類である。   In response, at step 930, service connector 746 requests service information regarding service 742 from service platform 744. Examples of such service information are provided in the table 800, for example, IP address and port number, and service type.

ステップ940で、サービスプラットフォーム744は、サービス742に関するサービス情報をサービスコネクタ746へ送信する。ステップ950で、サービスコネクタ746は、サービスマネジャ760に、サービスプラットフォーム744からの要求されたサービス情報を含む登録メッセージを送信する。サービスマネジャ760は、サービス情報を、テーブル800のようなテーブルに格納する。   At step 940, service platform 744 sends service information regarding service 742 to service connector 746. At step 950, service connector 746 sends a registration message that includes the requested service information from service platform 744 to service manager 760. The service manager 760 stores service information in a table such as the table 800.

一実施形態では、サービスコネクタ746は、サービスプラットフォーム740からサービス情報を受信するのに応答して、サービス情報をサービスマネジャ760へ送信する。代替で、サービスコネクタ746は、サービスマネジャ760からの要求に応答して、サービス情報をサービスマネジャ760へ送信する。例えば、サービスマネジャ760は、現在のサービス情報について、サブネット780、790内のターゲット装置に(定期的に)ポーリングしても良い。   In one embodiment, service connector 746 transmits service information to service manager 760 in response to receiving service information from service platform 740. Alternatively, service connector 746 sends service information to service manager 760 in response to a request from service manager 760. For example, the service manager 760 may poll (on a regular basis) target devices in the subnets 780, 790 for current service information.

<ネットワークサービス発見>
図10は、一実施形態における、ソース装置がネットワークサービスをどのように発見するかを示すシーケンス図である。図9はターゲット装置710を示すが、他のソース装置(図示しない)が代わりに関与しても良い。
<Discover network services>
FIG. 10 is a sequence diagram illustrating how a source device discovers a network service in one embodiment. Although FIG. 9 shows a target device 710, other source devices (not shown) may be involved instead.

ステップ1010で、ソース装置710にあるサービスコネクタ716は、サービス要求をサービスマネジャ760へ送信する。サービスコネクタ716は、定期的に又は特定の内部イベントに応答して、サービス要求を送信しても良い。代替で、サービス要求は、サービスマネジャ760からのメッセージ(例えば、サービスコネクタ716が予約したイベント通知)に応答して生成されても良い。   In step 1010, the service connector 716 in the source device 710 sends a service request to the service manager 760. Service connector 716 may send service requests periodically or in response to certain internal events. Alternatively, the service request may be generated in response to a message from service manager 760 (eg, an event notification reserved by service connector 716).

ステップ1020で、サービス要求に応答して、サービスマネジャ760は、(例えばテーブル800内の)1又は複数の登録サービスを識別し、サービスコネクタ716へ応答を送信する。一実施形態では、応答は、登録サービスについての、サービス種類、装置識別子、サービス名、IPアドレス及びポート番号、プロトコルアクセス種類、サービス範囲を有する。   In step 1020, in response to the service request, service manager 760 identifies one or more registered services (eg, in table 800) and sends a response to service connector 716. In one embodiment, the response has a service type, device identifier, service name, IP address and port number, protocol access type, service range for the registered service.

ステップ1030で、サービコネクタ716は、サービスプラットフォーム714へ、サービスマネジャ760からの応答の中で識別される各登録サービスに関するサービス情報を送信する。一実施形態では、サービスコネクタ716がサービスプラットフォームへ送信する(特定サービスの)サービス情報は、サービスマネジャ760から受信する(該特定サービスの)サービス情報とは異なる。例えば、ステップ1030は、サービスコネクタ716が、(サービスマネジャ760からのサービス情報の中で識別された)登録サービスのダミーIPアドレスを生成し及び実際のIPアドレスを該ダミーIPアドレスで置換するステップを有しても良い。ネットワークサービスの現実のIPアドレスをダミーIPアドレスで置換する処理は、要求側ソース装置(つまり、本例ではソース装置710)のサブネットの外側にある各登録サービスについて実行されても良い。したがって、ソース装置がソース装置710である場合、置換するステップは、サービス722、752に対してではなく、(サブネット780とは異なるサブネット790内にある)サービス732、734に対して実行されても良い。ソース装置710に格納されたダミーIPアドレスは、ソース装置710を指し又は参照する。 In step 1030, the service connector 716, the service platform 714 transmits the service information for each registered service identified in the response from the service manager 760. In one embodiment, the service information (for a specific service) that the service connector 716 sends to the service platform is different from the service information (for the specific service) received from the service manager 760. For example, step 1030 includes a step in which the service connector 716 generates a dummy IP address for the registered service (identified in the service information from the service manager 760) and replaces the actual IP address with the dummy IP address. You may have. The process of replacing the actual IP address of the network service with a dummy IP address may be performed for each registered service outside the subnet of the requesting source device (that is, the source device 710 in this example). Thus, if the source device is source device 710, the replacing step may be performed for services 732, 734 (which are in a different subnet 790 than subnet 780) rather than for services 722, 752. good. The dummy IP address stored in the source device 710 points to or refers to the source device 710.

<サービスプラットフォームにより保持されるサービス情報>
図11は、一実施形態における、ソース装置で保持されるネットワークサービス情報のテーブル1100を示すブロック図である。サービスプラットフォーム714は、テーブル1100の格納及び保持を担っても良い。後に、アプリケーション712は、利用可能なサービスについて、サービスプラットフォーム714に問い合わせても良い。
<Service information held by the service platform>
FIG. 11 is a block diagram illustrating a table 1100 of network service information held in the source device according to an embodiment. The service platform 714 may be responsible for storing and holding the table 1100. Later, the application 712 may query the service platform 714 for available services.

テーブル1100は、6個の異なる種類の情報のために6個の列、つまりサービス種類、装置識別子、サービス名、IPアドレス及びポート番号、プロトコルアクセス種類、サービス範囲を有する。本例は、ソース装置110は、ローカル記憶装置にテーブル1100を格納する。テーブル1100の各行は、サービスコネクタ716がサービスマネジャ760を用いて発見する異なるサービスに対応する。3番目の行は、ターゲット装置750によりホストされるサービス752に対応する。4番目の行は、ターゲット装置720によりホストされるサービス722に対応する。図7に示すように、ターゲット装置720、750は、ソース装置710と同じサブネット内に存在する。   Table 1100 has six columns for six different types of information: service type, device identifier, service name, IP address and port number, protocol access type, and service range. In this example, the source device 110 stores the table 1100 in the local storage device. Each row in table 1100 corresponds to a different service that service connector 716 discovers using service manager 760. The third row corresponds to service 752 hosted by target device 750. The fourth row corresponds to service 722 hosted by target device 720. As shown in FIG. 7, the target devices 720 and 750 exist in the same subnet as the source device 710.

しかしながら、サービス732、742に関するサービス情報は、サービス情報をテーブル1100に格納する前に、(例えばサ―ビスコネクタ716により)変更されている。テーブル1100の1番目の行はターゲット装置730によりホストされるサービス732に対応するが、装置識別子の列は、ソース装置730ではなく、ソース装置710を識別する。同様に、テーブル1100の2番目の行はターゲット装置740によりホストされるサービス742に対応するが、装置識別子の列は、ソース装置740ではなく、ソース装置710を識別する。   However, service information regarding services 732 and 742 has been changed (eg, by service connector 716) prior to storing the service information in table 1100. The first row of table 1100 corresponds to service 732 hosted by target device 730, but the device identifier column identifies source device 710, not source device 730. Similarly, the second row of table 1100 corresponds to service 742 hosted by target device 740, but the device identifier column identifies source device 710, not source device 740.

また、テーブル1100のIPアドレスの列は、サービス732、742の実際のIPアドレス及びポ―ト番号を有しない。サービス732、742の実際のIPアドレスは、それぞれ10.10.10.123及び10.10.10.124である。代わりに、ダミーIPアドレス及びポート番号が、サービス732、742についてのテーブル1100のIPアドレスの列に見られる。サービス732、742についてテーブル1100の実際のIPアドレス及びポート番号を使用することの欠点は、(1)現在の既存サービスレジストリシステムがそのようなシナリを許容しないという事実、及び(2)アクセス制御、を含む。後者の欠点に関しては、図10のブロック1030で、サービスコネクタ716が実際のサービスアドレスを有するサービスをサービスプラットフォーム714に登録した場合、サービスプラットフォーム714は、このサービス登録情報を、ソース装置710と同じセグメント又はサブネット内にある他のサービスプラットフォーム(例えば724、754)と自動的に共有する。既存のサービスプラットフォームを用いることによりアクセス制御を行うことは困難である。   Further, the IP address column of the table 1100 does not have the actual IP address and port number of the services 732 and 742. The actual IP addresses of services 732 and 742 are 10.10.10.123 and 10.10.10.24, respectively. Instead, the dummy IP address and port number are found in the IP address column of table 1100 for services 732, 742. The disadvantages of using the actual IP address and port number of table 1100 for services 732, 742 are (1) the fact that current existing service registry systems do not allow such scenarios, and (2) access control, including. Regarding the latter drawback, if the service connector 716 registers a service with the actual service address with the service platform 714 in block 1030 of FIG. 10, the service platform 714 will send this service registration information to the same segment as the source device 710. Or automatically share with other service platforms (eg 724, 754) in the subnet. It is difficult to perform access control by using an existing service platform.

図12は、一実施形態における、利用可能なネットワークサービスを示す例示的なスクリーン1200を示すブロック図である。本例では、ソース装置710はスクリーン1200を表示する。スクリーン1200は、4個のサービス732、742、752、722のリストを有する。サービス732、742がソース装置710と異なるサブネットに現れるとしても、サービス732、742は列挙される。列挙されたサービスのうちの1つのユーザ選択は、ユーザが、選択したサービスに、印刷機能、スキャン機能等のような1又は複数の機能を実行させたいと望むことを示す。   FIG. 12 is a block diagram illustrating an exemplary screen 1200 that shows available network services in one embodiment. In this example, the source device 710 displays a screen 1200. Screen 1200 has a list of four services 732, 742, 752, 722. Even if services 732, 742 appear in a different subnet than source device 710, services 732, 742 are listed. A user selection of one of the listed services indicates that the user wants the selected service to perform one or more functions such as a print function, a scan function, etc.

<サービスコネクタにより保持されるサービス情報>
図13は、一実施形態における、ソース装置でサービスコネクタにより保持されるネットワークサービス情報テーブル1300を示すブロック図である。本例では、ソース装置はソース装置710であり、サービスコネクタはサービスコネクタ716である。
<Service information held by service connector>
FIG. 13 is a block diagram illustrating a network service information table 1300 held by a service connector at the source device in one embodiment. In this example, the source device is a source device 710 and the service connector is a service connector 716.

テーブル1300は、6個の異なる種類の情報のために6個の列、つまりサービス種類、ターゲット装置識別子、サービス名、サービスコネクタIPアドレス及びポート番号、ターゲットサービスIPアドレス及びポート番号、プロトコルアクセス種類を有する。本例では、テーブル1300は、ソース装置710と異なるサブネットにあるサービス毎に1つの2つの行又はエントリしか有しない。   Table 1300 includes six columns for six different types of information: service type, target device identifier, service name, service connector IP address and port number, target service IP address and port number, and protocol access type. Have. In this example, table 1300 has only two rows or entries, one for each service that is on a different subnet than source device 710.

一実施形態では、サービスコネクタが、テーブル1300のサービスコネクタIPアドレスの列で識別されるサービスを特定する要求を受信した場合、サービスコネクタは、そのアドレスを、ターゲットサービスIPアドレスの列の対応するアドレスで置換する。例えば、サービスコネクタ716は、IPアドレス及びポート番号127.0.0.1/122を有するサービス要求を受信し、127.0.0.1/122がテーブル1300の1番目のエントリにあると決定し、サービス要求において、127.0.0.1/122を10.10.10.123/631で置換し、変更したサービス要求を10.10.10.123/631に関連付けられた宛先へ送信する。   In one embodiment, if the service connector receives a request identifying a service identified in the service connector IP address column of the table 1300, the service connector may use that address as the corresponding address in the target service IP address column. Replace with. For example, service connector 716 receives a service request having an IP address and port number 127.0.0.1/122 and determines that 127.0.0.1/122 is in the first entry of table 1300. In the service request, 127.0.0.1/122 is replaced with 10.10.10.23/631, and the changed service request is sent to the destination associated with 10.10.10.123/3631 To do.

<別のサブネット内のサービスへのアクセス>
図14は、一実施形態における、別のサブネット内のネットワークサービスがソース装置からにどのようにアクセスされるかを示すシーケンス図1400である。本例では、ネットワークサービスはサービス742であり、ソース装置はソース装置710である。
<Access to services in another subnet>
FIG. 14 is a sequence diagram 1400 illustrating how network services in another subnet are accessed from a source device in one embodiment. In this example, the network service is service 742 and the source device is source device 710.

ステップ1405で、ユーザは、アプリケーション712に、ソース装置710で印刷画面を表示する要求を示す入力を供給する。ステップ1410で、応答して、アプリケーション712は、サービスプラットフォーム714へ、現在利用可能な印刷サービスのリストについての要求を送信する。   In step 1405, the user provides input to application 712 indicating a request to display a print screen at source device 710. In step 1410, in response, application 712 sends a request to service platform 714 for a list of currently available print services.

ステップ1415で、応答して、サービスプラットフォーム714は、アプリケーション712へ、現在利用可能な印刷サービスのリストを返す。ステップ1415は、サービスプラットフォームがテーブル700を識別し及びテーブル700のエントリ又は行を読み出すステップを有しても良い。   In step 1415, in response, the service platform 714 returns a list of currently available print services to the application 712. Step 1415 may comprise the service platform identifying table 700 and reading an entry or row of table 700.

ステップ1420で、リストを受信するのに応答して、アプリケーション712は、印刷画面を表示させる。印刷画面は、図12に示すスクリーン1200であっても良い。   In step 1420, in response to receiving the list, application 712 displays a print screen. The print screen may be the screen 1200 shown in FIG.

ステップ1425で、ユーザは、列挙されたサービスのうちの1つを「選択」する。言い換えると、ユーザは、印刷画面に列挙されたサービスのうちの1つを識別するサービス表示データの選択を示す入力を供給する。ステップ1430で、アプリケーション712は、ユーザが選択したサービスを示すサービス選択データを格納する。   At step 1425, the user “selects” one of the listed services. In other words, the user provides an input indicating selection of service display data that identifies one of the services listed on the print screen. In step 1430, the application 712 stores service selection data indicating the service selected by the user.

ステップ1435で、ユーザは、1又は複数のオプションを選択する。このステップは、印刷媒体(例えば、紙)のサイズ、方向、両面印刷、色又はグレイスケール等のような印刷オプションを選択するステップを有しても良い。   At step 1435, the user selects one or more options. This step may include selecting printing options such as print media (eg, paper) size, orientation, duplex printing, color or gray scale, and the like.

ステップ1440で、応答して、アプリケーション712は、ユーザが選択したオプションを示すオプション選択データを格納する。   In step 1440, in response, application 712 stores option selection data indicating the option selected by the user.

ステップ1445で、ユーザは、図2に示す実行ボタン230のような「実行」又は「印刷」ボタンを選択する。   In step 1445, the user selects an “execute” or “print” button, such as the execute button 230 shown in FIG.

ステップ1450で、応答して、アプリケーション712は、選択されたサービス及び選択されたオプションに基づく印刷ジョブを提出する。本例では、選択されたサービスはサービス742である。サービス742は、ソース装置710が置かれたサブネットとは異なるサブネット内にあるターゲット装置740にホストされる。したがって、サービス742に関連するIPアドレスは、テーブル1300に示される127.0.0.2のようなダミーIPアドレスである。このようなダミーアドレスは、ダミーIPアドレスが格納される装置で対応するサービスが利用可能であることを示す。ステップ1450で、サービスコネクタ716は、アプリケーション712から送信された印刷ジョブを受信する。   In step 1450, in response, application 712 submits a print job based on the selected service and the selected option. In this example, the selected service is service 742. Service 742 is hosted on a target device 740 that is in a different subnet than the subnet in which source device 710 is located. Thus, the IP address associated with service 742 is a dummy IP address such as 127.0.0.2 shown in table 1300. Such a dummy address indicates that a corresponding service is available on the device in which the dummy IP address is stored. In step 1450, the service connector 716 receives the print job transmitted from the application 712.

ステップ1455で、サービスコネクタ716は、サービス742に印刷ジョブを提出する。ステップ1455は、印刷ジョブで示された(ターゲット装置の)宛先IPアドレスがダミーIPアドレスであるか否かを決定するステップを有しても良い。サービスコネクタ716は、例えば、宛先IPアドレスをテーブル1300内に示されるサービスコネクタIPアドレスと比較することにより、この決定を行っても良い。本例では、宛先IPアドレス及びポート番号は127.0.0.2/222であり、サービスコネクタ716は宛先IPアドレス及びポート番号を10.10.10.123/631で置換する。   At step 1455, service connector 716 submits the print job to service 742. Step 1455 may include determining whether the destination IP address (of the target device) indicated in the print job is a dummy IP address. Service connector 716 may make this determination, for example, by comparing the destination IP address with the service connector IP address shown in table 1300. In this example, the destination IP address and port number are 127.0.0.2/222, and the service connector 716 replaces the destination IP address and port number with 10.10.10.23/631.

例えば、ターゲットサービスがサービス752である場合、サービスコネクタ716は、テーブル1300内で(印刷ジョブ内で示された)宛先IPアドレスとの一致を発見しないだろう。これは、テーブル1100内のサービス752と関連するIPアドレスが、サービス752の実際のIPアドレスであり、ダミーIPアドレスではないからである。   For example, if the target service is service 752, service connector 716 will not find a match with the destination IP address (shown in the print job) in table 1300. This is because the IP address associated with service 752 in table 1100 is the actual IP address of service 752 and not a dummy IP address.

ステップ1460で、サービス742は、ソース装置710から印刷ジョブを受信し、印刷ジョブを実行する。印刷ジョブの実行は、サービス742が印刷ジョブの印刷データに反映された情報で1又は複数の文書を印刷させるステップを有しても良い。   In step 1460, the service 742 receives a print job from the source device 710 and executes the print job. The execution of the print job may include a step in which the service 742 prints one or more documents with information reflected in the print data of the print job.

ステップ1465で、サービス742は、印刷ジョブを実行した結果を生成し、サービスコネクタ716に該結果を送信する。結果は、印刷ジョブの実行が成功したか否かの指標であっても良い。   In step 1465, the service 742 generates a result of executing the print job, and transmits the result to the service connector 716. The result may be an indicator of whether or not the print job has been successfully executed.

ステップ1455で、サービスコネクタ716は、どのサービスコネクタ716が結果を期待しているかを示すサービス要求履歴データを記録しても良い。次に、ステップ1465で、サービスコネクタ716は、サービス要求履歴データに基づき、サービス742から受信した結果データがアプリケーション712により提出された印刷ジョブに対応することを決定する。   At step 1455, service connector 716 may record service request history data indicating which service connector 716 expects the result. Next, at step 1465, the service connector 716 determines that the result data received from the service 742 corresponds to the print job submitted by the application 712 based on the service request history data.

代替で、ステップ1465で結果を受信するのに応答して、サービスコネクタ716は、送信側のIPアドレス、本例では10.10.10.124を識別し、該IPアドレスをテーブル1300内に示されるターゲットIPアドレスと比較する。送信側のIPアドレスがテーブル1300内で見付かった場合、ステップ1465は、サービスコネクタ716がそのIPアドレスを対応するサービスコネクタ(又はダミー)IPアドレスで置換するステップを有しても良い。本例では、ダミーIPアドレスは127.0.0.2である。   Alternatively, in response to receiving the result at step 1465, service connector 716 identifies the sender's IP address, in this example 10.10.10.124, and the IP address is shown in table 1300. Compare to the target IP address. If the sender's IP address is found in the table 1300, step 1465 may include the service connector 716 replacing the IP address with the corresponding service connector (or dummy) IP address. In this example, the dummy IP address is 127.0.0.2.

ステップ1470で、サービスコネクタ716は、アプリケーション712へ結果データを送信する。結果データは、テーブル1300内に示されるダミーIPアドレスを有しても良い。   In step 1470, the service connector 716 sends the result data to the application 712. The result data may have a dummy IP address shown in the table 1300.

ステップ1475で、アプリケーション712は、結果データ内に示された結果(例えば、成功又は失敗)をユーザに表示させる。   In step 1475, the application 712 causes the user to display the result (eg, success or failure) indicated in the result data.

関連する実施形態では、ステップ1455でサービスコネクタ716が印刷ジョブをサービス742に直接提出する代わりに、サービスコネクタ716は、印刷ジョブをサービスマネジャ760に送信する。サービスマネジャ760は、印刷ジョブを調べて、どのターゲット装置に印刷ジョブを転送すべきかを決定する。ターゲットサービス742が印刷ジョブの意図された宛先であると決定するのに応答して、サービスマネジャ760は、印刷ジョブをターゲットサービス742へ送信する。ターゲットサービスは、印刷ジョブを実行した後に、結果(例えば、成功又は不成功の指標)を、(a)サービスマネジャ760へ送信し、サービスマネジャ760が結果をサービスコネクタ716へ転送し、又は結果を(b)サービスコネクタ716へ送信し、サービスマネジャ760を効率的に飛び越しても良い。サービスコネクタ716が印刷ジョブをサービスマネジャ760を通じて提出する本実施形態は、ソース装置710が何らかのネットワーク設定のためにターゲット装置740に直接アクセス出来ない場合に有用である。   In a related embodiment, instead of the service connector 716 submitting the print job directly to the service 742 at step 1455, the service connector 716 sends the print job to the service manager 760. The service manager 760 examines the print job and determines to which target device the print job should be transferred. In response to determining that the target service 742 is the intended destination for the print job, the service manager 760 sends the print job to the target service 742. After executing the print job, the target service sends a result (eg, a success or failure indication) to (a) the service manager 760, which forwards the result to the service connector 716, or (B) It may be transmitted to the service connector 716 and the service manager 760 may be efficiently skipped. This embodiment in which service connector 716 submits a print job through service manager 760 is useful when source device 710 cannot directly access target device 740 due to some network configuration.

<ネットワークサービスへのアクセス管理>
前述のように、モバイル装置及びネットワークアプリケーションは、広く用いられている。しかしながら、現在、モバイル装置から(「Airprint」のような)ネットワークサービスを使用するとき、認証及び許可メカニズムが存在しない。その結果、サブネット内の任意のモバイル又は他の装置は、同じサブネット内のどのネットワークサービスも使用できる。
<Management of access to network services>
As mentioned above, mobile devices and network applications are widely used. However, currently there is no authentication and authorization mechanism when using network services (such as “Airprint”) from mobile devices. As a result, any mobile or other device in the subnet can use any network service in the same subnet.

図15は、一実施形態における、1又は複数のネットワークサービスへのアクセスを管理する例示的なアーキテクチャ1500を示すブロック図である。アーキテクチャ1500は、ソース装置1510、ターゲット装置1520、ネットワークサービス1530、ネットワークサービス1550を有する。ソース装置1510は、ターゲット装置1520、及びネットワークサービス1530は、ネットワーク1550に通信可能に結合される。ネットワーク1550は、ソース装置1510とターゲット装置1520とネットワークサービス1530との間のデータ交換を提供する任意の媒体又は機構により実装されても良い。ネットワーク1550の例は、LAN(Local Area Network)、WAN(Wide Area Network)、イーサネット若しくはインターネットのようなネットワーク、又は1若しくは複数の地上波、衛星若しくは無線リンクを含むが、これらに限定されない。   FIG. 15 is a block diagram illustrating an example architecture 1500 for managing access to one or more network services in one embodiment. The architecture 1500 includes a source device 1510, a target device 1520, a network service 1530, and a network service 1550. A source device 1510, a target device 1520, and a network service 1530 are communicatively coupled to a network 1550. Network 1550 may be implemented by any medium or mechanism that provides data exchange between source device 1510, target device 1520, and network service 1530. Examples of network 1550 include, but are not limited to, a local area network (LAN), a wide area network (WAN), a network such as Ethernet or the Internet, or one or more terrestrial, satellite, or wireless links.

ソース装置1510及びターゲット装置1520は、同じサブネット、異なるサブネット、又は全く異なるネットワーク内に存在しても良い。   Source device 1510 and target device 1520 may be in the same subnet, different subnets, or entirely different networks.

ソース装置1510は、アプリケーション1512、サービスプラットフォーム1514、及びサービスコネクタ1516を有する。ソース装置1510は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ又はスマートフォンのようなクライアント装置であっても良い。   The source device 1510 includes an application 1512, a service platform 1514, and a service connector 1516. The source device 1510 may be a client device such as a desktop computer, laptop computer, tablet computer, or smartphone.

ターゲット装置1520は、サービス1522、サービスプラットフォーム1524を有する。サービス1522の例は、印刷サービス、ファックスサービス、スキャンサービス、及びアーカイブサービスを有する。ターゲット装置1520の例は、プリンタ、ファックス機、スキャナ、又は1又は複数のこれらの機能を実行する多機能周辺機器を有する。   The target device 1520 includes a service 1522 and a service platform 1524. Examples of services 1522 include printing services, fax services, scanning services, and archiving services. Examples of target device 1520 include a printer, fax machine, scanner, or multifunction peripheral that performs one or more of these functions.

ネットワークサービス1530は、1又は複数の装置を有しても良い。ネットワークサービス1530は、5個の要素、つまりアプリケーション1532、ユーザ装置マネジャ1534、サービスマネジャ1536、位置マネジャ1538、ポリシマネジャ1540を有する。5個の要素の各々は、ソフトウェア、ハードウェア又はそれらの組み合わせで実施されてもよい。別個の要素として示すが、アプリケーション150、160、ユーザ装置マネジャ170、位置マネジャ180、ポリシマネジャ190は、単一のコンピュータ装置で、又は互いに通信可能に結合される2以上のコンピュータ装置で実施されても良い。   The network service 1530 may include one or a plurality of devices. The network service 1530 has five elements: an application 1532, a user equipment manager 1534, a service manager 1536, a location manager 1538, and a policy manager 1540. Each of the five elements may be implemented in software, hardware or a combination thereof. Although shown as separate elements, applications 150, 160, user device manager 170, location manager 180, and policy manager 190 are implemented on a single computer device or two or more computer devices communicatively coupled to each other. Also good.

図16は、一実施形態における、ソース装置が1又は複数のルールを用いて登録されたネットワークービスをどのように発見するかを示すシーケンス図1600である。ステップ1610で、サービスコネクタ1516は、現在利用可能な(例えば、登録された)サービスについて要求を送信する。要求は、(1)ユーザ名及びパスワードを示すログイン情報、及び(2)GPS情報のようなソース装置1510の現在位置を示す位置情報を有しても良い。要求の1又は複数のパラメータは固定的であり、一方、1又は複数の他のパラメータは動的であっても良い。 Figure 16 shows, in an embodiment, a sequence diagram 1600 showing how to discover network services that the source device is registered with one or more rules. At step 1610, service connector 1516 sends a request for a currently available (eg, registered) service. The request may include (1) login information indicating a user name and password, and (2) position information indicating the current position of the source device 1510 such as GPS information. One or more parameters of the request may be fixed, while one or more other parameters may be dynamic.

一実施形態では、要求を送信する前に、サービスコネクタ1516は、現在位置情報及び/又はログイン情報について、ソース装置1510のコンポーネント(図示しない)に問い合わせても良い。サービスコネクタ1516からサービスマネジャ1536への要求がログイン情報を有しない場合、ログイン情報の対応する値は、「不明(Unknown)」であっても良い。土曜に、サービスコネクタ1516がソース装置1510の現在位置へのアクセスを有しない場合、サービスコネクタ1516からサービスマネジャ1536への要求は、位置情報について「不明」を示しても良い。要求は、ソース装置1510が探しているサービス種類を指定しても良い。例えば、要求は、印刷、スキャン、ファックス、アーカイブ、等を示しても良い。サービス種類が指定されない場合、デフォルトサービス種類は「任意(Any)」であっても良い。   In one embodiment, before sending the request, the service connector 1516 may query a component (not shown) of the source device 1510 for current location information and / or login information. If the request from the service connector 1516 to the service manager 1536 does not have login information, the corresponding value of the login information may be “Unknown”. If the service connector 1516 does not have access to the current location of the source device 1510 on Saturday, a request from the service connector 1516 to the service manager 1536 may indicate “unknown” for the location information. The request may specify the service type that the source device 1510 is looking for. For example, the request may indicate printing, scanning, faxing, archiving, etc. If the service type is not specified, the default service type may be “Any”.

サービスコネクタ1516は、サービスコネクタ1516(又はサービス装置1510の別のコンポーネント)が新しいネットワークを検出すると、要求を開始しても良い。「新しい」ネットワークは、サービスコネクタ1516が以前に一度も検出したことのないネットワークであっても良い。代替で、「新しい」ネットワークは、以前に検出したことがないが、サービスコネクタ1516が(例えば、ネットワーク変化に応答して)今しがた検出したネットワークであっても良い。   Service connector 1516 may initiate a request when service connector 1516 (or another component of service device 1510) detects a new network. A “new” network may be a network that service connector 1516 has never detected before. Alternatively, a “new” network may be a network that service connector 1516 has just detected (eg, in response to a network change) that it has not previously detected.

追加で又は代替で、サービスコネクタ1516は、新しいネットワークが検出されるか否かに拘わらず、周期的に(例えば、10分毎又は毎時)要求を開始しても良い。   Additionally or alternatively, service connector 1516 may initiate requests periodically (eg, every 10 minutes or every hour) regardless of whether a new network is detected.

要求は、ネットワークに存在する全ての装置へ送信されるマルチキャストメッセージの一部であっても良い。マルチキャストメッセージは、装置に、ソース装置1510が利用可能なサービスを探していることを通知する。   The request may be part of a multicast message sent to all devices present in the network. The multicast message notifies the device that the source device 1510 is looking for available services.

追加で又は代替で、サービスコネクタ1516は、HELLOメッセージをネットワークサービス1530又はサービスマネジャ1536のようなネットワークサービス1530のコンポーネントから受信するのに応答して、要求を開始する。   Additionally or alternatively, service connector 1516 initiates a request in response to receiving a HELLO message from a network service 1530 or a component of network service 1530 such as service manager 1536.

一実施形態では、ネットワークサービス1530のリスナプロセスは、サービスコネクタ1516から要求を受信し、どのコンポーネントへ要求を転送するかを決定しても良い。このような一実施形態では、リスナプロセスは、要求をサービスマネジャ1536へ転送する。   In one embodiment, the network service 1530 listener process may receive the request from the service connector 1516 and determine which component to forward the request to. In one such embodiment, the listener process forwards the request to service manager 1536.

ステップ1620で、要求を受信するのに応答して、サービスマネジャ1536は、位置マネジャ1538へ位置決定要求を送信する。   In step 1620, in response to receiving the request, service manager 1536 sends a location determination request to location manager 1538.

ステップ1630で、位置決定要求を受信するのに応答して、位置マネジャ1538は、ソース装置1510の位置を決定し、位置を示す位置データをサービスマネジャ1536へ返す。ソース装置1510の現在位置は、サービスコネクタ1516からの元の要求の中で示された位置情報に基づき決定されても良い。   In step 1630, in response to receiving the position determination request, the position manager 1538 determines the position of the source device 1510 and returns position data indicating the position to the service manager 1536. The current location of the source device 1510 may be determined based on the location information indicated in the original request from the service connector 1516.

代替で、ステップ1630は、位置マネジャ1538がソース装置1510(又は、より詳細には、サービスコネクタ1516)とその現在位置に関して通信するステップを有しても良い。例えば、ステップ1630は、GPS又は他の位置関連情報を位置マネジャ1538へ送信するステップを有しても良い。   Alternatively, step 1630 may include the location manager 1538 communicating with the source device 1510 (or more specifically, the service connector 1516) regarding its current location. For example, step 1630 may include transmitting GPS or other location related information to location manager 1538.

位置マネジャ1538がどのようにソース装置1510の現在位置を決定するかに無関係に、位置マネジャ1538は、ソース装置1510から受信した位置情報を用いて、ソース装置1510の位置を含む領域を識別する。例えば、ソース装置1510からの位置情報は特定の地理座標であっても良い。一方、位置マネジャ1538により識別される領域は、平方マイルを包含する近似的に定められた地理領域を有しても良い。したがって、位置マネジャ1538は、地理的位置(例えば、「IN_RANGE(‘NEW_YORK_STATE’)」及び「AROUND(‘43.4369659652182’,‘-75.904541015625’,30)」を位置識別子(例えば、「US/NY」又は「US/NY/office02」)に割り付けるマッピングを保持しても良い。関数「IN_RANGE」及び「AROUND」は、(「IN_RANGE」の場合にはラベル、又は「AROUND」の場合には地理座標及び半径のような)入力を取り入れ、ブール値、つまり真又は偽を返す。したがって、位置マネジャ1538により識別される領域は、ポリシマネジャ1540により認識可能なラベルにマッピングされる。位置マネジャ1538が領域を識別できない場合、ソース装置1510の位置は、「不明」であると見なされても良い。   Regardless of how location manager 1538 determines the current location of source device 1510, location manager 1538 uses the location information received from source device 1510 to identify the region containing the location of source device 1510. For example, the location information from the source device 1510 may be specific geographic coordinates. On the other hand, the area identified by the position manager 1538 may have an approximately defined geographic area that includes square miles. Accordingly, the location manager 1538 can identify the geographic location (eg, “IN_RANGE ('NEW_YORK_STATE')” and “AROUND ('43 .43669965252182 ','-75.9044541015625 ', 30)” as a location identifier (eg, “US / May hold a mapping that is assigned to “NY” or “US / NY / office02”). The functions “IN_RANGE” and “AROUND” are either labels (in the case of “IN_RANGE” or geography in the case of “AROUND”). Takes input (such as coordinates and radius) and returns a Boolean value, true or false, so that the region identified by location manager 1538 is mapped to a label recognizable by policy manager 1540. If the region cannot be identified, the location of the source device 1510 may be considered “unknown”.

ステップ1640で、位置マネジャ1538から位置データを受信するのに応答して、サービスマネジャ1536は、ポリシマネジャ1540へソース装置関連データを送信する。ソース装置関連データは、サービス種類識別子、オペレーション識別子、要求側装置(つまり、本例ではソース装置1510)の位置を示しても良い。本例では、サービス種類識別子は「印刷」である。オペレーション識別子は、サービスコネクタ1516が要求している動作の種類を識別しても良い。本例では、動作はserviceDiscovery()である。動作の他の例は、印刷機能、画像/動画ファイルの表示装置への表示、文書リストの表示を実行する動作を有しても良い。また、本例では、ソース装置関連データは、ユーザ又はグループ識別子を有しない。これは、ソース装置1510が(ラップトップ、タブレットコンピュータ又はスマートフォンのような)モバイル装置であり、ソース装置1510が以前に検出されたことがない又は登録されたことがないネットワークを検出した場合に生じ得る。   In step 1640, in response to receiving location data from location manager 1538, service manager 1536 sends source device related data to policy manager 1540. The source device related data may indicate a service type identifier, an operation identifier, and a location of a requesting device (that is, the source device 1510 in this example). In this example, the service type identifier is “print”. The operation identifier may identify the type of operation that the service connector 1516 is requesting. In this example, the operation is serviceDiscovery (). Another example of the operation may include an operation of executing a printing function, displaying an image / moving image file on a display device, and displaying a document list. Further, in this example, the source device related data does not have a user or group identifier. This occurs when the source device 1510 is a mobile device (such as a laptop, tablet computer or smartphone) and the source device 1510 detects a network that has not been previously detected or registered. obtain.

例えば、タブレットコンピュータを有するビジネス旅行者は、以前に入ったことがないオフィスビルに入り、そのオフィスビル内の会議室で会議を始める前に、1又は複数の文書を彼/彼女のタブレットコンピュータから印刷したいと望み得る。ビジネス旅行者は、タブレットコンピュータを操作し、印刷を実行するために使用できる印刷装置を発見する。(ネットワークサービス1530のような)ネットワークサービスは、タブレットコンピュータに限られたプリンタのセットに印刷をさせる(又は識別させる)。例えば、幾つかのプリンタがタブレットコンピュータと同じサブネット内にあっても良いが、例えば種々の理由により、ネットワーク管理者はそれらのプリンタを知らない又は一時的なユーザにより使用させたくない。   For example, a business traveler with a tablet computer enters an office building that has never been entered before and starts one or more documents from his / her tablet computer before starting a meeting in a meeting room in the office building. You may want to print. Business travelers find a printing device that can be used to operate a tablet computer and perform printing. A network service (such as network service 1530) causes the tablet computer to print (or identify) a limited set of printers. For example, some printers may be in the same subnet as the tablet computer, but for various reasons, for example, the network administrator does not know the printers or wants them to be used by temporary users.

ステップ1650で、ソース装置関連データを受信するのに応答して、ポリシマネジャ1540は、ソース装置関連データを用いて、どの情報がソース装置1510に提供されるべきかを決定するルールを識別する。ルール情報の説明は、以下の通りである。   In step 1650, in response to receiving the source device related data, the policy manager 1540 uses the source device related data to identify rules that determine what information should be provided to the source device 1510. The explanation of the rule information is as follows.

<ルール情報>
図17、18は、一実施形態による、動作、ユーザ、位置、装置属性及び特定ルールの間の例示的な関連を示すブロック図である。「ルール」は、1又は複数の条件のセットと1又は複数の作用のセットとの間の関連である。ルールの1又は複数の作用のセットは、対応する1又は複数の条件のセット内の全ての条件が満たされた後にのみ実行される。したがって、例えば、テーブル1700では、ルールID「App1_login_rule_ok」と関連付けられた(1番目の)エントリ又は行の作用は、(1)動作「login()」が要求され、該動作が(2)アプリケーション「Application1」によりサポートされ、該動作を要求したユーザが(3)Group1からであり、該ユーザの装置が(4)位置US/NY/office1又はUS/NY/office2に存在すること、が満たされた後にのみ実行される。他のルールは、関連付けられた作用が実行されるために満たされなければならない更に多くの又は少ない条件を有しても良い。
<Rule information>
17 and 18 are block diagrams illustrating exemplary associations between actions, users, locations, device attributes, and specific rules, according to one embodiment. A “rule” is an association between one or more sets of conditions and one or more sets of actions. The set of one or more actions of the rule is executed only after all the conditions in the corresponding set of one or more conditions are met. Thus, for example, in the table 1700, the action of the (first) entry or row associated with the rule ID “App1_login_rule_ok” is (1) the action “login ()” is requested, and the action is (2) the application “ Supported by (Application 1) that the user requesting the action is (3) from Group 1 and the user's device is in (4) location US / NY / office 1 or US / NY / office 2 Only executed later. Other rules may have more or less conditions that must be met for the associated action to be performed.

代替として、関連付けられた作用の実行をトリガするために1つの条件(又は条件の狭義の部分集合)のみが満たされなければならない場合、ルールは複数の条件と関連付けられても良い。   Alternatively, a rule may be associated with multiple conditions if only one condition (or a narrow subset of conditions) must be met to trigger the execution of the associated action.

図17に示すテーブル1700は、8個のフィールド又は列、つまりアプリケーション/サービス種類フィールド、動作フィールド、ユーザ/グループフィールド、動作装置位置フィールド、動作装置属性フィールド、関連装置位置フィールド、関連装置属性フィールド、及びルールIDフィールドを有する。幾つかの実施形態では、テ―ブル1700は追加フィールドを有する。他の実施形態では、テーブル1700は更に少ないフィールドを有する。例えば、ネットワークサービス1530が単一のアプリケーションのみを提供する場合、又はルールがネットワークサービス1530によりホストされる単一のアプリケーションにのみ関連する場合、アプリケーション/サービス種類フィールドは任意である。別の例として、ユーザの装置の位置がどのルールにも関係がなく又は重要でない場合、動作装置位置フィールドは任意である。別の例として、どのルールもユーザの装置が認証されること又は特定の基準を満たすことを要求しない場合、動作装置属性フィールドは任意である。   A table 1700 shown in FIG. 17 includes eight fields or columns, that is, an application / service type field, an operation field, a user / group field, an operation device position field, an operation device attribute field, an associated device position field, an associated device attribute field, And a rule ID field. In some embodiments, table 1700 has additional fields. In other embodiments, the table 1700 has fewer fields. For example, if the network service 1530 provides only a single application, or if the rule relates only to a single application hosted by the network service 1530, the application / service type field is optional. As another example, the operating device location field is optional if the location of the user's device is not relevant or important to any rule. As another example, the operating device attribute field is optional if no rule requires that the user's device be authenticated or meet certain criteria.

テーブル1700の動作フィールドは、対応するアプリケーション又はサービスにより実行され得る動作の名称を含む。例えば、多くのルールは、Application1によりサポートされる以下の3つの動作、つまりlogin()、listDocument()、及びprint()のうちの1又は複数と関連付けられる。あるルールは、Application2によりサポートされる以下の2つの動作、つまりoperation1()及びoperation2()の各々と関連付けられる。Application1及びApplication2は、どのルールとも関連付けられない他の動作をサポートしても良い。あるルールは、印刷サービスによりサポートされる以下の3つの動作、つまりserviceDiscovery()、submitPrintJob()、及びcancelPrintJob()の各々と関連付けられる。   The action field of table 1700 contains the name of the action that can be performed by the corresponding application or service. For example, many rules are associated with one or more of the following three operations supported by Application1, namely login (), listDocument (), and print (). A rule is associated with each of the following two operations supported by Application2, namely operation1 () and operation2 (). Application 1 and Application 2 may support other operations that are not associated with any rule. A rule is associated with each of the following three operations supported by the print service: serviceDiscovery (), submitPrintJob (), and cancelPrintJob ().

幾つかのルールは、特定のユーザ又はユーザグループに限定される。ユーザ/グループフィールドは、1又は複数のルールの所与のセットに対し特定のユーザ又はユーザグループを指定する。しかしながら、幾つかのルールでは、特定のユーザ又はグループは無関係である。このようなルールでは、ユーザ/グループフィールドは、包括的な「ANY」を指定する。   Some rules are limited to specific users or user groups. The user / group field specifies a particular user or user group for a given set of one or more rules. However, in some rules, a particular user or group is irrelevant. In such a rule, the user / group field specifies a generic “ANY”.

動作装置位置フィールドは、地理的領域のラベルを示す。動作装置位置フィールド内のラベルは、異なるテーブル(図示しない)の位置IDフィールド内の位置識別子に対応しても良い。代替として、範囲定義は、テーブル1700の動作装置位置フィールド内で指定されても良い。このような実施形態では、位置情報を含む別のデータ構造は必要なくても良い。   The operating device location field indicates the label of the geographic region. The label in the actuator position field may correspond to a position identifier in a position ID field of a different table (not shown). Alternatively, the range definition may be specified in the motion unit location field of table 1700. In such an embodiment, a separate data structure containing location information may not be necessary.

一実施形態では、単一のテーブル1700の代わりに、テーブル1700に含まれる情報は、複数のテーブル(又は他の記憶オブジェクト)に区分され又は分割される。例えば、テーブル1700内の情報が与えられると、各アプリケーション又はサービス(つまり、Application1、Application2及びPrint)に対して1つの、3つのテーブルが生成されても良い。これらのテーブルでは、アプリケーション/サービス種類フィールドは必要ない。別の例として、異なるテーブルが各動作に対して生成される。したがって、テーブル1700内の情報が与えられると、本例では8個のテーブルが生成されても良い。つまり、login()、listDocument()、print()、operation1()、operation2()、serviceDiscovery()、submitPrintJob()、cancelPrintJob()の各々に1つのテーブルである。   In one embodiment, instead of a single table 1700, the information contained in the table 1700 is partitioned or divided into multiple tables (or other storage objects). For example, given the information in table 1700, three tables, one for each application or service (ie, Application1, Application2, and Print) may be generated. In these tables, the application / service type field is not required. As another example, a different table is generated for each operation. Therefore, when information in the table 1700 is given, eight tables may be generated in this example. That is, there is one table for each of login (), listDocument (), print (), operation1 (), operation2 (), serviceDiscovery (), submitPrintJob (), and cancelPrintJob ().

図18に示すテーブル1800は、2つのフィールド又は列、つまりルールIDフィールド、及びルールフィールドを有する。図18のルールIDフィールドは、図17のルールIDフィールドに対応する。各ルールは、application1、application2又はservice1522が実行すべき1又は複数の作用のセットを示す。例えば、テーブル1800の1番目のルールは、1つの作用又は動作、つまり「Verifyusernameandpassword(ユーザ名及びパスワードを検証する)」を示す。テーブル1800内のルールは、対応する作用が実行されるために満たされなければならない条件を更に指定しても良い。例えば、テーブル1800内のルールは、ターゲット文書のレベルがlevel1である場合に作用が「Show the error message(エラーメッセージを表示する)」であること、及びターゲット文書のレベルがlevel1でない場合に作用「Print the document to the printer(プリンタへの文書を印刷する)」が実行されることを示しても良い。   A table 1800 shown in FIG. 18 has two fields or columns, that is, a rule ID field and a rule field. The rule ID field in FIG. 18 corresponds to the rule ID field in FIG. Each rule indicates a set of one or more actions that application1, application2, or service 1522 should perform. For example, the first rule in table 1800 indicates one action or action: “Verify username and password”. The rules in table 1800 may further specify conditions that must be met for the corresponding action to be performed. For example, the rule in table 1800 has an effect of “Show the error message” when the level of the target document is level 1 and an action “when the level of the target document is not level 1”. “Print the document to the printer” may be executed.

一実施形態では、テーブル1700、1800は、テーブル1700がテーブル1800のルールフィールドを含むように結合される。本実施形態では、ルールIDフィールドは、不要になり、このような結合されたテーブルでは除外されても良い。   In one embodiment, tables 1700 and 1800 are joined such that table 1700 includes the rule fields of table 1800. In the present embodiment, the rule ID field becomes unnecessary and may be excluded from such a combined table.

実施形態は、ルール情報が格納される方法に限定されない。例えば、1又は複数のテーブルの代わりに、上述のルール情報は、リンク付きリスト、非関係型オブジェクトセット、又は多次元配列に格納されても良い。   Embodiments are not limited to the method in which rule information is stored. For example, instead of one or more tables, the above-described rule information may be stored in a linked list, a non-relational object set, or a multidimensional array.

テーブル1700、1800では、管理者は、どのソース装置がどのネットワークサービスへのアクセスを許可されるかを制限するルールを定めることができる。例えば、オフィスへの訪問者は、1つの特定のプリンタサービスを使用することを許可されるのみであり、一方で、そのオフィスの従業員は、そのオフィス内の全てのプリンタサービスを使用できる。   In tables 1700 and 1800, the administrator can define rules that restrict which source devices are allowed access to which network services. For example, a visitor to an office is only allowed to use one specific printer service, while an employee in that office can use all printer services in that office.

<ネットワークサービス(CONT.)へのアクセス管理>
ステップ1670で、サービスマネジャ1536は、サービスコネクタ1516へ、フィルタリングしたサービスリストを送信する。
<Access management to network service (CONT.)>
In step 1670, service manager 1536 sends the filtered service list to service connector 1516.

ステップ1680で、フィルタリングされたリストを受信するのに応答して、サービスコネクタ1516は、サービスプラットフォーム1514にサービスリストを送信することにより、リスト内のサービスを登録する。   In step 1680, in response to receiving the filtered list, service connector 1516 registers the services in the list by sending the service list to service platform 1514.

一実施形態では、リスト内のいずれのサービスもソース装置1510が置かれたサブネットと異なるサブネットにある場合、サービスコネクタ1516は、サービスのIPアドレスを、サ―ビスがソース装置1510にホストされていることを示すダミーアドレスで置換しても良い。   In one embodiment, if any service in the list is in a different subnet than the subnet in which source device 1510 is located, service connector 1516 will provide the service's IP address and the service is hosted on source device 1510. It may be replaced with a dummy address indicating this.

したがって、シーケンス図1600で、1又は複数のネットワークサービスがネットワークサービス1530によりホストされていない場合でも、ソース装置1510は、(ソース装置1510と同じサブネットに存在する又は存在しない)1又は複数のネットワークサービスをネットワークサービス1530を通じて発見する。言い換えると、ソース装置1510は、ネットワークサービスをホストしているターゲット装置と直接通信することによりネットワークサービス(例えばサービス1522)を発見するのではない。   Thus, in the sequence diagram 1600, even if one or more network services are not hosted by the network service 1530, the source device 1510 is one or more network services (which may or may not be in the same subnet as the source device 1510). Is discovered through the network service 1530. In other words, the source device 1510 does not discover the network service (eg, service 1522) by communicating directly with the target device hosting the network service.

関連する実施形態では、サービスコネクタ1516からの初期要求に応答して現在利用可能なサービスのフィルタリングされたリストを送信するのに代えて、ネットワークサービス1530は、全ての現在利用可能なサービスのリストをサービスコネクタ1516へ送信する。したがって、サービスマネジャ1536は、位置マネジャ1538から位置情報を要求しない、又はソース装置関連データをポリシマネジャ1540へ送信しない。このように、アプリケーション1512は、全ての現在利用可能なサービスを「見る」ことができる。これは、本願明細書では「フィルタセカンド(filter second)」アプローチと称される。これに対し、サービスの初期要求に応答してソース装置1510がサービスのフィルタリングされたリストを受信するアプローチは、本願明細書では「フィルタファースト(filter first)」アプローチと称される。   In a related embodiment, instead of sending a filtered list of currently available services in response to an initial request from service connector 1516, network service 1530 may provide a list of all currently available services. Send to service connector 1516. Accordingly, the service manager 1536 does not request location information from the location manager 1538 or send source device related data to the policy manager 1540. In this way, the application 1512 can “see” all currently available services. This is referred to herein as the “filter second” approach. In contrast, the approach in which source device 1510 receives a filtered list of services in response to an initial request for services is referred to herein as a “filter first” approach.

フィルタセカンドアプローチでは、アプリケーション1512が、ネットワークサービス1530の管理者がソース装置1510(又は他の「知らない」装置)に使用させたくないサービス(例えば、サービス1522)を要求する場合、アプリケーション1512からのサービス要求は、(サービスコネクタ1516により)サービスマネジャ1536へ送信される。サービスマネジャ1536は、(1)(位置マネジャ1538と通信することにより)ソース装置1510の現在位置を決定し、及び(2)ソース装置関連データをポリシマネジャ1540へ送信する。ポリシマネジャ1540から(例えば、印刷)サービスのリストを受信すると(又は、ポリシマネジャ1540にから受信したルール作用に基づき、印刷サービスのリストを識別すると)、サービスマネジャ1536は、要求されたサービスがサービスのリスト内にあるか否かを決定する。ある場合、サービスマネジャ1536は、サービス要求を要求されたサービス(例えばサービス1522)へ送信させる。例えば、サービスマネジャ1536は、(サービスコネクタ1516から送信された)サービス要求をサービス1522へ転送する。サービスマネジャ1536は、ソース装置1510(又はアプリケーション1512)をアドレス指定することによりサービス1522がサービス要求に応答するように、サービス要求を変更しても良い。   In the filter second approach, if the application 1512 requests a service (eg, service 1522) that the administrator of the network service 1530 does not want the source device 1510 (or other “unknown” device) to use, the application 1512 The service request is sent (by service connector 1516) to service manager 1536. The service manager 1536 (1) determines the current location of the source device 1510 (by communicating with the location manager 1538), and (2) sends source device related data to the policy manager 1540. Upon receiving a list of services (eg, printing) from the policy manager 1540 (or identifying the list of print services based on the rule action received from the policy manager 1540), the service manager 1536 may request that the requested service be a service. Determine if it is in the list. In some cases, service manager 1536 causes a service request to be sent to the requested service (eg, service 1522). For example, the service manager 1536 forwards the service request (sent from the service connector 1516) to the service 1522. Service manager 1536 may modify the service request such that service 1522 responds to the service request by addressing source device 1510 (or application 1512).

サービスマネジャ1536が、要求されたサービスはサービスリスト内に存在しないと決定した場合、サービスマネジャ1536は、サービス要求を要求されたサービスへ送信させない。代わりに、サービスマネジャ1536は、ソース装置1510へ、要求されたサービスが利用できないと示す応答メッセージを送信しても良い。   If the service manager 1536 determines that the requested service does not exist in the service list, the service manager 1536 does not cause the service request to be sent to the requested service. Alternatively, service manager 1536 may send a response message to source device 1510 indicating that the requested service is not available.

フィルタセカンドアプローチでは、ソース装置1510がターゲット装置1520によりホストされるサービス1522についてのサービス要求を送信するとき、サービスマネジャ1536は仲介として動作しても良い。したがって、ソース装置1510からのサービス要求は、(サービスコネクタ1516を介して)サービスマネジャ1536へ向けられ、サービスマネジャ1536はサービス要求をサービス1522へ転送する。   In the filter second approach, service manager 1536 may act as an intermediary when source device 1510 sends a service request for service 1522 hosted by target device 1520. Accordingly, a service request from source device 1510 is directed (via service connector 1516) to service manager 1536, which forwards the service request to service 1522.

フィルタファーストアプローチでは、タ―ゲット装置1520がソース装置1510と同じサブネット内に存在する場合、アプリケーション1512からのサービス要求は、ネットワークサービス1530を通さずにサービス1522へ送信されても良い。代替で、ターゲット装置1520及びソース装置1510が同じサブネット内に存在する場合でも、ネットワークサービス1530は、サービスプラットフォーム1514のサービス発見範囲を変更することにより、強制的に仲介にされても良い。サービス発見範囲の変更は、サービスプラットフォームの発見動作の1又は複数の構成の変更を有する。サービスプラットフォームは、サービス発見機能を有し、デフォルトのサービス発見範囲は、ローカルサブネットであっても良い。したがって、サービスプラットフォームは、同じサブネットで動作するサービスを自動的に発見する。サービス発見範囲がローカルサブネットからローカル装置内へと変更された場合、サービスプラットフォーム1514は、ローカルサブネット内でサービス1522を発見できない。しかしながら、サービスプラットフォーム1514は、同じ装置で動作するサービスを発見できる。   In the filter first approach, if the target device 1520 is in the same subnet as the source device 1510, a service request from the application 1512 may be sent to the service 1522 without going through the network service 1530. Alternatively, even if the target device 1520 and the source device 1510 are in the same subnet, the network service 1530 may be forced to mediate by changing the service discovery scope of the service platform 1514. Changing the service discovery range includes changing one or more configurations of the service platform discovery operation. The service platform has a service discovery function, and the default service discovery range may be a local subnet. Thus, the service platform automatically discovers services that operate on the same subnet. If the service discovery range is changed from the local subnet to the local device, the service platform 1514 cannot discover the service 1522 in the local subnet. However, the service platform 1514 can discover services that run on the same device.

ターゲット装置1520がソース装置1510と異なるサブネット内に存在する場合、ネットワークサービス1530は仲介として動作し、アプリケーション1512からのサービス要求がサービスマネジャ1536へ向けられ、サービスマネジャ1536がサービス要求をサービス1522へ転送するようにしても良い。   If the target device 1520 is in a different subnet than the source device 1510, the network service 1530 acts as an intermediary, the service request from the application 1512 is directed to the service manager 1536, and the service manager 1536 forwards the service request to the service 1522. You may make it do.

<実施メカニズム>
本発明の一実施形態によると、本願明細書に記載した技術は、1又は複数の特定目的コンピュータ装置により実施される。特定目的コンピュータ装置は、この技術を実行するためにハードウェアに組み込まれても良く、この技術を実行するよう永続的にプログラムされた1又は複数の特定用途向け集積回路(ASIC)若しくはフィールドプログラマブルゲートアレイ(FPGA)のようなデジタル電子装置を有しても良く、この技術を実行するようプログラム命令に従ってファームウェア、メモリ、他の記憶若しくは組合せでプログラムされた1又は複数の汎用目的ハードウェアプロセッサを有しても良い。このような特定目的コンピュータ装置は、この技術を達成するために、カスタムハードワイヤードロジック、ASIC又はFPGAをカスタムプログラミングと組み合わせても良い。特定目的コンピュータ装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルド装置、ネットワーク装置、又はこの技術を実施するためのハードワイヤードロジック及び/又はプログラムロジックを組み込んだ任意の他の装置であっても良い。
<Implementation mechanism>
According to one embodiment of the present invention, the techniques described herein are implemented by one or more special purpose computing devices. A special purpose computing device may be incorporated into the hardware to perform this technology, and one or more application specific integrated circuits (ASICs) or field programmable gates permanently programmed to perform this technology You may have a digital electronic device such as an array (FPGA) with one or more general purpose hardware processors programmed in firmware, memory, other storage or combination according to program instructions to implement this technique. You may do it. Such special purpose computing devices may combine custom hardwired logic, ASIC, or FPGA with custom programming to accomplish this technique. The special purpose computing device may be a desktop computer system, a portable computer system, a handheld device, a network device, or any other device that incorporates hardwired logic and / or program logic to implement this technology.

図19は、本発明の実施形態が実装され得る例示的なコンピュータシステム1900を示すブロック図である。コンピュータシステム1900は、バス1902又は情報を通信する他の通信機構、及びバス1902に結合され情報を処理するプロセッサ1904を有する。コンピュータシステム1900は、また、ランダムアクセスメモリ(RAM)又は他のダイナミック記憶素子のような、バス1902に結合され情報及びプロセッサ1904により実行されるべき命令を格納する主記憶1906も有する。主記憶1906は、プロセッサ1904により実行されるべき情報の実行中に、一時変数又は他の中間的情報を格納するために用いられても良い。コンピュータシステム1900は、バス1902に結合され、静的情報及びプロセッサ1904のための命令を格納する読み出し専用メモリ(ROM)1908又は他の静的記憶装置を更に有する。情報及び命令の格納のために、磁気ディスク又は光ディスクのような記憶装置1910が設けられバス1902に結合される。   FIG. 19 is a block diagram that illustrates an example computer system 1900 upon which an embodiment of the invention may be implemented. Computer system 1900 includes a bus 1902 or other communication mechanism for communicating information, and a processor 1904 coupled with bus 1902 for processing information. Computer system 1900 also has a main memory 1906 that couples to bus 1902 and stores information and instructions to be executed by processor 1904, such as random access memory (RAM) or other dynamic storage elements. Main memory 1906 may be used to store temporary variables or other intermediate information during execution of information to be executed by processor 1904. Computer system 1900 further includes a read only memory (ROM) 1908 or other static storage device coupled to bus 1902 for storing static information and instructions for processor 1904. A storage device 1910, such as a magnetic disk or optical disk, is provided and coupled to the bus 1902 for storing information and instructions.

コンピュータシステム1900は、バス1902を介して、陰極線管(CRT)のような、コンピュータユーザに情報を表示するディスプレイ1912に結合されて良い。バス1902は単一のバスとして図示されるが、バス1902は1又は複数のバスを有しても良い。例えば、バス1902は、プロセッサ1904がコンピュータシステム1900内の他の装置を制御する制御バス、プロセッサ1904が実行のために命令のメモリ位置を指定するアドレスバス、又はコンピュータシステム1900のコンポーネント菅でデータ又は信号を転送するための任意の他の種類のバスを有しても良いが、これらに限定されない。   Computer system 1900 may be coupled via bus 1902 to a display 1912 that displays information to a computer user, such as a cathode ray tube (CRT). Although the bus 1902 is illustrated as a single bus, the bus 1902 may include one or more buses. For example, bus 1902 may be a control bus where processor 1904 controls other devices in computer system 1900, an address bus where processor 1904 specifies memory locations for instructions for execution, Any other type of bus for transferring signals may be included, but is not limited to these.

入力装置1914は、英数字及び他のキーを有し、バス1902に結合され、プロセッサ1904に情報及びコマンド選択を伝達する。別の種類のユーザ入力装置は、マウス、トラックボール又はカーソル方向キーのようなカーソル制御1916であり、プロセッサ1904に方向情報及びコマンド選択を伝達し、ディスプレイ1912上のカーソルの移動を制御する。この入力装置は、通常、2軸、つまり第1の軸(例えばX)及び第2の軸(例えばY)における2度の自由度を有し、装置に平面内の位置を指定させる。   Input device 1914 has alphanumeric and other keys and is coupled to bus 1902 for communicating information and command selections to processor 1904. Another type of user input device is a cursor control 1916, such as a mouse, trackball, or cursor direction key, that communicates direction information and command selections to the processor 1904 and controls the movement of the cursor on the display 1912. This input device typically has two degrees of freedom in two axes, a first axis (eg, X) and a second axis (eg, Y), and allows the device to specify a position in the plane.

コンピュータシステム1900は、本願明細書に記載した技術を、カスタマイズハードワイヤードロジック、1又は複数のASIC若しくはFPGA、コンピュータシステムと組み合わせて、コンピュータシステム1900を特定用途向け機械にする若しくはプログラムするファームウェア及び/又はプログラムロジック若しくはコンピュータソフトウェアを用いて実装してもよい。本発明の一実施形態によると、これらの技術は、プロセッサ1904が主記憶1906に含まれる1又は複数の命令の1又は複数のシーケンスを実行するのに応答して、コンピュータシステム1900により実行される。このような命令は、記憶装置1910のような別のコンピュータ可読媒体から主記憶1906に読み込まれてもよい。主記憶1906に含まれる命令シーケンスの実行は、プロセッサ1904に本願明細書に記載した処理ステップを実行させる。代替の実施形態では、ハードワイヤード回路が、本発明を実施するソフトウェア命令の代わりに又はそれと組み合わせて用いられてもよい。このように、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組合せにも限定されない。   The computer system 1900 combines the techniques described herein with customized hardwired logic, one or more ASICs or FPGAs, a computer system, firmware and / or to make the computer system 1900 an application-specific machine and / or You may implement using program logic or computer software. According to one embodiment of the invention, these techniques are performed by computer system 1900 in response to processor 1904 executing one or more sequences of one or more instructions contained in main memory 1906. . Such instructions may be read into main memory 1906 from another computer readable medium, such as storage device 1910. Execution of the instruction sequence contained in main memory 1906 causes processor 1904 to execute the processing steps described herein. In alternative embodiments, hardwired circuitry may be used instead of or in combination with software instructions that implement the present invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.

本願明細書で用いられる用語「コンピュータ可読媒体」は、コンピュータを特定の方法で動作させるデータを提供する際に関与する任意の媒体を表す。コンピュータシステム1900を用いて実施される実施形態では、種々のコンピュータ可読媒体が、例えば命令をプロセッサ1904に実行するために提供する際に、関与する。このような媒体は、不揮発性媒体及び揮発性媒体を含む多くの形態を取ることができ、これらに限定されない。不揮発性媒体は、例えば、記憶装置1910のような光又は磁気ディスクを含む。揮発性媒体は、主記憶1906のような動的記憶を含む。コンピュータ可読媒体の共通形態は、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、又は任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、RAM,PROM及びEPROM、FLASH−EPROM、任意の他のメモリチップ若しくはメモリカートリッジ、又はコンピュータが読み取れる任意の他の媒体を含む。   The term “computer-readable medium” as used herein refers to any medium that participates in providing data that causes a computer to operation in a specific fashion. In embodiments implemented using computer system 1900, various computer readable media are involved, for example, in providing instructions to processor 1904 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 1910. Volatile media includes dynamic storage, such as main memory 1906. Common forms of computer readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, or any other magnetic medium, CD-ROM, any other optical medium, RAM, PROM and EPROM, FLASH-EPROM, It includes any other memory chip or memory cartridge, or any other medium that can be read by a computer.

種々の形態のコンピュータ可読媒体は、実行のためにプロセッサ1904に1又は複数の命令の1又は複数のシーケンスを伝達する際に、関与し得る。例えば、命令は、初めにリモートコンピュータの磁気ディスクで運ばれ得る。リモートコンピュータは、その命令を自身の動的記憶にロードし、及びモデムを用いて電話線を介して命令を送信できる。コンピュータシステム1900にローカルなモデムは、電話線でデータを受信し、赤外線送信機を用いて、そのデータを赤外線信号に変換できる。赤外線検出器は、赤外線信号で伝達されたデータを受信し、適切な回路がそのデータをバス1902に置くことができる。バス1902は、データを主記憶1906に伝達する。主記憶1906から、プロセッサ1904が命令を読み出し実行する主記憶1906により受信された命令は、任意的に、プロセッサ1904により実行される前又は後に、記憶装置1910に格納されても良い。   Various forms of computer readable media may be involved in communicating one or more sequences of one or more instructions to processor 1904 for execution. For example, the instructions may initially be carried on a remote computer magnetic disk. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 1900 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. The infrared detector receives the data transmitted in the infrared signal and appropriate circuitry can place the data on the bus 1902. The bus 1902 transmits data to the main memory 1906. Instructions received by main memory 1906 from which processor 1904 reads and executes instructions from main memory 1906 may optionally be stored in storage device 1910 either before or after execution by processor 1904.

コンピュータシステム1900は、バス1902に結合された通信インタフェース1918も含む。通信インタフェース1918は、ローカルネットワーク1920に接続されるネットワークリンク1922に結合される2方向データ通信を提供する。例えば、通信インタフェース1918は、対応する種類の電話線へのデータ通信接続を提供するISDN(Integrated Services Digital Network)カード又はモデムであってもよい。別の例として、通信インタフェース1918は、互換性のあるLANへのデータ通信接続を提供するLAN(Local Area Network)カードであっても良い。無線リンクも実装されても良い。任意のこのような実装で、通信インタフェース1918は、種々の情報を表すデジタルデータストリームを伝達する電気、電磁気又は光信号を送信及び受信する。   Computer system 1900 also includes a communication interface 1918 coupled to bus 1902. Communication interface 1918 provides a two-way data communication coupled to a network link 1922 that is connected to a local network 1920. For example, the communication interface 1918 may be an Integrated Services Digital Network (ISDN) card or modem that provides a data communication connection to a corresponding type of telephone line. As another example, the communication interface 1918 may be a local area network (LAN) card that provides a data communication connection to a compatible LAN. A wireless link may also be implemented. In any such implementation, communication interface 1918 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

ネットワークリンク1920は、通常、1又は複数のネットワークを通じて他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク1920は、ローカルネットワーク1922を通じてホストコンピュータ1924への又はISP(Internet Service Provider)1926により稼働されるデータ機器への接続を提供できる。ISP1926は、また、現在一般的に「インターネット」1928と称される世界的規模のパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク1922及びインターネット1928の両者は、デジタルデータストリームを伝達する電気、電磁気又は光信号を用いる。   Network link 1920 typically provides data communication through one or more networks to other data devices. For example, the network link 1920 may provide a connection to a host computer 1924 through a local network 1922 or to a data device operated by an Internet Service Provider (ISP) 1926. ISP 1926 also provides data communication services through a worldwide packet data communication network now commonly referred to as the “Internet” 1928. Both the local network 1922 and the Internet 1928 use electrical, electromagnetic or optical signals that carry digital data streams.

コンピュータシステム1900は、ネットワーク、ネットワークリンク1920及び通信インタフェース1918を通じて、プログラムコードを含む、メッセージを送信し及びデータを受信できる。インターネットの例では、サーバ1930は、インターネット1928、ISP1926、ローカルネットワーク1922及び通信インタフェース1918を通じてアプリケーションプログラムのために要求されたコードを送信し得る。受信されたコードは、プロセッサ1904により受信されるとプロセッサ1904により実行され、及び/又は後に実行するために記憶装置1910若しくは他の不揮発性記憶に格納され得る。   Computer system 1900 can send messages and receive data, including program code, through the network, network link 1920 and communication interface 1918. In the Internet example, the server 1930 may send the requested code for the application program over the Internet 1928, ISP 1926, local network 1922 and communication interface 1918. The received code may be executed by processor 1904 when received by processor 1904 and / or stored in storage device 1910 or other non-volatile storage for later execution.

上述の明細書では、本発明の実施形態は、実施形態毎に変化し得る多数の特定の詳細を参照し説明された。したがって本発明の、および本出願者により発明であるように意図したものの唯一の指標は、特許請求の範囲が由来する特定の形式の、いかなる今後の補正も含む本出願に由来する一組の特許請求の範囲である。したがって請求項内で明示的に記述されない限界、要素、特性、特徴、利点、または属性がこのような特許請求項の範囲を決して制限してはならない。したがって本明細書と添付図面は限定的ではなく例示的であると解釈すべきである。   In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from embodiment to embodiment. Accordingly, the only indication of the present invention and what is intended to be an invention by the applicant is the set of patents derived from this application, including any future amendments, in the specific form from which the claims are derived It is a claim. Accordingly, no limitation, element, property, feature, advantage or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. Accordingly, the specification and accompanying drawings are to be construed as illustrative rather than limiting.

[関連出願]
本出願は、米国特許出願第13/467,349号及び第13/467,356号、2012年5月5日出願に関連する。これらの米国特許出願の全内容は、参照されることにより、本願明細書に完全に記載されたものとして本願明細書に組み込まれる。
[Related applications]
This application is related to US patent application Ser. Nos. 13 / 467,349 and 13 / 467,356, filed May 5, 2012. The entire contents of these US patent applications are hereby incorporated by reference as if fully set forth herein.

本出願は、米国特許出願第xx/xxx,xxx号(代理人管理番号49986−0766)、名称「Managing Access of Network Services」、本願と同日出願に関連する。この米国特許出願の全内容は、参照されることにより、本願明細書に完全に記載されたものとして本願明細書に組み込まれる。   This application is related to U.S. Patent Application No. xx / xxx, xxx (Attorney Administration No. 49986-0766), named “Managing Access of Network Services”, filed on the same day as this application. The entire contents of this US patent application are hereby incorporated by reference as if fully set forth herein.

110、120、150、610、650、710、1510 ソース装置
112、122、152、612、652、712 アプリケーション(App)
114、124、134、144、154、164、614、654、634、664、714、724、734、744、754、1524 サービスプラットフォーム(サービスPF)
130、140、160、630、660、720、730、740、750、1520 ターゲット装置
132、142、162、632、662、722、732、742、752、1522 サービス
170、670 ルータ
180、190、680、690、780、790 サブネット
200、300、1200 スクリーン
620、640 サーバ
716、726、746 サービスコネクタ
760 サービスマネジャ
770、1550 ネットワーク
1530 ネットワークサービス
1532 アプリケーション
1534 ユーザ装置マネジャ
1536 サービスマネジャ
1538 位置マネジャ
1540 ポリシマネジャ
1902 バス
1904 プロセッサ
1906 主記憶
1908 ROM
1910 記憶装置
1912 ディスプレイ
1914 入力装置
1916 カーソル制御
1918 通信インタフェース
1920 ネットワークリンク
1922 ローカルネットワーク
1924 ホスト
1926 ISP
1928 インターネット
1930 サーバ
110, 120, 150, 610, 650, 710, 1510 Source device 112, 122, 152, 612, 652, 712 Application (App)
114, 124, 134, 144, 154, 164, 614, 654, 634, 664, 714, 724, 734, 744, 754, 1524 Service platform (service PF)
130, 140, 160, 630, 660, 720, 730, 740, 750, 1520 Target device 132, 142, 162, 632, 662, 722, 732, 742, 752, 1522 Service 170, 670 Router 180, 190, 680 , 690, 780, 790 Subnet 200, 300, 1200 Screen 620, 640 Server 716, 726, 746 Service connector 760 Service manager 770, 1550 Network 1530 Network service 1532 Application 1534 User equipment manager 1536 Service manager 1538 Location manager 1540 Policy manager 1902 Bus 1904 Processor 1906 Main memory 1908 ROM
1910 storage device 1912 display 1914 input device 1916 cursor control 1918 communication interface 1920 network link 1922 local network 1924 host 1926 ISP
1928 Internet 1930 server

Claims (4)

ソース装置で実行するサービスコネクタから、前記ソース装置と異なる装置で実行するサービスマネジャへ、サービス情報についての要求を送信するステップと、
サービス情報についての前記要求を送信した後に、前記サービスコネクタにおいて、前記サービスマネジャから、ターゲット装置によりホストされ且つ前記ソース装置が置かれた第1のサブネットと異なる第2のサブネットに置かれた第1のサービスの第1のアドレスを示す第1のサービス情報を受信するステップと、
前記第1のサービス情報を受信するのに応答して、前記サービスコネクタが、
前記第1のサービス情報を格納するステップであって、前記格納するステップは、第2のアドレスを前記第1のアドレスに関連付ける関連付けを格納するステップを含む、ステップと、
前記第1のサービス情報の一部を前記ソース装置のサービスプラットフォームへ送信するステップと、
前記ソース装置の前記サービスプラットフォーム前記一部を送信した後に、前記サービスコネクタが、
前記サービスプラットフォームと異なり且つ前記ソース装置において実行するアプリケーションから、前記第1のサービスを用いるための第1の要求を受信するステップであって、前記第1の要求は前記第2のアドレスを含む、ステップと、
前記ソース装置の前記サービスコネクタにより、前記第2のアドレスを前記第1のアドレスにより置換するステップと、
前記第1のアドレスを含む前記第1の要求を前記ターゲット装置へ送信させるステップと、
を有し、1又は複数のコンピューティング装置により実行される、方法。
Sending a request for service information from a service connector running on a source device to a service manager running on a device different from the source device;
After transmitting the request for service information, a first at the service connector is placed from a service manager on a second subnet different from a first subnet hosted by a target device and on which the source device is located. Receiving first service information indicating a first address of the service;
In response to receiving the first service information, the service connector is
Storing the first service information, the storing step comprising storing an association associating a second address with the first address ;
Transmitting a portion of the first service information to a service platform of the source device;
After transmitting said portion to said service platform of the source device, the service connector,
Receiving a first request to use the first service from an application running on the source device, unlike the service platform , wherein the first request includes the second address; Steps ,
Replacing the second address with the first address by the service connector of the source device;
Sending the first request including the first address to the target device;
And a method executed by one or more computing devices.
前記第1の要求は、前記ターゲット装置と関連付けられたアドレスを有し、
前記第1の要求は、最初に前記サービスマネジャへ送信されることなく、前記ターゲット装置へ送信される、請求項1に記載の方法。
The first request has an address associated with the target device;
The method of claim 1, wherein the first request is sent to the target device without first being sent to the service manager.
命令を運ぶ1又は複数の記憶媒体であって、前記命令は1又は複数のプロセッサにより実行されると、
ソース装置で実行するサービスコネクタから、前記ソース装置と異なる装置で実行するサービスマネジャへ、サービス情報についての要求を送信するステップと、
サービス情報についての前記要求を送信した後に、前記サービスコネクタにおいて、前記サービスマネジャから、ターゲット装置によりホストされ且つ前記ソース装置が置かれた第1のサブネットと異なる第2のサブネットに置かれた第1のサービスの第1のアドレスを示す第1のサービス情報を受信するステップと、
前記第1のサービス情報を受信するのに応答して、前記サービスコネクタに、
前記第1のサービス情報を格納するステップであって、前記格納するステップは、第2のアドレスを前記第1のアドレスに関連付ける関連付けを格納するステップを含む、ステップと、
前記第1のサービス情報の一部を前記ソース装置のサービスプラットフォームへ送信するステップと、
前記ソース装置の前記サービスプラットフォーム前記一部を送信した後に、前記サービスコネクタが、
前記サービスプラットフォームと異なり且つ前記ソース装置において実行するアプリケーションから、前記第1のサービスを用いるための第1の要求を受信するステップであって、前記第1の要求は前記第2のアドレスを含む、ステップと、
前記ソース装置の前記サービスコネクタにより、前記第2のアドレスを前記第1のアドレスにより置換するステップと、
前記第1のアドレスを含む前記第1の要求を前記ターゲット装置へ送信させるステップと、
を生じる1又は複数の記憶媒体。
One or more storage media carrying instructions, said instructions being executed by one or more processors;
Sending a request for service information from a service connector running on a source device to a service manager running on a device different from the source device;
After transmitting the request for service information, a first at the service connector is placed from a service manager on a second subnet different from a first subnet hosted by a target device and on which the source device is located. Receiving first service information indicating a first address of the service;
In response to receiving the first service information, the service connector
Storing the first service information, the storing step comprising storing an association associating a second address with the first address ;
Transmitting a portion of the first service information to a service platform of the source device;
After transmitting said portion to said service platform of the source device, the service connector,
Receiving a first request to use the first service from an application running on the source device, unlike the service platform , wherein the first request includes the second address; Steps ,
Replacing the second address with the first address by the service connector of the source device;
Sending the first request including the first address to the target device;
One or more storage media that produce
前記第1の要求は、前記ターゲット装置と関連付けられたアドレスを有し、
前記第1の要求は、最初に前記サービスマネジャへ送信されることなく、前記ターゲット装置へ送信される、請求項に記載の1又は複数の記憶媒体。
The first request has an address associated with the target device;
The one or more storage media of claim 3 , wherein the first request is sent to the target device without first being sent to the service manager.
JP2013265077A 2012-12-29 2013-12-24 Managing the scope of network services Expired - Fee Related JP6295643B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/730,854 US9398100B2 (en) 2012-12-29 2012-12-29 Managing access of network services
US13/730,854 2012-12-29
US13/730,853 2012-12-29
US13/730,853 US9253263B2 (en) 2012-12-29 2012-12-29 Managing scope of network services

Publications (2)

Publication Number Publication Date
JP2014130588A JP2014130588A (en) 2014-07-10
JP6295643B2 true JP6295643B2 (en) 2018-03-20

Family

ID=51408878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013265077A Expired - Fee Related JP6295643B2 (en) 2012-12-29 2013-12-24 Managing the scope of network services

Country Status (1)

Country Link
JP (1) JP6295643B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7275823B2 (en) 2019-05-09 2023-05-18 株式会社リコー PRINTING DEVICE, PRINTING METHOD AND PRINTING PROGRAM
CN111913672B (en) * 2020-07-16 2024-03-08 北京屏芯科技有限公司 Communication establishment method, printer, storage medium, and electronic device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141954A (en) * 2000-11-06 2002-05-17 Sony Corp Communication relay device, communication relay method, and program storage medium
JP2007172289A (en) * 2005-12-22 2007-07-05 Mitsubishi Electric Corp Network equipment management device, network management system and network equipment management method

Also Published As

Publication number Publication date
JP2014130588A (en) 2014-07-10

Similar Documents

Publication Publication Date Title
US9398100B2 (en) Managing access of network services
US10275188B2 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method
US10057208B2 (en) Visibility control for domain name system service discovery
US20080184354A1 (en) Single sign-on system, information terminal device, single sign-on server, single sign-on utilization method, storage medium, and data signal
JP2008301165A (en) Virtual network connection apparatus and program
US8978157B2 (en) Managing access to data based on device attribute information
JP2004535634A (en) System and method for searching for documents at remote locations
CN102035657A (en) Communication apparatus having a plurality of network interfaces, method of communication by the communication apparatus
JP2007293813A (en) Image forming apparatus, control method thereof, system, program, and storage medium
JP4542165B2 (en) Information processing apparatus, image forming apparatus, and control method thereof
EP2296317B1 (en) Management of events upon identification of the event notification source
US9253263B2 (en) Managing scope of network services
US8051157B2 (en) Discovery apparatus and method
US11157608B2 (en) Information processing system allowing a target device to process an operation request using a common API
JP6295643B2 (en) Managing the scope of network services
EP3379779B1 (en) Information processing apparatus, communication system, method of controlling communication route, and carrier means
CN105991616B (en) Information processing apparatus, communication system, and communication method
US8355170B2 (en) Methods and systems to provide scan services to an image forming device
JP2009284410A (en) Information processing apparatus, method for controlling thereof and computer program
JP2011114805A (en) Communication apparatus and method, and program
JP2014230005A (en) Image forming apparatus and program
US10742840B2 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method executed by communication device
JP2009064289A (en) Data transmission system, address management device, data transmitter, address book acquisition method, and program
JP2020088727A (en) Image formation apparatus
JP6127617B2 (en) Service providing system, service providing method, and service providing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180205

R151 Written notification of patent or utility model registration

Ref document number: 6295643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees