(57)【要約】【課題】プログラムを適正に管理することができるプログラム管理システム、外部機器、及び、端末機器を提供することを目的とする。【解決手段】プログラム管理システムＳｙｓ１は、プログラムを作成する処理を実行可能である端末側処理部、及び、端末側処理部によって作成されたプログラムを外部に送信可能である端末側通信部、を有する端末機器１０と、端末機器１０から送信されたプログラムを記憶する外部機器側記憶部、及び、外部機器側記憶部に記憶されたプログラムを承認する処理を実行可能である外部機器側処理部、を有する外部機器２０とを備え、外部機器側記憶部は、プログラムの承認の可否を第１ステータス情報としてプログラムと共に記憶し、外部機器側処理部は、第１ステータス情報に基づいて、プログラムを管理する処理を実行可能であることを特徴とする。【選択図】図１
2020149671.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを作成する処理を実行可能である端末側処理部、及び、前記端末側処理部によって作成された前記プログラムを外部に送信可能である端末側通信部、を有する端末機器と、
前記端末機器から送信された前記プログラムを記憶する外部機器側記憶部、及び、前記外部機器側記憶部に記憶された前記プログラムを承認する処理を実行可能である外部機器側処理部、を有する外部機器とを備え、
前記外部機器側記憶部は、前記プログラムの前記承認の可否を第１ステータス情報として前記プログラムと共に記憶し、
前記外部機器側処理部は、前記第１ステータス情報に基づいて、前記プログラムを管理する処理を実行可能であることを特徴とする、
プログラム管理システム。
【請求項２】
前記端末機器は、前記端末側処理部によって制御され画像を表示可能である端末側表示部を有し、
前記端末側処理部は、前記プログラムを表す画像、及び、当該プログラムの前記第１ステータス情報を表す第１ステータス画像を前記端末側表示部に表示させる、
請求項１に記載のプログラム管理システム。
【請求項３】
前記外部機器側記憶部は、前記プログラムの外部への公開の程度を表す第２ステータス情報と共に当該プログラムを記憶し、
前記外部機器側処理部は、前記第１ステータス情報、及び、前記第２ステータス情報に基づいて、前記プログラムを外部に対して公開する処理を実行可能である、
請求項１又は請求項２に記載のプログラム管理システム。
【請求項４】
前記外部機器側処理部は、前記第１ステータス情報、又は、前記第２ステータス情報が更新された場合、当該第１ステータス情報、又は、当該第２ステータス情報の更新内容に基づいて、外部に対して公開されていた前記プログラムの公開を制限する処理を実行可能である、
請求項３に記載のプログラム管理システム。
【請求項５】
前記外部機器側処理部は、前記プログラムの公開を制限する処理を実行した後、当該プログラムを既に記憶していた機器に対して当該プログラムの使用を制限する処理を実行可能である、
請求項４に記載のプログラム管理システム。
【請求項６】
前記外部機器側処理部は、前記プログラムの公開を制限する処理を実行した後、当該プログラムを既に記憶していた機器に対して当該プログラムの使用を制限する旨を通知する処理を実行可能である、
請求項４又は請求項５に記載のプログラム管理システム。
【請求項７】
前記外部機器側処理部は、前記プログラムを既に記憶していた機器に対して当該プログラムの使用を制限する旨を通知する処理を実行した後、当該機器に対して当該使用が制限されたプログラムの代替となるプログラムを提示する処理を実行可能である、
請求項６に記載のプログラム管理システム。
【請求項８】
前記外部機器側記憶部は、前記プログラムの課金内容を表す第３ステータス情報と共に当該プログラムを記憶し、
前記外部機器側処理部は、前記第１ステータス情報、及び、前記第３ステータス情報に基づいて、前記プログラムをダウンロード可能とする処理を実行可能である、
請求項１乃至請求項７のいずれか１項に記載のプログラム管理システム。
【請求項９】
前記外部機器側記憶部は、前記プログラムの使用状況を表す第４ステータス情報と共に当該プログラムを記憶し、
前記外部機器側処理部は、前記第４ステータス情報に基づいて、前記プログラムに対する報酬を算出する処理を実行可能である、
請求項１乃至請求項８のいずれか１項に記載のプログラム管理システム。
【請求項１０】
前記外部機器側記憶部は、前記プログラムを使用可能なユーザを表す第５ステータス情報と共に当該プログラムを記憶し、
前記外部機器側処理部は、前記第１ステータス情報、及び、前記第５ステータス情報に基づいて、前記プログラムをダウンロード可能とする処理を実行可能である、
請求項１乃至請求項９のいずれか１項に記載のプログラム管理システム。
【請求項１１】
前記外部機器側処理部は、前記第５ステータス情報に基づいて、前記プログラムを使用可能なユーザに対応付けられた機器に対して当該プログラムの使用が可能である旨を通知する処理を実行可能である、
請求項１０に記載のプログラム管理システム。
【請求項１２】
前記外部機器側処理部は、前記プログラムを使用可能なユーザに対応付けられた機器に対して当該プログラムの使用が可能である旨を通知する処理を実行した後、当該機器において当該プログラムの使用を受け入れる操作がされた場合に当該機器に対して当該プログラムをダウンロードする処理を実行可能である、
請求項１１に記載のプログラム管理システム。
【請求項１３】
前記端末側通信部は、前記端末機器に入力された申請情報と共に前記プログラムを前記外部機器に送信し、
前記外部機器側処理部は、前記プログラムが承認されなかった場合、前記端末機器において、承認されなかった事項に応じて前記申請情報として自動で再入力する事項を変更する処理を実行可能である、
請求項１乃至請求項１２のいずれか１項に記載のプログラム管理システム。
【請求項１４】
前記プログラムは、動作対象機器が出力する出力情報を規定するサービスブロックプログラム、前記出力情報を出力するためのアクションを発動するトリガの内容と当該トリガを生成するトリガ生成部とを規定し前記トリガ生成部に前記トリガを生成させるトリガブロックプログラム、前記アクションの内容と当該アクションを実行するアクション実行部とを規定し前記アクション実行部に前記アクションを実行させるアクションブロックプログラム、又は、前記サービスブロックプログラムと前記トリガブロックプログラムと前記アクションブロックプログラムとを組み合わせたアプリケーションプログラムである、
請求項１乃至請求項１３のいずれか１項に記載のプログラム管理システム。
【請求項１５】
プログラムを作成し当該作成された前記プログラムを外部に送信可能である端末機器から送信された前記プログラムを受信可能である外部機器側通信部と、
前記端末機器から送信され前記外部機器側通信部によって受信された前記プログラムを記憶する外部機器側記憶部と、
前記外部機器側記憶部に記憶された前記プログラムを承認する処理を実行可能である外部機器側処理部とを有し、
前記外部機器側記憶部は、前記プログラムの前記承認の可否を第１ステータス情報として前記プログラムと共に記憶し、
前記外部機器側処理部は、前記第１ステータス情報に基づいて、前記プログラムを管理する処理を実行可能であることを特徴とする、
外部機器。
【請求項１６】
プログラムを作成する処理を実行可能である端末側処理部と、
前記端末側処理部によって作成された前記プログラムを外部に送信可能である端末側通信部とを有し、
前記端末側通信部から送信された前記プログラムを受信可能である外部機器側通信部、前記外部機器側通信部によって受信された前記プログラムを記憶する外部機器側記憶部、及び、前記外部機器側記憶部に記憶された前記プログラムを承認する処理を実行可能である外部機器側処理部、を有し、前記承認の可否を表す第１ステータス情報に基づいて、前記プログラムを管理する処理を実行可能である外部機器に、前記端末側通信部から前記承認を要する前記プログラムを送信することを特徴とする、
端末機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム管理システム、外部機器、及び、端末機器に関する。
【背景技術】
【０００２】
従来のプログラム管理システムに関する技術として、例えば、特許文献１には、アプリケーション・プログラムをオンライン・レポジトリに申請するための方法、コンピュータ可読媒体、コンピューティング・システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４００８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、端末機器等で作成された様々なソフトウェアプログラムがインターネット上で公開されているが、このようなプログラムの管理の点で更なる改善の余地がある。
【０００５】
本発明は、上記の事情に鑑みてなされたものであって、プログラムを適正に管理することができるプログラム管理システム、外部機器、及び、端末機器を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係るプログラム管理システムは、プログラムを作成する処理を実行可能である端末側処理部、及び、前記端末側処理部によって作成された前記プログラムを外部に送信可能である端末側通信部、を有する端末機器と、前記端末機器から送信された前記プログラムを記憶する外部機器側記憶部、及び、前記外部機器側記憶部に記憶された前記プログラムを承認する処理を実行可能である外部機器側処理部、を有する外部機器とを備え、前記外部機器側記憶部は、前記プログラムの前記承認の可否を第１ステータス情報として前記プログラムと共に記憶し、前記外部機器側処理部は、前記第１ステータス情報に基づいて、前記プログラムを管理する処理を実行可能であることを特徴とする。
【０００７】
また、上記プログラム管理システムでは、前記端末機器は、前記端末側処理部によって制御され画像を表示可能である端末側表示部を有し、前記端末側処理部は、前記プログラムを表す画像、及び、当該プログラムの前記第１ステータス情報を表す第１ステータス画像を前記端末側表示部に表示させるものとすることができる。
【０００８】
また、上記プログラム管理システムでは、前記外部機器側記憶部は、前記プログラムの外部への公開の程度を表す第２ステータス情報と共に当該プログラムを記憶し、前記外部機器側処理部は、前記第１ステータス情報、及び、前記第２ステータス情報に基づいて、前記プログラムを外部に対して公開する処理を実行可能であるものとすることができる。
【０００９】
また、上記プログラム管理システムでは、前記外部機器側処理部は、前記第１ステータス情報、又は、前記第２ステータス情報が更新された場合、当該第１ステータス情報、又は、当該第２ステータス情報の更新内容に基づいて、外部に対して公開されていた前記プログラムの公開を制限する処理を実行可能であるものとすることができる。
【００１０】
また、上記プログラム管理システムでは、前記外部機器側処理部は、前記プログラムの公開を制限する処理を実行した後、当該プログラムを既に記憶していた機器に対して当該プログラムの使用を制限する処理を実行可能であるものとすることができる。
【００１１】
また、上記プログラム管理システムでは、前記外部機器側処理部は、前記プログラムの公開を制限する処理を実行した後、当該プログラムを既に記憶していた機器に対して当該プログラムの使用を制限する旨を通知する処理を実行可能であるものとすることができる。
【００１２】
また、上記プログラム管理システムでは、前記外部機器側処理部は、前記プログラムを既に記憶していた機器に対して当該プログラムの使用を制限する旨を通知する処理を実行した後、当該機器に対して当該使用が制限されたプログラムの代替となるプログラムを提示する処理を実行可能であるものとすることができる。
【００１３】
また、上記プログラム管理システムでは、前記外部機器側記憶部は、前記プログラムの課金内容を表す第３ステータス情報と共に当該プログラムを記憶し、前記外部機器側処理部は、前記第１ステータス情報、及び、前記第３ステータス情報に基づいて、前記プログラムをダウンロード可能とする処理を実行可能であるものとすることができる。
【００１４】
また、上記プログラム管理システムでは、前記外部機器側記憶部は、前記プログラムの使用状況を表す第４ステータス情報と共に当該プログラムを記憶し、前記外部機器側処理部は、前記第４ステータス情報に基づいて、前記プログラムに対する報酬を算出する処理を実行可能であるものとすることができる。
【００１５】
また、上記プログラム管理システムでは、前記外部機器側記憶部は、前記プログラムを使用可能なユーザを表す第５ステータス情報と共に当該プログラムを記憶し、前記外部機器側処理部は、前記第１ステータス情報、及び、前記第５ステータス情報に基づいて、前記プログラムをダウンロード可能とする処理を実行可能であるものとすることができる。
【００１６】
また、上記プログラム管理システムでは、前記外部機器側処理部は、前記第５ステータス情報に基づいて、前記プログラムを使用可能なユーザに対応付けられた機器に対して当該プログラムの使用が可能である旨を通知する処理を実行可能であるものとすることができる。
【００１７】
また、上記プログラム管理システムでは、前記外部機器側処理部は、前記プログラムを使用可能なユーザに対応付けられた機器に対して当該プログラムの使用が可能である旨を通知する処理を実行した後、当該機器において当該プログラムの使用を受け入れる操作がされた場合に当該機器に対して当該プログラムをダウンロードする処理を実行可能であるものとすることができる。
【００１８】
また、上記プログラム管理システムでは、前記端末側通信部は、前記端末機器に入力された申請情報と共に前記プログラムを前記外部機器に送信し、前記外部機器側処理部は、前記プログラムが承認されなかった場合、前記端末機器において、承認されなかった事項に応じて前記申請情報として自動で再入力する事項を変更する処理を実行可能であるものとすることができる。
【００１９】
また、上記プログラム管理システムでは、前記プログラムは、動作対象機器が出力する出力情報を規定するサービスブロックプログラム、前記出力情報を出力するためのアクションを発動するトリガの内容と当該トリガを生成するトリガ生成部とを規定し前記トリガ生成部に前記トリガを生成させるトリガブロックプログラム、前記アクションの内容と当該アクションを実行するアクション実行部とを規定し前記アクション実行部に前記アクションを実行させるアクションブロックプログラム、又は、前記サービスブロックプログラムと前記トリガブロックプログラムと前記アクションブロックプログラムとを組み合わせたアプリケーションプログラムであるものとすることができる。
【００２０】
上記目的を達成するために、本発明に係る外部機器は、プログラムを作成し当該作成された前記プログラムを外部に送信可能である端末機器から送信された前記プログラムを受信可能である外部機器側通信部と、前記端末機器から送信され前記外部機器側通信部によって受信された前記プログラムを記憶する外部機器側記憶部と、前記外部機器側記憶部に記憶された前記プログラムを承認する処理を実行可能である外部機器側処理部とを有し、前記外部機器側記憶部は、前記プログラムの前記承認の可否を第１ステータス情報として前記プログラムと共に記憶し、前記外部機器側処理部は、前記第１ステータス情報に基づいて、前記プログラムを管理する処理を実行可能であることを特徴とする。
【００２１】
上記目的を達成するために、本発明に係る端末機器は、プログラムを作成する処理を実行可能である端末側処理部と、前記端末側処理部によって作成された前記プログラムを外部に送信可能である端末側通信部とを有し、前記端末側通信部から送信された前記プログラムを受信可能である外部機器側通信部、前記外部機器側通信部によって受信された前記プログラムを記憶する外部機器側記憶部、及び、前記外部機器側記憶部に記憶された前記プログラムを承認する処理を実行可能である外部機器側処理部、を有し、前記承認の可否を表す第１ステータス情報に基づいて、前記プログラムを管理する処理を実行可能である外部機器に、前記端末側通信部から前記承認を要する前記プログラムを送信することを特徴とする。
【発明の効果】
【００２２】
本発明に係るプログラム管理システム、外部機器、及び、端末機器は、端末機器によって作成されたプログラムが外部機器に送信され、当該端末機器から外部機器に送信されたプログラムを外部機器に記憶する。そして、プログラム管理システムは、外部機器によって当該プログラムを承認する処理が実行され、プログラムの承認の可否を第１ステータス情報としてプログラムと共に外部機器に記憶する。そして、外部機器は、当該第１ステータス情報に基づいて当該プログラムを管理する。この結果、プログラム管理システム、外部機器、及び、端末機器は、端末機器によって作成されたプログラムを、外部機器によって適正に管理することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施形態に係るプログラム管理システムの概略構成を表すブロック図である。
【図２】図２は、実施形態に係るプログラム管理システムが備える端末機器の概略構成を表すブロック図である。
【図３】図３は、実施形態に係るプログラム管理システムの端末機器における選択画面の一例を表す図である。
【図４】図４は、実施形態に係るプログラム管理システムが備える外部機器の概略構成を表すブロック図である。
【図５】図５は、実施形態に係るプログラム管理システムが備える端末機器における承認審査の結果の通知画面の一例を表す図である。
【図６】図６は、実施形態に係るプログラム管理システムが備える外部機器における作成プログラムリストの一例を表す図である。
【図７】図７は、実施形態に係るプログラム管理システムが備える端末機器におけるプロフィール画面の一例を表す図である。
【図８】図８は、実施形態に係るプログラム管理システムにおけるプログラムのダウンロードの流れ（シーケンス）の一例を表す図である。
【図９】図９は、実施形態に係るプログラム管理システムが備える端末機器の他の概略構成を表すブロック図である。
【図１０】図１０は、実施形態に係るプログラム管理システムにおける情報の集計について説明する模式図である。
【図１１】図１１は、実施形態に係るプログラム管理システムが備える端末機器におけるプロフィール画面の一例を表す図である。
【図１２】図１２は、変形例に係るプログラム管理システムにおいて作成プログラムの公開を事後的に制限する場合の処理の一例を説明する模式図である。
【図１３】図１３は、変形例に係るプログラム管理システムが備える外部機器の概略構成を表すブロック図である。
【図１４】図１４は、変形例に係るプログラム管理システムにおいて作成プログラムに対して所定のユーザを招待する場合の処理の一例を説明する模式図である。
【図１５】図１５は、変形例に係るプログラム管理システムが備える外部機器における作成プログラムリストの一例を表す図である。
【図１６】図１６は、変形例に係るプログラム管理システムが備える端末機器における承認審査の結果の通知画面の一例を表す図である。
【図１７】図１７は、変形例に係るプログラム管理システムにおいて作成プログラムの再審査の際に申請情報として自動で再入力する事項について説明する模式図である。
【発明を実施するための形態】
【００２４】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
【００２５】
［実施形態］
＜プログラム管理システムの概要＞
図１に示す本実施形態のプログラム管理システムＳｙｓ１は、端末機器１０と、外部機器２０とを備え、これらが相互に通信し連携することで、端末機器１０によって作成されたプログラムを、外部機器２０によって適正に管理することができるシステムである。端末機器１０は、プログラム管理システムＳｙｓ１による管理の対象となるソフトウェアプログラムを作成可能な電子機器である。外部機器２０は、ネットワークＮ上に実装されるクラウドサービス機器（クラウドサーバ）を構成するものである。ネットワークＮは、Ｗｉ−Ｆｉ（登録商標）、４Ｇ、５Ｇ等を用いた無線通信、通信線を用いた有線通信を問わず任意の通信網によって構成され、外部機器２０と端末機器１０とを通信可能に接続する。外部機器２０と端末機器１０とは、典型的には、ネットワークＮを介して相互に通信を行う。端末機器１０は、典型的には、外部機器２０と相互に通信し連携することで当該外部機器２０から様々なクラウドサービスを受けることができる。本実施形態のプログラム管理システムＳｙｓ１は、端末機器１０によって作成されたプログラムについての様々なステータス情報（言い換えれば、属性情報）に基づいて、外部機器２０によってプログラムを管理する。以下、各図を参照してプログラム管理システムＳｙｓ１の各構成について詳細に説明する。
【００２６】
＜管理対象となるプログラム＞
ここでまず、プログラム管理システムＳｙｓ１による管理の対象となるソフトウェアプログラムについて説明する。本実施形態において、管理の対象となるソフトウェアプログラムは、動作対象機器で実行させることで当該動作対象機器を動作させるプログラムである。
【００２７】
ここで、動作対象機器とは、プログラム管理システムＳｙｓ１による管理の対象となるプログラムによって動作する機器である。動作対象機器は、典型的には、ユーザが携帯可能に構成されるものであるがこれに限らない。動作対象機器は、例えば、スマートフォン、タブレット型ＰＣ、ノート型ＰＣ、デスクトップ型ＰＣ、ＰＤＡ、携帯ゲーム機器、人体に装着可能なウェアラブル機器等によって構成することができる。ウェアラブル機器としては、例えば、リストバンド型、眼鏡型、指輪型、靴型、ペンダント型等の機器が挙げられる。動作対象機器としては、例えば、端末機器１０や当該端末機器１０と相互に通信可能である電子時計等が含まれていてもよい。
【００２８】
本実施形態において、管理の対象となるソフトウェアプログラムは、典型的には、動作対象機器のブラウザ等の他のアプリケーションプログラムの中に組み込まれて実行される比較的に小さなサイズのプログラムである。ここでは一例として、管理の対象となるソフトウェアプログラムは、ブラウザ上で実行されるアプリケーションプログラムであるアプレットや当該アプレットを構成する各種ブロックプログラムであるものとして説明する。アプレットは、典型的には、シーケンスが決まっているアプリケーションプログラムという位置づけである。
【００２９】
本実施形態のアプレットは、動作対象機器で実行させることで当該動作対象機器を動作させるプログラムである。アプレットは、動作対象機器を単体で所定の動作を行わせるプログラムであってもよいし、複数の動作対象機器を連携させて所定の動作を行わせるプログラムであってもよい。本実施形態のアプレットは、複数のブロックプログラムを含んで構成される。ここでは、アプレットは、ブロックプログラムとして、サービスブロックプログラムと、トリガブロックプログラムと、アクションブロックプログラムとを含み、これら３つの要素が組み合わせられることで１つのアプレットが構築される。以下の説明では、サービスブロックプログラムを「サービスブロック」、トリガブロックプログラムを「トリガブロック」、アクションブロックプログラムを「アクションブロック」という場合がある。
【００３０】
サービスブロックとは、ユーザが望む目的に応じたサービス内容に応じて動作対象機器が出力する出力情報を規定するプログラムである。言い換えれば、サービスブロックとは、サービス内容に応じて取得したい出力情報の内容を特定するプログラムである。
【００３１】
トリガブロックとは、サービス内容に応じた出力情報を出力するためのアクションを発動するトリガの内容と当該トリガを生成するトリガ生成部とを規定しトリガ生成部にトリガを生成させるプログラムである。ここで、トリガとは、サービスの内容に応じたアクションを発動させるためのきっかけである。トリガ生成部とは、動作対象機器に設けられ、トリガを生成するものである。動作対象機器においてトリガ生成部を構成し得るもの（トリガ生成部候補）としては、一例として、動作対象機器の入力部、検出部、計時部等が挙げられる。動作対象機器の入力部は、動作対象機器に対する種々の入力を受け付ける部分であり、例えば、タッチパネル、操作ボタン、音声入力装置、リューズ、プッシュボタン、レジスタリング等を含んで構成されてもよい。動作対象機器の検出部は、種々の情報を検出する検出器であり、例えば、加速度センサ、チルトスイッチ、照度センサ、温度センサ、電圧センサ、測位器等を含んで構成されてもよい。動作対象機器の計時部は、時刻（機器内部時刻）を計時する回路である。当該トリガ生成部によって生成されるトリガとしては、一例として、入力部に対する所定の入力、検出部による所定の情報の検出、計時部による計時結果等が挙げられる。トリガブロックは、当該トリガブロックを含むアプレットが動作対象機器の処理部によって実行されることで、当該トリガブロックによって規定されたトリガ生成部にトリガを生成させる。
【００３２】
アクションブロックとは、サービス内容に応じた出力情報を出力するためのアクションの内容と当該アクションを実行するアクション実行部とを規定しアクション実行部にアクションを実行させるプログラムである。ここで、アクションとは、アプレットによって提供するサービスの内容に応じた動作である。アクション実行部とは、動作対象機器に設けられ、アクションを実行するものである。動作対象機器においてアクション実行部を構成し得るもの（アクション実行部候補）としては、一例として、動作対象機器の通信部、出力部等が挙げられる。動作対象機器の通信部は、動作対象機器の外部と通信可能な通信モジュールである。動作対象機器の出力部は、動作対象機器において種々の出力を行う部分であり、例えば、ディスプレイ、表示灯、スピーカ／アラームブザー、バイブレータ、指針、日板等を含んで構成されてもよい。当該アクション実行部によって実行されるアクションとしては、一例として、通信部による外部への出力情報の出力、出力部による出力情報の出力等が挙げられる。アクションブロックは、当該アクションブロックを含むアプレットが動作対象機器の処理部によって実行されることで、当該アクションブロックによって規定されたアクション実行部に出力情報を出力するためのアクションを実行させる。
【００３３】
上記のように構成されるアプレットは、上述したサービスブロックと、トリガブロックと、アクションブロックとによって構成され、サービスの内容に応じた出力情報とトリガとアクションとを関連付けて規定する。当該アプレットは、例えば、ネットワークＮや近距離無線通信を介して動作対象機器の記憶部に記憶される。そして、当該アプレットは、動作対象機器の処理部によって実行されることで、トリガ生成部が生成したトリガによって、サービス内容に応じた出力情報を出力するアクションをアクション実行部に実行させることができる。
【００３４】
例えば、後述する外部機器２０の記憶部２３、あるいは、他の外部機器の記憶部には、ブロックプログラム記憶領域（不図示）が設けられており、当該ブロックプログラム記憶領域にはサービスブロック、トリガブロック、アクションブロックに用いられるブロックプログラムが数多く記憶されている。後述する端末機器１０でアプレットを作成する過程では、例えば、ネットワークＮを介してブロックプログラム記憶領域のブロックプログラムを目的別に複数表示し、その中からブロックプログラムを選択することができる。そして、選択された各ブロックプログラムの関連付けと詳細な動作の条件を規定し、アプレットとして後述する端末機器１０の記憶部１５に保存される。
【００３５】
アプレットは、動作対象機器を単体で所定の動作を行わせる場合には、当該動作対象機器に記憶され、当該動作対象機器に、トリガ生成部によるトリガの生成、出力情報に関する情報の取得、及び、アクション実行部によるアクションの実行を行わせる。この場合、アプレットは、例えば、動作対象機器によるトリガ生成を起点とし、当該動作対象機器に外部の機器からサービス内容に応じた出力情報に関する情報を取得させ、取得した情報に基づいてサービス内容に応じた出力情報を当該動作対象機器に出力させるアクションを実行させる。また、アプレットは、複数の動作対象機器を連携させて所定の動作を行わせる場合には、複数の動作対象機器のいずれかに記憶され、当該複数の動作対象機器を連携させて、トリガ生成部によるトリガの生成、出力情報に関する情報の取得、及び、アクション実行部によるアクションの実行を行わせる。この場合、アプレットは、例えば、第１の動作対象機器のトリガ生成を起点とし、当該トリガに応じて第２の動作対象機器に外部の機器からサービス内容に応じた出力情報に関する情報を取得させると共に当該取得した情報を第１の動作対象機器に送信させ、当該第１の動作対象機器に取得した情報に基づいてサービス内容に応じた出力情報を出力させるアクションを実行させる。また、アプレットは、サービスブロック、トリガブロック、アクションブロックがそれぞれ複数のブロックプログラムによって構成されてもよい。言い換えれば、１つのアプレットにおいて、サービスブロックによって規定される出力情報、トリガブロックによって規定されるトリガ、アクションブロックによって規定されるアクションが複数規定されていてもよい。
【００３６】
本実施形態において、プログラム管理システムＳｙｓ１による管理の対象となるソフトウェアプログラムは、上述したサービスブロック、トリガブロック、アクションブロック、又は、サービスブロックとトリガブロックとアクションブロックとを組み合わせたアプレットである。
【００３７】
＜端末機器の基本構成＞
端末機器１０は、上述したようにプログラム管理システムＳｙｓ１による管理の対象となるソフトウェアプログラムを作成可能な電子機器である。端末機器１０は、例えば、外部機器２０を含む各種機器と連携して各種プログラムを作成可能である。本実施形態の端末機器１０は、管理の対象となるソフトウェアプログラムとして、上述したサービスブロック、トリガブロック、アクションブロック、又は、アプレットを作成可能である。端末機器１０は、例えば、スマートフォン、タブレット型ＰＣ、ノート型ＰＣ、デスクトップ型ＰＣ等によって構成することができる。図１等の例では、端末機器１０は、スマートフォンであるものとして図示している。
【００３８】
端末機器１０は、ＣＰＵ等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路、半導体メモリ等の各種記憶装置等を含んで構成される。端末機器１０は、既知のＰＣやワークステーションなどのコンピュータシステムに種々の処理を実現させるプログラムをインストールすることで構成することもできる。
【００３９】
具体的には、端末機器１０は、図２に示すように、電源部１１と、端末側通信部としての通信部１２と、入力部１３と、出力部１４と、端末側記憶部としての記憶部１５と、端末側処理部としての処理部１６とを有する。
【００４０】
電源部１１は、端末機器１０の電力源である。電源部１１は、リチウムイオン電池等の充放電可能な二次電池等を含んで構成され、端末機器１０内の各部に対して電力を供給する。
【００４１】
通信部１２は、端末機器１０の外部と通信可能な通信モジュールである。通信部１２は、少なくとも外部機器２０と通信可能である。通信部１２は、無線通信、有線通信を問わずネットワークＮと通信可能に接続され、当該ネットワークＮを介して外部機器２０と通信を行う。
【００４２】
入力部１３は、端末機器１０に対する種々の入力を受け付ける部分である。入力部１３は、例えば、端末機器１０に対する操作入力を受け付けるタッチパネル１３ａ、端末機器１０に対する音声入力を受け付ける音声入力装置１３ｂ等を含んで構成される。入力部１３は、この他、キーボード、マウスポインタ等の入力装置を含んで構成されてもよい。
【００４３】
出力部１４は、端末機器１０において種々の出力を行う部分である。出力部１４は、例えば、画像情報を出力するディスプレイ１４ａ、音情報を出力するスピーカ１４ｂ等を含んで構成される。ディスプレイ１４ａは、処理部１６によって制御され画像を表示可能である端末側表示部を構成するものである。ディスプレイ１４ａは、例えば、画像を表示する液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイ等の画像表示装置等によって構成される。上述したタッチパネル１３ａは、このディスプレイ１４ａはこの表面に重畳させて設けられている。
【００４４】
記憶部１５は、端末機器１０に内蔵されるＲＯＭ、ＲＡＭ、半導体メモリ等の記憶装置である。記憶部１５は、端末機器１０での各種処理に必要な条件や情報、端末機器１０で実行する各種プログラム、制御データ等が格納されている。記憶部１５は、例えば、通信部１２によって受信された各種情報、入力部１３によって入力された各種情報、出力部１４によって出力される各種情報等を記憶することができる。記憶部１５は、例えば、通信部１２によって受信された各種情報として、当該通信部１２を介して外部機器２０等からダウンロードしたサービスブロック、トリガブロック、アクションブロック、アプレット等を記憶することができる。記憶部１５は、処理部１６等によってこれらの情報が必要に応じて読み出される。
【００４５】
処理部１６は、端末機器１０の各部と電気的に接続され、端末機器１０の各部を統括的に制御するものである。処理部１６は、ＣＰＵ等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路を含んで構成される。処理部１６は、端末機器１０の各部と通信可能に接続され、各部との間で相互に各種信号を授受可能である。処理部１６は、記憶部１５に記憶されている各種プログラムを実行し、当該プログラムが動作することにより端末機器１０の各部を動作させ各種機能を実現するための種々の処理を実行する。処理部１６は、例えば、入力部１３への入力に応じて、外部機器２０から通信部１２を介して各種情報を受信しダウンロードし記憶部１５に格納する処理を実行可能である。また、処理部１６は、例えば、入力部１３への入力に応じて、各種情報を通信部１２を介して外部機器２０に送信しアップロードする処理を実行可能である。
【００４６】
＜プログラムの作成＞
本実施形態の処理部１６は、入力部１３に対する入力に応じて、サービスブロック、トリガブロック、アクションブロック、アプレットを作成する処理を実行可能である。処理部１６は、上述したように、例えば、通信部１２を介して外部機器２０等の機器から取得した作成情報に基づいて、入力部１３に対する入力に応じて、サービスブロック、トリガブロック、アクションブロック、アプレットを作成することができる。ここで、作成情報とは、上述したようにサービスブロック、トリガブロック、アクションブロック、アプレットを作成する際に参照される様々な情報である。作成情報は、例えば、サービスの内容、トリガの内容、アクションの内容、トリガ生成部、アクション実行部等の候補やアプレットを構成するサービスブロック、トリガブロック、アクションブロック等の候補についての情報を含んでいてもよい。また、作成情報は、例えば、サービスブロック、トリガブロック、アクションブロック、アプレットを作成するためのプログラム作成用のプログラムを含んでいてもよい。この場合、処理部１６は、当該プログラム作成用のプログラムに従ってサービスブロック、トリガブロック、アクションブロック、アプレットを作成するようにしてもよい。また、処理部１６は、例えば、上記のような作成情報にはよらずに、入力部１３に対する入力に応じて、サービスブロック、トリガブロック、アクションブロック、アプレットを作成することもできる。記憶部１５は、処理部１６によって作成されたサービスブロック、トリガブロック、アクションブロック、アプレットを記憶することができる。なお、以下の説明では、処理部１６によって作成されたサービスブロック、トリガブロック、アクションブロック、そしてそれらのブロックを組み合わせたアプレットを「作成プログラム」という場合がある。また、サービスブロック、トリガブロック、アクションブロック、アプレットを作成するプログラム作成用のプログラムは、端末機器１０のユーザが自由に外部機器２０や他の外部機器から端末機器１０にインストールして利用することができる。従って、不特定多数のユーザが自分の嗜好に基づいて、作成プログラムを作成可能である。
【００４７】
＜プログラムの外部機器へのアップロード＞
本実施形態の処理部１６は、例えば、入力部１３への入力に応じて、作成プログラムを、通信部１２を介して外部機器２０に送信しアップロードする処理を実行可能である。つまり、本実施形態の通信部１２は、処理部１６によって作成された作成プログラムを外部、ここでは、外部機器２０に送信可能である。本実施形態の端末機器１０は、上記のようにして処理部１６によって作成された作成プログラムを当該通信部１２を介して外部の外部機器２０に送信する。
【００４８】
この場合、処理部１６は、作成プログラムを、当該作成プログラムのメタ情報や公開に関する情報と共に外部機器２０に送信しアップロードするようにしてもよい。ここで、プログラムのメタ情報とは、当該プログラムが付随して持つそのプログラム自身についての付加的な情報であり、例えば、当該プログラムの「名称」、「作者」、「作者のアカウントＩＤ」、「作成日」等の情報である。プログラムの「名称」は、後述するように事後的に設定することができる。プログラムの「作者」や「作者のアカウントＩＤ」等は、例えば、プログラムを作成した端末機器１０を所持するユーザに紐づけられて予め設定されている。プログラムの「作成日」は、当該プログラムが作成された際に付される。一方、プログラムの公開に関する情報とは、当該プログラムの外部への公開の程度を表す情報であり、例えば、「非公開」、「限定公開」、又は、「一般公開」のいずれかを表す情報である。「非公開」とは、当該プログラムを外部に対して公開しないことを表す。「限定公開」とは、当該プログラムを外部に対して制限つきで公開することを表し、例えば、公開対象等を限定して公開することを表す。「一般公開」とは、当該プログラムを外部に対して制限なく公開することを表す。なお、このプログラムの公開に関する情報は、後述する第２ステータス情報に相当し、外部機器２０側でのプログラムの管理で使用される。
【００４９】
処理部１６は、例えば、図３のような選択画面１００、２００を介して、作成した作成プログラムについての種々の情報を選択させることができる。処理部１６は、例えば、プログラムの作成が完了すると、図３に例示した選択画面１００をディスプレイ１４ａに表示させる。図３に例示した選択画面１００は、作成した作成プログラムの名称を選択するために操作される画面であり、例えば、「新しいアプレットを作成しました」、「名前を決めてください」等の文字画像と共に、作成プログラムを表すアイコン画像１０１が表示される。ここでは、アイコン画像１０１は、作成プログラムの暫定的な「名称」として当該作成プログラムの作成日（図３の例では「２０１８１１０９」）が付されている。処理部１６は、図３に例示した選択画面１００において、タッチパネル１３ａに対する作者のタップ操作等に応じてアイコン画像１０１が選択されると、例えば、選択画面１００内にいわゆるソフトウェアキーボードを表示しタッチパネル１３ａを介して作者による「名称」の入力操作を受け付ける。
【００５０】
次に、処理部１６は、例えば、図３に例示した選択画面２００をディスプレイ１４ａに表示させる。図３に例示した選択画面２００は、作成した作成プログラムの公開に関する情報を選択するために操作される画面であり、例えば、作成プログラムを表すアイコン画像２０１と共に、非公開選択領域２０２、限定公開選択領域２０３、一般公開選択領域２０４が表示される。非公開選択領域２０２は、当該作成プログラムを「非公開」とする場合に選択される領域であり、一例として、「非公開で自分だけで試すことができます」等の文字画像と共に、「公開前に試す」等の文字画像が表示される。限定公開選択領域２０３は、当該作成プログラムを「限定公開」とする場合に選択される領域であり、一例として、「審査後に決められた人たちだけに公開」等の文字画像と共に、「限定公開」等の文字画像が表示される。一般公開選択領域２０４は、当該作成プログラムを「一般公開」とする場合に選択される領域であり、一例として、「審査後にＳＴＯＲＥに公開されます」等の文字画像と共に、「一般公開」等の文字画像が表示される。
【００５１】
処理部１６は、図３に示す選択画面２００において、タッチパネル１３ａに対する作者のタップ操作等に応じて非公開選択領域２０２が選択されると、当該作成プログラムに対して、「非公開」を表す公開に関する情報を付す。この場合、処理部１６は、「非公開」を表す公開に関する情報が付された当該作成プログラムを、メタ情報や当該公開に関する情報と共に記憶部１５に記憶する一方、外部機器２０にはアップロードしない。
【００５２】
処理部１６は、図３に示す選択画面２００において、タッチパネル１３ａに対する作者のタップ操作等に応じて限定公開選択領域２０３が選択されると、当該作成プログラムに対して、「限定公開」を表す公開に関する情報を付す。この場合、処理部１６は、「限定公開」を表す公開に関する情報が付された当該作成プログラムを、メタ情報や当該公開に関する情報と共に記憶部１５に記憶すると共に、外部機器２０に送信しアップロードする。
【００５３】
処理部１６は、図３に示す選択画面２００において、タッチパネル１３ａに対する作者のタップ操作等に応じて一般公開選択領域２０４が選択されると、当該作成プログラムに対して、「一般公開」を表す公開に関する情報を付す。この場合、処理部１６は、「一般公開」を表す公開に関する情報が付された当該作成プログラムを、メタ情報や当該公開に関する情報と共に記憶部１５に記憶すると共に、外部機器２０に送信しアップロードする。
【００５４】
なおここでは、処理部１６は、「非公開」を表す公開に関する情報が付された作成プログラムを外部機器２０にはアップロードしないものとして説明したがこれに限らない。処理部１６は、「非公開」を表す公開に関する情報が付された作成プログラムも含めて外部機器２０に送信しアップロードするようにしてもよい。
【００５５】
ここで、「限定公開」、又は、「一般公開」を表す公開に関する情報が付された作成プログラムは、後述する外部機器２０による承認を要する作成プログラムに相当する。つまり、本実施形態の処理部１６は、少なくとも承認を要する作成プログラムを通信部１２から外部機器２０に送信することとなる。処理部１６は、例えば、承認を要する全ての作成プログラムを通信部１２から外部機器２０に送信することができる。
【００５６】
作成プログラムの作成過程、あるいは作成終了後の設定過程において「限定公開」あるいは「一般公開」が選択されると、当該作成プログラムが端末機器１０から外部機器２０に送信され、後述する外部機器２０の作成プログラム記憶部２３Ａ（図４参照）に記憶される。作成プログラムを作成するためのプログラムは、上述したように、外部機器２０から端末機器１０や他の端末へ自由にインストールすることができるため、不特定多数のユーザが作成プログラムを作成可能である。従って、外部機器２０にアップロードされる作成プログラムも大量になるが、本実施形態の作成プログラムは、動画やゲームソフトなどの大容量データではなく、テキストによる小規模プログラムであるため容量が少なく、例えば、少なくとも承認を要する全ての作成プログラムを記憶部２３に記憶しても、記憶容量を圧迫するような問題が生じることは無い。
【００５７】
端末機器１０から外部機器２０に送信しアップロードされた作成プログラムが記憶部２３Ａに記憶されることにより、同様に外部機器２０に記憶されている作成プログラムを構成する数多くのブロックプログラムとの連携した管理が容易になる。
【００５８】
例えば、作者が自己のブロックプログラムの公開を止めると、このブロックプログラムを利用した作成プログラムは全て動作できなくなる。従って、これにより動作不可能になった作成プログラムの作者、使用者に対して、速やかにその旨を通知する必要が生じる。例えば、上述した特許文献１のような方式の場合は、ユーザからレポジトリサーバにプログラムがアップロードされると、申請が承認されるかどうかを判定した上で、更にメタデータによる適合性を判断し、それに適合したもののみをレポジトリサーバで受信するため、ユーザの申請した数多くのプログラムに対して、一部のプログラムしかサーバに記憶されない。従って、特許文献１の方法を作成プログラムのアップロードに適用してしまうと、ブロックプログラムの公開停止による作成プログラムに対する不動作の旨の通知は、サーバに残る一部のプログラムの作者と使用者にしか通知されない。しかしながら、ブロックプログラムの公開停止に関する通知は、審査により公開が承認された作成プログラムだけでなく、審査保留中と公開不可の作成プログラムの作者に対しても、同様に行われるべきである。これに対して、端末機器１０から外部機器２０に送信しアップロードされた作成プログラム、典型的には、承認を要する作成プログラム（言い換えれば、公開に係る作成プログラム）を保存する本実施形態のプログラム管理システムＳｙｓ１であれば、上記問題が発生しても対応が可能である。また、上記場合に限らず、ブロックプログラムのバージョンアップなどの場合にも、同様の効果を得る事ができる。以下、図４等を外部機器２０の詳細について説明する。
【００５９】
＜外部機器の基本構成＞
外部機器２０は、上述したようにネットワークＮ上に実装されるクラウドサービス機器（クラウドサーバ）を構成するものである。外部機器２０は、ネットワークＮ上において、いわゆるリポジトリを構成する。外部機器２０は、端末機器１０によって作成されアップロードされた作成プログラムを、当該作成プログラムについての様々なステータス情報に基づいて管理する。当該外部機器２０によるプログラムの管理には、当該プログラムの承認審査、当該プログラムのデータベース化、当該プログラムの公開等が含まれる。外部機器２０は、ＣＰＵ等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路、各種記憶装置等を含んで構成される。外部機器２０は、既知のＰＣやワークステーションなどのコンピュータシステムに種々の処理を実現させるプログラムをインストールすることで構成することもできる。外部機器２０は、単体の機器によって構成されてもよいし、複数の機器を相互通信可能に組み合わせることで構成されてもよい。
【００６０】
具体的には、外部機器２０は、図４に示すように、電源部２１と、外部機器側通信部としての通信部２２と、外部機器側記憶部としての記憶部２３と、外部機器側処理部としての処理部２４とを有する。
【００６１】
電源部２１は、外部機器２０の電力源である。電源部２１は、例えば、商用電源等から外部機器２０の各部に対して電力を供給する。
【００６２】
通信部２２は、外部機器２０の外部と通信可能な通信モジュールである。通信部２２は、少なくとも端末機器１０と通信可能であり、端末機器１０から送信された作成プログラムを受信可能である。通信部２２は、無線通信、有線通信を問わずネットワークＮと通信可能に接続され、当該ネットワークＮを介して端末機器１０等と通信を行う。
【００６３】
記憶部２３は、外部機器２０に内蔵されるＲＯＭ、ＲＡＭ、半導体メモリ等の記憶装置である。典型的には、記憶部２３は、上述した端末機器１０の記憶部１５等と比較して記憶容量が相対的に大きい。記憶部２３は、外部機器２０での各種処理に必要な条件や情報、外部機器２０で実行する各種プログラム、制御データ等が格納されている。記憶部２３は、端末機器１０から送信され通信部２２によって受信された作成プログラムを記憶する。記憶部２３は、例えば、端末機器１０から送信され通信部２２によって受信された作成プログラムを全て記憶することができる。また、記憶部２３は、プログラム管理システムＳｙｓ１におけるプログラムの管理に必要な種々の情報を記憶する。記憶部２３は、処理部２４等によってこれらの情報が必要に応じて読み出される。
【００６４】
処理部２４は、外部機器２０の各部と電気的に接続され、外部機器２０の各部を統括的に制御するものである。処理部２４は、ＣＰＵ等の中央演算処理装置を含む周知のマイクロコンピュータを主体とする電子回路を含んで構成される。処理部２４は、外部機器２０の各部と通信可能に接続され、各部との間で相互に各種信号を授受可能である。処理部２４は、記憶部２３に記憶されている各種プログラムを実行し、当該プログラムが動作することにより外部機器２０の各部を動作させ各種機能を実現するための種々の処理を実行する。処理部２４は、プログラム管理システムＳｙｓ１における様々なサービスに必要な種々の処理を実行する。処理部２４は、例えば、端末機器１０から通信部２２を介して各種情報を受信し記憶部２３に格納する処理を実行可能である。
【００６５】
＜アップロードされたプログラムの承認審査＞
本実施形態の処理部２４は、端末機器１０から送信され通信部２２によって受信された作成プログラムを承認する処理を実行可能である。処理部２４は、典型的には、公開に関する情報（後述の第２ステータス情報に相当）が「限定公開」、又は、「一般公開」を表す作成プログラムを承認審査の対象とする。つまりここでは、当該作成プログラムの承認審査は、典型的には、作成プログラムの外部への公開に対する承認審査に相当する。ただしこれに限らず、処理部２４は、公開に関する情報が「非公開」を表す作成プログラムも承認審査の対象としてもよい。すなわち、当該作成プログラムの承認審査は、公開を前提とするものに限られない。
【００６６】
処理部２４は、例えば、作成プログラムの公開を承認するためのルールに基づいて、種々の公知の手法を用いて自動で作成プログラムやメタ情報の内容を解析することで当該作成プログラムの承認の可否を決定してもよい。また、処理部２４は、例えば、作成プログラムの公開を承認するためのルールに基づいて、係員が作成プログラムやメタ情報の内容を解析した上で、承認の可否が外部機器２０に入力されることで当該作成プログラムの承認の可否を決定してもよい。ここでは、処理部２４は、作成プログラムの承認審査の結果として、「承認」、「非承認」、又は、「承認の保留」のいずれかを決定する。ここで、「承認」とは、当該作成プログラムの公開が承認されたことを表す。「非承認」とは、当該作成プログラムの公開が承認されなかったことを表す。「承認の保留」とは、当該作成プログラムの公開の承認が保留されたことを表しており、言い換えれば、現在審査中であることを表す。
【００６７】
なお、処理部２４は、上記のような作成プログラムの承認審査の結果を、端末機器１０側に通知するようにしてもよい。この場合、処理部２４は、作成プログラムの承認審査の結果を通信部２２を介して端末機器１０に送信する。端末機器１０の処理部１６は、外部機器２０から通信部１２を介して作成プログラムの承認審査の結果あるいはメッセージを受信すると、当該受信した承認審査の結果あるいはメッセージに基づいて、図５に例示する通知画面３００をディスプレイ１４ａに表示させるようにしてもよい。図５に例示した通知画面３００は、作成プログラムの承認審査の結果を通知する画面である。図５に例示した通知画面３００は、一例として、作成プログラムが「承認」された場合の画面を表しており、「審査ＯＫのお知らせ」、「審査に通過いたしました。○日からＳｔｏｒｅで公開されます。」等の文字画像が表示される。
【００６８】
＜プログラムのステータス情報＞
図４における外部機器２０側の記憶部２３は、承認審査の結果等の各作成プログラムに関するステータス情報を端末機器１０から送信された作成プログラムと共に記憶する。つまり、処理部２４は、通信部２２によって受信された作成プログラム、ステータス情報、メタ情報等を処理し、記憶部２３に格納する。ここでは、処理部２４は、作成プログラムと、当該作成プログラムに関するステータス情報と、当該作成プログラムに関するメタ情報とを関連付け（紐付け）て記憶部２３に格納する。
【００６９】
より具体的には、記憶部２３は、機能概念的に、作成プログラム記憶部２３Ａと、ステータス情報記憶部２３Ｂとを含んで構成される。
【００７０】
作成プログラム記憶部２３Ａは、端末機器１０から送信され通信部２２によって受信された作成プログラムを記憶する記憶領域である。作成プログラム記憶部２３Ａは、通信部２２によって受信された作成プログラムのメタ情報と共に当該作成プログラムを記憶する。また、作成プログラム記憶部２３Ａは、端末機器１０や他のプログラム作成機器から受信した作成プログラムを記憶することができる。作成プログラム記憶部２３Ａに記憶されている作成プログラムは、後述するステータス情報等に応じて、ネットワークＮ等を介して端末機器１０や他の機器にダウンロードされ、利用可能である。
【００７１】
ステータス情報記憶部２３Ｂは、端末機器１０から送信され通信部２２によって受信された作成プログラムに関するステータス情報を記憶する記憶領域である。作成プログラムに関するステータス情報とは、作成プログラムの状態や属性を表す様々な情報である。ステータス情報記憶部２３Ｂに記憶されているステータス情報は、処理部２４による処理によって、作成プログラム記憶部２３Ａに記憶されている作成プログラム、及び、そのメタ情報と関連付け（紐付け）られて記憶される。
【００７２】
本実施形態のステータス情報記憶部２３Ｂは、ステータス情報として、第１ステータス情報、第２ステータス情報、第３ステータス情報、及び、第４ステータス情報を記憶する。つまり、本実施形態の記憶部２３は、第１ステータス情報、第２ステータス情報、第３ステータス情報、及び、第４ステータス情報と共に作成プログラムを記憶可能である。ここでは、ステータス情報記憶部２３Ｂは、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報をそれぞれ記憶する第１ステータス情報記憶部２３Ｂａ、第２ステータス情報記憶部２３Ｂｂ、第３ステータス情報記憶部２３Ｂｃ、第４ステータス情報記憶部２３Ｂｄを含んで構成される。
【００７３】
第１ステータス情報記憶部２３Ｂａは、ステータス情報として、第１ステータス情報を記憶する記憶領域である。第１ステータス情報とは、処理部２４による作成プログラムの承認の可否を表す情報であり、例えば、上述した「承認」、「非承認」、又は、「承認の保留」のいずれかを表す情報である。当該第１ステータス情報は、上述の承認審査において結果が出た際に、外部機器２０側の処理部２４によって作成プログラムに付される。つまり、本実施形態の記憶部２３は、作成プログラムの承認の可否を第１ステータス情報として当該作成プログラムと共に記憶する。
【００７４】
第２ステータス情報記憶部２３Ｂｂは、ステータス情報として、第２ステータス情報を記憶する記憶領域である。第２ステータス情報とは、作成プログラムの外部への公開の程度を表す情報であり、例えば、上述した「非公開」、「限定公開」、又は、「一般公開」のいずれかを表す情報である。当該第２ステータス情報は、上述した作成プログラムの公開に関する情報に相当し、端末機器１０側の処理部１６によって作成プログラムに付される。
【００７５】
第３ステータス情報記憶部２３Ｂｃは、ステータス情報として、第３ステータス情報を記憶する記憶領域である。第３ステータス情報とは、作成プログラムの課金内容を表す情報であり、例えば、「無料」、又は、「有料」のいずれかを表す情報である。「無料」とは、当該作成プログラムのダウンロードを無料で許可することを表す。「有料」とは、当該作成プログラムのダウンロードを有料で許可することを表す。当該第３ステータス情報は、上述した第２ステータス情報と同様に、端末機器１０側で選択画面等を介して作者に選択させ、当該端末機器１０側の処理部１６によって作成プログラムに付される。なお、第３ステータス情報は、「有料」とされた作成プログラムに関し、さらに「価格」に関する情報を含んでいてもよい。
【００７６】
第４ステータス情報記憶部２３Ｂｄは、ステータス情報として、第４ステータス情報を記憶する記憶領域である。第４ステータス情報とは、作成プログラムの使用状況を表す情報であり、例えば、「ダウンロード数」、「ダウンロード日時」、「ダウンロードの成否」、「使用ユーザのアカウントＩＤ」、「使用頻度」、「使用日時」等を表す情報である。第４ステータス情報は、外部機器２０側の処理部２４によって収集され、作成プログラムに付される。
【００７７】
＜プログラムの管理＞
本実施形態の処理部２４は、第１ステータス情報、第２ステータス情報、第３ステータス情報、及び、第４ステータス情報に基づいて、作成プログラムを管理する処理を実行可能である。上述した作成プログラムの承認審査も処理部２４による作成プログラムの管理の一部に相当する。
【００７８】
＜プログラムの管理：リスト化、データベース化＞
外部機器２０側の処理部２４は、作成プログラム記憶部２３Ａに記憶されている複数の作成プログラムを、ステータス情報記憶部２３Ｂに記憶されているステータス情報と共にリスト化、データベース化することができる。図６は、処理部２４によって複数の作成プログラムをリスト化、データベース化した作成プログラムリスト４００の一例である。図６に示す作成プログラムリスト４００は、一例として、作成プログラム記憶部２３Ａ、第１ステータス情報記憶部２３Ｂａ、第２ステータス情報記憶部２３Ｂｂにそれぞれ記憶されている第１ステータス情報、第２ステータス情報、メタ情報に基づいて、複数の作成プログラムの「名称」、「作者」、「作者のアカウントＩＤ」、「審査状態」、「公開」、「申請日」がリスト化されたものである。「名称」、「作者」、「作者のアカウントＩＤ」、「申請日」は、作成プログラムのメタ情報に基づくものである。「審査状態」は、作成プログラムの第１ステータス情報に基づくものである。「公開」は、作成プログラムの第２ステータス情報に基づくものであり、例えば、「Ｂ」は「限定公開」を表し、「Ｃ」は「一般公開」を表す。当該作成プログラムリスト４００は、例えば、外部機器２０の表示部（不図示）や管理用の機器等において表示させることできる。
【００７９】
＜プログラムの管理：審査状況の表示＞
端末機器１０側の処理部１６は、外部機器２０側で管理される各作成プログラムのステータス情報に基づいて、作成プログラムの審査状況をディスプレイ１４ａに表示させることができる。処理部１６は、例えば、通信部１２を介して、外部機器２０の作成プログラム記憶部２３Ａ、及び、第１ステータス情報記憶部２３Ｂａに記憶されている情報を参照し、端末機器１０で作成した作成プログラムの審査状況をディスプレイ１４ａに表示させる。処理部１６は、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報を参照し、例えば、図７に例示するプロフィール画面５００において、作成プログラムを表すアイコン画像５０１、５０２、５０３、及び、当該各作成プログラムの第１ステータス情報を表す第１ステータス画像５０４、５０５、５０６をディスプレイ１４ａに表示させる。
【００８０】
図７に例示したプロフィール画面５００は、端末機器１０を所有するユーザに関する個人情報を表示する画面である。図７に例示したプロフィール画面５００は、一例として、当該端末機器１０から外部機器２０にアップロードした作成プログラムに関するアイコン画像５０１、５０２、５０３、及び、第１ステータス画像５０４、５０５、５０６が表示される。アイコン画像５０１、５０２、５０３は、それぞれ、作成プログラムを模したアイコンを表す画像であり、ここでは、当該端末機器１０から外部機器２０にアップロードした作成プログラムを表す。第１ステータス画像５０４、５０５、５０６は、当該作成プログラムの第１ステータス情報の内容を表す画像であり、ここでは、「承認」、「保留」、「非承認」等の文字画像である。言い換えれば、第１ステータス画像５０４、５０５、５０６は、作成プログラムの承認審査の結果を表す審査結果画像に相当する。
【００８１】
処理部１６は、図７に例示したプロフィール画面５００において、「承認」を表す第１ステータス情報が付された作成プログラムのアイコン画像５０１の下側角部に、「承認」の文字画像による第１ステータス画像５０４を表示させる。同様に、処理部１６は、図７に例示したプロフィール画面５００において、「承認の保留」を表す第１ステータス情報が付された作成プログラムのアイコン画像５０２の下側角部に、「保留」の文字画像による第１ステータス画像５０５を表示させる。同様に、処理部１６は、図７に例示したプロフィール画面５００において、「非承認」を表す第１ステータス情報が付された作成プログラムのアイコン画像５０３の下側角部に、「非承認」の文字画像による第１ステータス画像５０６を表示させる。これにより、端末機器１０は、外部機器２０によって管理されている作成プログラムの承認審査の状況を分かり易く報知することが可能となる。
【００８２】
なお、作成プログラムの第１ステータス情報の内容を表す第１ステータス画像は、上記に限らず、文字画像以外であっても良く、例えば「承認」、「保留」、「非承認」を、それぞれ「〇」、「□」、「×」などの記号やマークを画像として表示しても良い。
【００８３】
＜プログラムの管理：公開＞
外部機器２０側の処理部２４は、ステータス情報記憶部２３Ｂに記憶されているステータス情報に基づいて、作成プログラム記憶部２３Ａに記憶されている作成プログラムをフィルタリングし外部に対して公開することがきる。ここで、外部に対して作成プログラムを公開するという場合、典型的には、外部機器２０とネットワークＮを介して通信可能に接続された機器（例えば、端末機器１０も含む。）に対して、プログラムストア等を介して当該作成プログラムを閲覧可能としダウンロード可能とすることをいう。
【００８４】
具体的には、処理部２４は、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報、及び、第２ステータス情報記憶部２３Ｂｂに記憶されている第２ステータス情報に基づいて、作成プログラムを外部に対して公開する処理を実行可能である。処理部２４は、「承認」を表す第１ステータス情報が付され、かつ、「限定公開」、又は、「一般公開」を表す第２ステータス情報が付された作成プログラムを外部に対して公開する。処理部２４は、作成プログラムを外部に対して公開する場合、「限定公開」を表す第２ステータス情報が付された作成プログラムについては予め設定された限定された公開対象に対して公開する。また、処理部２４は、作成プログラムを外部に対して公開する場合、「一般公開」を表す第２ステータス情報が付された作成プログラムについては公開対象等を限定せずに公開する。一方、処理部２４は、「承認の保留」、又は、「非承認」を表す第１ステータス情報が付された作成プログラム、あるいは、「非公開」を表す第２ステータス情報が付された作成プログラムについては外部に対して公開しない。つまり、処理部２４は、作成プログラム記憶部２３Ａに記憶されている複数の作成プログラムから、「承認」を表す第１ステータス情報が付され、かつ、「限定公開」、又は、「一般公開」を表す第２ステータス情報が付された作成プログラムをフィルタリングして抽出し、当該抽出した作成プログラムを、端末機器１０等の機器において、ダウンロード可能な作成プログラムとして表示させる。
【００８５】
＜プログラムの管理：ダウンロード＞
外部機器２０側の処理部２４は、ステータス情報記憶部２３Ｂに記憶されているステータス情報に基づいて、作成プログラム記憶部２３Ａに記憶されている作成プログラムをダウンロード可能とすることがきる。この場合、処理部２４は、例えば、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報、及び、第３ステータス情報記憶部２３Ｂｃに記憶されている第３ステータス情報に基づいて、作成プログラムをダウンロード可能とする処理を実行可能である。例えば、処理部２４は、「承認」を表す第１ステータス情報が付され、かつ、「無料」を表す第３ステータス情報が付された作成プログラムについては、無料会員、有料会員にかかわらず、端末機器１０等の機器に作成プログラムをダウンロード可能とする。一方、処理部２４は、「承認」を表す第１ステータス情報が付され、かつ、「有料」を表す第３ステータス情報が付された作成プログラムについては、有料会員のみに対して、端末機器１０等の機器に作成プログラムをダウンロード可能とし、無料会員に対してはダウンロード不可とする。処理部２４は、例えば、作成プログラムのダウンロードをリクエストした機器を所有するユーザのアカウントＩＤ等に基づいて無料会員と有料会員との判別を行うことができる。また、処理部２４は、例えば、外部機器２０にネットワークＮを介して通信可能に接続された課金サーバに記憶されている会員情報等に基づいて無料会員と有料会員との判別を行うこともできる。
【００８６】
ここでは、処理部２４は、「限定公開」、又は、「一般公開」を表す第２ステータス情報が付され、外部に対して公開されている作成プログラムを対象としてダウンロードを可能とする。つまり、処理部２４は、実質的には、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報、第２ステータス情報記憶部２３Ｂｂに記憶されている第２ステータス情報、及び、第３ステータス情報記憶部２３Ｂｃに記憶されている第３ステータス情報に基づいて、作成プログラムをダウンロード可能とする処理を実行していることとなる。つまり、「承認」の第１ステータス情報が付与されている作成プログラムは、「限定公開」、又は、「一般公開」の何れかであるため、第１ステータス情報の「承認」の情報は、第２ステータスの「限定公開」、又は、「一般公開」の情報を兼ねていることになる。処理部２４は、「承認の保留」、又は、「非承認」を表す第１ステータス情報が付された作成プログラム、あるいは、「非公開」を表す第２ステータス情報が付された作成プログラムについては、外部に公開せず、ダウンロード不可とする。一方、処理部２４は、「承認」を表す第１ステータス情報が付され、かつ、「限定公開」、又は、「一般公開」を表す第２ステータス情報が付された作成プログラムについては、外部に公開し、上記のように第３ステータス情報の内容に応じてダウンロード可能とする。
【００８７】
以下、図８を参照してプログラム管理システムＳｙｓ１における作成プログラムのダウンロードの流れについて一例を説明する。
【００８８】
端末機器１０側の処理部１６は、外部機器２０において外部に対して公開されている作成プログラムから、入力部１３への入力に応じて、ダウンロードを希望する作成プログラムを決定する。そして、処理部１６は、通信部１２、ネットワークＮを介して、外部機器２０に、当該端末機器１０を所有するユーザのアカウントＩＤと共に上記で決定した作成プログラムについてのダウンロードリクエストを送信する（ステップＳ１）。
【００８９】
外部機器２０側の処理部２４は、通信部２２を介して、ユーザのアカウントＩＤ、及び、ダウンロードリクエストを受信すると、当該ダウンロードリクエストに係る作成プログラムについてのダウンロード許可判定を行う（ステップＳ２）。この場合、処理部２４は、受信したアカウントＩＤ、及び、ダウンロードリクエストに係る作成プログラムのステータス情報に基づいて、当該ダウンロードリクエストに係る作成プログラムのダウンロードを許可するか否かを判定する。処理部２４は、例えば、受信したアカウントＩＤ、及び、第２ステータス情報に基づいて、ダウンロードリクエストを送信した端末機器１０のユーザが当該ダウンロードリクエストに係る作成プログラムの公開対象か否かを判定する。また、処理部２４は、例えば、受信したアカウントＩＤ、及び、第３ステータス情報に基づいて、ダウンロードリクエストを送信した端末機器１０のユーザが当該ダウンロードリクエストに係る作成プログラムをダウンロード可能な会員種別であるか否かを判定する。処理部２４は、ダウンロードリクエストを送信した端末機器１０のユーザが当該ダウンロードリクエストに係る作成プログラムの公開対象であり、かつ、当該作成プログラムをダウンロード可能な会員種別であると判定した場合、当該作成プログラムのダウンロードを許可する。一方、処理部２４は、ダウンロードリクエストを送信した端末機器１０のユーザが当該ダウンロードリクエストに係る作成プログラムの公開対象ではない、あるいは、当該作成プログラムをダウンロード可能な会員種別でないと判定した場合、当該作成プログラムのダウンロードを不許可する。
【００９０】
そして、処理部２４は、通信部２２、ネットワークＮを介して、端末機器１０に、ダウンロード許可判定の判定結果に応じたダウンロードレスポンスを返信する（ステップＳ３）。この場合、処理部２４は、ダウンロード許可判定の判定結果がダウンロード不許可の判定結果である場合、当該ダウンロードレスポンスに基づいて、端末機器１０のディスプレイ１４ａに、ダウンロードが許可されなかった旨の通知を表示させる。一方、処理部２４は、ダウンロード許可判定の判定結果がダウンロード許可の判定結果である場合、当該ダウンロードレスポンスに基づいて、端末機器１０に、ダウンロードリクエストに係る作成プログラムをダウンロードさせる。
【００９１】
なお、処理部２４は、端末機器１０に記憶された会員情報、具体的には端末機器１０に記憶された有料会員か無料会員の情報、課金の支払いが済んでいるか否かの情報、会員のプロフィール情報などのうち、少なくとも一つの情報を基にダウンロードの判定を行っても良い。この構成について、以下に詳細に説明する。
【００９２】
図９は、図２とは異なる端末機器１０の概略構成を表すブロック図である。この端末機器１０の記憶部１５は、作成プログラムであるアプレット等を記憶するアプレット記憶部１５ａ、端末機器１０を使用するユーザの会員情報を記憶する会員情報記憶部１５ｂ、端末機器１０を使用するユーザのプロフィールを記録するプロフィール記憶部１５ｃを有している。  
【００９３】
アプレット記憶部１５ａは、作成プログラムとそれに関する情報を記憶する。会員情報記憶部１５ｂは、会員のアカウントやＩＤを記憶するだけでなく、処理部１６と通信部１２による制御に基づき、ネットワークＮを介して外部機器６０１に接続し、端末機器１０を使用するユーザに関する情報、例えば、有料会員か無料会員の情報、あるいは、課金の支払いが済んでいるか否かの情報、などを受信し、会員情報として記憶する。ここで外部機器６０１は、外部機器２０とは異なる機器であり、プログラム管理システムＳｙｓ１の一部を構成し、会員の会費やプログラムの購入に際する代金の管理を行う専用サーバである。プロフィール記憶部１５ｃは、上記と同様にネットワークＮを介して外部機器６０２と接続し、端末機器１０を使用するユーザに関するプロフィール情報、例えば性別、住所、身長、体重、年齢、会員のアカウント、ＩＤなどを受信し、プロフィール情報を記憶する。ここで外部機器６０２は、外部機器２０、６０１とは異なる機器であり、プログラム管理システムＳｙｓ１の一部を構成し、ユーザの個人情報の管理を行う専用サーバである。
【００９４】
ユーザが端末機器１０で所望の作成プログラムのダウンロード要求をしたときに、外部機器２０は、端末機器１０に対して、アプレット記憶部１５ａ、会員情報記憶部１５ｂに記憶した会員情報を送信するように指示する。これに応答して、端末機器１０は、アプレット記憶部１５ａのアプレットに関する情報、会員情報記憶部１５ｂの会員情報、プロフィール記憶部１５ｃのプロフィール情報、の少なくとも１つ以上の情報を外部機器２０に送信する。そして、外部機器２０は、受信した情報に基づいて端末機器１０に対するダウンロードの可否を判定する。これにより、外部機器２０は、セキュリティの高いサーバにアクセスすることなく、端末機器１０における必要な個人情報のみにアクセスして上記のような各種処理を実行することができる。
【００９５】
すなわち、外部機器６０１、６０２は、それぞれ個人情報を扱うため、外部機器２０と比較すると相対的にセキュリティ性が高く、各サーバ間で直接送受信して情報を交換する事が制限される傾向にある。これに対して、上記方法であれば、外部機器２０は、セキュリティの高いサーバに直接アクセスすることなく、端末機器１０における外部機器６０１、６０２から、必要な個人情報のみにアクセスして情報を得て、外部機器２０で「有料」を表す第３ステータス情報が付された作成プログラムに対するダウロードの可否を判断できる。また、ダウンロードの可否を短時間で判断できるため、ユーザを長く待たせることがない、といった利点も生じる。
【００９６】
なお、外部機器２０において、有料会員のみがダウンロード可能な作成プログラムに対して、ダウンロードを要求したユーザが無料会員であることが判明した時には、作成プログラムの初回のダウンロードを許可すると共に使用期限を設けても良い。これにより、ユーザに作成プログラムを体験させることで、有料会員の加入に興味を持たせることができる。
【００９７】
＜プログラムの管理：使用状況の表示＞
端末機器１０側の処理部１６は、外部機器２０側で管理される各作成プログラムのステータス情報に基づいて、作成プログラムの使用状況をディスプレイ１４ａに表示させることができる。処理部１６は、例えば、通信部１２を介して、外部機器２０の作成プログラム記憶部２３Ａ、及び、第４ステータス情報記憶部２３Ｂｄに記憶されている情報を参照し、端末機器１０で作成した作成プログラムの使用状況をディスプレイ１４ａに表示させる。
【００９８】
この場合、外部機器２０側の処理部２４は、例えば、図１０に模式的に示すように、外部からの通信接続状況等に基づいて、作成プログラム記憶部２３Ａに記憶されている作成プログラムの「ダウンロード数」、「ダウンロード日時」、「ダウンロードの成否」、「使用ユーザのアカウントＩＤ」、「使用頻度」、「使用日時」等を収集、集計する。処理部２４は、典型的には、外部機器２０とネットワークＮを介して通信可能に接続された機器を所有する全ユーザに関して、作成プログラムの「ダウンロード数」、「ダウンロード日時」、「ダウンロードの成否」、「使用ユーザのアカウントＩＤ」、「使用頻度」、「使用日時」等を収集、集計する。そして、処理部２４は、当該集計した使用状況を、第４ステータス情報記憶部２３Ｂｄに記憶されている第４ステータス情報に反映させる。
【００９９】
そして、処理部１６は、第４ステータス情報記憶部２３Ｂｄに記憶されている第４ステータス情報を参照し、例えば、図１１に例示するプロフィール画面７００において、ユーザが作成した作成プログラムを表すアイコン画像７０１、及び、当該各作成プログラムの第４ステータス情報を表す第４ステータス画像７０２をディスプレイ１４ａに表示させる。
【０１００】
図１１に例示したプロフィール画面７００は、上述したプロフィール画面５００と同様に、端末機器１０を所有するユーザに関する個人情報を表示する画面である。図１１に例示したプロフィール画面７００は、一例として、当該端末機器１０から外部機器２０にアップロードした作成プログラムに関するアイコン画像７０１、及び、第４ステータス画像７０２が表示される。アイコン画像７０１は、作成プログラムを模したアイコンを表す画像であり、ここでは、当該端末機器１０から外部機器２０にアップロードした作成プログラムを表す。第４ステータス画像７０２は、当該作成プログラムの第４ステータス情報の内容を表す画像であり、ここでは、当該作成プログラムが２００８回ダウンロードされたことを表す「２００８ＤＬ」等の文字画像である。処理部１６は、図１１に例示したプロフィール画面７００において、作成プログラムのアイコン画像７０１の下側角部に、「２００８ＤＬ」の文字画像による第４ステータス画像７０２を表示させる。これにより、端末機器１０は、外部機器２０によって管理されている作成プログラムの使用状況を分かり易く報知することが可能となる。
【０１０１】
＜プログラムの管理：報酬算定＞
外部機器２０側の処理部２４は、上記のように集計され第４ステータス情報記憶部２３Ｂｄに記憶された第４ステータス情報に基づいて、作成プログラムに対する報酬を算出する処理を実行可能である。処理部２４は、例えば、作成プログラム記憶部２３Ａに記憶されている作成プログラムに紐づけられたメタ情報、及び、各第４ステータス情報に基づいて、「ダウンロード数」や「使用頻度」等に応じて各作成プログラムの作者への報酬（金額やポイント）を算出する。処理部２４は、算出した各作成プログラムの作者への報酬を、記憶部２３に記憶させてもよいし、外部機器２０にネットワークＮを介して通信可能に接続された課金サーバ等に記憶させてもよい。
【０１０２】
＜実施形態の作用効果＞
以上で説明したプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、端末機器１０によって作成されたプログラムが外部機器２０に送信され、当該端末機器１０から外部機器２０に送信された作成プログラムを外部機器２０に記憶する。そして、プログラム管理システムＳｙｓ１は、外部機器２０によって当該プログラムを承認する処理が実行され、作成プログラムの承認の可否を第１ステータス情報として作成プログラムと共に外部機器２０に記憶する。そして、外部機器２０は、当該第１ステータス情報に基づいて当該プログラムを管理する。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、端末機器１０によって作成されたプログラムを、外部機器２０によって適正に管理することができる。
【０１０３】
例えば、以上で説明したプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、処理部１６によってプログラムのアイコン画像５０１、５０２、５０３、及び、当該プログラムの第１ステータス画像５０４、５０５、５０６をディスプレイ１４ａに表示させる。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、端末機器１０によって作成され、外部機器２０によって管理されているプログラムの承認審査の状況を分かり易く報知することができる。
【０１０４】
また、以上で説明したプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、プログラムの外部への公開の程度を表す第２ステータス情報と共に当該プログラムを外部機器２０に記憶する。そして、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、外部機器２０側の処理部２４によって、第１ステータス情報、及び、第２ステータス情報に基づいて、当該プログラムを外部に対して公開する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、外部機器２０による管理に基づいて、承認を得た適正なプログラムを外部に対して公開することができる。
【０１０５】
また、以上で説明したプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、プログラムの課金内容を表す第３ステータス情報と共に当該プログラムを外部機器２０に記憶する。そして、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、外部機器２０側の処理部２４によって、第１ステータス情報、及び、第３ステータス情報に基づいて、プログラムをダウンロード可能とする処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、外部機器２０による管理に基づいて、課金内容に応じてプログラムをダウンロード可能とすることができる。
【０１０６】
また、以上で説明したプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、プログラムの使用状況を表す第４ステータス情報と共に当該プログラムを外部機器２０に記憶する。そして、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、外部機器２０側の処理部２４によって、第４ステータス情報に基づいて、プログラムに対する報酬を算出する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、プログラムの使用状況に応じた報酬も含めて外部機器２０によって当該プログラムを管理することができる。
【０１０７】
ここでは、以上で説明したプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、管理の対象となるソフトウェアプログラムが比較的にデータ量の少ないサービスブロック、トリガブロック、アクションブロック、又は、アプレットである。この場合、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、承認審査等、様々な処理が必要なプログラムを、端末機器１０側での事前審査なくすべて端末機器１０から外部機器２０に送信し外部機器２０側で処理しても、データ通信量の過度の増大、外部機器２０側での演算量の過度な増大、記憶容量の圧迫等を招く可能性を抑制することができる。
【０１０８】
なお、上述した本発明の実施形態に係るプログラム管理システム、外部機器、及び、端末機器は、上述した実施形態に限定されず、特許請求の範囲に記載された範囲で種々の変更が可能である。
【０１０９】
以上の説明では、端末機器１０によって作成され、外部機器２０による管理の対象となるソフトウェアプログラムは、各動作対象機器で実行させることで当該動作対象機器を動作させるプログラムであるものとして説明したがこれに限らない。当該ソフトウェアプログラムは、サービスブロック、トリガブロック、アクションブロック、又は、アプレットであるものとして説明したがこれに限らない。
【０１１０】
以上の説明では、記憶部２３は、第１ステータス情報、第２ステータス情報、第３ステータス情報、及び、第４ステータス情報を記憶し、処理部２４は、第１ステータス情報、第２ステータス情報、第３ステータス情報、及び、第４ステータス情報に基づいて、作成プログラムを管理するものとして説明したがこれに限らない。記憶部２３は、少なくとも第１ステータス情報を記憶し、処理部２４は、少なくとも第１ステータス情報に基づいてプログラムを管理すればよい。例えば、処理部２４は、プログラムの課金内容を表す第３ステータス情報にかかわらず、第１ステータス情報、及び、第２ステータス情報に基づいて、プログラムをダウンロード可能とする処理を実行してもよい。さらには、処理部２４は、プログラムの外部への公開の程度を表す第２ステータス情報にかかわらず、第１ステータス情報のみに基づいて、プログラムを公開する処理、プログラムをダウンロード可能とする処理を実行してもよい。
【０１１１】
以上の説明では、第１ステータス画像は、例えば、「承認」、「非承認」、「保留」等の文字画像であるものとして説明したがこれに限らず、様々なモチーフを模した図形画像であってもよい。
【０１１２】
以上の説明では、外部機器２０は、単体の機器として構成されるものとして説明したがこれに限らない。外部機器２０の機能分散の形態は、上記に限られず、同様の効果や機能を奏し得る範囲において、任意の単位で機能的または物理的に分散・統合して構成することができる。また、以上で説明した作成プログラム以外の各種プログラム、各種データ等は、適宜、更新されてもよいし、端末機器１０や外部機器２０に対して任意のネットワークＮを介して接続された他のサーバに記憶されていてもよい。以上で説明した作成プログラム以外のプログラム、各種データ等は、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。また、例えば、処理部１６、２４が備える各処理機能については、その全部又は任意の一部を、例えば、ＣＰＵ等及び当該ＣＰＵ等にて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジック等によるハードウェアとして実現してもよい。
【０１１３】
＜プログラムの管理の変形例：公開後の更新＞
以上の説明では、処理部２４は、第１ステータス情報、及び、第２ステータス情報に基づいて、作成プログラムを外部に対して公開する処理を実行可能であるものとしたが、公開を事後的に制限するようにしてもよい。
【０１１４】
本変形例に係る処理部２４は、例えば、第１ステータス情報、又は、第２ステータス情報が更新された場合、当該第１ステータス情報、又は、当該第２ステータス情報の更新内容に基づいて、外部に対して公開されていた作成プログラムの公開を制限する処理を実行可能である。
【０１１５】
作成プログラムの公開後に第１ステータス情報、又は、第２ステータス情報が更新され非公開となる場合としては、一例として、例えば、作成プログラムの承認審査の基準（作成プログラムの公開を承認するためのルール）が変更され当該作成プログラムが承認基準を満たせなくなり事後的に「非承認」となった場合、「公開」とされていた作成プログラムが作者の意思で事後的に「非公開」とされた場合等が挙げられる。
【０１１６】
本変形例に係る処理部２４は、このような場合に対応して、第１ステータス情報、又は、当該第２ステータス情報の更新内容に基づいて、外部に対して公開されていた作成プログラムの公開、及び、ダウンロードを制限する。例えば、処理部２４は、「承認」を表す第１ステータス情報が付された作成プログラムにおいて、第１ステータス情報が事後的に「非承認」に変更された場合、外部に対して公開されていた当該作成プログラムの公開を制限する。同様に、処理部２４は、例えば、「公開」を表す第２ステータス情報が付された作成プログラムにおいて、第２ステータス情報が事後的に「非公開」に変更された場合、外部に対して公開されていた当該作成プログラムの公開を制限する。
【０１１７】
この場合、本変形例に係る処理部２４は、作成プログラムの公開を制限する処理を実行した後、当該作成プログラムを既に記憶していた機器に対して当該作成プログラムの使用を制限する処理を実行可能である。この処理は、言い換えれば、第１ステータス情報、又は、第２ステータス情報が更新され事後的に作成プログラムが非公開となった場合に当該作成プログラムの使用等を制限する公開後使用制限処理に相当する。この処理によって、本変形例に係るプログラム管理システムＳｙｓ１は、作成プログラムの公開を事後的に制限する場合であっても、当該作成プログラムの管理を適正に行うことができる。
【０１１８】
ここで、事後的に使用が制限させる作成プログラムを既に記憶している機器としては、一例として、図１２に示す動作対象機器３０等が挙げられる。動作対象機器３０は、典型的には、プログラム管理システムＳｙｓ１で管理される作成プログラムを実行することで動作する電子機器である。図１２に例示する動作対象機器３０は、例えば、第１動作対象機器４０、及び、第２動作対象機器５０を含んで構成される。
【０１１９】
第１動作対象機器４０は、ユーザが携帯可能な電子機器であり、外部機器２０と相互に通信し連携することで当該外部機器２０から様々なサービスを受けることができる主たる動作対象機器３０である。第１動作対象機器４０は、例えば、スマートフォン、タブレット型ＰＣ、ノート型ＰＣ、ＰＤＡ、携帯ゲーム機器等によって構成することができる。図１２の例では、第１動作対象機器４０は、スマートフォンであるものとして図示しており、ここでは、上述した端末機器１０と略同様の構成であるので、詳細な説明については省略する。
【０１２０】
第２動作対象機器５０は、ユーザが携帯可能な電子機器であり、第１動作対象機器４０と相互に通信し連携することで当該第１動作対象機器４０と共に様々なサービスを受けることができる従たる動作対象機器３０である。本変形例の第２動作対象機器５０は、種々のペアリング操作に応じて、第１動作対象機器４０と通信可能にペアリングされる。第２動作対象機器５０は、例えば、スマートフォン、タブレット型ＰＣ、ノート型ＰＣ、ＰＤＡ、携帯ゲーム機器等によって構成することができるが、ここでは、第１動作対象機器４０より小型で、かつ、人体に装着可能なウェアラブル機器によって構成されることが好ましい。ウェアラブル機器としては、例えば、リストバンド型、眼鏡型、指輪型、靴型、ペンダント型等の機器が挙げられる。
【０１２１】
図１２の例では、第２動作対象機器５０は、腕に装着されるリストバンド型のウェアラブル機器であり時刻を表示する電子時計（腕時計）であるものとして図示している。図１２に示す第２動作対象機器５０は、物理的な指針５１（秒針５１ａ、分針５１ｂ、時針５１ｃ）によって文字板のインデックス（目盛）を指し示すことで時刻を表示するアナログ電子時計（アナログクオーツ時計）である。なお、第２動作対象機器５０は、これに限らず、時刻をデジタル表示するデジタル電子時計（デジタルクオーツ時計）、アナログ指針表示と共に一部にデジタル表示を含むコンビネーション電子時計（コンビネーションクオーツ時計）等であってもよい。
【０１２２】
第２動作対象機器５０は、操作部５２を含んで構成される。操作部５２は、当該第２動作対象機器５０に対する種々の入力として、ユーザ等による外部操作を受け付ける部分である。操作部５２は、例えば、外装ケースの外周面から突出して設けられるリューズ５２ａ、プッシュボタン５２ｂ、５２ｃ等によって構成される。操作部５２は、リューズ５２ａに対する引き出し・回転操作やプッシュボタン５２ｂ、５２ｃに対する押下操作に応じて外装ケース内の各部が連動し種々の操作を受け付ける。操作部５２は、この他、レジスタリング等を含んで構成されてもよい。
【０１２３】
処理部２４は、作成プログラムの公開を制限する処理を実行した後、例えば、当該作成プログラムを既に記憶していた上記動作対象機器３０（第１動作対象機器４０、第２動作対象機器５０）に対して当該作成プログラムの使用を制限する処理を実行する。
【０１２４】
またこの場合、処理部２４は、例えば、作成プログラムの公開を制限する処理を実行した後、当該作成プログラムを既に記憶していた動作対象機器３０（第１動作対象機器４０、第２動作対象機器５０）に対して当該作成プログラムの使用を制限する旨を通知する処理を実行可能である。この処理は、言い換えれば、第１ステータス情報、又は、第２ステータス情報が更新され事後的に作成プログラムが非公開となった場合に当該作成プログラムの公開が制限された旨を通知する公開後使用制限通知処理に相当する。
【０１２５】
例えば、処理部２４は、第１ステータス情報、又は、第２ステータス情報が更新され、作成プログラムの公開を制限する処理を実行した後、当該作成プログラムの使用を制限する旨の通知を、通信部２２を介して、当該作成プログラムを既に記憶していた第１動作対象機器４０に送信する。処理部２４は、例えば、記憶部２３に記憶されている各作成プログラムのダウンロード履歴等を参照することで、当該作成プログラムを既に記憶していた第１動作対象機器４０を特定し、特定した第１動作対象機器４０に対して当該通知を送信する。
【０１２６】
そして、当該第１動作対象機器４０は、外部機器２０から当該作成プログラムの使用を制限する旨の通知を受信すると、受信した通知に基づいて、例えば、図１２に例示する通知画面８００をディスプレイ４４ａに表示させる。
【０１２７】
図１２に例示した通知画面８００は、当該第１動作対象機器４０に既に記憶されていた作成プログラムの使用が制限されたことを通知する画面である。図１２に例示した通知画面８００は、一例として、外部機器２０から第１動作対象機器４０にダウンロードした作成プログラムに関するアイコン画像８０１、８０２、８０３が表示される。アイコン画像８０１、８０２、８０３は、それぞれ、作成プログラムを模したアイコンを表す画像であり、ここでは、第１動作対象機器４０において予め用意された複数の記憶領域（スロット「ＳＬ１、ＳＬ２、ＳＬ３」）にそれぞれ記憶されている作成プログラムを表している。
【０１２８】
第１動作対象機器４０は、通知画面８００において、使用が制限された作成プログラムのアイコン画像、例えば、図１２の例ではスロットＳＬ２に記憶された作成プログラムのアイコン画像８０２を、他のアイコン画像８０１、８０３と表示態様を区別することで、当該作成プログラムの使用が制限されたことを通知する。
【０１２９】
このとき、第１動作対象機器４０は、第１動作対象機器４０とペアリングされている第２動作対象機器５０に対しても当該作成プログラムの使用が事後的に制限されたことを通知するようにしてもよい。この場合、第２動作対象機器５０は、例えば、図１２の下段に示すように、秒針５１ａによって所定の位置、ここでは、「ＩＮＦＯＭＡＴＩＯＮ」を表す「ＩＮＦＯ」の文字表記５３を差し示すことで、ユーザに第１動作対象機器４０を見るように促す通知を行うようにしてもよい。そして、第２動作対象機器５０は、所定の了承操作、例えば、プッシュボタン５２ｂ、５２ｃの押下操作が行われることで、秒針５１ａを元の位置（例えば１２時位置）に戻すと共に、第１動作対象機器４０に対して所定の了承操作がなされた旨を送信する。
【０１３０】
そして、第１動作対象機器４０は、第２動作対象機器５０における上記所定の了承操作をきかっけとして、例えば、図１２に例示する通知画面９００をディスプレイ４４ａに表示させる。通知画面９００は、上述した通知画面８００と略同様の画面であるが、上記に加えて非公開通知表示領域９０１も表示される点で当該通知画面８００と異なる。非公開通知表示領域９０１は、作成プログラムが事後的に非公開となり使用が制限されたことを通知するメッセージを表示する領域であり、一例として、「ご使用中のアプリは、非公開となりましたので使用できません」等の文字画像が表示される。
【０１３１】
そして、処理部２４は、使用制限の対象となった当該作成プログラムを第１動作対象機器４０から強制的に削除、もしくは、当該第１動作対象機器４０において当該作成プログラムを実行させないようにすることで、当該作成プログラムの使用を制限する。
【０１３２】
なお、処理部２４は、例えば、第１動作対象機器４０においてプログラムストア等を表示させたり所定のプログラム管理アプリケーションを起動した際に、上記の通知画面８００、９００等のような表示を行わせ、第１ステータス情報、第２ステータス情報の更新内容を強制的に反映させるようにしてもよい。また、処理部２４は、第１ステータス情報、第２ステータス情報の更新が行われた際に、いわゆるＰｕｓｈ通信によって第１動作対象機器４０に対して上述したような通知を送信するようにしてもよい。また、処理部２４は、予めユーザに紐付けられて登録されているメールアドレスに対して上述したような通知を送信するようにしてもよい。また、第２動作対象機器５０は、ユーザに第１動作対象機器４０を見るように促す通知を行う際に秒針５１ａによって「ＩＮＦＯ」の文字表記５３を差し示すものとして説明したがこれに限らず、例えば、秒針５１ａによって「ＥＲＲＯＲ」を表す「ＥＲＲ」（不図示）の文字表記を差し示すようにしてもよい。
【０１３３】
また、処理部２４は、作成プログラムの使用を制限した場合、当該作成プログラムを既に記憶していた機器（動作対象機器３０等）に対して当該作成プログラムの使用を制限する旨を通知する処理を実行した後、当該機器に対して当該使用が制限された作成プログラムの代替となる作成プログラムを提示する処理を実行可能である。この処理は、言い換えれば、作成プログラムの公開が制限された際に代替となる作成プログラムを提案する代替プログラム提案処理に相当する。
【０１３４】
この場合、処理部２４は、例えば、作成プログラム記憶部２３Ａに記憶されている作成プログラムから、使用制限の対象となり第１動作対象機器４０から削除された作成プログラムと類似する作成プログラムを抽出する。ここで、類似する作成プログラムとは、例えば、ジャンル、カテゴリ、機能、使用用途等において、使用制限の対象となった作成プログラムと同様の項目を含む作成プログラムである。
【０１３５】
そして、処理部２４は、抽出した作成プログラムを、使用制限の対象となった作成プログラムの代替の作成プログラムとして第１動作対象機器４０に提示する。処理部２４は、例えば、第１動作対象機器４０においてプログラムストア等を表示させたり所定のプログラム管理アプリケーションを起動した際に、ディスプレイ４４ａに当該抽出した作成プログラムを提示する表示を行う。これにより、プログラム管理システムＳｙｓ１は、使用制限の対象となった作成プログラムと類似の作成プログラムを、代替の作成プログラムとして再度ダウンロードし易くすることができる。
【０１３６】
以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、第１ステータス情報、又は、第２ステータス情報の更新内容に基づいて、既に公開されていた作成プログラムの公開を制限する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムの公開を事後的に制限する場合であっても、当該作成プログラムの管理を適正に行うことができる。
【０１３７】
ここでは、以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムを既に記憶していた機器に対して当該作成プログラムの使用を制限する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、公開を事後的に制限された作成プログラムがそのまま使用され続けてしまうことを抑制することができるので、当該作成プログラムの管理を適正に行うことができる。
【０１３８】
この場合、以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムを既に記憶していた機器に対して当該作成プログラムの使用を制限する旨を通知する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、公開を事後的に制限された作成プログラムが使用できなくなることを報知することができ、例えば、ユーザに対して当該作成プログラムが突然使用できなくなったような印象を与えてしまうことを抑制することができる。
【０１３９】
また、以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムを既に記憶していた機器に対して使用が制限された作成プログラムの代替となるプログラムを提示する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、ユーザの手を煩わせることなく円滑に、使用制限の対象となった作成プログラムと類似した作成プログラムを、代替の作成プログラムとして再度設定させ易くすることができる。
【０１４０】
＜プログラムのステータス情報の変形例：第５ステータス情報＞
以上の説明では、外部機器２０側の記憶部２３は、作成プログラムのステータス情報として、第１ステータス情報、第２ステータス情報、第３ステータス情報、及び、第４ステータス情報を記憶するものとして説明したがこれに限らない。記憶部２３は、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報に加えて、さらに別のステータス情報も記憶してもよい。そして、処理部２４は、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報に加えて、さらに別のステータス情報に基づいて、作成プログラムを管理するようにしてもよい。
【０１４１】
図１３に示す変形例に係る記憶部２３は、ステータス情報として、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報に加えて、さらに、第５ステータス情報を記憶する。つまり、本変形例の記憶部２３は、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報、及び、第５ステータス情報と共に作成プログラムを記憶可能である。
【０１４２】
ここでは、記憶部２３のステータス情報記憶部２３Ｂは、第１ステータス情報記憶部２３Ｂａ、第２ステータス情報記憶部２３Ｂｂ、第３ステータス情報記憶部２３Ｂｃ、第４ステータス情報記憶部２３Ｂｄに加えて、さらに、第５ステータス情報を記憶する第５ステータス情報記憶部２３Ｂｅを含んで構成される。
【０１４３】
第５ステータス情報記憶部２３Ｂｅは、ステータス情報として、第５ステータス情報を記憶する記憶領域である。第５ステータス情報とは、作成プログラムを使用可能なユーザを表す情報であり、例えば、当該作成プログラムに招待し使用を許可するユーザを特定するための「ユーザ識別情報（ユーザのアカウントＩＤ等）」等を表す情報である。言い換えれば、第５ステータス情報は、当該作成プログラムに招待するユーザを表す情報である、ということもできる。当該第５ステータス情報は、上述した第２ステータス情報、第３ステータス情報等と同様に端末機器１０側で選択画面等を介して作者に選択させ、当該端末機器１０側の処理部１６によって作成プログラムに付される。
【０１４４】
一例として、処理部１６は、作成プログラムの作成後に、例えば、図１４のような選択画面１０００、１１００を介して、作成した作成プログラムについての第５ステータス情報を選択させることができる。また、処理部１６は、作成プログラムの管理画面において所定の作成プログラムを選択する操作に応じて、図１４のような選択画面１０００、１１００に移行させることで、作成した作成プログラムについての第５ステータス情報を選択させるようにしてもよい。
【０１４５】
処理部１６は、例えば、作成プログラムの作成完了後、あるいは、管理画面での所定の作成プログラムの選択操作後に、図１４に例示した選択画面１０００をディスプレイ１４ａに表示させる。図１４に例示した選択画面１０００は、作成した作成プログラムに対して所定のユーザを招待するか否かを選択するために操作される画面である。選択画面１０００は、例えば、作成された作成プログラムを表すアイコン画像１００１、作成プログラムの概要を説明する文字画像１００２、作成プログラムを構成するトリガブロックを表すアイコン画像１００３、サービスブロックを表すアイコン画像１００４、アクションブロックを表すアイコン画像１００５等と共に、招待選択領域１００６が表示される。招待選択領域１００６は、作成した作成プログラムに対して所定のユーザを招待する場合に選択される領域であり、一例として、「招待する」等の文字画像が表示される。
【０１４６】
処理部１６は、図１４に例示した選択画面１０００において、タッチパネル１３ａに対する作者のタップ操作等に応じて招待選択領域１００６が選択されると、例えば、図１４に例示した選択画面１１００をディスプレイ１４ａに表示させる。図１４に例示した選択画面１１００は、作成した作成プログラムに招待するユーザに関する情報、すなわち、上記第５ステータス情報を選択するために操作される画面である。選択画面１１００は、例えば、招待者選択領域１１０１、及び、メッセージ送信選択領域１１０２が表示される。招待者選択領域１１０１は、招待するユーザを表す「ユーザ識別情報（ユーザのアカウントＩＤ等）」等を含む第５ステータス情報を特定するために選択される領域であり、一例として、「招待者のニックネームまたはＩＤ」等の文字画像と共に空欄画像が表示される。メッセージ送信選択領域１１０２は、招待するユーザにメッセージを送信する際に選択される領域であり、一例として、「招待メッセージを送る」等の文字画像が表示される。
【０１４７】
処理部１６は、図１４に例示した選択画面１１００において、タッチパネル１３ａに対する作者のタップ操作等に応じて招待者選択領域１１０１が選択されると、例えば、選択画面１１００内にいわゆるソフトウェアキーボードを表示しタッチパネル１３ａを介して作者による「ユーザ識別情報」の入力操作を受け付ける。
【０１４８】
処理部１６は、図１４に例示した選択画面１１００において、タッチパネル１３ａに対する作者のタップ操作等に応じてメッセージ送信選択領域１１０２が選択されると、例えば、選択画面１１００内にいわゆるソフトウェアキーボードを表示しタッチパネル１３ａを介して作者による「送信メッセージ」の入力操作を受け付ける。
【０１４９】
そして、処理部１６は、図１４に示す選択画面１１００において、作者による各種入力操作が終了すると、当該作成プログラムに対して、「ユーザ識別情報」、「送信メッセージ」等を含む第５ステータス情報を付す。そして、処理部１６は、当該第５ステータス情報が付された当該作成プログラムを、上述した種々の他の情報と共に記憶部１５に記憶すると共に、外部機器２０に送信しアップロードする。
【０１５０】
そして、外部機器２０側の記憶部２３は、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報、及び、第５ステータス情報と共に作成プログラムを記憶する。第５ステータス情報記憶部２３Ｂｅに記憶されている第５ステータス情報は、他のステータス情報と同様に、処理部２４による処理によって、作成プログラム記憶部２３Ａに記憶されている作成プログラム、及び、そのメタ情報等と関連付け（紐付け）られて記憶される。そして、処理部２４は、第１ステータス情報、第２ステータス情報、第３ステータス情報、第４ステータス情報、及び、第５ステータス情報に基づいて、作成プログラムを管理する処理を実行可能である。
【０１５１】
図１５は、上述した図６と同様に、処理部２４によって複数の作成プログラムをリスト化、データベース化した作成プログラムリスト１２００の一例である。図１５に例示する作成プログラムリスト１２００は、第５ステータス情報に関するリストが加わっている点で図６で例示した作成プログラムリスト４００と異なる。
【０１５２】
図１５に示す作成プログラムリスト１２００は、一例として、作成プログラム記憶部２３Ａ、第１ステータス情報記憶部２３Ｂａ、第２ステータス情報記憶部２３Ｂｂ、第５ステータス情報記憶部２３Ｂｅにそれぞれ記憶されている第１ステータス情報、第２ステータス情報、第５ステータス情報、メタ情報に基づいて、複数の作成プログラムの「名称」、「作者」、「作者のアカウントＩＤ」、「審査状態」、「公開」、「申請日」に加えて「招待」がリスト化されたものである。「招待」は、作成プログラムの第５ステータス情報に基づくものであり、例えば、作成プログラムに招待する「ユーザ識別情報」等を表す。当該作成プログラムリスト１２００は、例えば、外部機器２０の表示部（不図示）や管理用の機器等において表示させることできる。
【０１５３】
そして、処理部２４は、例えば、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報、第２ステータス情報記憶部２３Ｂｂに記憶されている第２ステータス情報、及び、第５ステータス情報記憶部２３Ｂｅに記憶されている第５ステータス情報に基づいて、作成プログラムを外部に対して公開する処理を実行可能である。例えば、処理部２４は、「承認」を表す第１ステータス情報が付され、かつ、「限定公開」を表す第２ステータス情報が付された作成プログラムを外部に対して公開する場合、公開対象を、当該作成プログラムに付された第５ステータス情報が表す「ユーザ識別情報」に対応したユーザに限定し、他のユーザに対しては公開しないようにすることができる。つまり、処理部２４は、例えば、当該第５ステータス情報が表す「ユーザ識別情報」に対応したユーザが所有する機器（例えば、上述の端末機器１０や第１動作対象機器４０等）においては、プログラムストア等で当該作成プログラムをダウンロード可能な作成プログラムとして表示させる一方、他のユーザが所有する機器においては、プログラムストア等で当該作成プログラムをダウンロード可能な作成プログラムとしては表示させない。
【０１５４】
言い換えれば、処理部２４は、例えば、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報、及び、第５ステータス情報記憶部２３Ｂｅに記憶されている第５ステータス情報に基づいて、作成プログラムをダウンロード可能とする処理を実行可能である。つまり、処理部２４は、「承認」を表す第１ステータス情報が付され、かつ、第５ステータス情報が付された作成プログラムについては、第５ステータス情報が表す「ユーザ識別情報」に対応したユーザが所有する機器に当該作成プログラムをダウンロード可能とし、その他のユーザが所有する機器に対してはダウンロード不可とする。
【０１５５】
なおこの場合、処理部２４は、結果的に、「限定公開」を表す第２ステータス情報が付され、かつ、第５ステータス情報も付されている作成プログラムに関しては、当該第５ステータス情報が表す「ユーザ識別情報」に対応したユーザに限定して当該作成プログラムのダウンロードを可能とすることとなる。つまり、処理部２４は、実質的には、第１ステータス情報記憶部２３Ｂａに記憶されている第１ステータス情報、第２ステータス情報記憶部２３Ｂｂに記憶されている第２ステータス情報、及び、第５ステータス情報記憶部２３Ｂｅに記憶されている第５ステータス情報に基づいて、作成プログラムをダウンロード可能とする処理を実行していることとなる。
【０１５６】
さらに、処理部２４は、上述したように、第１ステータス情報、第５ステータス情報に加えて、第３ステータス情報も踏まえて作成プログラムをダウンロード可能とする処理を実行可能である。
【０１５７】
また、本変形例に係る処理部２４は、図１４に例示するように、第５ステータス情報に基づいて、当該作成プログラムを使用可能なユーザに対応付けられた機器に対して当該作成プログラムの使用が可能である旨を通知する処理を実行可能である。この処理は、言い換えれば、当該作成プログラムを使用可能なユーザに対して当該作成プログラムに招待する通知を行う招待処理に相当する。
【０１５８】
そしてさらに、処理部２４は、当該作成プログラムを使用可能なユーザに対応付けられた機器に対して当該作成プログラムの使用が可能である旨を通知する処理を実行した後、当該機器において当該作成プログラムの使用を受け入れる操作がされた場合に当該機器に対して当該作成プログラムをダウンロードする処理を実行可能である。
【０１５９】
ここで、ユーザに対応付けられた機器とは、当該ユーザが所有する機器であり、例えば、上述の端末機器１０や第１動作対象機器４０等である。図１４の例では、ユーザに対応付けられた機器は、第１動作対象機器４０であるものとして図示している。
【０１６０】
この場合、処理部２４は、例えば、第５ステータス情報が表す「ユーザ識別情報」等に基づいて、当該作成プログラムの使用が可能である旨の通知を、通信部２２を介して、当該ユーザに対応付けられた第１動作対象機器４０に送信する。当該第１動作対象機器４０は、外部機器２０から当該作成プログラムの使用が可能である旨の通知を受信すると、受信した通知に基づいて、例えば、図１４に例示する通知画面１３００をディスプレイ４４ａに表示させる。
【０１６１】
図１４に例示した通知画面１３００は、第５ステータス情報に応じて、当該第１動作対象機器４０に対応付けられたユーザが当該作成プログラムに招待されたことを通知する画面である。通知画面１３００は、例えば、招待された作成プログラムの概要を説明する文字画像１３０１、招待された作成プログラムを構成するトリガブロックを表すアイコン画像１３０２、サービスブロックを表すアイコン画像１３０３、アクションブロックを表すアイコン画像１３０４等と共に、メッセージ表示領域１３０５、招待承認選択領域１３０６、招待非承認選択領域１３０７が表示される。メッセージ表示領域１３０５は、当該作成プログラムに招待されたことを通知するメッセージを表示する領域であり、一例として、「メッセージ  Ａさんから、アプリの招待がありました」等の文字画像が表示される。メッセージ表示領域１３０５に表示されるメッセージは、例えば、図１４で例示した選択画面１１００で当該作成プログラムの作者によって入力された「送信メッセージ」であってもよい。当該「送信メッセージ」についての情報は、第５ステータス情報に含まれている。招待承認選択領域１３０６は、当該作成プログラムへの招待を受ける場合に選択される領域であり、一例として、「招待を受ける」等の文字画像が表示される。招待非承認選択領域１３０７は、当該作成プログラムへの招待を受けない場合に選択される領域であり、一例として、「招待を受けない」等の文字画像が表示される。
【０１６２】
第１動作対象機器４０は、図１４に例示した通知画面１３００において、タッチパネル４３ａに対するユーザのタップ操作等に応じて招待承認選択領域１３０６が選択されると、例えば、作成プログラムへの招待を受け入れた旨の通知を外部機器２０に送信する。ここでは、当該招待承認選択領域１３０６を選択する操作が上述した第１動作対象機器４０において作成プログラムの使用を受け入れる操作に相当する。
【０１６３】
そして、処理部２４は、第１動作対象機器４０から作成プログラムへの招待を受け入れた旨の通知を受信すると、当該第１動作対象機器４０において、上述のようにプログラムストア等で当該作成プログラムをダウンロード可能な作成プログラムとして表示させる。そして、処理部２４は、第１動作対象機器４０において最終的なダウンロード操作がなされると、当該第１動作対象機器４０に対して当該招待された作成プログラムをダウンロードする。
【０１６４】
なおこの場合、処理部２４は、招待された作成プログラムの当該第１動作対象機器４０へのダウンロードが完了すると、ユーザが招待を受け入れた旨の通知を、通信部２２を介して、当該作成プログラムの作者の端末機器１０に送信する処理を実行するようにしてもよい。
【０１６５】
一方、第１動作対象機器４０は、図１４に例示した通知画面１３００において、タッチパネル４３ａに対するユーザのタップ操作等に応じて招待非承認選択領域１３０７が選択されると、例えば、作成プログラムへの招待を受け入れない旨の通知を外部機器２０に送信する。
【０１６６】
そして、処理部２４は、第１動作対象機器４０から作成プログラムへの招待を受け入れない旨の通知を受信すると、第５ステータス情報等に関連づけて当該作成プログラムについて招待が受け入れられなかったことを記憶する処理を実行する。またこの場合、処理部２４は、当該作成プログラムに付された第５ステータス情報自体を消去する処理を実行してもよい。さらには、処理部２４は、招待したユーザが招待を受け入れなかった旨の通知を、通信部２２を介して、当該作成プログラムの作者の端末機器１０に送信する処理を実行するようにしてもよい。
【０１６７】
以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムを使用可能なユーザを表す第５ステータス情報と共に当該プログラムを外部機器２０に記憶する。そして、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、外部機器２０側の処理部２４によって、第５ステータス情報に基づいて、作成プログラムをダウンロード可能とする処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、第５ステータス情報によって予め規定されたユーザに制限して当該作成プログラムをダウンロード可能とすることができる。  
【０１６８】
また、以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、第５ステータス情報に基づいて、作成プログラムを使用可能なユーザに対応付けられた機器に対して当該作成プログラムの使用が可能である旨を通知する処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムを使用可能なユーザを当該作成プログラムに招待することができる。
【０１６９】
また、以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、作成プログラムを使用可能なユーザに対応付けられた機器において当該作成プログラムの使用を受け入れる操作がされた場合に当該機器に対して当該作成プログラムをダウンロードする処理を実行可能である。この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、当該作成プログラムへの招待を受け入れたユーザに対応付けられた機器に対して当該作成プログラムを円滑にダウンロードすることができる。
【０１７０】
以上のように、変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、ユーザを作成プログラムに招待しダウンロードさせるまでの処理を当該ユーザの手を煩わせることなく円滑に行うことができる。
【０１７１】
＜承認審査の変形例：再申請時の自動再入力＞
以上の説明では、処理部２４は、作成プログラムの承認審査の結果、当該作成プログラムが「承認」されなかった場合、すなわち、「非承認」、又は、「承認の保留」となった場合、端末機器１０側に承認審査の結果を通知すると共に再審査を促すようにしてもよい。この場合、処理部２４は、作成プログラムの承認審査の結果を、通信部２２を介して端末機器１０に送信する。端末機器１０の処理部１６は、外部機器２０から通信部１２を介して作成プログラムの承認審査の結果あるいはメッセージを受信すると、当該受信した承認審査の結果あるいはメッセージに基づいて、図１６に例示する通知画面１４００をディスプレイ１４ａに表示させるようにしてもよい。
【０１７２】
図１６に例示した通知画面１４００は、作成プログラムの承認審査の結果を通知する画面である。図１６に例示した通知画面１４００は、一例として、作成プログラムが「非承認」とされた場合の画面を表しており、「非承認」となった作成プログラムに関するアイコン画像１４０１と共に審査結果表示領域１４０２が表示される。アイコン画像１４０１は、「非承認」となった作成プログラムを模したアイコンを表す画像である。審査結果表示領域１４０２は、作成プログラムの承認審査の結果を表示する領域であり、一例として、「審査結果（非承認）のお知らせ」、「ＡＰ０００５０１の審査の結果、非承認となりました。」、「＜理由＞・申請に必要な項目の不備  ［詳細へ］」、「再審査は、ここをタップしてください。」等の文字画像が表示される。
【０１７３】
処理部１６は、図１６に例示した通知画面１４００において、タッチパネル１３ａに対する作者のタップ操作等に応じて「「詳細へ］」が選択されると、申請に必要な項目の不備の詳細画面、例えば、後述するような不合格項目Ａ１、Ａ２、Ａ３、Ａ４、Ａ５の詳細をディスプレイ１４ａに表示させる。これに応じて、当該作成プログラムの作者は、不合格項目に関する詳細情報を把握し、当該作成プログラムの修正等の対応処置を行うことができる。
【０１７４】
そして、処理部１６は、図１６に例示した通知画面１４００において、タッチパネル１３ａに対する作者のタップ操作等に応じて「ここ」が選択されると、再審査の申請画面をディスプレイ１４ａに表示させる。
【０１７５】
ここで、作成プログラムの承認申請に際しては、端末機器１０側の通信部１２は、端末機器１０に入力された申請情報と共に作成プログラムを外部機器２０に送信する。当該端末機器１０から外部機器２０に送信される申請情報は、外部機器２０側での作成プログラムの承認審査に用いるために、端末機器１０において入力部１３を介して当該端末機器１０に入力された情報である。申請情報は、例えば、上述したメタ情報を含み、その他、作成プログラムを表すアイコン画像、作成プログラム本体、仕様に関するテキスト情報、動作内容を示すアイコン画像、内容説明に関するテキスト情報等を含む。
【０１７６】
そして、本変形例の処理部２４は、作成プログラムが承認されなかった場合で、かつ、上述したように再審査の申請画面をディスプレイ１４ａに表示させる場合、端末機器１０において、承認されなかった事項に応じて申請情報として自動で再入力する事項を変更する処理を実行可能である。例えば、処理部２４は、初回の申請時に入力された事項を、申請された作成プログラムや作者のアカウントＩＤ等と紐付けて一旦記憶部２３に記憶しておき、再審査の申請の際に、初回の申請時に入力した事項を必要に応じて記憶部２３から読み出し申請情報として自動で再入力する。
【０１７７】
図１７は、作成プログラムの承認審査で承認されなかった事項と、再審査の際に申請情報として自動で再入力する事項との対応関係の一例を示す図である。
【０１７８】
図１７中、申請情報Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５は、端末機器１０において入力部１３を介して入力される申請情報を表している。ここでは一例として、申請情報Ｉ１は、「作成プログラムを表すアイコン画像」、申請情報Ｉ２は、「作成プログラム本体」、申請情報Ｉ３は、「仕様に関するテキスト情報」、申請情報Ｉ４は、「動作内容を示すアイコン画像」、申請情報Ｉ５は、「内容説明に関するテキスト情報」であるものとする。なお申請情報Ｉ４は、ＪＳＯＮなどのデータ記述言語で記載された、文字列や数値列などのテキスト情報であってもよい。
【０１７９】
一方、図１７中、不合格項目Ａ１、Ａ２、Ａ３、Ａ４、Ａ５は、作成プログラムの承認審査で承認されなかった事項を表している。ここでは一例として、不合格項目Ａ１は、「申請に必要な申請情報の各項目の未入力・不備」、不合格項目Ａ２は、「ヘルプ機能やバージョンアップ対応等のサポート機能の不足」、不合格項目Ａ３は、「容量、ファイルの属性、プログラム構成等のメタデータの不適合」、不合格項目Ａ４は、「コンテンツが社会常識から逸脱していないこと等の道徳的、反社会的、風俗的観点での不適合」、不合格項目Ａ５は、「バグが存在する、起動するまでの時間が長い、フリーズする等の品質上の不適合」であるものとする。典型的には、不合格項目Ａ１、Ａ２は、作成プログラム本体の修正等を要せず、不合格項目としては比較的に軽微な項目に相当する。不合格項目Ａ３は、作成プログラムの内容が大幅に変わる可能性がある項目に相当する。不合格項目Ａ４は、再申請の可能性が極めて低く再審査をしても承認が得られる可能性が極めて低いと推定される項目に相当する。不合格項目Ａ５は、プログラムの作成能力不足のため、作成プログラムを根本から再作成し直す必要がある項目に相当する。
【０１８０】
図１７の例では、処理部２４は、不合格項目Ａ１、Ａ２によって作成プログラムが承認されなかった場合、端末機器１０のディスプレイ１４ａに表示される再審査の申請画面において、申請情報Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５の全項目を自動で再入力する処理を実行する。
【０１８１】
また、処理部２４は、不合格項目Ａ３によって作成プログラムが承認されなかった場合、端末機器１０のディスプレイ１４ａに表示される再審査の申請画面において、申請情報Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５のうち申請情報Ｉ１、Ｉ４のみを自動で再入力する処理を実行する。
【０１８２】
さらには、処理部２４は、不合格項目Ａ４によって作成プログラムが承認されなかった場合、端末機器１０のディスプレイ１４ａに表示される再審査の申請画面において、いずれの申請情報Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５も自動では再入力しないようにする。
【０１８３】
また、処理部２４は、不合格項目Ａ５によって作成プログラムが承認されなかった場合、端末機器１０のディスプレイ１４ａに表示される再審査の申請画面において、申請情報Ｉ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５のうち申請情報Ｉ１のみを自動で再入力する処理を実行する。
【０１８４】
以上のように、図１７の例では、処理部２４は、比較的に重要度が低い不合格項目によって作成プログラムが承認されなかった場合には、相対的に多くの申請情報を自動で再入力する一方、比較的に重要度が高い不合格項目によって作成プログラムが承認されなかった場合には、相対的に少ない数の申請情報を自動で再入力する。
【０１８５】
以上で説明した変形例に係るプログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、一度、作成プログラムが承認されなかった場合であっても、承認されなかった事項に応じて申請情報を自動で再入力することで、再申請の手間を抑制し煩わしさを抑制することができる。
【０１８６】
一方、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、承認されなかった事項の内容に応じて自動で再入力する申請情報の量や項目を変更することができる。これにより、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、承認されなかった事項の重要度が高く作成プログラムの内容が大幅に変更される可能性が高いような場合には自動で再入力する量を減らしたり項目を調整したりすることで、自動で再入力されたがためにかえって手間が増えてしまうようなことを抑制することができる。
【０１８７】
この結果、プログラム管理システムＳｙｓ１、外部機器２０、及び、端末機器１０は、例えば、承認されなかった事項に応じて、再申請のために申請情報の変更が予想される項目以外の項目を自動で入力することができるので、再申請の手間を抑制し煩わしさを抑制することができ、この結果、プログラムの作成意欲の低下を抑制することができる。
【０１８８】
なお、作成プログラムの承認審査で承認されなかった事項と、再審査の際に申請情報として自動で再入力する事項との対応関係は、図１７で例示した組み合わせに限られない。同様に、申請情報の内容や不合格項目の内容も上記のものに限られない。
【０１８９】
本実施形態に係るプログラム管理システム、外部機器、及び、端末機器は、以上で説明した実施形態、変形例の構成要素を適宜組み合わせることで構成してもよい。
【符号の説明】
【０１９０】
１０  端末機器
１１  電源部
１２  通信部（端末側通信部）
１３  入力部
１３ａ  タッチパネル
１３ｂ  音声入力装置
１４  出力部
１４ａ  ディスプレイ（端末側表示部）
１４ｂ  スピーカ
１５  記憶部（端末側記憶部）
１６  処理部（端末側処理部）
２０  外部機器
２１  電源部
２２  通信部（外部機器側通信部）
２３  記憶部
２３Ａ  作成プログラム記憶部
２３Ｂ  ステータス情報記憶部
２３Ｂａ  第１ステータス情報記憶部
２３Ｂｂ  第２ステータス情報記憶部
２３Ｂｃ  第３ステータス情報記憶部
２３Ｂｄ  第４ステータス情報記憶部
２３Ｂｅ  第５ステータス情報記憶部
２４  処理部（外部機器側処理部）
３０  動作対象機器
４０  第１動作対象機器
４３ａ  タッチパネル
４４ａ  ディスプレイ
第２動作対象機器５０
５１  指針
５１ａ  秒針
５１ｂ  分針
５１ｃ  時針
５２  操作部
５２ａ  リューズ
５２ｂ、５２ｃ  プッシュボタン
５３  文字表記
１００、２００、１０００、１１００  選択画面
１０１、２０１、５０１、５０２、５０３、７０１、８０１、８０２、１００１、１００３、１００４、１００５、１３０２、１３０３、１３０４、１４０１  アイコン画像
２０２  非公開選択領域
２０３  限定公開選択領域
２０４  一般公開選択領域
３００、８００、９００、１３００、１４００  通知画面
４００、１２００  作成プログラムリスト
５００、７００  プロフィール画面
５０４、５０５、５０６  第１ステータス画像
７０２  第４ステータス画像
９０１  非公開通知表示領域
１００２、１３０１  文字画像
１００６  招待選択領域
１１０１  招待者選択領域
１１０２  メッセージ送信選択領域
１３０５  メッセージ表示領域
１３０６  招待承認選択領域
１３０７  招待非承認選択領域
１４０２  審査結果表示領域
Ｎ  ネットワーク
Ｓｙｓ１  プログラム管理システム
【図１】
2020149671.tif 000003
【図２】
2020149671.tif 000004
【図３】
2020149671.tif 000005
【図４】
2020149671.tif 000006
【図５】
2020149671.tif 000007
【図６】
2020149671.tif 000008
【図７】
2020149671.tif 000009
【図８】
2020149671.tif 000010
【図９】
2020149671.tif 000011
【図１０】
2020149671.tif 000012
【図１１】
2020149671.tif 000013
【図１２】
2020149671.tif 000014
【図１３】
2020149671.tif 000015
【図１４】
2020149671.tif 000016
【図１５】
2020149671.tif 000017
【図１６】
2020149671.tif 000018
【図１７】
2020149671.tif 000019