com.docomostar.io
インタフェース UDPDatagramConnection

すべてのスーパーインタフェース:
javax.microedition.io.Connection, javax.microedition.io.DatagramConnection

public interface UDPDatagramConnection
extends javax.microedition.io.DatagramConnection

UDP プロトコルでのネットワークへの接続を定義します。この機能は、パーミッションとして UDP 通信(クライアント/サーバー型もしくはPeer-to-Peer型)が許可されたトラステッドStarアプリでのみ利用することができます。

UDP 通信では、端末に対してドコモ網から接続に必要な情報(IPアドレス、ポート番号等)を取得した後、接続を確立して通信を行います。

端末⇔コンテンツプロバイダ間で通信する「クライアント/サーバ型接続」、あるいは端末⇔端末間で通信する「Peer-to-Peer型接続」のいずれかの方式で通信を行うことができます。詳細は後述を参照してください。

本インタフェースには、以下の状態が存在します。

初期状態
Connector.open() を "datagram" のスキームでコールすることで生成された直後の状態を指します。
ポートオープン状態
端末に対してドコモ網から接続に必要な情報(IPアドレス、ポート番号等)を取得した状態を指します。
初期状態で openRemotePort() メソッドを実行するとポートオープン状態に遷移します。
初期状態からのみ openRemotePort() メソッドは実行可能です。
UDP 通信可能状態
UDP 通信用の接続先が設定された状態を指します。
データグラム送受信メソッド(send(Datagram)、receive(Datagram) など)を利用して UDP 通信を行うことができます。
ポートオープン状態で、 UDP の通信接続先が決定されると UDP 通信可能状態に遷移します。
接続先決定メソッド(connect()、connect(String, int))は、ポートオープン状態からのみ実行可能です。
UDP 通信可能状態においてclose()メソッド呼び出しを経ずにUDP 通信が切断された場合は、close()、getLocalAddress()、getLocalPort()、getMaximumLength()、getNominalLength()、newDatagram(byte[], int)、newDatagram(byte[], int, String)、newDatagram(int)、newDatagram(int, String) をのぞくメソッドの呼び出しはIOExceptionが発生します。
この場合はUDP 通信不可状態への状態遷移のみが可能となります。
UDP 通信不可状態
UDP のポートがクローズされ、通信ができない状態を指します。
この状態では、ネットワークのリソース、及び送受信バッファ等のリソースは全て破棄されます。
close() メソッドを実行すると UDP 通信不可状態に遷移します。
close() メソッドは、任意の状態で実行することが可能です。

UDP 通信は「クライアント/サーバ型接続」、もしくは「Peer-to-Peer型接続」のいずれかの方式で通信を行うことができます。 以下にそれぞれの方式についての詳細を述べます。

クライアント/サーバ型接続
端末と任意のサーバの通信を行う接続型です。

Connector.open() メソッドで、接続先 URL を以下の形式で指定するとUDP通信:クライアント/サーバ型接続となります。
"datagram://<ホスト名>:<ポート番号>"

以下に UDP 通信においてクライアント/サーバ型接続を行う場合のコード例を示します。

   
       UDPDatagramConnection udc = (UDPDatagramConnection)Connector.open("datagram://example.com:12345");
       udc.openRemotePort(); // ドコモサーバに対してグローバルIPアドレスとポート番号の払い出し要求を行う。
       udc.connect(); // 端末とサーバ間の接続先の指定を行います。

       //データグラム送信
       Datagram sdg = udc.newDatagram(udc.getNominalLength()); // データグラム生成
       sdg.setData(…);
       udc.send(sdg);
       
       //データグラム受信
       Datagram rdg = udc.newDatagram(udc.getNominalLength()); // データグラム生成
       udc.receive(rdg);
       
       udc.close(); // 接続を閉じてリソースを解放します。 
   
 

Peer-to-Peer 型接続
端末間で直接通信を行う接続型です。

