JP2020135477A - サービス配置選定方法およびサービス配置選定プログラム - Google Patents
サービス配置選定方法およびサービス配置選定プログラム Download PDFInfo
- Publication number
- JP2020135477A JP2020135477A JP2019028789A JP2019028789A JP2020135477A JP 2020135477 A JP2020135477 A JP 2020135477A JP 2019028789 A JP2019028789 A JP 2019028789A JP 2019028789 A JP2019028789 A JP 2019028789A JP 2020135477 A JP2020135477 A JP 2020135477A
- Authority
- JP
- Japan
- Prior art keywords
- specific
- service
- value
- expected
- data
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】様々なサービスを実行するアプリケーションソフトウェア、コンピュータ、およびデバイスの組合せを選定する際に環境が大きく変動する状況でも、サービスの目的を達成できる可能性を高くしてサービスの目的を達成するまでの所要時間を短縮すること。【解決手段】通信ネットワーク上における特定アプリx、特定デバイスzの組合せに関するデータ有効度期待値J(x,z)を算出し、このデータ有効度期待値および特定コンピュータyをパラメータとして含む評価値F(x,y,z)を計算し、その結果に基づき適切な組合せ(x,y,z)を選定する。実績データからデータ有効度期待値を算出する。古いデータと新しいデータに重み付けしてデータ有効度期待値を算出する。特定アプリxと類似した他のアプリの実績値も利用してデータ有効度期待値を算出する。【選択図】図7
Description
本発明は、通信ネットワーク上でユーザ端末などに対して様々なサービスを提供するために利用可能なサービス配置選定方法およびサービス配置選定プログラムに関する。
例えば、特許文献1の図1に示されたライブデータ検索システムは、リソース検索装置と、複数のサーバと、複数のリソースと、複数のルータとを備えている。ここで、複数のリソースのそれぞれは、カメラ、マイク、ウェアラブル端末などのようにライブデータを出力可能なデバイスに相当する。また、リソース検索装置は、通信可能に接続されているユーザ端末に対して複数のリソースを用いた所定のサービスを提供するための機能を有する。
また、特許文献1の段落0022に記載されているように、リソース検索装置は、ユーザ端末からリソース検索要求を受信すると、複数のサーバの少なくとも1つに検索プログラムを配置する。サーバは、検索プログラムに従い、サーバ自身と同じ個別ネットワークに配置されているリソースからライブデータを収集する。サーバは、収集したライブデータを解析し、解析結果をリソース検索装置に送信する。
特許文献1は、複数のネットワークに接続されているリソースを用いて実現するサービスを利用するユーザ端末に送信する情報のリアルタイム性を向上させるための技術を示している。具体的には、リソース検索装置が、複数のネットワークの各々に配置されているサーバの位置情報を記憶しており、ユーザ端末からリソース検索要求を取得し、取得したリソース検索要求に含まれる位置情報に対応するサーバを特定する。また、リソース検索要求に含まれる検索プログラムを、特定したサーバに配置し、検索プログラムが配置されたサーバから、当該サーバが配置されているネットワークに配置されているリソースが配信するライブデータを収集し、リソース検索要求に含まれる検索対象の認識の一致度が所定値以上となるライブデータを配信するリソースを検索し、検索したリソースへのアクセス情報をユーザ端末に送信する。
特許文献1に示されたようなネットワークシステムにおいては、ユーザなどの要求に対して、ネットワーク上の様々な位置に配置されたサーバなどの複数のコンピュータを用いて、検索機能を有するアプリケーションソフトウェアを実行できる。また、ネットワーク上の様々な位置に配置された複数のデバイスをデータ発生源として利用できる。
しかしながら、実際にアプリケーションソフトウェアを実行する特定のコンピュータと、データ発生源として使用するデバイスとの距離が大きく離れている場合には、このサービスによってネットワーク上を通過するパケットなどのトラヒックが増大し、ネットワークの負荷が大きくなる。
また、例えば既に稼働率が高くなっている状態の特定のコンピュータを選択して、このコンピュータで目的のアプリケーションソフトウェアを更に実行させる場合には、該当するアプリケーションソフトウェアが目的の処理を完了するまでの所要時間が長くなる。
また、例えば複数のデバイスの中から選択した特定デバイスの出力する情報の種類や特性が、目的の検索サービスの実行に対してあまり有効でない場合には、特定デバイスから得られた情報を解析しても要求されたサービスの目的を達成できない可能性が高い。その場合は、アプリケーションが終了した後で、特定デバイスの選択を変更して、再び情報の取得と解析とを行う必要がある。そのため、サービスの目的を達成するまでの所要時間が長くなり、通信ネットワークの負荷やコンピュータの負荷も大きくなる。
また、ネットワーク上に接続されている各デバイスが出力する情報の種類や特性については、例えば、時間帯の違い、曜日の違い、デバイス自体の移動に伴う位置の変化などに伴って日常的に大きく変動する可能性が高い。したがって、例えばサービスの目的毎に、有効なデータを出力可能な適切なデバイスを、特定デバイスとして事前に決めておくことはできない。
本発明は、上記の状況に鑑みてなされたものであり、様々なサービスを実行する際のアプリケーションソフトウェア、コンピュータ、およびデバイスの組合せを選定するにあたり、環境が大きく変動する状況においても、サービスの目的を達成できる可能性が高く、サービスの目的を達成するまでの所要時間を短縮するための適正化が可能な、サービス配置選定方法およびサービス配置選定プログラムを提供することを目的とする。
(1)少なくともデータ出力が可能な複数のIoTデバイスと、前記各IoTデバイスの出力データを扱う複数のアプリケーションソフトウェアの実行が可能な複数のコンピュータとが、それぞれ所定の通信ネットワークを介して互いに異なる位置で接続されている環境下で、
新たなアプリケーションソフトウェアを特定アプリxとして起動しようとする際に、前記特定アプリxと、前記複数のコンピュータの中から選択される1つの特定コンピュータyと、前記複数のIoTデバイスの中から選択される1つ以上の特定デバイスzとの適正化された組合せを決定するためのサービス配置選定方法であって、
前記特定アプリxと、前記特定デバイスzとの組合せに関するデータ有効度期待値J(x,z)を算出し、
少なくとも前記データ有効度期待値J(x,z)と、前記特定コンピュータyとをパラメータとして含む評価値F(x,y,z)を計算し、
前記評価値F(x,y,z)を利用して、前記特定アプリx、前記特定コンピュータy、および前記特定デバイスzの組合せを選定する、
ことを特徴とする。
新たなアプリケーションソフトウェアを特定アプリxとして起動しようとする際に、前記特定アプリxと、前記複数のコンピュータの中から選択される1つの特定コンピュータyと、前記複数のIoTデバイスの中から選択される1つ以上の特定デバイスzとの適正化された組合せを決定するためのサービス配置選定方法であって、
前記特定アプリxと、前記特定デバイスzとの組合せに関するデータ有効度期待値J(x,z)を算出し、
少なくとも前記データ有効度期待値J(x,z)と、前記特定コンピュータyとをパラメータとして含む評価値F(x,y,z)を計算し、
前記評価値F(x,y,z)を利用して、前記特定アプリx、前記特定コンピュータy、および前記特定デバイスzの組合せを選定する、
ことを特徴とする。
このサービス配置選定方法によれば、前記データ有効度期待値J(x,z)を算出し、これを評価した結果を選定に反映するので、前記特定アプリxと前記特定デバイスzとを組合せてサービスを実行する場合に、サービスの目的を短時間で達成できる可能性が高まる。また、前記特定デバイスzを変更してサービスを繰り返し実行する可能性も小さくなる。また、前記評価値F(x,y,z)で特定コンピュータyも評価するので、例えば負荷の小さいコンピュータを選択することにより、サービスの処理完了までにかかる時間の短縮が可能になる。
(2)上記(1)に記載のサービス配置選定方法において、
前記複数のアプリケーションソフトウェアのそれぞれについて、そのサービス実行結果を表す実績データを前記各IoTデバイス毎に保存して管理し、
前記データ有効度期待値J(x,z)を、前記実績データに基づいて算出する、
ことを特徴とする。
前記複数のアプリケーションソフトウェアのそれぞれについて、そのサービス実行結果を表す実績データを前記各IoTデバイス毎に保存して管理し、
前記データ有効度期待値J(x,z)を、前記実績データに基づいて算出する、
ことを特徴とする。
上記(2)のサービス配置選定方法によれば、アプリケーションソフトウェア毎に、過去に実施したサービスにおけるIoTデバイス毎の実績データが得られるので、前記特定アプリxと、前記特定デバイスzとの組合せにおける実績データを用いて、前記データ有効度期待値J(x,z)を正しく評価することが可能になる。すなわち、前記特定アプリxと前記特定デバイスzとを組合せてサービスを実行する場合に、前記特定デバイスzの出力するデータが、本サービスの目的を達成するために有効であるかどうかを、過去の実績データに基づき正しく評価できる。
(3)上記(2)に記載のサービス配置選定方法において、
前記実績データとして、取得した時点が古い第1の実績データと、取得した時点が新しい第2の実績データとをそれぞれ保存して管理し、
前記第1の実績データと前記第2の実績データとにそれぞれ重み付けを行って前記データ有効度期待値J(x,z)を算出する、
ことを特徴とする。
前記実績データとして、取得した時点が古い第1の実績データと、取得した時点が新しい第2の実績データとをそれぞれ保存して管理し、
前記第1の実績データと前記第2の実績データとにそれぞれ重み付けを行って前記データ有効度期待値J(x,z)を算出する、
ことを特徴とする。
このサービス配置選定方法によれば、前記第1の実績データと前記第2の実績データとにそれぞれ重み付けを行って前記データ有効度期待値J(x,z)を算出するので、より精度の高い評価を行うことが可能になる。例えば、古くなった前記第1の実績データは、環境変動の影響による誤差が大きい可能性があるが、例えば平均化したり、重みを小さくすることにより、前記データ有効度期待値J(x,z)を正しく算出するために役立てることができる。また、時間的に新しい前記第2の実績データは、有効なデータ数が少ない可能性があるが、環境変動の影響による誤差が小さいので、重みを大きくすることにより前記データ有効度期待値J(x,z)を正しく算出するために役立つ。
(4)上記(2)に記載のサービス配置選定方法において、
前記実績データとして、前記特定アプリxおよび前記特定デバイスzの組合せに対して検出された第3の実績データと、前記特定アプリxと類似性のある第2の特定アプリと前記特定デバイスzとの組合せに対して検出された第4の実績データとをそれぞれ取得し、
前記第3の実績データおよび前記第4の実績データに基づいて前記データ有効度期待値J(x,z)を算出する、
ことを特徴とする。
前記実績データとして、前記特定アプリxおよび前記特定デバイスzの組合せに対して検出された第3の実績データと、前記特定アプリxと類似性のある第2の特定アプリと前記特定デバイスzとの組合せに対して検出された第4の実績データとをそれぞれ取得し、
前記第3の実績データおよび前記第4の実績データに基づいて前記データ有効度期待値J(x,z)を算出する、
ことを特徴とする。
このサービス配置選定方法によれば、例えば前記特定アプリxおよび前記特定デバイスzの組合せに対して検出された前記第3の実績データが全く存在しない場合でも、サービスの特性における前記特定アプリxとの類似性を考慮して、前記第2の特定アプリを抽出し、前記第4の実績データを得ることができる。したがって、前記第4の実績データを利用して前記データ有効度期待値J(x,z)を算出できる。
(5)上記(1)に記載のサービス配置選定方法において、
選定した前記特定アプリxを起動した後で、前記特定アプリxがサービスの目的を達成できなかった場合には、前記データ有効度期待値J(x,z)の算出、および前記評価値F(x,y,z)の算出を周期的に繰り返し、前記特定デバイスzの選定の見直しを実施する、
ことを特徴とする。
選定した前記特定アプリxを起動した後で、前記特定アプリxがサービスの目的を達成できなかった場合には、前記データ有効度期待値J(x,z)の算出、および前記評価値F(x,y,z)の算出を周期的に繰り返し、前記特定デバイスzの選定の見直しを実施する、
ことを特徴とする。
このサービス配置選定方法によれば、前記特定アプリxがサービスの目的を達成できなかった場合に、より適切な組合せの前記特定デバイスzを選定することが可能になる。例えば、時間の経過や各デバイスの移動に伴って、前記データ有効度期待値J(x,z)を算出する場合の条件が変化することが想定される。したがって、ある程度時間が経過した場合には、前記特定デバイスzの選定を見直すことにより、サービスの目的を達成するまでの所要時間を短縮できる。
(6)上記(1)に記載のサービス配置選定方法において、
前記特定アプリxが、前記特定コンピュータy、および前記特定デバイスzの組合せでサービスを実施する場合に予想される処理時間増加量期待値G(x,y,z)を、前記データ有効度期待値J(x,z)に基づいて算出し、
前記特定アプリxが、前記特定コンピュータy、および前記特定デバイスzの組合せでサービスを実施する場合に予想されるトラヒック増加量期待値H(x,y,z)を算出し、
前記処理時間増加量期待値G(x,y,z)および前記トラヒック増加量期待値H(x,y,z)に重み付けをして前記評価値F(x,y,z)を算出する、
ことを特徴とする。
前記特定アプリxが、前記特定コンピュータy、および前記特定デバイスzの組合せでサービスを実施する場合に予想される処理時間増加量期待値G(x,y,z)を、前記データ有効度期待値J(x,z)に基づいて算出し、
前記特定アプリxが、前記特定コンピュータy、および前記特定デバイスzの組合せでサービスを実施する場合に予想されるトラヒック増加量期待値H(x,y,z)を算出し、
前記処理時間増加量期待値G(x,y,z)および前記トラヒック増加量期待値H(x,y,z)に重み付けをして前記評価値F(x,y,z)を算出する、
ことを特徴とする。
このサービス配置選定方法によれば、前記データ有効度期待値J(x,z)に基づいて予想される処理時間の増加量を評価することが可能になる。また、例えば前記特定アプリxが配置される前記特定コンピュータyと、前記特定デバイスzとの距離の長短を考慮して、予想されるトラヒック増加量を評価することができる。したがって、予想される処理時間の増加量が少なく、しかも予想されるトラヒック増加量が小さい組合せを、前記評価値F(x,y,z)を用いて選定できる。
(7)上記(1)に記載のサービス配置選定方法において、
選定した組合せにおける前記特定アプリxが、前記特定コンピュータy上に存在しない場合には、所定のサーバから前記特定コンピュータy上に前記特定アプリxを配信する、
ことを特徴とする。
選定した組合せにおける前記特定アプリxが、前記特定コンピュータy上に存在しない場合には、所定のサーバから前記特定コンピュータy上に前記特定アプリxを配信する、
ことを特徴とする。
このサービス配置選定方法によれば、前記特定アプリxを必要な時に前記特定コンピュータy上に配信できるので、様々なアプリケーションソフトウェアをそれぞれのコンピュータ上に常時配置しておく必要がない。したがって、限られたコンピュータ資源を有効に活用できる。
(8)少なくともデータ出力が可能な複数のIoTデバイスと、前記各IoTデバイスの出力データを扱う複数のアプリケーションソフトウェアの実行が可能な複数のコンピュータとが、それぞれ所定の通信ネットワークを介して互いに異なる位置で接続されている環境下で、新たなアプリケーションソフトウェアを特定アプリxとして起動しようとする際に、前記特定アプリxと、前記複数のコンピュータの中から選択される1つの特定コンピュータyと、前記複数のIoTデバイスの中から選択される1つ以上の特定デバイスzとの適正化された組合せを決定するための、所定のコンピュータで実行可能なサービス配置選定プログラムであって、
前記特定アプリxと、前記特定デバイスzとの組合せに関するデータ有効度期待値J(x,z)を算出する手順と、
少なくとも前記データ有効度期待値J(x,z)と、前記特定コンピュータyとをパラメータとして含む評価値F(x,y,z)を計算する手順と、
前記評価値F(x,y,z)を利用して、前記特定アプリx、前記特定コンピュータy、および前記特定デバイスzの組合せを選定する手順と、
を有することを特徴とする。
前記特定アプリxと、前記特定デバイスzとの組合せに関するデータ有効度期待値J(x,z)を算出する手順と、
少なくとも前記データ有効度期待値J(x,z)と、前記特定コンピュータyとをパラメータとして含む評価値F(x,y,z)を計算する手順と、
前記評価値F(x,y,z)を利用して、前記特定アプリx、前記特定コンピュータy、および前記特定デバイスzの組合せを選定する手順と、
を有することを特徴とする。
このサービス配置選定プログラムを所定のコンピュータで実行する場合には、前記データ有効度期待値J(x,z)を算出し、これを評価した結果を選定に反映するので、前記特定アプリxと前記特定デバイスzとを組合せてサービスを実行する場合に、サービスの目的を短時間で達成できる可能性が高まる。また、前記特定デバイスzを変更してサービスを繰り返し実行する可能性も小さくなる。また、前記評価値F(x,y,z)で特定コンピュータyも評価するので、例えば負荷の小さいコンピュータを選択することにより、サービスの処理完了までにかかる時間の短縮が可能になる。
本発明のサービス配置選定方法およびサービス配置選定プログラムによれば、様々なサービスを実行する際のアプリケーションソフトウェア、コンピュータ、およびデバイスの組合せを選定するにあたり、環境が大きく変動する状況においても、サービスの目的を達成できる可能性が高く、サービスの目的を達成するまでの所要時間を短縮するための適正化が可能になる。
本発明の実施形態について各図を参照しながら以下に説明する。
<通信システムの構成例>
本発明が適用される通信システムの構成例を図1に示す。
図1に示した例では、通信ネットワークNWを介して、ネットワークサービス管理装置10、複数のユーザ端末21、22、23、および24、複数の物理マシンリソース31、32、および33、複数の物理デバイスリソース41、42、および43が通信可能な状態で接続されている。
<通信システムの構成例>
本発明が適用される通信システムの構成例を図1に示す。
図1に示した例では、通信ネットワークNWを介して、ネットワークサービス管理装置10、複数のユーザ端末21、22、23、および24、複数の物理マシンリソース31、32、および33、複数の物理デバイスリソース41、42、および43が通信可能な状態で接続されている。
通信ネットワークNWとしては、例えばインターネットが想定される。したがって、物理デバイスリソース41〜43は、生成したデータをインターネットに送出可能なIoT(Internet of Things)デバイスとして利用できる。
各ユーザ端末21〜23を操作するユーザ、あるいは図示しないポータルサイトのサーバは、必要に応じて、様々なネットワークサービスの実施を要求することができる。想定されるネットワークサービスの具体例としては、次の(1)〜(3)に示すものが考えられる。
(1)東京などある地域における女子高生100人のファッションチェックを行う。
(2)特定の迷子猫の行方を探す。
(3)猫のよく居る場所を探す。
(1)東京などある地域における女子高生100人のファッションチェックを行う。
(2)特定の迷子猫の行方を探す。
(3)猫のよく居る場所を探す。
各ユーザやポータルサイトからのサービス要求は、例えばネットワークサービス管理装置10によって受け付けられ、これにより該当するネットワークサービスが実行される。そして、ネットワークサービスの実行結果を表す情報が要求元に提供される。
各物理マシンリソース31〜33は、それぞれ様々な場所で通信ネットワークNWに接続されているコンピュータやサーバに相当する。つまり、各物理マシンリソース31〜33は、CPU(Central Processing Unit)コア、メモリ、ストレージのような計算機リソースを必要に応じて提供可能な物理装置である。
前述のネットワークサービスを実施する場合には、各物理マシンリソース31〜33のいずれか1つ、又は複数を同時に用いて、該当するサービスに対応したアプリケーションソフトウェアを実行することにより実現できる。
各アプリケーションソフトウェアは、様々な場所に配置されている様々な種類の物理デバイスリソース41〜43のそれぞれを必要に応じて選択し、選択した物理デバイスリソース41〜43からデータを取得して分析する。これにより、各アプリケーションソフトウェアは、サービスの目的を達成することが可能である。
物理デバイスリソース41の具体例としては、特定の場所に設置されたカメラ、車両などに搭載された移動カメラ、様々な人物が所持している携帯型のカメラなどが想定される。また、物理デバイスリソース42の具体例としては、特定の場所に設置された温度計、車両などに搭載された移動温度計、様々な人物が所持している携帯型の温度計などが想定される。また、物理デバイスリソース43の具体例としては、特定の場所に設置された固定マイク、車両などに搭載された移動マイク、様々な人物が所持している携帯型のマイクなどが想定される。
したがって、あるネットワークサービスを実行する場合、ネットワークサービス管理装置10は、該当するサービスを実行可能な特定のアプリケーションソフトウェアを選択する。また、ネットワークサービス管理装置10は、前記特定のアプリケーションソフトウェアを実際に実行するマシンを、利用可能な物理マシンリソース31〜33の中から選択する。また、ネットワークサービス管理装置10は、前記特定のアプリケーションソフトウェアが使用するデータを提供する特定デバイスを、利用可能な物理デバイスリソース41〜43の中から選択する。また、選択したマシン上に該当するアプリケーションソフトウェアが存在しない場合、ネットワークサービス管理装置10は、所定のサーバから該当するマシンに対して、該当するアプリケーションソフトウェアを転送してその場所にアプリケーションソフトウェアを配置する必要がある。
<サービス配置の説明>
図1に示した通信システムのような環境においては、実際にネットワークサービスを実行する際に、特定のアプリケーションソフトウェアx、該当するアプリケーションソフトウェアを実行する計算機リソースが存在する特定マシンy、および該当するアプリケーションソフトウェアが使用する特定デバイスzの組合せ(x,y,z)がいろいろと考えられる。
図1に示した通信システムのような環境においては、実際にネットワークサービスを実行する際に、特定のアプリケーションソフトウェアx、該当するアプリケーションソフトウェアを実行する計算機リソースが存在する特定マシンy、および該当するアプリケーションソフトウェアが使用する特定デバイスzの組合せ(x,y,z)がいろいろと考えられる。
しかし、実際に特定のアプリケーションソフトウェアxを実行する特定マシンyと、データ発生源として使用する特定デバイスzとの距離が大きく離れている場合には、このサービスによって通信ネットワークNW上を通過するパケットなどのトラヒックが増大し、ネットワークの負荷が大きくなる。したがって、特定マシンyと特定デバイスzとの位置関係を考慮することは非常に重要である。
また、例えば既に稼働率が高くなっている状態の特定マシンyの計算機リソースを選択して、この計算機リソースで特定のアプリケーションソフトウェアxを更に実行させる場合には、該当する特定のアプリケーションソフトウェアxが目的の処理を完了するまでの所要時間が長くなる。したがって、選択対象の特定マシンyにおける計算機リソースの負荷などを考慮することは非常に重要である。
また、複数のデバイスの中から選択した特定デバイスzの出力する情報の種類や特性が、目的の検索サービスの実行に対してあまり有効でない場合には、特定デバイスzから得られた情報を解析しても要求されたサービスの目的を達成できない可能性が高い。その場合は、アプリケーションが終了した後で、特定デバイスzの選択を変更して、再び情報の取得と解析とを行う必要がある。そのため、サービスの目的を達成するまでの所要時間が長くなり、通信ネットワークNWの負荷やコンピュータの負荷も大きくなる。したがって、選択対象の特定デバイスzが適切かどうかを考慮することは非常に重要である。
しかし、通信ネットワークNW上に接続されている各物理デバイスリソース41〜43が出力する情報の種類や特性については、例えば、時間帯の違い、曜日の違い、デバイス自体の移動に伴う位置の変化などに伴って日常的に大きく変動する可能性が高い。したがって、例えばサービスの目的毎に、有効なデータを出力可能な適切なデバイスを、特定デバイスzとして事前に決めておくことはできない。
図1に示したネットワークサービス管理装置10は、例えば通信ネットワークNW上で新たにサービスを実行する特定のアプリケーションソフトウェアxを追加しようとする場合に、前記組合せ(x,y,z)を適正化するために役立つ機能を特徴的な機能として具備している。この機能は、必要に応じて、或いは周期的に繰り返し実施することが想定される。また、通信ネットワークNW上で実行するアプリケーションソフトウェアの種類や数は、例えばユーザ数の増減や、ネットワークなどの負荷の増減に応じて適宜増減することが想定される。
<ネットワークサービス管理装置の機能の概要>
本発明を実施するネットワークサービス管理装置10の機能の概要を図2に示す。
図2に示したネットワークサービス管理装置10は、主要な機能として、サービス開始判断部11、ロケーション判断部12、APL(アプリケーションソフトウェア)制御部13、DB(データベース)管理部14、およびAPLサーバ15を備えている。
本発明を実施するネットワークサービス管理装置10の機能の概要を図2に示す。
図2に示したネットワークサービス管理装置10は、主要な機能として、サービス開始判断部11、ロケーション判断部12、APL(アプリケーションソフトウェア)制御部13、DB(データベース)管理部14、およびAPLサーバ15を備えている。
なお、上記各機能は、実際には所定のコンピュータ上に配置される1つ又は複数の管理用のアプリケーションソフトウェアの実行により実現する。勿論、各機能を専用のハードウェアで実現することも可能である。
サービス開始判断部11は、サービス要求元70から入力されるサービスリクエスト情報71に基づき、サービスの開始および終了の判断を実施する。また、サービス開始判断部11はロケーション判断部12に計算指示11aを与え、APL制御部13に終了指示11bを与える。
DB管理部14は、ネットワークサービス管理装置10が利用可能なデータベースであるAPL使用情報DB50、および設備情報DB60のデータをそれぞれ管理している。また、DB管理部14は各APLの動作結果の履歴を保存したり、各マシンの情報を収集して各データベースの内容を更新するための管理を行う。
ロケーション判断部12は、入力される計算指示11aに従い、適切なロケーションの判断を実施する。すなわち、目的のサービスを実施するために必要な特定APLxと、互いにロケーションが異なる複数の物理マシンリソース31〜33の中から選択した特定マシンyと、互いにロケーションが異なる複数の物理デバイスリソース41〜43の中から選択した特定デバイスzとの組合せを適切に決定する。また、適切な組合せを決定するために、ロケーション判断部12はDB管理部14を介してAPL使用情報DB50および設備情報DB60の内容を参照する。ロケーション判断部12は、決定した組合せの特定マシンyおよび特定デバイスzをそれぞれ特定するロケーションの情報12aをAPL制御部13へ与える。
APL制御部13は、ロケーション判断部12の決定に従い、指示された特定APLxを、APLサーバ15を利用して通信ネットワークNW上の特定マシンy宛てに配信したり、特定APLxを特定マシンy上で実行するための管理を実施する。
APLサーバ15は、様々なAPL自体の情報、すなわち様々な実行可能なプログラムおよびそれが扱うデータの組合せを保持し、APL制御部13の指示に従って選択された特定マシンyへ特定APLxを配信する。
図2に示した例では、APL使用情報DB50は過去実績データ51および直近データリスト52を含んでいる。また、設備情報DB60はマシンテーブル61、デバイステーブル62、およびロケーションテーブル63を含んでいる。ロケーションテーブル63の中には、各マシンのネットワーク上の場所、および各デバイスのネットワーク上の場所を表すデータが含まれている。
<マシンテーブルの構成例>
マシンテーブル61の構成例を図3に示す。
図3に示したマシンテーブル61は、複数のマシン、すなわちコンピュータのそれぞれについて、マシンを特定する情報61a、CPUコア数61b、メモリ容量情報61c、ストレージ容量情報61d、CPU使用率情報61e、およびメモリ使用率情報61をそれぞれ保持する領域を有している。
マシンテーブル61の構成例を図3に示す。
図3に示したマシンテーブル61は、複数のマシン、すなわちコンピュータのそれぞれについて、マシンを特定する情報61a、CPUコア数61b、メモリ容量情報61c、ストレージ容量情報61d、CPU使用率情報61e、およびメモリ使用率情報61をそれぞれ保持する領域を有している。
したがって、図3のマシンテーブル61を参照することにより、ネットワークサービス管理装置10は、マシン毎の処理能力、CPUおよびメモリの使用率、および残りの処理能力を把握できる。また、各マシン、例えば図1中の物理デバイスリソース41〜43の所在を表すロケーション情報については、図2中に示したロケーションテーブル63から取得できる。
<デバイステーブルの構成例>
デバイステーブル62の構成例を図4に示す。
図4に示したデバイステーブル62は、複数のデバイスのそれぞれについて、デバイスを特定する情報62a、およびデバイスの種別を表す情報62bを保持する領域を有している。
デバイステーブル62の構成例を図4に示す。
図4に示したデバイステーブル62は、複数のデバイスのそれぞれについて、デバイスを特定する情報62a、およびデバイスの種別を表す情報62bを保持する領域を有している。
したがって、図4のデバイステーブル62を参照することにより、ネットワークサービス管理装置10は、各デバイスから得られるデータの種別を把握できる。また、各デバイス、例えば図1中の物理デバイスリソース41〜43の所在を表すロケーション情報については、図2中に示したロケーションテーブル63から取得できる。
<APL使用情報DBの構成例>
APL使用情報DB50の構成例を図5に示す。
図5に示したAPL使用情報DB50は、1番目、2番目、および3番目のそれぞれのアプリケーションソフトウェアAPL1、APL2、およびAPL3に対応する独立したAPLテーブル50a、50b、および50cを備えている。
APL使用情報DB50の構成例を図5に示す。
図5に示したAPL使用情報DB50は、1番目、2番目、および3番目のそれぞれのアプリケーションソフトウェアAPL1、APL2、およびAPL3に対応する独立したAPLテーブル50a、50b、および50cを備えている。
各APLテーブル50a〜50cは、当該APLの過去実績値(第1の実績データ)51a、過去実行時間累計値51b、アプリケーション現在値の直近データリスト(記第2の実績データ)52、およびリソース使用情報53のデータをデバイス毎に個別に保持する領域を有している。
当該APLの過去実績値51aおよび直近データリスト52は、当該APLを実行した際のサービスの結果として得られた実績値を反映している。また、当該APLの過去実績値51aの内容は、過去の多数の実績値を平均化して得られた平均値を表している。また、直近データリスト52の内容は、比較的新しいデータであって、直近の6回分のサービスの実績値の一覧を表している。
ネットワークサービス管理装置10が管理している各APLについては、例えば検索サービス、特定のパターンを認識して抽出するサービスのように、サービスの実行結果として、ある目的を達成できたかどうかを把握できる種類のものを想定している。したがって、各サービスを実行すると、その結果として実績値が得られる。あるいは、サービスを開始してから目的を達成するまでにかかった所要時間の長さを実績値として管理することも考えられる。
過去実行時間累計値51bは、当該APLおよび当該デバイスの組合せで過去にサービスを実行した時間の累計値を表している。例えば、図5のAPLテーブル50cにおいて、アプリケーションソフトウェアAPL3、および「デバイス1」の組合せのサービスが累計で「50日間・12時間・35分間」だけ過去に使用されたことが示されている。
リソース使用情報53の内容は、当該APLおよび当該デバイスの組合せで過去にサービスを実行した際の、直近実行日、および実行開始から終了までの時間帯を表している。つまり、当該APLの実行により、このサービスがマシンおよびネットワークのリソースを消費していた日時をこの情報から知ることができる。
例えば、図5のAPLテーブル50cにおいて、アプリケーションソフトウェアAPL3、および「デバイス2」の組合せのサービスは、「2018/12/4」の日付で、「14:00〜14:05」の5分間だけ使用されたことが示されている。なお、図5のAPLテーブル50cにおいて、アプリケーションソフトウェアAPL3、および「デバイス1」の組合せにおけるリソース使用情報53の内容に示されている「13:00〜Now」の「Now」は、当該サービスを現在も実行中であることを表している。
<ネットワークサービス管理装置10の動作の概要>
リクエスト送信部75およびサービス開始判断部11の動作の概要を図6に示す。なお、リクエスト送信部75はサービス要求元70となるユーザ端末21〜24や、ポータルサイトを提供するサーバに相当する。また、ロケーション判断部12、APL制御部13、およびDB管理部14の動作の概要を図7に示す。
リクエスト送信部75およびサービス開始判断部11の動作の概要を図6に示す。なお、リクエスト送信部75はサービス要求元70となるユーザ端末21〜24や、ポータルサイトを提供するサーバに相当する。また、ロケーション判断部12、APL制御部13、およびDB管理部14の動作の概要を図7に示す。
図6、図7に示した動作について以下に説明する。
リクエスト送信部75がステップS11でサービス開始の要求をすると、情報i01がリクエスト送信部75からサービス開始判断部11に入力される。サービス開始判断部11は、入力された情報i01に従い、ステップS21でサービス開始の判断を実行する。その結果としてサービスを開始する場合には、サービス開始判断部11が情報i02をロケーション判断部12に送る。
リクエスト送信部75がステップS11でサービス開始の要求をすると、情報i01がリクエスト送信部75からサービス開始判断部11に入力される。サービス開始判断部11は、入力された情報i01に従い、ステップS21でサービス開始の判断を実行する。その結果としてサービスを開始する場合には、サービス開始判断部11が情報i02をロケーション判断部12に送る。
ロケーション判断部12は、入力された情報i02をサービス開始の指示とみなしてステップS31以降の処理を実行する。ステップS31では、ロケーション判断部12からDB管理部14に情報i05を送り、ロケーションの判断に必要な情報の問い合わせを実施する。具体的には、以下の情報i31a〜i31dを問い合わせする。
i31a:設備情報DB60の該当する内容。
i31b:リソース使用情報53。
i31c:他APLの実行結果を表す最新の実績値、つまり直近データリスト52の最後尾の内容。
i31d:当該APLの過去実績値51a、つまり過去実績の平均値。
i31a:設備情報DB60の該当する内容。
i31b:リソース使用情報53。
i31c:他APLの実行結果を表す最新の実績値、つまり直近データリスト52の最後尾の内容。
i31d:当該APLの過去実績値51a、つまり過去実績の平均値。
DB管理部14は、情報i05で問い合わせのあった各情報をステップS51でAPL使用情報DB50および設備情報DB60から取得し、これらを情報i06としてロケーション判断部12に返す。
ロケーション判断部12は、問い合わせの結果を情報i06として受信すると、取得した情報に基づいてステップS32で「サービス期待値」を算出する。この「サービス期待値」の具体例については後で説明する。
ロケーション判断部12は、該当する特定APLx、候補となる各特定マシンy、および候補となる各特定デバイスzの組合せ(x,y,z)のそれぞれを評価するために、ステップS33で配信スコアF(x,y,z)を組合せ毎に算出する。この配信スコアF(x,y,z)は、上記ステップS32で得られる「サービス期待値」をパラメータとして含むものである。配信スコアF(x,y,z)の具体例については後で説明する。
また、ロケーション判断部12はS33で得られた組合せ毎の配信スコアF(x,y,z)をステップS34で比較して、配信スコアF(x,y,z)が上位のいくつかの組合せ(x,y,z)を選択し抽出する。
また、ロケーション判断部12はS33で得られた組合せ毎の配信スコアF(x,y,z)をステップS34で比較して、配信スコアF(x,y,z)が上位のいくつかの組合せ(x,y,z)を選択し抽出する。
ロケーション判断部12は、ステップS34で抽出したいくつかの組合せ(x,y,z)のそれぞれについて、該当する特定APLxの現在の状況をステップS35で調査する。つまり、特定マシンy上で特定デバイスzを使う特定APLxが実行されているか否かや、特定APLxが特定マシンy上に存在するか否かなどを、APL使用情報DB50および設備情報DB60の内容に基づいて識別する。
特定マシンy上で特定デバイスzを使う特定APLxがまだ実行されていない場合は、ロケーション判断部12はステップS36からS37の処理に進み、特定APLxのサービス開始を情報i07でAPL制御部13へ指示する。また、特定マシンy上に特定APLxが存在しない場合は、ステップS37で特定APLxの配信も指示する。
APL制御部13は、受信した情報i07で指示された組合せ(x,y,z)に従い、該当する特定APLx自体を、ステップS41でAPLサーバ15から特定マシンy上に配信する。なお、同じ特定APLxが既に特定マシンy上に存在する場合にはその配信は省略する。
また、APL制御部13は、配信した特定APLxの実行開始をステップS42で特定マシンyに対して指示する。
また、APL制御部13は、配信した特定APLxの実行開始をステップS42で特定マシンyに対して指示する。
APL制御部13は、ステップS43で特定APLxの実行結果を管理する。すなわち、特定APLxがサービスの結果として出力する実績値などの情報を取得する。また、APL制御部13は、ステップS44で特定APLxがサービスの結果として出力した情報に基づいて、APL使用情報DB50の該当する内容が更新されるように、情報i08でDB管理部14に指示を与える。また、APL制御部13は特定APLxのサービスの結果を情報i09によりサービス開始判断部11に通知する。
DB管理部14は、受信した情報i08に従い、ステップS52でAPL使用情報DB50の過去実績データ51および直近データリスト52の内容を更新する。また、DB管理部14はステップS53で設備情報DB60の内容、およびリソース使用情報53の内容を例えば定期的に更新する。
一方、サービス開始判断部11は、ステップS21で情報i02を送信した後、ステップS22で該当するサービス(アプリケーションソフトウェア)の終了を待つ。該当するサービス(アプリケーションソフトウェア)が終了すると、APL制御部13から情報i09が入力されるので、これに従いサービス開始判断部11の処理はステップS22からS23に進む。
サービス開始判断部11は、ステップS23で情報i09の内容を参照し、サービスの目的を達成できたか否かを識別する。サービスの目的を達成できた場合はステップS23からS26に進む。
また、サービスの目的を達成していない場合は、サービス開始判断部11は次のステップS24でサービス開始から一定時間が経過したか否かを識別する。まだ一定時間が経過してなければ、サービス開始判断部11は再び情報i02をロケーション判断部12に送り、ロケーションの判断、すなわち組合せ(x,y,z)の見直しを指示する。
また、サービス開始から一定時間が経過した場合は、サービス開始判断部11はステップS25に進み、APLエラーの応答処理を実施する。すなわち、サービス開始判断部11は、エラーを示す情報i03をサービスの要求元であるリクエスト送信部75に送る。
サービス開始判断部11は、ステップS26で該当するAPLを用いたサービスの結果について出力の処理を実施する。すなわち、サービス開始判断部11は、情報i04で結果をリクエスト送信部75に通知する。それと同時に、サービス開始判断部11は再び情報i02をロケーション判断部12に送りサービス開始を指示する。
リクエスト送信部75は、ステップS12で、受信した情報i03に対してAPLエラーの受信処理を実施する。
リクエスト送信部75は、ステップS13で、受信した情報i04を取り込んで、APLを用いたサービスの結果に関する受信処理を実施する。
リクエスト送信部75は、ステップS13で、受信した情報i04を取り込んで、APLを用いたサービスの結果に関する受信処理を実施する。
なお、ユーザ等が特定APLxを用いたサービスを終了する場合には、この終了の指示をネットワークサービス管理装置10に入力する。その場合、ネットワークサービス管理装置10内のサービス開始判断部11が当該サービス(アプリケーションソフトウェア)の終了を判断してその結果をロケーション判断部12に通知する。ロケーション判断部12は、サービス開始判断部11の通知内容に従い、当該APLの終了をAPL制御部13に対して指示する。APL制御部13は、ロケーション判断部12からの指示に従い、当該APLxを終了するための指示を特定マシンyに送る。
<サービス配置選定に影響を及ぼす要素>
図6および図7に示した動作を実施する場合に、サービス配置選定に影響を及ぼす主要な要素を図8に示す。
図8に示した設備・マシン使用情報82は、設備情報DB60に登録されているマシンテーブル61、デバイステーブル62、およびロケーションテーブル63の内容に相当する。
図6および図7に示した動作を実施する場合に、サービス配置選定に影響を及ぼす主要な要素を図8に示す。
図8に示した設備・マシン使用情報82は、設備情報DB60に登録されているマシンテーブル61、デバイステーブル62、およびロケーションテーブル63の内容に相当する。
すなわち、図8に示したサービスリクエスト情報81に応じて当該サービスを実行する特定APLxが定まると、複数の組合せ(x,y,z)のそれぞれを評価する。この評価の際に、特定マシンyの情報、マシンテーブル61、およびロケーションテーブル63に基づき、当該サービスのAPLxが実行されるマシンの位置、すなわち実行ロケーション情報83を特定できる。また、特定デバイスzの情報、デバイステーブル62、およびロケーションテーブル63に基づきデバイスロケーション情報85が特定できる。
また、当該サービスのAPLに対する有効度期待値84は、特定APLxの情報およびAPL使用情報DB50から取得可能な実績値により算出できる。
つまり、図2に示したネットワークサービス管理装置10は、候補となる複数の組合せ(x,y,z)のそれぞれについて、実行ロケーション情報83、デバイスロケーション情報85、および有効度期待値84を評価することにより、適切な組合せ(x,y,z)を選定することができる。この適切な組合せ(x,y,z)の選定は、APLの平均処理時間を短くするため、およびネットワーク全体のトラヒック量を低減するために効果的である。
つまり、図2に示したネットワークサービス管理装置10は、候補となる複数の組合せ(x,y,z)のそれぞれについて、実行ロケーション情報83、デバイスロケーション情報85、および有効度期待値84を評価することにより、適切な組合せ(x,y,z)を選定することができる。この適切な組合せ(x,y,z)の選定は、APLの平均処理時間を短くするため、およびネットワーク全体のトラヒック量を低減するために効果的である。
<配信スコアFの算出>
図7中の各ステップS32、S33の「サービス期待値」および配信スコアF(x,y,z)の具体例について以下に説明する。
図7中の各ステップS32、S33の「サービス期待値」および配信スコアF(x,y,z)の具体例について以下に説明する。
組合せ(x,y,z)に対する配信スコアF(x,y,z)は、以下の式(1)〜式(3)に基づき算出できる。
F(x,y,z)=w1・G(x,y,z)+w2・H(x,y,z) ・・・(1)
G(x,y,z)=(I(x,y)/J(x,z))+K(x,y,z) ・・・(2)
H(x,y,z)=wi(x,y,z)・N(x,y,z)+wo(x,z)・O(x,y) ・・・(3)
G(x,y,z):総サービス処理時間増加量期待値。
H(x,y,z):総トラヒック増加量期待値。
w1,w2:サービス処理時間増加量およびトラヒック増加量のどちらを優先するかを定めるための重み。例えば、サービス処理時間に対するマシン利用コスト、ネットワークトラヒック利用量に対する通信料金コストに基づき、全体の料金が最小になるように重み付けすることが想定される。
I(x,y):特定APLxを特定マシンy上で処理する際のマシン負荷を考慮した処理時間推測値。
J(x,z):特定APLxが特定デバイスzのデータを処理する場合に想定されるデータ有効度期待値。これがステップS33の「サービス期待値」に相当する。
K(x,y,z):特定APLxが特定マシンy上に載ることによる総マシン負荷影響量、つまり負荷変動の差分。
N(x,y,z):特定デバイスzのデータを特定マシンyに転送する際のデータトラヒック量。
O(x,y):特定APLxが特定マシンyからサービス要求元に送る出力データのトラヒック量。
wi(x,y,z),wo(x,z):特定APLxに対する入力および出力のトラヒックへの重み。例えば、ネットワーク上のホップ数が大きくなるほど重みwi、woを大きくすることで、ネットワーク上の距離が短くなるように調整したり、コアネットワークを用いるほど重みwi、woを大きくしてなるべくエッジ側で処理させるように調整することが想定される。
F(x,y,z)=w1・G(x,y,z)+w2・H(x,y,z) ・・・(1)
G(x,y,z)=(I(x,y)/J(x,z))+K(x,y,z) ・・・(2)
H(x,y,z)=wi(x,y,z)・N(x,y,z)+wo(x,z)・O(x,y) ・・・(3)
G(x,y,z):総サービス処理時間増加量期待値。
H(x,y,z):総トラヒック増加量期待値。
w1,w2:サービス処理時間増加量およびトラヒック増加量のどちらを優先するかを定めるための重み。例えば、サービス処理時間に対するマシン利用コスト、ネットワークトラヒック利用量に対する通信料金コストに基づき、全体の料金が最小になるように重み付けすることが想定される。
I(x,y):特定APLxを特定マシンy上で処理する際のマシン負荷を考慮した処理時間推測値。
J(x,z):特定APLxが特定デバイスzのデータを処理する場合に想定されるデータ有効度期待値。これがステップS33の「サービス期待値」に相当する。
K(x,y,z):特定APLxが特定マシンy上に載ることによる総マシン負荷影響量、つまり負荷変動の差分。
N(x,y,z):特定デバイスzのデータを特定マシンyに転送する際のデータトラヒック量。
O(x,y):特定APLxが特定マシンyからサービス要求元に送る出力データのトラヒック量。
wi(x,y,z),wo(x,z):特定APLxに対する入力および出力のトラヒックへの重み。例えば、ネットワーク上のホップ数が大きくなるほど重みwi、woを大きくすることで、ネットワーク上の距離が短くなるように調整したり、コアネットワークを用いるほど重みwi、woを大きくしてなるべくエッジ側で処理させるように調整することが想定される。
したがって、配信スコアF(x,y,z)が小さいことは、総サービス処理時間量増加期待値Gが小さく、総トラヒック増加量期待値Hも小さいことを意味し、高い評価を与えることができる。すなわち、配信スコアF(x,y,z)の小さい組合せ(x,y,z)が図7のステップS34で抽出される。
実際には、例えば図1に示したような通信システムにおいて、ネットワーク上の各マシンに既にいくつかのAPLが配信済みであるような状況で、ユーザ等のサービス要求に対応して、新しくもう1つの特定APLxを配信し実行しようとする場合が想定される。その場合に、ネットワークサービス管理装置10が図6、図7に示した動作により適切な組合せ(x,y,z)を選定することにより、ネットワーク全体におけるサービスの運用を適切に行うことが可能になる。
<配信スコアFの各要素の計算に関する具体例>
−<I(x,y):処理時間推測値>
本例では、簡単のため次の条件が成立する場合を想定する。すなわち、同じマシン上にNa個のAPLを配置して実行すると、APL数Naの倍率に比例して処理時間がかかる。この場合、処理時間推測値I(x,y)は次の式(4)で求めることができる。
I(x,y)=Io×Na ・・・(4)
Io:特定マシンy上で1個のAPLが実行される場合に、他APLの負荷の影響を受けずに処理する時間量。この時間量は、特定マシンy上での処理時間情報として、サービスカタログの内容、およびマシンテーブル61の内容から算出できる。
−<I(x,y):処理時間推測値>
本例では、簡単のため次の条件が成立する場合を想定する。すなわち、同じマシン上にNa個のAPLを配置して実行すると、APL数Naの倍率に比例して処理時間がかかる。この場合、処理時間推測値I(x,y)は次の式(4)で求めることができる。
I(x,y)=Io×Na ・・・(4)
Io:特定マシンy上で1個のAPLが実行される場合に、他APLの負荷の影響を受けずに処理する時間量。この時間量は、特定マシンy上での処理時間情報として、サービスカタログの内容、およびマシンテーブル61の内容から算出できる。
−<J(x,z):データ有効度期待値>
データ有効度期待値J(x,z)は次の式(5)で求めることができる。
J(x,z)=w3・L(x,z)+w4・M(x,z) ・・・(5)
M(x,z):特定APLx以外の現在稼働中のサービスから推測される特定APLxおよび特定デバイスzのロケーションにおける現在の期待値(第2の実績データ、第4の実績データ)。例えば、特定APLxのサービスの目的が、「カメラ映像から女子高生のファッションチェックを行う」ものである場合は、現在のカメラ映像に映っている人の数などを期待値M(x,z)とすることができる。
L(x,z):特定APLxおよび特定デバイスzのロケーションにおける過去の実績値(第1の実績データ、第3の実績データ)。
w3,w4:現在と過去のそれぞれに対する重み。両者の和が「1」になるよう定める。
データ有効度期待値J(x,z)は次の式(5)で求めることができる。
J(x,z)=w3・L(x,z)+w4・M(x,z) ・・・(5)
M(x,z):特定APLx以外の現在稼働中のサービスから推測される特定APLxおよび特定デバイスzのロケーションにおける現在の期待値(第2の実績データ、第4の実績データ)。例えば、特定APLxのサービスの目的が、「カメラ映像から女子高生のファッションチェックを行う」ものである場合は、現在のカメラ映像に映っている人の数などを期待値M(x,z)とすることができる。
L(x,z):特定APLxおよび特定デバイスzのロケーションにおける過去の実績値(第1の実績データ、第3の実績データ)。
w3,w4:現在と過去のそれぞれに対する重み。両者の和が「1」になるよう定める。
なお、APLの種類によっては、同じ特定デバイスzのデータに対して1度解析を行った後は、同じ解析を継続して行っても効果が小さいことが想定される。その場合は、解析を実行した後で、該当する期待値M(x,z)を下げることにより、他のデバイスのデータを解析するための組合せ(x,y,z)の変更、つまりサービス配置見直しが容易になる。
上記各重みw3,w4は、例えば次の式(6)、式(7)により算出できる。
w3=P1(D1)/(P2(D2)+P1(D1)) ・・・(6)
w4=P2(D2)/(P2(D2)+P1(D1)) ・・・(7)
P1,P2:D1,D2に対するポイント
D1:直近実行日時
D2:過去累計日時
上記ポイントP1、P2については、例えば次の(1)〜(3)のように定義する。
(1)累計時間の1時間につき1ポイント付与し、最大で100ポイントとする。
(2)現在情報であれば最大の100ポイントを付与する。
(3)1時間以上前の情報であれば0ポイントとする。
w3=P1(D1)/(P2(D2)+P1(D1)) ・・・(6)
w4=P2(D2)/(P2(D2)+P1(D1)) ・・・(7)
P1,P2:D1,D2に対するポイント
D1:直近実行日時
D2:過去累計日時
上記ポイントP1、P2については、例えば次の(1)〜(3)のように定義する。
(1)累計時間の1時間につき1ポイント付与し、最大で100ポイントとする。
(2)現在情報であれば最大の100ポイントを付与する。
(3)1時間以上前の情報であれば0ポイントとする。
したがって、例えば図5に示したAPL使用情報DB50におけるAPLテーブル50cの内容を利用すると、「デバイス1」、「デバイス2」、「デバイス3」に対するデータ有効度期待値J(x,z)はそれぞれ次の式(8)〜式(10)で求めることができる。
「デバイス1」の場合:
J(x,z)={100/(100+100)}×AVE(59,60,50,52,60,58)+{100/(100+100)}×60 ・・・(8)
AVE():括弧内のデータリストの平均値
「デバイス2」の場合:
J(x,z)={58/(58+4)}×AVE(24,23,22,43,21,24)+{4/(58+4)}×50 ・・・(9)
「デバイス3」の場合:
J(x,z)={0/(0+61)}×AVE(31,35,47,24,36,35)+{61/(0+61)}×30 ・・・ (10)
「デバイス1」の場合:
J(x,z)={100/(100+100)}×AVE(59,60,50,52,60,58)+{100/(100+100)}×60 ・・・(8)
AVE():括弧内のデータリストの平均値
「デバイス2」の場合:
J(x,z)={58/(58+4)}×AVE(24,23,22,43,21,24)+{4/(58+4)}×50 ・・・(9)
「デバイス3」の場合:
J(x,z)={0/(0+61)}×AVE(31,35,47,24,36,35)+{61/(0+61)}×30 ・・・ (10)
−<K(x,y,z):総マシン負荷影響量>
本例では、簡単のため次の条件が成立する場合を想定する。すなわち、同じマシン上にNa個のAPLを配置して実行すると、APL数Naの倍率に比例して処理時間がかかる。ここで、特定マシンy上に2番目サービスの組合せ(x2,y,z2)、および3番目サービスの組合せ(x3,y,z3)が既に存在する場合に、特定APLxのサービスを追加すると、この追加により特定マシンy上のAPL総数が2個から3個に変わり、APL毎の処理時間推測値I(x,y)がそれぞれ1.5倍になる。したがって、その場合の総マシン負荷影響量K(x,y,z)は、以下の式(11)で表される。
K(x,y,z)=w1(1.5-1)・((I2/J2)+(I3/J3)) ・・・(11)
I2:I(x2,y)
J2:J(x2,z2)
I3:I(x3,y)
J3:J(x3,z3)
x2,x3:2番目,3番目サービスの特定APL
z2,z3:2番目,3番目サービスの特定デバイス
本例では、簡単のため次の条件が成立する場合を想定する。すなわち、同じマシン上にNa個のAPLを配置して実行すると、APL数Naの倍率に比例して処理時間がかかる。ここで、特定マシンy上に2番目サービスの組合せ(x2,y,z2)、および3番目サービスの組合せ(x3,y,z3)が既に存在する場合に、特定APLxのサービスを追加すると、この追加により特定マシンy上のAPL総数が2個から3個に変わり、APL毎の処理時間推測値I(x,y)がそれぞれ1.5倍になる。したがって、その場合の総マシン負荷影響量K(x,y,z)は、以下の式(11)で表される。
K(x,y,z)=w1(1.5-1)・((I2/J2)+(I3/J3)) ・・・(11)
I2:I(x2,y)
J2:J(x2,z2)
I3:I(x3,y)
J3:J(x3,z3)
x2,x3:2番目,3番目サービスの特定APL
z2,z3:2番目,3番目サービスの特定デバイス
<変形例の説明>
協調フィルタリングを用いて「データ有効度期待値」を取得する際に用いるテーブルの構成例を図9に示す。
図9に示したテーブルにおいては、特定APLx、およびそれと類似性のある複数の類似APLx2−1、x2−2、・・・と、「デバイス1」〜「デバイス10」のそれぞれとの組合せにおける実績値のデータが含まれている。また、テーブル右側の欄に相関値αが示されており、テーブル下側の欄にお勧め度J2(x,z)が示されている。
協調フィルタリングを用いて「データ有効度期待値」を取得する際に用いるテーブルの構成例を図9に示す。
図9に示したテーブルにおいては、特定APLx、およびそれと類似性のある複数の類似APLx2−1、x2−2、・・・と、「デバイス1」〜「デバイス10」のそれぞれとの組合せにおける実績値のデータが含まれている。また、テーブル右側の欄に相関値αが示されており、テーブル下側の欄にお勧め度J2(x,z)が示されている。
図9のテーブルにおいて、例えば特定APLxと「デバイス2」、「デバイス3」との組合せについては有効な実績値が登録されている。しかし、特定APLxと「デバイス4」〜「デバイス7」との組合せについては有効な実績値が存在しない。
一方、類似APLx2−2〜x2−5と「デバイス4」〜「デバイス7」との組合せについては有効な実績値が登録されている。また、特定APLxと類似APLx2−3〜x2−5との相関値αは比較的大きい。また、「デバイス5」についてはお勧め度J2(x,z)が非常に高い。
そこで、図9のテーブルのような状況では、特定APLxと「デバイス5」との組合せに関するデータ有効度期待値J(x,z)を算出する際に、特定APLxの実績値の代わりに、類似APLx2−3〜x2−5の実績値を採用する。または、特定APLxの実績値と共に、類似APLx2−3〜x2−5の実績値も採用する。これにより、適切なデータ有効度期待値J(x,z)が得られる可能性が高い。
例えば、特定APLxが提供するサービスの目的が、「特定の迷子猫を探すこと」である場合に、サービスの目的が「猫のよく居る場所を探すこと」である他の類似APLの実績値を採用し、これに基づいてデータ有効度期待値J(x,z)を算出する。実際の実績値としては、過去の実績における平均値を用いることが想定される。
なお、本発明のサービス配置選定プログラムは、例えばネットワークサービス管理装置10を構成するコンピュータの記憶装置上に予め保持しておいてもよいし、通信ネットワークNWを経由して所定のサーバからダウンロードしてネットワークサービス管理装置10が実行してもよい。
10 ネットワークサービス管理装置
11 サービス開始判断部
12 ロケーション判断部
13 APL制御部
14 DB管理部
15 APLサーバ
21,22,23,24 ユーザ端末
31,32,33 物理マシンリソース
41,42,43 物理デバイスリソース
50 APL使用情報DB
50a,50b,50c APLテーブル
51 過去実績データ
52 直近データリスト
53 リソース使用情報
60 設備情報DB
61 マシンテーブル
62 デバイステーブル
63 ロケーションテーブル
70 サービス要求元
71,81 サービスリクエスト情報
75 リクエスト送信部
82 設備・マシン使用情報
83 実行ロケーション情報
84 有効度期待値
85 デバイスロケーション情報
NW 通信ネットワーク
11 サービス開始判断部
12 ロケーション判断部
13 APL制御部
14 DB管理部
15 APLサーバ
21,22,23,24 ユーザ端末
31,32,33 物理マシンリソース
41,42,43 物理デバイスリソース
50 APL使用情報DB
50a,50b,50c APLテーブル
51 過去実績データ
52 直近データリスト
53 リソース使用情報
60 設備情報DB
61 マシンテーブル
62 デバイステーブル
63 ロケーションテーブル
70 サービス要求元
71,81 サービスリクエスト情報
75 リクエスト送信部
82 設備・マシン使用情報
83 実行ロケーション情報
84 有効度期待値
85 デバイスロケーション情報
NW 通信ネットワーク
Claims (8)
- 少なくともデータ出力が可能な複数のIoTデバイスと、前記各IoTデバイスの出力データを扱う複数のアプリケーションソフトウェアの実行が可能な複数のコンピュータとが、それぞれ所定の通信ネットワークを介して互いに異なる位置で接続されている環境下で、
新たなアプリケーションソフトウェアを特定アプリxとして起動しようとする際に、前記特定アプリxと、前記複数のコンピュータの中から選択される1つの特定コンピュータyと、前記複数のIoTデバイスの中から選択される1つ以上の特定デバイスzとの適正化された組合せを決定するためのサービス配置選定方法であって、
前記特定アプリxと、前記特定デバイスzとの組合せに関するデータ有効度期待値J(x,z)を算出し、
少なくとも前記データ有効度期待値J(x,z)と、前記特定コンピュータyとをパラメータとして含む評価値F(x,y,z)を計算し、
前記評価値F(x,y,z)を利用して、前記特定アプリx、前記特定コンピュータy、および前記特定デバイスzの組合せを選定する、
サービス配置選定方法。 - 請求項1に記載のサービス配置選定方法において、
前記複数のアプリケーションソフトウェアのそれぞれについて、そのサービス実行結果を表す実績データを前記各IoTデバイス毎に保存して管理し、
前記データ有効度期待値J(x,z)を、前記実績データに基づいて算出する、
サービス配置選定方法。 - 請求項2に記載のサービス配置選定方法において、
前記実績データとして、取得した時点が古い第1の実績データと、取得した時点が新しい第2の実績データとをそれぞれ保存して管理し、
前記第1の実績データと前記第2の実績データとにそれぞれ重み付けを行って前記データ有効度期待値J(x,z)を算出する、
サービス配置選定方法。 - 請求項2に記載のサービス配置選定方法において、
前記実績データとして、前記特定アプリxおよび前記特定デバイスzの組合せに対して検出された第3の実績データと、前記特定アプリxと類似性のある第2の特定アプリと前記特定デバイスzとの組合せに対して検出された第4の実績データとをそれぞれ取得し、
前記第3の実績データおよび前記第4の実績データに基づいて前記データ有効度期待値J(x,z)を算出する、
サービス配置選定方法。 - 請求項1に記載のサービス配置選定方法において、
選定した前記特定アプリxを起動した後で、前記特定アプリxがサービスの目的を達成できなかった場合には、前記データ有効度期待値J(x,z)の算出、および前記評価値F(x,y,z)の算出を周期的に繰り返し、前記特定デバイスzの選定の見直しを実施する、
サービス配置選定方法。 - 請求項1に記載のサービス配置選定方法において、
前記特定アプリxが、前記特定コンピュータy、および前記特定デバイスzの組合せでサービスを実施する場合に予想される処理時間増加量期待値G(x,y,z)を、前記データ有効度期待値J(x,z)に基づいて算出し、
前記特定アプリxが、前記特定コンピュータy、および前記特定デバイスzの組合せでサービスを実施する場合に予想されるトラヒック増加量期待値H(x,y,z)を算出し、
前記処理時間増加量期待値G(x,y,z)および前記トラヒック増加量期待値H(x,y,z)に重み付けをして前記評価値F(x,y,z)を算出する、
サービス配置選定方法。 - 請求項1に記載のサービス配置選定方法において、
選定した組合せにおける前記特定アプリxが、前記特定コンピュータy上に存在しない場合には、所定のサーバから前記特定コンピュータy上に前記特定アプリxを配信する、
サービス配置選定方法。 - 少なくともデータ出力が可能な複数のIoTデバイスと、前記各IoTデバイスの出力データを扱う複数のアプリケーションソフトウェアの実行が可能な複数のコンピュータとが、それぞれ所定の通信ネットワークを介して互いに異なる位置で接続されている環境下で、新たなアプリケーションソフトウェアを特定アプリxとして起動しようとする際に、前記特定アプリxと、前記複数のコンピュータの中から選択される1つの特定コンピュータyと、前記複数のIoTデバイスの中から選択される1つ以上の特定デバイスzとの適正化された組合せを決定するための、所定のコンピュータで実行可能なサービス配置選定プログラムであって、
前記特定アプリxと、前記特定デバイスzとの組合せに関するデータ有効度期待値J(x,z)を算出する手順と、
少なくとも前記データ有効度期待値J(x,z)と、前記特定コンピュータyとをパラメータとして含む評価値F(x,y,z)を計算する手順と、
前記評価値F(x,y,z)を利用して、前記特定アプリx、前記特定コンピュータy、および前記特定デバイスzの組合せを選定する手順と、
を有するサービス配置選定プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019028789A JP7156082B2 (ja) | 2019-02-20 | 2019-02-20 | サービス配置選定方法およびサービス配置選定プログラム |
PCT/JP2020/005688 WO2020170952A1 (ja) | 2019-02-20 | 2020-02-14 | サービス配置選定方法およびサービス配置選定プログラム |
US17/429,530 US11743351B2 (en) | 2019-02-20 | 2020-02-14 | Service allocation selection method and service allocation selection program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019028789A JP7156082B2 (ja) | 2019-02-20 | 2019-02-20 | サービス配置選定方法およびサービス配置選定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020135477A true JP2020135477A (ja) | 2020-08-31 |
JP7156082B2 JP7156082B2 (ja) | 2022-10-19 |
Family
ID=72144261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019028789A Active JP7156082B2 (ja) | 2019-02-20 | 2019-02-20 | サービス配置選定方法およびサービス配置選定プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11743351B2 (ja) |
JP (1) | JP7156082B2 (ja) |
WO (1) | WO2020170952A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011010241A (ja) * | 2009-06-29 | 2011-01-13 | Fujitsu Ltd | 通知装置及び方法 |
JP2017111501A (ja) * | 2015-12-14 | 2017-06-22 | オムロン株式会社 | データフロー制御装置およびデータフロー制御方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425350B1 (en) * | 2015-04-06 | 2019-09-24 | EMC IP Holding Company LLC | Distributed catalog service for data processing platform |
US10791063B1 (en) * | 2015-04-06 | 2020-09-29 | EMC IP Holding Company LLC | Scalable edge computing using devices with limited resources |
US10536357B2 (en) * | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
CA3128629A1 (en) * | 2015-06-05 | 2016-07-28 | C3.Ai, Inc. | Systems and methods for data processing and enterprise ai applications |
JP2018526841A (ja) * | 2015-07-23 | 2018-09-13 | トムソン ライセンシングThomson Licensing | 自動的な設定のネゴシエーション |
WO2017122258A1 (ja) * | 2016-01-12 | 2017-07-20 | 株式会社日立国際電気 | 混雑状況監視システム |
US20180006888A1 (en) * | 2016-07-01 | 2018-01-04 | Intel Corporation | Analytically directed data collection in sensor network |
JP6603645B2 (ja) | 2016-11-17 | 2019-11-06 | 日本電信電話株式会社 | リソース検索装置およびリソース検索方法 |
JP6465937B1 (ja) * | 2017-08-31 | 2019-02-06 | Kddi株式会社 | 配信装置及び配信方法 |
WO2019099111A1 (en) * | 2017-11-16 | 2019-05-23 | Intel Corporation | Distributed software-defined industrial systems |
WO2019113308A1 (en) * | 2017-12-05 | 2019-06-13 | Franchitti Jean Claude | Active adaptation of networked compute devices using vetted reusable software components |
US10719332B1 (en) * | 2019-04-29 | 2020-07-21 | Splunk Inc. | Provisioning a client device with a multi-component application |
US10461421B1 (en) * | 2019-05-07 | 2019-10-29 | Bao Tran | Cellular system |
-
2019
- 2019-02-20 JP JP2019028789A patent/JP7156082B2/ja active Active
-
2020
- 2020-02-14 US US17/429,530 patent/US11743351B2/en active Active
- 2020-02-14 WO PCT/JP2020/005688 patent/WO2020170952A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011010241A (ja) * | 2009-06-29 | 2011-01-13 | Fujitsu Ltd | 通知装置及び方法 |
JP2017111501A (ja) * | 2015-12-14 | 2017-06-22 | オムロン株式会社 | データフロー制御装置およびデータフロー制御方法 |
Non-Patent Citations (1)
Title |
---|
生出 拓馬: "サーバレスなIoTアプリケーションの構築基盤におけるユーザマッチング手法の設計と評価", 情報処理学会 シンポジウム マルチメディア通信と分散処理ワークショップ 2016 [ONLINE], JPN6022036686, 12 October 2016 (2016-10-12), JP, pages 1 - 8, ISSN: 0004867039 * |
Also Published As
Publication number | Publication date |
---|---|
US20220109732A1 (en) | 2022-04-07 |
WO2020170952A1 (ja) | 2020-08-27 |
US11743351B2 (en) | 2023-08-29 |
JP7156082B2 (ja) | 2022-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101239539B1 (ko) | 분산형 주문식 컴퓨팅 시스템 | |
JP4677813B2 (ja) | サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム | |
JP4692774B2 (ja) | データ配信システム及びデータ配信方法 | |
US20050228855A1 (en) | Acquisition system for distributed computing resources | |
KR101816589B1 (ko) | 서비스형 소프트웨어 목록 갱신 방법 및 이를 위한 시스템 | |
JP6062034B2 (ja) | 処理制御システム、処理制御方法、および処理制御プログラム | |
CN109478147A (zh) | 分布式计算系统中的自适应资源管理 | |
CN109842670A (zh) | 运算装置、其资源分配方法及通信系统 | |
US20180139270A1 (en) | Information processing apparatus, information processing method, information processing program, and information process system | |
CN115914392A (zh) | 算力网络资源调度方法及系统 | |
KR20200043129A (ko) | 사물 인터넷 환경에서의 mqtt 프로토콜 기반 서버 시스템 | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN104995899A (zh) | 服务器负载管理 | |
JP6603645B2 (ja) | リソース検索装置およびリソース検索方法 | |
CN107409149A (zh) | 混合的客户端‑服务器数据提供 | |
CN114080793A (zh) | 策略决定装置、策略决定方法以及程序 | |
EP1607880A1 (en) | Decentralized processing control device, decentralized processing control method, decentralized processing control program | |
CN105824919B (zh) | 一种数据查询操作定价的动态调整方法及装置 | |
CN107277188A (zh) | 一种确定ip地址归属信息的方法、客户端、服务器及业务系统 | |
CN113315836B (zh) | 文件访问请求的调度方法、装置、电子设备、存储介质 | |
WO2020170952A1 (ja) | サービス配置選定方法およびサービス配置選定プログラム | |
CN113537909A (zh) | 设备资产管理方法及装置 | |
Beraldi et al. | On the impact of stale information on distributed online load balancing protocols for edge computing | |
JP4051462B2 (ja) | グリッドシステムにおけるデータ配布方法、グリッドシステム、グリッド仲介装置、グリッド仲介プログラム | |
CN115378493B (zh) | 地面站通信模式确定方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210601 |
|
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: 20220906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7156082 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |