JP6295643B2 - Managing the scope of network services - Google Patents
Managing the scope of network services Download PDFInfo
- 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
Links
- 230000004044 response Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 38
- 230000009471 action Effects 0.000 description 18
- 238000013459 approach Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000007639 printing Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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.
添付の図面中、同様の参照符号は同様の要素を表す。
以下の説明では、説明を目的として、本発明の実施形態の完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、当業者は、本発明がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、良く知られた構造及び装置が、本発明を不必要に不明瞭にしないために、ブロック図で示される。 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
図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
スクリーン300は、ソース装置110に登録されている印刷サービスのリスト310を有する。リスト310は、ターゲット装置120のサービス122とターゲット装置130のサービス132を識別する。特に、ターゲット装置150はソース装置110とは異なるサブネット内に存在するので、リスト310は、ターゲット装置150のサービス152を含まない。
The
図2のスクリーン200に戻ると、スクリーン200は、ユーザが選択できる印刷オプションのリスト220を有する。スクリーン200は、実行ボタン230も有する。実行ボタン230は、選択されると、選択されたオプションを示す印刷ジョブを選択されたサービスに提出させる。再び、選択されるサービスは、サブネット180内で発見されるサービスに限定される。
Returning to the
図4は、同じサブネット内のネットワークサービス登録シーケンス400を示すシーケンス図である。ステップ410で、サービス132は、サービスプラットフォーム134へ登録要求を送信する。ステップ420−440で、サービスプラットフォーム134は、図示の例ではソース装置110、ソース装置120及びターゲット装置140を含むサブネット180にある装置の各サービスプラットフォームを通知する。
FIG. 4 is a sequence diagram showing a network
図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
<各サブネット内の特別に構成されたサーバを用いたサービス発見>
図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
図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
<サービスコネクタを用いたサービス発見>
図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
サブネット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
ネットワーク770は、ソース装置710とターゲット装置720−750との間のデータ交換を提供する任意の媒体又は機構により実施できる。ネットワーク770の例は、LAN(Local Area Network)、WAN(Wide Area Network)、イーサネット(登録商標)若しくはインターネットのようなネットワーク、又は1若しくは複数の地上波、衛星若しくは無線リンクを含むが、これらに限定されない。
図1に示す各装置は、サービスプラットフォームを有する。特に、ソース装置710はサービスプラットフォーム714を有し、ターゲット装置720−750は、それぞれサービスプラットフォーム724−754を有する。サービスプラットフォームは、サービスプラットフォームに「分かっている」サービスに関する情報を格納する。サービスプラットフォームは、サービス情報を同じサブネットにある他のサービスプラットフォームと共有し/に広告する。サービス情報は、各サービスのIPアドレス、各サービスのポート番号、各サービスの名称、各サービスをホストする装置の装置識別子、等を有しても良い。装置で実行するアプリケーション(例えばアプリケーション712)は、既知のサービスに関する情報を読み出すために、該装置にあるサービスプラットフォーム(例えばサ―ビスプラットフォーム714)に問い合わせることができる。
Each apparatus shown in FIG. 1 has a service platform. In particular, the
ソース装置710は、サービスコネクタ716も有する。サービスコネクタ716は、ネットワークサービスがソース装置710と同じ又は異なるサブネットにあるかに係わらず、サービスマネジャ760と通信してネットワークサービスに関する情報を読み出す。ターゲット装置720、740は、それぞれ、サービスコネクタ726、746を有する。サービスコネクタ726、746は、サービスマネジャ760と通信して、サービスマネジャ760に、サービスコネクタの個々のホストするサービス(つまり、サービス722、742)に関して通知する。サービスマネジャ760は、サービス722、742を識別するサービス情報を格納し、いずれかのサブネットからのソース装置に、いずれかのサブネット内で利用可能なネットワークサービスに関してサービスマネジャ760に問い合わせさせる。このように、各サブネット内でのネットワークサービスの発見を可能にするために、2つの特別に構成されたサーバは各サブネット内で要求されない。
一実施形態では、1又は複数のサービスコネクタ716、726、746がそれらの個々の装置にホストされたサービスを通知されると、1又は複数のサービスコネクタ716、726、746は、それらの個々のサービスプラットフォームと通信するよう構成される。このように、これらのサービスコネクタは、それらの個々のサービスプラットフォームからのサービスに関する情報を読み出し、サービスマネジャ760にそれらのホストされたサービスを通知できる。
In one embodiment, when one or
サービスコネクタ716、726、746は、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアとの任意の組合せで実装できる。サービスコネクタ716、726、746は、サービスマネジャ760の識別子を有するようハードコードされても良い。代替として、サービスコネクタ716、726、746は、サービスマネジャ760のアドレスを自動的に発見するよう構成されても良い。例えば、新しいネットワークが検出されると、サービスコネクタ716は、ネットワークを通じて、サービスマネジャ760により認識可能な一般的フォーマットに準拠する発見メッセージを送信しても良い。サービスマネジャ760は、サービスコネクタ716がサービスマネジャ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
プロトコルアクセス種類に関して、図示の例では、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
<ネットワークサービス登録>
図9は、一実施形態における、ネットワークサービスがサービスマネジャ700にどのように登録するかを示すシーケンス図である。図9はターゲット装置740を示すが、図7に示す他のターゲット装置が代わりに関与しても良い。代替で、図9は、図7」に示した各ターゲット装置に適用可能である。
<Network service registration>
FIG. 9 is a sequence diagram illustrating how a network service registers with the
ステップ910で、サービス742は、サービスプラットフォーム744へ登録要求メッセージを送信する。サービス742は、サービス742が装置で実行し始めると、自身の関連付けられたサービスプラットフォームと通信するよう構成されても良い。
In
ステップ920で、応答して、サービスプラットフォーム744は、サービスコネクタ746に、サービス742はターゲット装置740に登録されたことを通知する。サービスプラットフォーム744は、サービスプラットフォーム744がターゲット装置740にホストされた別のサービスを通知される度に、サービスコネクタ716と通信するよう構成されても良い。
In
ステップ930で、応答して、サービスコネクタ746は、サービスプラットフォーム744からサービス742に関するサービス情報を要求する。このようなサービス情報の例は、テーブル800に設けられ、例えばIPアドレス及びポート番号、サービス種類である。
In response, at
ステップ940で、サービスプラットフォーム744は、サービス742に関するサービス情報をサービスコネクタ746へ送信する。ステップ950で、サービスコネクタ746は、サービスマネジャ760に、サービスプラットフォーム744からの要求されたサービス情報を含む登録メッセージを送信する。サービスマネジャ760は、サービス情報を、テーブル800のようなテーブルに格納する。
At
一実施形態では、サービスコネクタ746は、サービスプラットフォーム740からサービス情報を受信するのに応答して、サービス情報をサービスマネジャ760へ送信する。代替で、サービスコネクタ746は、サービスマネジャ760からの要求に応答して、サービス情報をサービスマネジャ760へ送信する。例えば、サービスマネジャ760は、現在のサービス情報について、サブネット780、790内のターゲット装置に(定期的に)ポーリングしても良い。
In one embodiment,
<ネットワークサービス発見>
図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
ステップ1010で、ソース装置710にあるサービスコネクタ716は、サービス要求をサービスマネジャ760へ送信する。サービスコネクタ716は、定期的に又は特定の内部イベントに応答して、サービス要求を送信しても良い。代替で、サービス要求は、サービスマネジャ760からのメッセージ(例えば、サービスコネクタ716が予約したイベント通知)に応答して生成されても良い。
In step 1010, the
ステップ1020で、サービス要求に応答して、サービスマネジャ760は、(例えばテーブル800内の)1又は複数の登録サービスを識別し、サービスコネクタ716へ応答を送信する。一実施形態では、応答は、登録サービスについての、サービス種類、装置識別子、サービス名、IPアドレス及びポート番号、プロトコルアクセス種類、サービス範囲を有する。
In step 1020, in response to the service request,
ステップ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
<サービスプラットフォームにより保持されるサービス情報>
図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
テーブル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
しかしながら、サービス732、742に関するサービス情報は、サービス情報をテーブル1100に格納する前に、(例えばサ―ビスコネクタ716により)変更されている。テーブル1100の1番目の行はターゲット装置730によりホストされるサービス732に対応するが、装置識別子の列は、ソース装置730ではなく、ソース装置710を識別する。同様に、テーブル1100の2番目の行はターゲット装置740によりホストされるサービス742に対応するが、装置識別子の列は、ソース装置740ではなく、ソース装置710を識別する。
However, service
また、テーブル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
図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
<サービスコネクタにより保持されるサービス情報>
図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
テーブル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
一実施形態では、サービスコネクタが、テーブル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,
<別のサブネット内のサービスへのアクセス>
図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
ステップ1405で、ユーザは、アプリケーション712に、ソース装置710で印刷画面を表示する要求を示す入力を供給する。ステップ1410で、応答して、アプリケーション712は、サービスプラットフォーム714へ、現在利用可能な印刷サービスのリストについての要求を送信する。
In
ステップ1415で、応答して、サービスプラットフォーム714は、アプリケーション712へ、現在利用可能な印刷サービスのリストを返す。ステップ1415は、サービスプラットフォームがテーブル700を識別し及びテーブル700のエントリ又は行を読み出すステップを有しても良い。
In step 1415, in response, the
ステップ1420で、リストを受信するのに応答して、アプリケーション712は、印刷画面を表示させる。印刷画面は、図12に示すスクリーン1200であっても良い。
In step 1420, in response to receiving the list,
ステップ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
ステップ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
ステップ1445で、ユーザは、図2に示す実行ボタン230のような「実行」又は「印刷」ボタンを選択する。
In step 1445, the user selects an “execute” or “print” button, such as the execute
ステップ1450で、応答して、アプリケーション712は、選択されたサービス及び選択されたオプションに基づく印刷ジョブを提出する。本例では、選択されたサービスはサービス742である。サービス742は、ソース装置710が置かれたサブネットとは異なるサブネット内にあるターゲット装置740にホストされる。したがって、サービス742に関連するIPアドレスは、テーブル1300に示される127.0.0.2のようなダミーIPアドレスである。このようなダミーアドレスは、ダミーIPアドレスが格納される装置で対応するサービスが利用可能であることを示す。ステップ1450で、サービスコネクタ716は、アプリケーション712から送信された印刷ジョブを受信する。
In step 1450, in response,
ステップ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,
例えば、ターゲットサービスがサービス752である場合、サービスコネクタ716は、テーブル1300内で(印刷ジョブ内で示された)宛先IPアドレスとの一致を発見しないだろう。これは、テーブル1100内のサービス752と関連するIPアドレスが、サービス752の実際のIPアドレスであり、ダミーIPアドレスではないからである。
For example, if the target service is
ステップ1460で、サービス742は、ソース装置710から印刷ジョブを受信し、印刷ジョブを実行する。印刷ジョブの実行は、サービス742が印刷ジョブの印刷データに反映された情報で1又は複数の文書を印刷させるステップを有しても良い。
In step 1460, the
ステップ1465で、サービス742は、印刷ジョブを実行した結果を生成し、サービスコネクタ716に該結果を送信する。結果は、印刷ジョブの実行が成功したか否かの指標であっても良い。
In step 1465, the
ステップ1455で、サービスコネクタ716は、どのサービスコネクタ716が結果を期待しているかを示すサービス要求履歴データを記録しても良い。次に、ステップ1465で、サービスコネクタ716は、サービス要求履歴データに基づき、サービス742から受信した結果データがアプリケーション712により提出された印刷ジョブに対応することを決定する。
At step 1455,
代替で、ステップ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,
ステップ1470で、サービスコネクタ716は、アプリケーション712へ結果データを送信する。結果データは、テーブル1300内に示されるダミーIPアドレスを有しても良い。
In step 1470, the
ステップ1475で、アプリケーション712は、結果データ内に示された結果(例えば、成功又は失敗)をユーザに表示させる。
In step 1475, the
関連する実施形態では、ステップ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
<ネットワークサービスへのアクセス管理>
前述のように、モバイル装置及びネットワークアプリケーションは、広く用いられている。しかしながら、現在、モバイル装置から(「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
ソース装置1510及びターゲット装置1520は、同じサブネット、異なるサブネット、又は全く異なるネットワーク内に存在しても良い。
ソース装置1510は、アプリケーション1512、サービスプラットフォーム1514、及びサービスコネクタ1516を有する。ソース装置1510は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ又はスマートフォンのようなクライアント装置であっても良い。
The
ターゲット装置1520は、サービス1522、サービスプラットフォーム1524を有する。サービス1522の例は、印刷サービス、ファックスサービス、スキャンサービス、及びアーカイブサービスを有する。ターゲット装置1520の例は、プリンタ、ファックス機、スキャナ、又は1又は複数のこれらの機能を実行する多機能周辺機器を有する。
The
ネットワークサービス1530は、1又は複数の装置を有しても良い。ネットワークサービス1530は、5個の要素、つまりアプリケーション1532、ユーザ装置マネジャ1534、サービスマネジャ1536、位置マネジャ1538、ポリシマネジャ1540を有する。5個の要素の各々は、ソフトウェア、ハードウェア又はそれらの組み合わせで実施されてもよい。別個の要素として示すが、アプリケーション150、160、ユーザ装置マネジャ170、位置マネジャ180、ポリシマネジャ190は、単一のコンピュータ装置で、又は互いに通信可能に結合される2以上のコンピュータ装置で実施されても良い。
The
図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
一実施形態では、要求を送信する前に、サービスコネクタ1516は、現在位置情報及び/又はログイン情報について、ソース装置1510のコンポーネント(図示しない)に問い合わせても良い。サービスコネクタ1516からサービスマネジャ1536への要求がログイン情報を有しない場合、ログイン情報の対応する値は、「不明(Unknown)」であっても良い。土曜に、サービスコネクタ1516がソース装置1510の現在位置へのアクセスを有しない場合、サービスコネクタ1516からサービスマネジャ1536への要求は、位置情報について「不明」を示しても良い。要求は、ソース装置1510が探しているサービス種類を指定しても良い。例えば、要求は、印刷、スキャン、ファックス、アーカイブ、等を示しても良い。サービス種類が指定されない場合、デフォルトサービス種類は「任意(Any)」であっても良い。
In one embodiment, before sending the request, the
サービスコネクタ1516は、サービスコネクタ1516(又はサービス装置1510の別のコンポーネント)が新しいネットワークを検出すると、要求を開始しても良い。「新しい」ネットワークは、サービスコネクタ1516が以前に一度も検出したことのないネットワークであっても良い。代替で、「新しい」ネットワークは、以前に検出したことがないが、サービスコネクタ1516が(例えば、ネットワーク変化に応答して)今しがた検出したネットワークであっても良い。
追加で又は代替で、サービスコネクタ1516は、新しいネットワークが検出されるか否かに拘わらず、周期的に(例えば、10分毎又は毎時)要求を開始しても良い。
Additionally or alternatively,
要求は、ネットワークに存在する全ての装置へ送信されるマルチキャストメッセージの一部であっても良い。マルチキャストメッセージは、装置に、ソース装置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
追加で又は代替で、サービスコネクタ1516は、HELLOメッセージをネットワークサービス1530又はサービスマネジャ1536のようなネットワークサービス1530のコンポーネントから受信するのに応答して、要求を開始する。
Additionally or alternatively,
一実施形態では、ネットワークサービス1530のリスナプロセスは、サービスコネクタ1516から要求を受信し、どのコンポーネントへ要求を転送するかを決定しても良い。このような一実施形態では、リスナプロセスは、要求をサービスマネジャ1536へ転送する。
In one embodiment, the
ステップ1620で、要求を受信するのに応答して、サービスマネジャ1536は、位置マネジャ1538へ位置決定要求を送信する。
In
ステップ1630で、位置決定要求を受信するのに応答して、位置マネジャ1538は、ソース装置1510の位置を決定し、位置を示す位置データをサービスマネジャ1536へ返す。ソース装置1510の現在位置は、サービスコネクタ1516からの元の要求の中で示された位置情報に基づき決定されても良い。
In
代替で、ステップ1630は、位置マネジャ1538がソース装置1510(又は、より詳細には、サービスコネクタ1516)とその現在位置に関して通信するステップを有しても良い。例えば、ステップ1630は、GPS又は他の位置関連情報を位置マネジャ1538へ送信するステップを有しても良い。
Alternatively,
位置マネジャ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
ステップ1640で、位置マネジャ1538から位置データを受信するのに応答して、サービスマネジャ1536は、ポリシマネジャ1540へソース装置関連データを送信する。ソース装置関連データは、サービス種類識別子、オペレーション識別子、要求側装置(つまり、本例ではソース装置1510)の位置を示しても良い。本例では、サービス種類識別子は「印刷」である。オペレーション識別子は、サービスコネクタ1516が要求している動作の種類を識別しても良い。本例では、動作はserviceDiscovery()である。動作の他の例は、印刷機能、画像/動画ファイルの表示装置への表示、文書リストの表示を実行する動作を有しても良い。また、本例では、ソース装置関連データは、ユーザ又はグループ識別子を有しない。これは、ソース装置1510が(ラップトップ、タブレットコンピュータ又はスマートフォンのような)モバイル装置であり、ソース装置1510が以前に検出されたことがない又は登録されたことがないネットワークを検出した場合に生じ得る。
In
例えば、タブレットコンピュータを有するビジネス旅行者は、以前に入ったことがないオフィスビルに入り、そのオフィスビル内の会議室で会議を始める前に、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
<ルール情報>
図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
代替として、関連付けられた作用の実行をトリガするために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
テーブル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 ().
幾つかのルールは、特定のユーザ又はユーザグループに限定される。ユーザ/グループフィールドは、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
一実施形態では、テーブル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,
ステップ1680で、フィルタリングされたリストを受信するのに応答して、サービスコネクタ1516は、サービスプラットフォーム1514にサービスリストを送信することにより、リスト内のサービスを登録する。
In step 1680, in response to receiving the filtered list,
一実施形態では、リスト内のいずれのサービスもソース装置1510が置かれたサブネットと異なるサブネットにある場合、サービスコネクタ1516は、サービスのIPアドレスを、サ―ビスがソース装置1510にホストされていることを示すダミーアドレスで置換しても良い。
In one embodiment, if any service in the list is in a different subnet than the subnet in which
したがって、シーケンス図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
関連する実施形態では、サービスコネクタ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
フィルタセカンドアプローチでは、アプリケーション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
サービスマネジャ1536が、要求されたサービスはサービスリスト内に存在しないと決定した場合、サービスマネジャ1536は、サービス要求を要求されたサービスへ送信させない。代わりに、サービスマネジャ1536は、ソース装置1510へ、要求されたサービスが利用できないと示す応答メッセージを送信しても良い。
If the
フィルタセカンドアプローチでは、ソース装置1510がターゲット装置1520によりホストされるサービス1522についてのサービス要求を送信するとき、サービスマネジャ1536は仲介として動作しても良い。したがって、ソース装置1510からのサービス要求は、(サービスコネクタ1516を介して)サービスマネジャ1536へ向けられ、サービスマネジャ1536はサービス要求をサービス1522へ転送する。
In the filter second approach,
フィルタファーストアプローチでは、タ―ゲット装置1520がソース装置1510と同じサブネット内に存在する場合、アプリケーション1512からのサービス要求は、ネットワークサービス1530を通さずにサービス1522へ送信されても良い。代替で、ターゲット装置1520及びソース装置1510が同じサブネット内に存在する場合でも、ネットワークサービス1530は、サービスプラットフォーム1514のサービス発見範囲を変更することにより、強制的に仲介にされても良い。サービス発見範囲の変更は、サービスプラットフォームの発見動作の1又は複数の構成の変更を有する。サービスプラットフォームは、サービス発見機能を有し、デフォルトのサービス発見範囲は、ローカルサブネットであっても良い。したがって、サービスプラットフォームは、同じサブネットで動作するサービスを自動的に発見する。サービス発見範囲がローカルサブネットからローカル装置内へと変更された場合、サービスプラットフォーム1514は、ローカルサブネット内でサービス1522を発見できない。しかしながら、サービスプラットフォーム1514は、同じ装置で動作するサービスを発見できる。
In the filter first approach, if the
ターゲット装置1520がソース装置1510と異なるサブネット内に存在する場合、ネットワークサービス1530は仲介として動作し、アプリケーション1512からのサービス要求がサービスマネジャ1536へ向けられ、サービスマネジャ1536がサービス要求をサービス1522へ転送するようにしても良い。
If the
<実施メカニズム>
本発明の一実施形態によると、本願明細書に記載した技術は、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
コンピュータシステム1900は、バス1902を介して、陰極線管(CRT)のような、コンピュータユーザに情報を表示するディスプレイ1912に結合されて良い。バス1902は単一のバスとして図示されるが、バス1902は1又は複数のバスを有しても良い。例えば、バス1902は、プロセッサ1904がコンピュータシステム1900内の他の装置を制御する制御バス、プロセッサ1904が実行のために命令のメモリ位置を指定するアドレスバス、又はコンピュータシステム1900のコンポーネント菅でデータ又は信号を転送するための任意の他の種類のバスを有しても良いが、これらに限定されない。
入力装置1914は、英数字及び他のキーを有し、バス1902に結合され、プロセッサ1904に情報及びコマンド選択を伝達する。別の種類のユーザ入力装置は、マウス、トラックボール又はカーソル方向キーのようなカーソル制御1916であり、プロセッサ1904に方向情報及びコマンド選択を伝達し、ディスプレイ1912上のカーソルの移動を制御する。この入力装置は、通常、2軸、つまり第1の軸(例えばX)及び第2の軸(例えばY)における2度の自由度を有し、装置に平面内の位置を指定させる。
コンピュータシステム1900は、本願明細書に記載した技術を、カスタマイズハードワイヤードロジック、1又は複数のASIC若しくはFPGA、コンピュータシステムと組み合わせて、コンピュータシステム1900を特定用途向け機械にする若しくはプログラムするファームウェア及び/又はプログラムロジック若しくはコンピュータソフトウェアを用いて実装してもよい。本発明の一実施形態によると、これらの技術は、プロセッサ1904が主記憶1906に含まれる1又は複数の命令の1又は複数のシーケンスを実行するのに応答して、コンピュータシステム1900により実行される。このような命令は、記憶装置1910のような別のコンピュータ可読媒体から主記憶1906に読み込まれてもよい。主記憶1906に含まれる命令シーケンスの実行は、プロセッサ1904に本願明細書に記載した処理ステップを実行させる。代替の実施形態では、ハードワイヤード回路が、本発明を実施するソフトウェア命令の代わりに又はそれと組み合わせて用いられてもよい。このように、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組合せにも限定されない。
The
本願明細書で用いられる用語「コンピュータ可読媒体」は、コンピュータを特定の方法で動作させるデータを提供する際に関与する任意の媒体を表す。コンピュータシステム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
種々の形態のコンピュータ可読媒体は、実行のためにプロセッサ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
コンピュータシステム1900は、バス1902に結合された通信インタフェース1918も含む。通信インタフェース1918は、ローカルネットワーク1920に接続されるネットワークリンク1922に結合される2方向データ通信を提供する。例えば、通信インタフェース1918は、対応する種類の電話線へのデータ通信接続を提供するISDN(Integrated Services Digital Network)カード又はモデムであってもよい。別の例として、通信インタフェース1918は、互換性のあるLANへのデータ通信接続を提供するLAN(Local Area Network)カードであっても良い。無線リンクも実装されても良い。任意のこのような実装で、通信インタフェース1918は、種々の情報を表すデジタルデータストリームを伝達する電気、電磁気又は光信号を送信及び受信する。
ネットワークリンク1920は、通常、1又は複数のネットワークを通じて他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク1920は、ローカルネットワーク1922を通じてホストコンピュータ1924への又はISP(Internet Service Provider)1926により稼働されるデータ機器への接続を提供できる。ISP1926は、また、現在一般的に「インターネット」1928と称される世界的規模のパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク1922及びインターネット1928の両者は、デジタルデータストリームを伝達する電気、電磁気又は光信号を用いる。
コンピュータシステム1900は、ネットワーク、ネットワークリンク1920及び通信インタフェース1918を通じて、プログラムコードを含む、メッセージを送信し及びデータを受信できる。インターネットの例では、サーバ1930は、インターネット1928、ISP1926、ローカルネットワーク1922及び通信インタフェース1918を通じてアプリケーションプログラムのために要求されたコードを送信し得る。受信されたコードは、プロセッサ1904により受信されるとプロセッサ1904により実行され、及び/又は後に実行するために記憶装置1910若しくは他の不揮発性記憶に格納され得る。
上述の明細書では、本発明の実施形態は、実施形態毎に変化し得る多数の特定の詳細を参照し説明された。したがって本発明の、および本出願者により発明であるように意図したものの唯一の指標は、特許請求の範囲が由来する特定の形式の、いかなる今後の補正も含む本出願に由来する一組の特許請求の範囲である。したがって請求項内で明示的に記述されない限界、要素、特性、特徴、利点、または属性がこのような特許請求項の範囲を決して制限してはならない。したがって本明細書と添付図面は限定的ではなく例示的であると解釈すべきである。 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
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
1910
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に記載の方法。 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のサブネットと異なる第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の要求は、最初に前記サービスマネジャへ送信されることなく、前記ターゲット装置へ送信される、請求項3に記載の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.
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)
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)
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 |
-
2013
- 2013-12-24 JP JP2013265077A patent/JP6295643B2/en not_active Expired - Fee Related
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 |