Connector.open() メソッドで、接続先 URL を以下の形式で指定するとUDP通信:Peer-to-Peer型接続となります。
"datagram://<P-to-P用URL>"

<P-to-P用URL> 部分には通信がPeer-to-Peer型接続であることを示す固定文字列を設定します。

以下に UDP 通信において 端末Aと端末BがサーバCより相互に通信相手に払い出されたIPアドレスとポート番号について通知を受け、 Peer-to-Peer 型接続を行う場合のコード例を示します。(この例ではサーバCとの通信でHTTPコネクションを使用し、通信相手アドレスを交換します。サーバはマッチングサーバ・ゲームサーバであることが想定されます)

   ※端末A※  
    // ① グローバルIPアドレスとポート番号をサーバーCに送信する。 //
    // ② サーバーCから端末BのグローバルIPアドレスとポート番号取得する。 //
    // ③ 端末Bに対して接続先の指定を行う。 //
    
       // ① //
       UDPDatagramConnection udcA = (UDPDatagramConnection)Connector.open("datagram://<P-to-P用URL>");
       udcA.openRemotePort(); // グローバルIPアドレスとポート番号を払い出してもらう。
       String addressMobileA = udcA.getLocalAddress(); // 端末Aに払い出されたIPアドレスを取得
       int portMobileA = udcA.getLocalPort(); //端末Aに払い出されたポート番号を取得
       HttpConnection hcA = (HttpConnection)Connector.open("http://<サーバーCのホスト名>");
       //サーバCに対して端末Aに払い出されたIPアドレスとポート番号を送信
       
       // ② //
       hcA.connect(…);   
       //サーバCから、端末Bに払い出されたIPアドレスとポート番号を受信
       
       // ③ //
       udcA.connect(addressMobileB, portMobileB); // 端末Bに対して Peer-to-Peer 接続要求を行う。
       
       //データグラム送信
       Datagram sdgA = udcA.newDatagram(udc.getNominalLength()); // データグラム生成
       sdgA.setData(…);
       udcA.send(sdg);
       
       //データグラム受信
       Datagram rdgA = udcA.newDatagram(udc.getNominalLength()); // データグラム生成
       udcA.receive(rdgA);
       
       udcA.close(); // 接続を閉じてリソースを解放します。 
       
   ※端末B※  
    //端末Aの通信相手である端末Bは、端末Aのものと処理上の差異がありません。コード例の記載は省略します。
 

導入されたバージョン:
Star-1.0

メソッドの概要
 void close()
          接続を閉じてリソースを解放します。
 void connect()
          クライアント/サーバ型接続にて、接続先の指定を行い UDP 通信可能状態に遷移します。
 void connect(String host, int port)
          Peer-to-Peer 型接続にて、接続先の指定を行い UDP 通信可能状態に遷移します。
 String getLocalAddress()
          端末に払い出された IP アドレスを取得します。
 int getLocalPort()
          端末に払い出されたポート番号を取得します。
 int getMaximumLength()
          データグラムがとり得る最大の長さを取得します。
 int getNominalLength()
          データグラムの標準の長さを取得します。
 javax.microedition.io.Datagram newDatagram(byte[] buf, int size)
          新しいデータグラムオブジェクトを作成します。
 javax.microedition.io.Datagram newDatagram(byte[] buf, int size, String addr)
          新しいデータグラムオブジェクトを作成します。
 javax.microedition.io.Datagram newDatagram(int size)
          新しいデータグラムオブジェクトを作成します。
 javax.microedition.io.Datagram newDatagram(int size, String addr)
          新しいデータグラムオブジェクトを作成します。
 void openRemotePort()
          グローバルIPアドレスとポート番号の払い出し要求を行います。
 void receive(javax.microedition.io.Datagram dgram)
          データグラムを受信します。
 void send(javax.microedition.io.Datagram dgram)
          データグラムを送信します。
 

メソッドの詳細

close

void close()
           throws java.io.IOException
接続を閉じてリソースを解放します。

ネットワークのリソース、及び送受信バッファ等のリソースは全て破棄されます。

定義:
インタフェース javax.microedition.io.Connection 内の close
例外:
ConnectionException -
(OUT_OF_SERVICE)
圏外(音声不可/パケット不可)になったことを検知した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作による Suspended 状態から復帰したことを検知した場合に発生します。
java.io.InterruptedIOException -
Suspended 状態から復帰したことを検知した場合や、 中断要求が発生したことを検知した場合に発生します。
java.io.IOException -
現在の実装では発生することは有りません。

connect

void connect()
             throws java.io.IOException
クライアント/サーバ型接続にて、接続先の指定を行い UDP 通信可能状態に遷移します。

Connector.open() メソッドの引数 name に指定した接続先 URL に対して接続先の指定を行います。

メソッドを呼び出した場合、Star アプリはサスペンドせずに接続処理を行います。 このメソッドはブロッキングメソッドとして動作します。

本メソッドはクライアント/サーバ型接続時に使用します。 Peer-to-Peer型接続時に本メソッドが呼ばれた場合は例外が発生します。

本メソッドはポートオープン状態で実行してください。 その他の状態で実行された場合は例外が発生します。

例外:
IllegalStateException -
ポートオープン状態以外で実行された場合に発生します。
ConnectionException -
(OUT_OF_SERVICE)
圏外(音声不可/パケット不可)になったことを検知した場合に発生します。
ConnectionException -
(SERVICE_UNAVAILABLE)
接続時や通信時に、 キッズ制限が適用されている、等の理由でUDP通信がサービスとして利用できない場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作による Suspended 状態から復帰したことを検知した場合に発生します。
ConnectionException -
(TIMEOUT)
接続時や通信時にタイムアウトした場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
別スレッドにて同一インスタンスの connect() を呼び出し中に、このメソッドを呼び出した場合に発生します。
IllegalStateException -
コネクションオブジェクトが クライアント/サーバ型接続 のためのオブジェクトではなく、Peer-to-Peer 型接続 のためのものであった場合に発生します。 別スレッドにて同一インスタンスの connect(String, int) を呼び出し中に、このメソッドを呼び出した場合も含みます。
java.io.InterruptedIOException -
Suspended 状態から復帰したことを検知した場合や、 中断要求が発生したことを検知した場合に発生します。
java.io.IOException -
I/Oエラーの場合に発生します。

connect

void connect(String host,
             int port)
             throws java.io.IOException
Peer-to-Peer 型接続にて、接続先の指定を行い UDP 通信可能状態に遷移します。

引数に指定した接続先に対して UDP 通信の接続先指定を行います。 引数の接続先には、ドコモ網から払い出された接続先の IP アドレス、及びポート番号を指定してください。 クライアント/サーバ型接続時に本メソッドが呼ばれた場合は例外が発生します。

メソッドを呼び出した場合、Star アプリはサスペンドせずに接続処理を行います。 このメソッドはブロッキングメソッドとして動作します。

本メソッドはポートオープン状態で実行してください。 その他の状態で実行された場合は例外が発生します。

パラメータ:
host - 接続先のIPアドレスを指定します。
port - 接続先ポート番号を指定します。
例外:
IllegalArgumentException -
引数の host が不正な場合に発生します。
IllegalArgumentException -
引数の port が不正な場合(ポート番号が1〜65535の範囲にない)に発生します。
IllegalStateException -
ポートオープン状態以外で実行された場合に発生します。
ConnectionException -
(OUT_OF_SERVICE)
圏外(音声不可/パケット不可)になったことを検知した場合に発生します。
ConnectionException -
(SERVICE_UNAVAILABLE)
接続時や通信時に、 キッズ制限が適用されている、等の理由でTCP通信/UDP通信がサービスとして利用できない場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作による Suspended 状態から復帰したことを検知した場合に発生します。
ConnectionException -
(TIMEOUT)
接続時や通信時にタイムアウトした場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
別スレッドにて同一インスタンスの connect(String, int) を呼び出し中に、このメソッドを呼び出した場合に発生します。
IllegalStateException -
コネクションオブジェクトが Peer-to-Peer 型接続 のためのオブジェクトではなく、クライアント/サーバ型接続 のためのものであった場合に発生します。 別スレッドにて同一インスタンスの connect() を呼び出し中に、このメソッドを呼び出した場合も含みます。
java.io.InterruptedIOException -
Suspended 状態から復帰したことを検知した場合や、 中断要求が発生したことを検知した場合に発生します。
NullPointerException -
引数 host に null が指定された場合に発生します。
java.io.IOException -
I/Oエラーの場合に発生します。

openRemotePort

void openRemotePort()
                    throws java.io.IOException
グローバルIPアドレスとポート番号の払い出し要求を行います。

払い出されたアドレスはgetLocalAddress()、getLocalPort() メソッドで取得できます。

メソッドを呼び出した場合、Star アプリはサスペンドせずに接続処理を行います。 このメソッドはブロッキングメソッドとして動作します。

本メソッドは初期状態で実行してください。 その他の状態で実行された場合は例外が発生します。

例外:
IllegalStateException -
初期状態以外で実行された場合に発生します。
ConnectionException -
(OUT_OF_SERVICE)
通信開始時に、 iモード未契約、圏外(音声不可/パケット不可)、 規制(パケット規制ON) 、または、定額制ユーザのデータ通信規制中であった場合や、 通信中に圏外になった場合に発生します。
ConnectionException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
ConnectionException -
(SERVICE_UNAVAILABLE)
接続時や通信時に、 キッズ制限が適用されている、等の理由でTCP通信/UDP通信がサービスとして利用できない場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作による Suspended 状態から復帰したことを検知した場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
テレビ電話通話中に呼び出された場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
[Star-1.1 まで] PTT呼通信中、PTT設定中に呼び出された場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
ミュージックチャネルダウンローダ起動中に呼び出された場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
ソフトウェア更新実行中に呼び出された場合に発生します。
ConnectionException -
(TIMEOUT)
接続時や通信時にタイムアウトした場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
サポートしている以上の接続をオープンしようとした場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
別スレッドにて同一インスタンスの openRemotePort() を呼び出し中に、このメソッドを呼び出した場合に発生します。
java.io.InterruptedIOException -
Suspended 状態から復帰したことを検知した場合や、 中断要求が発生したことを検知した場合に発生します。
java.io.IOException -
I/Oエラーの場合に発生します。

receive

void receive(javax.microedition.io.Datagram dgram)
             throws java.io.IOException
データグラムを受信します。このメソッドの終了時には、Datagram オブジェクトの内部バッファに、offset 状態変数で指定された位置から、受信データが書き込まれます。このデータは、DataInput インタフェースのメソッドを使用して読み取ることができます。

このメソッドはデータグラムが受信されるまでブロックされます。Datagram オブジェクトの内部状態変数 length には、受信済みデータグラムの長さが格納されます。受信済みデータが内部バッファの長さとオフセットの差より長い場合、データは切り詰められます。

このメソッドでは、Datagram オブジェクトの内部状態変数 read/write pointer は変更されません。データグラムの受信を開始する前に、必要に応じて Datagram.reset メソッドを実行し、ポインタを変更します。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の receive
パラメータ:
dgram - 受信データを表現するデータグラムオブジェクトを指定します。
例外:
IllegalStateException -
UDP 通信可能状態以外の状態で実行された場合に発生します。
ConnectionException -
(OUT_OF_SERVICE)
圏外(音声不可/パケット不可)になったことを検知した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作による Suspended 状態から復帰したことを検知した場合に発生します。
java.io.InterruptedIOException -
Suspended 状態から復帰したことを検知した場合や、 中断要求が発生したことを検知した場合に発生します。
ConnectionException -
(TIMEOUT)
通信がタイムアウトしたことを検知した場合に発生します。
NullPointerException -
引数 dgram に null が指定された場合に発生します。
IllegalArgumentException -
[Star-1.1 以降] 引数 dgram にシステムが提供している以外のデータグラム (Datagram を実装した未知クラスのオブジェクト)が指定された場合に発生します。
java.io.IOException -
I/Oエラーの場合に発生します。

send

void send(javax.microedition.io.Datagram dgram)
          throws java.io.IOException
データグラムを送信します。

Datagram オブジェクトには、送信するデータ、その長さ、および受信側のアドレスの情報が含まれます。 メソッドは、Datagram オブジェクトの現在の offset から length バイトを送信します。 length と offset は Datagram オブジェクトの内部状態変数です。

Datagram.setAddress() メソッド等によって、引数 dgram のデータグラムアドレスに通信が確立された 接続先以外のアドレスが指定されている状態で、本メソッドが呼ばれた場合は例外が発生します。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の send
パラメータ:
dgram - 送信データを表現するデータグラムオブジェクトを指定します。
例外:
IllegalStateException -
UDP 通信可能状態以外の状態で実行された場合に発生します。
ConnectionException -
(OUT_OF_SERVICE)
圏外(音声不可/パケット不可)になったことを検知した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作による Suspended 状態から復帰したことを検知した場合に発生します。
java.io.InterruptedIOException -
Suspended 状態から復帰したことを検知した場合や、 中断要求が発生したことを検知した場合に発生します。
ConnectionException -
(TIMEOUT)
通信がタイムアウトしたことを検知した場合に発生します。
SecurityException -
不正なデータグラムアドレスが指定された場合に発生します。具体的には以下の場合に発生します。
  • クライアント/サーバ型接続時に Connector.open() で指定したホスト名とポート番号の組み合わせ以外が指定された場合。
  • Peer-to-Peer型接続時に connect(String, int) にて指定したホスト名とポート番号の組み合わせ以外が指定された場合。
NullPointerException -
引数 dgram に null が指定された場合に発生します。
IllegalArgumentException -
[Star-1.1 以降] 引数 dgram にシステムが提供している以外のデータグラム (Datagram を実装した未知クラスのオブジェクト)が指定された場合に発生します。
java.io.IOException -
I/Oエラーの場合に発生します。

getMaximumLength

int getMaximumLength()
データグラムがとり得る最大の長さを取得します。

この長さから、newDatagram メソッドを使用して作成できるデータグラムの最大サイズと、送信または受信可能なデータグラムの最大サイズが求められます。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の getMaximumLength
戻り値:
データグラムの最大長を返します。

getNominalLength

int getNominalLength()
データグラムの標準の長さを取得します。

標準長は、データバッファに格納されるデータグラムのサイズを表します。標準長は、データグラムの最大長と同じか、それより短くなります。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の getNominalLength
戻り値:
データグラムの標準の長さを返します。

newDatagram

javax.microedition.io.Datagram newDatagram(int size)
新しいデータグラムオブジェクトを作成します。

本メソッドは UDP 通信可能状態で実行してください。 その他の状態で実行された場合は例外が発生します。

本メソッドで生成されたデータグラムに対してDatagram.getAddress() メソッドを実行した場合はnullを返します。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の newDatagram
パラメータ:
size - データグラムに必要なバッファのサイズを指定します。
戻り値:
新しいデータグラムを返します。
例外:
IllegalArgumentException -
引数 size が不正な場合に発生します。具体的には以下の場合に発生します。
IllegalStateException -
UDP 通信可能状態以外の状態で実行された場合に発生します。

newDatagram

javax.microedition.io.Datagram newDatagram(byte[] buf,
                                           int size)
新しいデータグラムオブジェクトを作成します。

本メソッドは UDP 通信可能状態で実行してください。 その他の状態で実行された場合は例外が発生します。

本メソッドで生成されたデータグラムに対してDatagram.getAddress() メソッドを実行した場合はnullを返します。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の newDatagram
パラメータ:
buf - データグラム用のバッファを指定します。
size - データグラムに必要なバッファのサイズを指定します。
戻り値:
新しいデータグラムを返します。
例外:
IllegalArgumentException -
引数 size が不正な場合に発生します。具体的には以下の場合に発生します。
IllegalStateException -
UDP 通信可能状態以外の状態で実行された場合に発生します。
NullPointerException -
引数 buf に null が指定された場合に発生します。

newDatagram

javax.microedition.io.Datagram newDatagram(byte[] buf,
                                           int size,
                                           String addr)
新しいデータグラムオブジェクトを作成します。

本メソッドは UDP 通信可能状態で実行してください。 その他の状態で実行された場合は例外が発生します。

本メソッドの引数で指定するデータグラムの送信先アドレスには、 通信の確立された接続先を指定する必要があります。 本メソッドでは Datagram.setAddress(String) と同等のアドレスのフォーマットチェックを行いますが、 送信先アドレスに対する通信許可についてのチェックは行いません。 送信先アドレスの通信許可チェックは、 データグラム送信時(send(Datagram)) に行われます。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の newDatagram
パラメータ:
buf - データグラム用のバッファを指定します。
size - データグラムに必要なバッファのサイズを指定します。
addr - データグラムの送信先である入出力アドレスを指定します。未指定(nullを指定)とすることが可能です。
戻り値:
新しいデータグラムを返します。
例外:
IllegalArgumentException -
引数 size が不正な場合に発生します。具体的には以下の場合に発生します。
IllegalArgumentException -
引数 addr がフォーマット不正の場合に発生します。
IllegalStateException -
UDP 通信可能状態以外の状態で実行された場合に発生します。
NullPointerException -
引数 buf に null が指定された場合に発生します。

newDatagram

javax.microedition.io.Datagram newDatagram(int size,
                                           String addr)
新しいデータグラムオブジェクトを作成します。

本メソッドは UDP 通信可能状態で実行してください。 その他の状態で実行された場合は例外が発生します。

本メソッドの引数で指定するデータグラムの送信先アドレスには、 通信の確立された接続先を指定する必要があります。 本メソッドでは Datagram.setAddress(String) と同等のアドレスのフォーマットチェックを行いますが、 送信先アドレスに対する通信許可についてのチェックは行いません。 送信先アドレスの通信許可チェックは、 データグラム送信時(send(Datagram)) に行われます。

定義:
インタフェース javax.microedition.io.DatagramConnection 内の newDatagram
パラメータ:
size - データグラムに必要なバッファのサイズを指定します。
addr - データグラムの送信先である入出力アドレスを指定します。未指定(nullを指定)とすることが可能です。
戻り値:
新しいデータグラムを返します。
例外:
IllegalArgumentException -
引数 size が不正な場合に発生します。具体的には以下の場合に発生します。
IllegalArgumentException -
引数 addr がフォーマット不正の場合に発生します。
IllegalStateException -
UDP 通信可能状態以外の状態で実行された場合に発生します。

getLocalAddress

String getLocalAddress()
端末に払い出された IP アドレスを取得します。

本メソッドは ポートオープン状態、もしくは UDP 通信可能状態で実行してください。 その他の状態で実行された場合は例外が発生します。

戻り値:
自端末の IP アドレスを取得します。
例外:
IllegalStateException -
ポートオープン状態、もしくは UDP 通信可能状態以外の状態で実行された場合に発生します。

getLocalPort

int getLocalPort()
端末に払い出されたポート番号を取得します。

本メソッドは ポートオープン状態、もしくは UDP 通信可能状態で実行してください。 その他の状態で実行された場合は例外が発生します。

戻り値:
自端末のポート番号を取得します。
例外:
IllegalStateException -
ポートオープン状態、もしくは UDP 通信可能状態以外の状態で実行された場合に発生します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。