JP4803266B2 - 通信装置、サーバ、プログラム及び通信システム - Google Patents

通信装置、サーバ、プログラム及び通信システム Download PDF

Info

Publication number
JP4803266B2
JP4803266B2 JP2009030112A JP2009030112A JP4803266B2 JP 4803266 B2 JP4803266 B2 JP 4803266B2 JP 2009030112 A JP2009030112 A JP 2009030112A JP 2009030112 A JP2009030112 A JP 2009030112A JP 4803266 B2 JP4803266 B2 JP 4803266B2
Authority
JP
Japan
Prior art keywords
upload
service
communication
server
relay server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009030112A
Other languages
English (en)
Other versions
JP2010187217A (ja
Inventor
大樹 高倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009030112A priority Critical patent/JP4803266B2/ja
Priority to US12/687,449 priority patent/US8676934B2/en
Priority to CN2010101138595A priority patent/CN101808115B/zh
Publication of JP2010187217A publication Critical patent/JP2010187217A/ja
Application granted granted Critical
Publication of JP4803266B2 publication Critical patent/JP4803266B2/ja
Priority to US14/165,010 priority patent/US20140143387A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、通信装置、サーバ、プログラム及び通信システムに関し、例えば、通信装置からデータをアップロードする際に適用して好適なものである。
昨今、ネットワークを介した様々なサービスが提供されている。その1つとして、例えば、ユーザが撮影した動画などのコンテンツデータを、ユーザの端末(これをクライアントとも呼ぶ)からネットワーク上のサーバにアップロードして保管するサービスがある。このようなサービスを、アップロードサービスとも呼ぶ。また、このようなサービスでのアップロード先となるサーバを、サービス提供サーバとも呼ぶ。
アップロードサービスの多くは、サービス提供サーバにアップロードしたコンテンツデータを他のユーザに公開することが可能であり、こうすることで、コンテンツデータを複数のユーザで共有できるようになっている。
このようなアップロードサービスを多くのユーザに利用してもらうためには、アップロードを迅速且つ容易に行い得るようにすることが望ましい。
ところが、既存のアップロードサービスの多くは、コンテンツデータをアップロードするために、所望のサービスのウェブページをウェブブラウザを利用してユーザが探さなければならず、アップロードを迅速且つ容易に行えるとは言い難い。
そこで、クライアントからサービス提供サーバに直接アップロードするのではなく、中継サーバを経由してサービス提供サーバにアップロードするようにしたシステムが提案されている(例えば特許文献1参照)。
このシステムでは、中継サーバが各サービスの情報(サービス提供サーバのアドレスなど)を保持しており、クライアントから中継サーバにアクセスして所望のサービスを選択できるようになっている。中継サーバは、所望のサービスが選択され、アップロードするコンテンツデータがクライアントから送信されてくると、これを、選択されたサービスのサービス提供サーバに転送することでアップロードする。
このように、このシステムでは、中継サーバにアクセスして所望のサービスを選択すればよく、所望のサービスのウェブページを探すような手間を省略することができるようになっている。
特開2008−211732公報
しかしながら、上述したシステムでは、中継サーバを経由して各サービスのサービス提供サーバにコンテンツデータをアップロードするようになっているため、中継サーバにクライアントからのアクセスが集中する。この結果、中継サーバの負荷が増加して、アップロードにかかる時間が直接アップロードする場合よりも長くなってしまうことがあった。
このように、従来のアップロードサービスにおいては、アップロードを迅速且つ容易に行い得るとは言い難かった。
本発明は以上の点を考慮してなされたもので、アップロードを迅速且つ容易に行い得る通信装置、サーバ、プログラム及び通信システムを提案しようとするものである。
かかる課題を解決するため本発明においては、通信装置が、通信部を制御して、複数のアップロードサービス各々のサービス形態を示すサービス情報を保持している中継サーバに対して、一のアップロードサービスが当該一のアップロードサービスのアップロード先となるサービス提供サーバに上記通信装置からデータを直接アップロード可能であるかを問い合わせ、一のアップロードサービスがサービス提供サーバに直接アップロード可能である場合に、一のアップロードサービスのサービス提供サーバ通信装置からデータを直接アップロードするために必要となる必要情報を中継サーバから取得させ、当該必要情報に基づき、一のアップロードサービスのサービス提供サーバにデータを直接アップロードさせ、直接アップロードを実行した結果、一のアップロードサービスのサービス提供サーバから返信されてくるアップロード結果を受信させ、当該アップロード結果を中継サーバに転送させ、中継サーバによって通信装置側で認識可能な形式に変換されたアップロード結果を当該中継サーバから受信させるようにした。
こうすることで、従来のようなサーバを経由してアップロードを行う場合と比して、サーバへのアクセス集中を軽減できる。また、アップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、サーバ側でサービス情報を更新すればよく、通信装置側でのユーザ作業が増えてしまうことを防止できる。
すなわち、従来のようなサーバを経由してアップロードする場合の利点であるアップロードの容易さを維持しつつ、アップロードを迅速に行うことができる。
本発明によれば、従来のようなサーバを経由してアップロードを行う場合と比して、サーバへのアクセス集中を軽減できる。さらにアップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、サーバ側でサービス情報を更新すればよく、通信装置側でのユーザ作業が増えてしまうことを防止できる。すなわち、従来のようなサーバを経由してアップロードする場合の利点であるアップロードの容易さを維持しつつ、アップロードを迅速に行うことができる。かくして、アップロードを迅速且つ容易に行い得る通信装置、サーバ、プログラム及び通信システムを実現できる。
第1の実施の形態の概要となる通信システムの構成を示すブロック図である。 第1の実施の形態の具体例となるアップロードシステムの構成を示す略線図である。 アップロードサービスのサービス形態の違い(1)の説明に供する表である。 アップロードサービスのサービス形態の違い(2)の説明に供する表である。 ダイレクトアップロードの仕組みの説明に供する略線図である。 中継アップロードの仕組みの説明に供する略線図である。 クライアント、中継サーバ、サービス提供サーバの構成を示すブロック図である。 アップロードシーケンスを示すシーケンスチャートである。 GUI画面の構成を示す略線図である。 図8に示すシーケンスチャートにつづくシーケンスチャートである。 ダイレクトアップロードを行うために必要な必要情報を示す略線図である。 図10に示すシーケンスチャートにつづくシーケンスチャートである。 メタデータを別途アップロードする場合のアップロードシーケンスを示すシーケンスチャートである。 中継アップロードを行う場合のアップロードシーケンスを示すシーケンスチャートである。 クライアントが実行するアップロード処理手順を示すフローチャートである。 図15に示すフローチャートにつづくフローチャートである。 第2の実施の形態におけるクライアントが実行するアップロード処理手順を示すフローチャートである。 図17に示すフローチャートにつづくフローチャートである。
以下、発明を実施するための最良の形態(以下実施の形態とする)について説明する。尚、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.他の実施の形態
<1.第1の実施の形態>
[1−1.第1の実施の形態の概要]
まず、第1の実施の形態の概要を説明する。因みに、この概要を説明した後、第1の実施の形態の具体例の説明に移る。
図1において1は、通信システムを示す。この通信システム1は、任意のアップロードサービスにデータをアップロードする通信装置10と、複数のアップロードサービス各々のサービス情報を記憶保持するサーバ20とで構成される。
通信装置10は、ネットワークを介した通信を行う通信部11と、この通信部11を制御する制御部12とを有している。
そしてこの通信装置10の制御部12は、通信部11を制御して、サーバ20に対して、一のアップロードサービスが直接アップロード可能であるかを問い合わせるようになっている。
また制御部12は、問い合わせた結果、一のアップロードサービスが直接アップロード可能である場合に、通信部11を制御して、一のアップロードサービスにデータを直接アップロードするための必要情報をサーバ20から取得する。
そして制御部12は、この必要情報に基づき、通信部11を制御して、一のアップロードサービスにデータを直接アップロードする。具体的には、一のアップロードサービスが指定するアップロード先にデータを転送する。
一方、サーバ20は、ネットワークを介した通信を行う通信部21と、この通信部21を制御する制御部22と、複数のアップロードサービス各々のサービス情報を記憶保持する記憶部23とを有している。
そしてこのサーバ20の制御部22は、通信部21を制御して、記憶部23に記憶保持しているサービス情報に基づき、通信装置10からの一のアップロードサービスが直接アップロード可能であるかの問い合わせに応答する。
さらにこの制御部22は、一のアップロードサービスが直接アップロード可能である場合に、記憶保持しているサービス情報に基づき、通信部21を制御して、一のアップロードサービスにデータを直接アップロードするための必要情報を通信装置10に送信する。
このような構成により、この通信システム1では、従来のようなサーバ20を経由してアップロードを行う場合と比して、サーバ20へのアクセス集中を軽減できる。また、この通信システム1では、アップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、サーバ20側でサービス情報を更新すればよく、通信装置10側でのユーザ作業が増えてしまうことを防止できる。
すなわち、この通信システム1では、従来のようなサーバ20を経由してアップロードする場合の利点であるアップロードの容易さを維持しつつ、アップロードを迅速に行うことができる。
このような構成でなる通信システム1の具体例について、以下、詳しく説明する。
[1−2.実施の形態の具体例]
[1−2−1.アップロードシステムの構成]
次に、図2を用いて、本実施の形態の具体例となるアップロードシステム100の構成について説明する。
図2に示すように、アップロードシステム100は、クライアント101(101A、101B)と、ウェブサーバ102と、中継サーバ103と、サービス提供サーバ104(104A〜104C)とで構成される。これらの機器は、インターネットなどのネットワークを介して通信する機能を有する。ここで、クライアント101が、上述した通信装置10の具体例である。また中継サーバ103が、上述したサーバ20の具体例である。
サービス提供サーバ104A〜104Cは、それぞれアップロードサービスをユーザに提供するプロバイダA〜Cが運営するサーバである。具体的に、サービス提供サーバ104A〜104Cは、クライアント101からアップロードされた画像データを保管する。サービス提供サーバ104A〜104Cにアップロードされた画像データは、アップロードしたユーザ毎に管理され、アップロードしたユーザが自由に閲覧できるばかりでなく、ネットワークを介して他のユーザに公開できるようにもなっている。
サービス提供サーバ104A〜104Cの各々を運営するプロバイダA〜Cのそれぞれは、画像データのアップロードサービスを提供する点で共通するが、アップロードサービスのサービス形態が異なっている。
ここで、図3及び図4を用いて、プロバイダA〜Cが提供するアップロードサービスA〜Cのサービス形態の違いについて、具体的に説明する。各アップロードサービスA〜Cのサービス形態は、図3及び図4に示すように、複数の項目で表すことができる。つまり、各アップロードサービスA〜Cは、これら複数の項目が示す内容の少なくとも一部が異なっており、このことがサービス形態の違いを意味する。
例えば、項目の1つとして、「対応フォーマット」がある。この項目は、各アップロードサービスA〜Cが、静止画データのアップロードと動画データのアップロードとのどちらに対応しているかを示す項目である。例えば、アップロードサービスAは、静止画データのアップロードのみに対応しており、その旨が「対応フォーマット」に示されている。また、アップロードサービスCは、静止画データのアップロードと動画データのアップロードの両方に対応しており、その旨が「対応フォーマット」に示されている。
また、項目の1つとして、「公開/非公開設定」がある。この項目は、各アップロードサービスA〜Cが、アップロードされた画像データの公開/非公開の設定が可能か否かを示す項目である。例えば、アップロードサービスAは、画像データの公開/非公開の設定が可能であり、その旨が「公開/非公開設定」に示されている。また、アップロードサービスBは、画像データの公開/非公開の設定が不可能であり、その旨が「公開/非公開設定」に示されている。
さらに、項目の1つとして、「アルバム機能」がある。この項目は、各アップロードサービスA〜Cが、アップロードされた複数の画像データをアルバムとして管理する機能(これをアルバム機能とも呼ぶ)を有しているか否かを示す項目である。例えば、アップロードサービスAは、アルバム機能を有しており、その旨が「アルバム機能」に示されている。また、アップロードサービスBは、アルバム機能を有しておらず、その旨が「アルバム機能」に示されている。
さらに、項目の1つとして、「アルバムタイトル入力」がある。この項目は、各アップロードサービスA〜Cが、アップロードされた複数の画像をアルバムとして管理するうえで、アルバムのタイトル(すなわちアルバムタイトル)を入力できるか否かを示す項目である。例えば、アップロードサービスAは、アルバムタイトルを入力でき、その旨が「アルバムタイトル入力」に示されている。また、アップロードサービスBは、アルバムタイトルを入力できず、その旨が「アルバムタイトル入力」に示されている。
さらに、項目の1つとして、「画像タイトル入力」がある。この項目は、各アップロードサービスA〜Cが、アップロードされた画像データのタイトル(すなわち画像タイトル)を入力できるか否かを示す項目である。例えば、アップロードサービスAは、画像タイトルを入力でき、その旨が「画像タイトル入力」に示されている。
さらに、項目の1つとして、「画像説明文入力」がある。この項目は、各アップロードサービスA〜Cが、アップロードされた画像データの説明文(すなわち画像説明文)を入力できるか否かを示す項目である。例えば、アップロードサービスAは、画像説明文を入力でき、その旨が「画像説明文入力」に示されている。また、アップロードサービスBは、画像説明文を入力できず、その旨が「画像説明文入力」に示されている。
さらに、項目の1つとして、「タグ入力」がある。この項目は、各アップロードサービスA〜Cが、アップロードされた画像データのタグを入力できるか否かを示すも項目である。タグとは、画像データを検索するときのキーとなる情報である。
例えば、アップロードサービスAでは、タグを入力することができず、その旨が「タグ入力」に示されている。また、アップロードサービスBでは、タグを入力することができ、その旨が「タグ入力」に示されている。
さらに、項目の1つとして、「ログインパラメータ」がある。この項目は、各アップロードサービスA〜Cが、画像データのアップロード時にクライアント側に要求するログインパラメータの種類を示す項目である。例えば、アップロードサービスAは、ログインパラメータとして、メールアドレスとパスワードを要求するようになっており、その旨が「ログインパラメータ」に示されている。また、アップロードサービスBは、ログインパラメータとして、IDとパスワードを要求するようになっており、その旨が「ログインパラメータ」に示されている。
さらに、項目の1つとして、「静止画最大サイズ」(図4)がある。この項目は、各アップロードサービスA〜Cでの、アップロードできる静止画データの最大サイズを示す項目である。例えば、アップロードサービスAでは、最大5MBの静止画データをアップロードできるようになっており、その旨が「静止画最大サイズ」に示されている。
さらに、項目の1つとして、「動画最大サイズ」がある。この項目は、各アップロードサービスA〜Cでの、アップロードできる動画データの最大サイズを示す項目である。例えば、アップロードサービスBは、最大100MBの動画データをアップロードできるようになっており、その旨が「動画最大サイズ」に示されている。
さらに、項目の1つとして、「動画最大時間」がある。この項目は、各アップロードサービスA〜Cでの、アップロードできる動画データの最大時間を示す項目である。例えば、アップロードサービスBは、最大10分の動画データをアップロードできるようになっており、その旨が「動画最大時間」に示されている。
さらに、項目の1つとして、「最大コンテンツ数」がある。この項目は、各アップロードサービスA〜Cでの、各ユーザがアップロードできる画像データの最大数を示す項目である。例えば、アップロードサービスBは、各ユーザがアップロードできる画像データの最大数が20であり、その旨が「最大コンテンツ数」に示されている。
さらに、項目の1つとして、「サービスロゴ」がある。この項目は、各アップロードサービスA〜Cで使用するサービスロゴの画像ファイルを示す項目である。
さらに、項目の1つとして、「サービス商標文」がある。この項目は、各アップロードサービスA〜Cが使用するサービス商標文の文面を示す項目である。
さらに、項目の1つとして、「アップロード順序」がある。この項目は、各アップロードサービスA〜Cでの、画像データをアップロードするときの順番を示す項目である。
さらに、項目の1つとして、「ダイレクトアップロード対応」がある。この項目は、各アップロードサービスA〜Cが、ダイレクトアップロードに対応しているか否かを示す項目である。
ダイレクトアップロードとは、図5に示すように、画像データを、クライアント101から中継サーバ103を経由しないでサービス提供サーバ104にアップロードすることである。これに対して、図6に示すように、画像データを、クライアント101から中継サーバ103を経由してサービス提供サーバ104にアップロードすることを、中継アップロードとも呼ぶ。
尚、詳しくは後述するが、ダイレクトアップロードであっても、中継アップロードであっても、クライアント101からサービス提供サーバ104へのログイン及びセッションIDの発行等は、中継サーバ103を介して行われる。つまり、中継サーバ103は、クライアント101から各アップロードサービスA〜Cを利用するときの共通窓口(ポータル)としての役割を担っている。
ここで、例えば、アップロードサービスBは、ダイレクトアップロードに対応しており、その旨が「ダイレクトアップロード対応」に示されている。また、アップロードサービスAは、ダイレクトアップロードに対応しておらず、その旨が「ダイレクトアップロード対応」に示されている。
さらに、項目の1つとして、「サーバ側自動処理」がある。この項目は、各アップロードサービスA〜Cが、画像データのアップロード時にサービス提供サーバ104A〜104Cで自動的に実行する処理を示す項目である。
このように、プロバイダA〜Cが提供するアップロードサービスA〜Cのそれぞれは、サービス形態が異なっており、このため、画像データのアップロード方法も異なっている。
例えば、アップロードサービスBとCは、共にダイレクトアップロードに対応しているが、そのアップロード方法が異なっている。
つまり、クライアント101は、アップロードサービスB及びCの各々に応じた方法でダイレクトアップロードを行う必要がある。
そこで、例えば、クライアント101に、アップロードサービスB及びCの各々を利用してダイレクトアップロードを行うために必要な情報(これを必要情報とも呼ぶ)を予め記憶させておくようにすることが考えられる。
しかしながら、この場合、アップロードサービスの追加や削除、アップロード方法の変更等に対応できない。対応させるには、その都度、クライアント101側で必要情報を更新しなければならず、このような作業をユーザに強いることになってしまう。
そこで、このアップロードシステム100では、ダイレクトアップロード時に、クライアント101が、中継サーバ103から、利用するアップロードサービスに応じた必要情報を取得するようになっている。
実際、中継サーバ103は、アップロードサービスA〜Cの各々に関するサービス情報を保持しており、このサービス情報から必要情報を得て、クライアント101に提供するようになっている。
クライアント101は、ダイレクトアップロード時、中継サーバ103にアクセスして、利用するアップロードサービスに応じた必要情報を取得し、取得した必要情報に基づいて、ダイレクトアップロードを行う。
こうすることで、アップロードシステム100では、アップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、中継サーバ103側でサービス情報を更新すればよく、クライアント101側の負担を軽減できる。
またこのように画像データを中継サーバ103を経由させずにサービス提供サーバ104に直接アップロードすることで、中継サーバ103を経由させて画像データをアップロードする場合と比して、中継サーバ103へのアクセス集中を低減できる。
一方、アップロードサービスAのように、ダイレクトアップロードに対応していないサービスもある。このようなサービスを利用する場合には、中継サーバ103を経由した中継アップロードを行う。
すなわち、クライアント101は、画像データを中継サーバ103に送信する。中継サーバ103は、クライアント101から送信されてきた画像データを、アップロードサービスAのサービス提供サーバ104Aにアップロードする。
因みに、クライアント101Aが、中継サーバ103及びサービス提供サーバ104A〜104Cに直接アクセスして画像データをアップロードする機能を有しているのに対して、クライアント101Bは、この機能を有していない。
代わりに、クライアント101Bは、ウェブブラウザ機能を有し、ウェブサーバ102が提供するウェブページから、中継サーバ103及びサービス提供サーバ104A〜104Cにアクセスして画像データをアップロードできるようになっている。つまり、クライアント101Bは、ウェブサーバ102と協働して、クライアント101Aと同等の機能を実現するようになっている。
このように、アップロードシステム100では、クライアント101Aも101Bも同様に、画像データをアップロードできるようになっている。
[1−2−2.クライアント、中継サーバ、サービス提供サーバの構成]
次に、図7を用いて、クライアント101、中継サーバ103、サービス提供サーバ104の構成について説明する。尚、クライアント101Aとクライアント101Bとは同一の構成であるとする。またサービス提供サーバ104A〜104Cの各々の構成についても、同一の構成であるとする。
クライアント101は、制御部110と、通信部111と、記憶部112と、表示部113と、操作入力部114とを有する。
制御部110は、例えば、CPU、ROM、RAMで構成され、各種プログラムや各種APIに基づいて、全体を統括的に制御すると共に、画像データのアップロードに係わる各種処理(詳しくは後述する)を実行する。因みに、APIは、Application programming Interfaceの略であり、特定の処理を実行するときに呼び出されるプログラムのことである。また、CPU、ROM、RAMは、それぞれCentral Processing Unit、Read Only Memory、Random Access Memoryの略である。
通信部111は、制御部110の制御のもと、ネットワークを介して、中継サーバ103やサービス提供サーバ104A〜104Cとの通信を行う。記憶部112は、例えば、ハードディスクドライブやフラッシュメモリであり、各種プログラムや各種API、各種画像データなどを記憶する。
表示部113は、例えば、液晶ディスプレイであり、制御部110の制御のもと、画像やアイコン等が配されたGUI画面を表示する。因みに、GUIは、Graphical User Interfaceの略である。操作入力部114は、例えば、操作ボタンやタッチパネルであり、ユーザ操作を入力として受け付け、その入力に応じた命令を制御部110に送る。
尚、クライアント101Bは、基本的にクライアント101Aと同一の構成であるが、クライアント101Aと比較して、プログラムやAPIの実行機能が低い。そこで、このクライアント101Bは、ウェブサーバ102と協働することで、クライアント101Aと同等の実行機能を実現するようになっている。
中継サーバ103は、制御部120と、通信部121と、記憶部122とを有する。制御部120は、例えば、CPU、ROM、RAMで構成され、各種プログラムや各種APIに基づいて、全体を統括的に制御すると共に、画像データのアップロードに係わる各種処理(詳しくは後述する)を実行する。
通信部121は、制御部120の制御のもと、ネットワークを介して、クライアント101Aやウェブサーバ102、サービス提供サーバ104A〜104Cとの通信を行う。記憶部122は、例えば、ハードディスクドライブやフラッシュメモリであり、各種プログラムや各種API、各種画像データ、アップロードサービスA〜Cの各々に関するサービス情報等を記憶する。
サービス提供サーバ104は、制御部130と、通信部131と、記憶部132とを有する。制御部130は、例えば、CPU、ROM、RAMで構成され、各種プログラムや各種APIに基づいて、全体を統括的に制御すると共に、画像データのアップロードに係わる各種処理(詳しくは後述する)を実行する。
通信部131は、制御部130の制御のもと、ネットワークを介して、クライアント101Aやウェブサーバ102、中継サーバ103との通信を行う。記憶部132は、例えば、ハードディスクドライブやフラッシュメモリであり、各種プログラムや各種API、各種画像データ、アップロードサービスA〜Cのサービス情報等を記憶する。またこの記憶部132には、アップロードされた画像データを管理するためのデータベースが構築されている。
尚、ウェブサーバ102は、例えば、クライアント101Aの構成から、表示部113と、操作入力部114とを省略した構成であるとする。すなわち、このウェブサーバ102は、クライアント101Aと同等の実行機能を有する。そして、このウェブサーバ102は、クライアント101Bからの要求に応じて、画像データのアップロードに係わる各種処理(詳しくは後述する)を実行するようになっている。
[1−2−3.アップロードシーケンス]
次に、図8〜図14を用いて、クライアント101からサービス提供サーバ104に画像データをアップロードするときのシーケンス(これをアップロードシーケンスとも呼ぶ)について説明する。尚、ここでは、クライアント101Aから、ダイレクトアップロードに対応しているアップロードサービスBのサービス提供サーバ104Bに、画像データをダイレクトアップロードするときを例に説明する。尚、このアップロードシーケンスは、主として、クライアント101Aの制御部110と、中継サーバ103の制御部120と、サービス提供サーバ104Bの制御部130とが協働して実行するシーケンスである。
まず、図8に示すステップSP1において、ユーザが、操作入力部114を介してクライアント101Aにアップロードプログラムの起動を指示したとする。すると、クライアント101Aの制御部110は、ステップSP2において、記憶部112に格納されているアップロードプログラムを起動する。このアップロードプログラムは、各アップロードサービスA〜Cで共通のプログラム(これを共通プログラムとも呼ぶ)である。
クライアント101Aの制御部110は、このアップロードプログラムに基づき、ステップSP3において、中継サーバ103に、現在利用可能なアップロードサービスのリストを、通信部111を介して要求する。
中継サーバ103の制御部120は、通信部121を介してこの要求を受けると、ステップSP4において、現在利用可能なアップロードサービスのリストを生成して、これを通信部121を介してクライアント101Aに返信する。
因みに、中継サーバ103は、各サービス提供サーバ104A〜104Cから、随時、最新のサービス形態等が示されたサービス情報を取得して、記憶部122に記憶するようになっている。そして、中継サーバ103の制御部120は、このサービス情報をもとに、アップロードサービスのリストを生成して、クライアント101Aに送信する。このリストには、現在利用可能なアップロードサービス毎に、例えば、そのプロバイダの名称と、そのサービス形態の一部(例えば、対応フォーマット)とが記されている。
クライアント101Aの制御部110は、通信部111を介してこのリストを受信すると、ステップSP5において、このリストをGUI画面(図示せず)として表示部113に表示させる。こうすることで、クライアント101Aは、ユーザに、現在利用可能なアップロードサービスを確認させることができる。
このGUI画面では、リストから所望のアップロードサービスを選択できるようになっている。そして、ユーザが、ステップSP6において、操作入力部114を介して、リストから所望のアップロードサービス(例えばアップロードサービスB)を選択したとする。すると、クライアント101Aの制御部110は、ステップSP7において、中継サーバ103に、選択されたアップロードサービスの詳細情報を、通信部111を介して要求する。
因みに、詳細情報の要求は、クライアント101Aの制御部110が、記憶部112に格納されている詳細情報取得用APIを呼び出すことで実行される。この詳細情報取得用APIは、各アップロードサービスA〜Cで共通のAPI(これを共通APIとも呼ぶ)である。
中継サーバ103の制御部120は、通信部121を介して要求を受けると、ステップSP8において、選択されたアップロードサービスの詳細情報を、通信部121を介してクライアント101Aに返信する。
ここで、中継サーバ103の制御部120は、記憶部122に記憶された各アップロードサービスA〜Cのサービス情報から、選択されたアップロードサービスに対応する情報を抽出して、これを詳細情報として返信するようになっている。
つまり、この詳細情報には、選択されたアップロードサービスのサービス形態に関する情報として、図3及び図4に示した各項目が示す内容が含まれている。よって、この詳細情報から、選択されたアップロードサービスのサービス形態(静止画のアップロードと動画のアップロードとのどちらに対応しているのか、ダイレクトアップロードに対応しているのか等)がわかる。
またこの詳細情報は、例えばXML形式で記述されたテキストデータであり、選択されたアップロードサービスを利用するときにクライアント101Aの表示部113に表示させるGUI画面を構成する情報も含んでいる。
クライアント101Aの制御部110は、通信部111を介して詳細情報を受信すると、ステップSP9において、この詳細情報に基づくGUI画面を表示部113に表示させる。このとき表示されるGUI画面は、選択されたアップロードサービスによって異なる。図9に、このとき表示されるGUI画面200を示す。このGUI画面200は、アップロードサービスBが選択されたときに表示されるGUI画面である。
このGUI画面200には、左上に、アップロードサービスBのプロバイダBのアイコン・ロゴ201が表示される。またこのアイコン・ロゴ201の右側に、ログインに必要な情報(これをログイン情報とも呼ぶ)を入力するためのログイン情報入力欄202と、入力されたログイン情報の送信を指示するための送信ボタン203とが設けられている。
さらにこのGUI画面200には、中央に、アップロードする画像データの一覧が表示されるアップロード画像表示領域204が設けられている。さらに、このアップロード画像表示領域204の下方に、アップロードする画像データのサイズが表示されるサイズ表示領域205が設けられている。
さらに、このサイズ表示領域205の下方に、画像データを新規のアルバムとしてアップロードするか、既存のアルバムに追加するようにしてアップロードするかを指定するためのアルバム指定チェックボックス206が設けられている。
さらに、このアルバム指定チェックボックス206の下方に、画像データのタイトルを入力するためのタイトル入力欄207が設けられている。さらに、このタイトル入力欄207の下方に、画像データの説明文(コメント)を入力するためのコメント入力欄208が設けられている。
さらに、このGUI画面200には、右下に、アップロードの実行を指示するためのアップロード実行ボタン209が設けられている。
ユーザは、このGUI画面200を介して、ログイン情報の入力や、アップロードする画像データの選択、画像データを格納するアルバムの指定、タイトル及び説明文の入力、アップロードの実行等を行うことができるようになっている。
尚、図9に示すGUI画面200は、一例であり、詳細情報に基づいて、タグを入力するための入力欄や、アップロードする画像データの公開/非公開設定を指定するためのチェックボックス等を設けるようにしてもよい。
そして、ユーザが、図10に示すステップSP10において、操作入力部114を介して、ログイン情報入力欄202にログイン情報を入力し、送信ボタン203を押下したとする。すると、クライアント101Aの制御部110は、ステップSP11において、入力されたログイン情報を、通信部111を介して中継サーバ103に送信する。
因みに、クライアント101Aによるログイン情報の送信は、クライアント101Aの制御部110が、記憶部112に格納されているログイン処理用APIを呼び出すことで実行される。このログイン処理用APIも、共通APIである。ただし、送信すべきログイン情報は、選択されたアップロードサービスによって異なる。
中継サーバ103の制御部120は、通信部121を介してログイン情報を受信すると、ステップSP12において、このログイン情報を、選択されているアップロードサービスBのサービス提供サーバ104Bに、通信部121を介して転送する。
因みに、中継サーバ103によるサービス提供サーバ104Bへのログイン情報の転送は、ログイン処理用APIを呼び出すことで実行される。このログイン処理用APIは、各アップロードサービスA〜Cで固有のAPI(これを固有APIとも呼ぶ)である。この固有APIは、例えば、各サービス提供サーバ104A〜Cから提供され、中継サーバ103の記憶部122に記憶されている。
サービス提供サーバ104Bの制御部130は、通信部131を介してログイン情報を受信すると、ステップSP13において、このログイン情報を検証する。そして、制御部130は、検証の結果、正当なアップロード権限を有するユーザからのログイン要求であると確認できると、中継サーバ103に対するセッションIDを発行する。そして、制御部130は、ステップSP14において、発行したセッションIDと、ログインの許可を示すログイン結果とを、通信部131を介して中継サーバ103に送信する。
サービス提供サーバ104Bが発行するセッションIDは、サービス提供サーバ104Bと中継サーバ103との間のセッション維持に利用されるIDである。すなわち、以降のサービス提供サーバ104Bと中継サーバ103との通信は、このセッションIDを付与して行われる。こうすることで、中継サーバ103がサービス提供サーバ104Bにアクセスする度にログイン情報を送信して、サービス提供サーバ104Bがログイン情報を検証するような処理を省略することができる。尚、このセッションIDを、サービス提供サーバ用セッションIDとも呼ぶ。
中継サーバ103の制御部120は、通信部121を介してログイン結果とサービス提供サーバ用セッションIDとを受信すると、クライアント101Aに対するセッションIDを発行する。また、制御部120は、サービス提供サーバ用セッションIDを、記憶部122に記憶する。そして、制御部120は、ステップSP15において、発行したセッションIDと、受信したログイン結果とを、通信部121を介してクライアント101Aに送信する。
中継サーバ103が発行するセッションIDは、中継サーバ103とクライアント101Aとの間のセッション維持に利用されるIDである。すなわち、以降の中継サーバ103とクライアント101Aとの通信は、このセッションIDを付与して行われる。尚、このセッションIDを、中継サーバ用セッションIDとも呼ぶ。
クライアント101Aの制御部110は、通信部111を介してログイン結果と中継サーバ用セッションIDとを受信すると、中継サーバ用セッションIDを記憶部112に記憶する。また、制御部110は、ステップSP16において、受信したログイン結果をもとに、例えば、正常にログインできた旨を、GUI画面200に表示する。
そして、ユーザが、ステップSP17において、GUI画面200を介して、アップロードする画像データの選択や、タイトル及び説明文の入力と言ったアップロードの準備作業を行った後、アップロード実行ボタン209を押下したとする。
するとクライアント101Aの制御部110は、先に受信したアップロードサービスBの詳細情報に、アップロードサービスBがダイレクトアップロードに対応する旨が示されていることから、ダイレクトアップロードを行う。
すなわち、クライアント101Aの制御部110は、まずステップSP18において、アップロードする画像データのメタデータと、ファイル名及びサイズでなるパラメータとを、通信部111を介して中継サーバ103に送信する。
ここで、メタデータとは、GUI画面200を介して入力又は指定された画像データのタイトルや説明文、画像データを格納するアルバムのID、画像データの公開/非公開設定などである。
因みに、メタデータ及びパラメータの送信は、クライアント101Aの制御部110が、記憶部112に格納されているダイレクトアップロード開始APIを呼び出すことで実行される。このダイレクトアップロード開始APIは、共通APIである。ただし、送信するデータの内容は、異なる。
中継サーバ103の制御部120は、メタデータ及びパラメータを受信すると、ステップSP19において、サービス提供サーバ104Bへのダイレクトアップロードを行うために必要な必要情報を、クライアント101Aに送信する。
この必要情報は、クライアント101Aから受信したメタデータ及びパラメータと、アップロード先のサービス提供サーバ104Bから取得したサービス情報及びサービス提供サーバ用セッションIDとをもとに生成される。
すなわち、この必要情報には、例えば、メタデータ及びパラメータと、アップロード先(この場合サービス提供サーバ104B)のアドレス、画像データのデータ形式、必要なヘッダ情報、サービス提供サーバ用セッションID等が含まれている。
図11にこの必要情報の具体例を示す。この必要情報は、例えばXML形式で記述されたテキストデータである。因みに、図11に示す必要情報は、サービス提供サーバ用セッションID、画像データのタイトル、説明文、公開/非公開設定、データ形式、ファイル名、必要なヘッダ情報、サービス提供サーバ用セッションIDなどが記述された例である。
クライアント101Aの制御部110は、中継サーバ103から必要情報を受信すると、この必要情報に基づき、適宜、アップロードする画像データ及びメタデータを加工する。例えば、アップロードする画像データが、指定されたデータ形式でない場合に、指定されたデータ形式に変換する。
さらに制御部110は、画像データ及びメタデータをアップロードデータとし、必要情報に基づいて、指定された情報をこのアップロードデータに情報を付与する。例えば、必要情報に記されたヘッダ情報及びサービス提供サーバ用セッションIDを付与する。
そして制御部110は、ステップSP20(図10)において、このアップロードデータを、必要情報に記述されたアップロード先のアドレス、つまりサービス提供サーバ104Bに対して直接アップロードする。つまりサービス提供サーバ104Bへのダイレクトアップロードを行う。
サービス提供サーバ104Bの制御部130は、通信部131を介して、クライアント101Aからアップロードデータを受信すると、このアップロードデータを記憶部132に記憶させ、データベースに登録することで管理する。
そして制御部130は、クライアント101Aからのダイレクトアップロードが終了すると、ステップSP21において、その結果(これをアップロード結果とも呼ぶ)を、通信部131を介して、クライアント101Aに返信する。
クライアント101Aの制御部110は、アップロード結果を受信すると、ステップSP22(図12)において、このアップロード結果を、アップロードした画像データのメタデータ及びパラメータと共に、中継サーバ103に転送する。
ここで、サービス提供サーバ104Bから提供されるアップロード結果は、各アップロードサービスBで固有の形式であり、そのままでは、クライアント101A側で、内容を理解することができない。
そこで、アップロードシステム100では、このアップロード結果を、クライアント101Aが中継サーバ103に送信して、中継サーバ103が、クライアント101A側で認識可能な共通形式に変換するようになっている。
因みに、メタデータ及びパラメータとアップロード結果の送信は、クライアント101Aの制御部110が、記憶部112に格納されているダイレクトアップロード終了APIを呼び出すことで実行される。このダイレクトアップロード終了APIは、ダイレクトアップロード開始APIと、アップロード結果を送信する点以外同一のAPIであり、また共通APIである。
中継サーバ103の制御部120は、メタデータ及びパラメータとアップロード結果を受信すると、ステップSP23において、アップロード結果を、クライアント101Aで認識可能な共通形式に変換する。
因みに、アップロード結果の変換は、中継サーバ103の制御部120が、記憶部122に格納されているアップロード結果変換用APIを呼び出すことで実行される。このアップロード結果変換用APIは、固有APIであり、例えば、各サービス提供サーバ104A〜Cから提供され、中継サーバ103の記憶部122に記憶されている。
そして、制御部120は、ステップSP24において、共通形式のアップロード結果を、通信部121を介してクライアント101Aに返信する。
クライアント101Aの制御部110は、共通形式のアップロード結果を受信すると、ステップSP25において、このアップロード結果をもとに、アップロードに成功した旨、もしくは失敗した旨を、例えば、GUI画面200に表示する。
このようなアップロードシーケンスにより、アップロードシステム100は、クライアント101Aから、サービス提供サーバ104Bに、画像データをダイレクトアップロードするようになっている。
ところで、図8〜12を用いて説明したアップロードシーケンスでは、画像データとメタデータとをアップロードデータとして一度にアップロードするようにした。ところが、アップロードサービスによっては、画像データをアップロードしてから、別途そのメタデータをアップロードすると言った2段階のアップロードが要求される。
ここで、例えば、アップロードサービスCがこのような2段階のアップロードを要求するサービスであるとする。
この場合、クライアント101Aの制御部110は、中継サーバ103から受信した必要情報に基づき、上述したステップSP20(図10)において、画像データをサービス提供サーバ104Cにダイレクトアップロードする。このとき制御部110は、メタデータはアップロードしない。
その後、ステップSP21で画像データのアップロード結果がクライアント101Aに返信される。さらにステップSP22(図13)において、クライアント101Aが、このアップロード結果と、アップロードした画像データのメタデータ及びパラメータとを、中継サーバ103に送信する。
中継サーバ103の制御部120は、アップロード結果と、メタデータ及びパラメータとを受信すると、図13に示すステップSP100において、このメタデータを、サービス提供サーバ104Cにアップロードする。
このように、画像データのアップロードとメタデータのアップロードとの2段階のアップロードが要求される場合、まずクライアント101Aからアップロード先に画像データをダイレクトアップロードする。その後、その画像データのメタデータをクライアント101Aから中継サーバ103を介してアップロード先に中継アップロードする。
因みに、中継サーバ103によるサービス提供サーバ104Cへのメタデータのアップロードは、アップロード用APIを呼び出すことで実行される。このアップロード用APIは、固有APIであり、例えば、各サービス提供サーバ104A〜Cから提供され、中継サーバ103の記憶部122に記憶されている。
サービス提供サーバ104の制御部130は、メタデータを受信すると、このメタデータを記憶部132に記憶させ、先にアップロードされた画像データに対応付けてデータベースに登録することで管理する。
そして制御部130は、中継サーバ103からのメタデータのアップロードが終了すると、ステップSP101において、メタデータのアップロード結果を、通信部131を介して、中継サーバ103に返信する。
中継サーバ103の制御部120は、メタデータのアップロード結果を受信すると、ステップSP102において、このアップロード結果と、先にクライアント101Aから受信した画像データのアップロード結果とを、共通形式に変換する。
そして、制御部120は、ステップSP24において、共通形式のアップロード結果を、通信部121を介してクライアント101Aに返信する。クライアント101Aの制御部120は、ステップSP25において、このアップロード結果をもとにアップロードに成功した旨、もしくは失敗した旨を、例えば、GUI画面200に表示する。
このようなアップロードシーケンスにより、アップロードシステム100は、画像データとメタデータの2段階のアップロードにも対応するようになっている。
また、図8〜12を用いて説明したアップロードシーケンスでは、アップロードデータをアップロード先にダイレクトアップロードするようにした。ところが、ダイレクトアップロードに対応していないアップロードサービスもある。このようなアップロードサービスを利用する場合、中継アップロードを行う。
ここで、例えば、アップロードサービスAがダイレクトアップロードに対応していないサービスであるとする。
この場合、クライアント101Aの制御部110は、上述したステップSP18(図10)において、画像データとメタデータとを中継サーバ103に送信する。
中継サーバ103の制御部120は、画像データとメタデータとを受信すると、図14に示すステップSP200において、これらをアップロードデータとしてサービス提供サーバ104Aにアップロードする。
このとき、中継サーバ103の制御部120は、サービス提供サーバ104Aから取得したサービス情報に基づき、適宜、画像データ及びメタデータを加工したり、アップローデータに必要な情報を付与したりする。
因みに、このアップロードは、中継サーバ103の制御部120が、記憶部112に格納されている中継アップロードAPIを呼び出すことで実行される。この中継アップロードAPIは、固有APIである。
サービス提供サーバ104Aの制御部130は、中継サーバ103からアップロードデータを受信すると、このアップロードデータを記憶部132に記憶させ、データベースに登録することで管理する。
そして制御部130は、中継サーバ103からのアップロードが終了すると、ステップSP201において、そのアップロード結果を、中継サーバ103に返信する。
中継サーバ103の制御部120は、アップロード結果を受信すると、ステップSP23において、このアップロード結果を、クライアント101Aで理解可能な共通形式に変換する。
そして、制御部120は、ステップSP24において、共通形式のアップロード結果を、クライアント101Aに返信する。
クライアント101Aの制御部110は、共通形式のアップロード結果を受信すると、ステップSP25において、このアップロード結果をもとに、アップロードに成功した旨、もしくは失敗した旨を、例えば、GUI画面200に表示する。
このようなアップロードシーケンスにより、アップロードシステム100は、クライアント101Aから、中継サーバ103を経由して、サービス提供サーバ104Aに、画像データを中継アップロードするようになっている。
ここまで説明したように、このアップロードシステム100では、中継サーバ103が、アップロードサービスA〜Cの各々に関するサービス情報を記憶保持するようになっている。
そしてこの中継サーバ103が、サービス情報から、ダイレクトアップロードを行うために必要な必要情報を得て、これをクライアント101Aに送信するようにした。
クライアント101Aは、この必要情報に基づいて、指定されたアップロード先へのダイレクトアップロードを行う。
こうすることで、アップロードシステム100では、従来のような中継サーバ103を経由してアップロードを行う場合と比して、中継サーバ103へのアクセス集中を軽減できる。この結果、アップロードに要する時間を、必ず中継アップロードを行うシステムと比して大幅に短縮することができる。
また、このアップロードシステム100では、アップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、中継サーバ103側でサービス情報を更新しさえすればよく、クライアント101A側の負担を軽減できる。
このように、このアップロードシステム100では、迅速且つ容易にアップロードを行うことができるようになっている。
また、このアップロードシステム100では、ダイレクトアップロードに対応していないアップロードサービスを利用する場合には、従来と同様、中継サーバ103を経由した中継アップロードを行うようにした。
こうすることで、このアップロードシステム100では、ダイレクトアップロードが可能なサービスと、中継アップロードしかできないサービスとを共存させることができ、多様なアップロードサービスをユーザに提供できる。
[1−2−4.クライアントが実行するアップロード処理の手順]
次に、図15及び図16を用いて、上述したアップロードシーケンスでのクライアント101Aが実行するアップロード処理の手順(これをアップロード処理手順とも呼ぶ)RT1について説明する。
尚、このアップロード処理手順RT1は、クライアント101Aの制御部110が、起動したアップロードプログラムに従って実行する処理の手順である。
クライアント101Aの制御部110は、アップロードプログラムの起動が指示されると、このアップロード処理手順RT1を開始する。そして制御部110は、中継サーバ103から、現在利用可能なアップロードサービスのリストを取得して、表示部113に表示した後、ステップSP300に移る。
ステップSP300において制御部110は、表示したリストから利用するアップロードサービスが選択されるのを待ち受け、選択されると、このステップSP300で肯定結果を得て、ステップSP301に移る。
ステップSP301において制御部110は、選択されたアップロードサービスの詳細情報を、中継サーバ103から取得して、ステップSP302に移る。ステップSP302において制御部110は、取得した詳細情報に基づいて図9に示したようなGUI画面200を表示部113に表示して、ステップSP303に移る。
ステップSP303において制御部110は、表示したGUI画面200を介してアップロードが指示されるのを待ち受け、指示されると、このステップSP303で肯定結果を得て、ステップSP304に移る。
ステップSP304において制御部110は、先に受信した詳細情報をもとに、今回利用するアップロードサービスがダイレクトアップロードに対応しているサービスであるか否かを判別する。
今回利用するアップロードサービスがダイレクトアップロードに対応しているサービスであることによりこのステップSP304で肯定結果を得ると、このとき制御部110は、ステップSP305に移る。
ステップSP305において制御部110は、中継サーバ103に、アップロードする画像データのメタデータとパラメータ(画像データのファイル名及びサイズ)を送信して、ステップSP306に移る。
ステップSP306において制御部110は、メタデータとパラメータとを送信した結果として中継サーバ103から返信されてくるダイレクトアップロードを行うために必要な必要情報を受信して、ステップSP307に移る。
ステップSP307において制御部110は、受信した必要情報をもとに、アップロードする画像データ及びメタデータをアップロードデータとして、指定のアドレスに送信して(つまりダイレクトアップロードして)、ステップSP308に移る。
ステップSP308において制御部110は、アップロード先のサービス提供サーバ104から返信されてくるアップロード結果を受信して、ステップSP309に移る。ステップSP309において制御部110は、受信したアップロード結果を、中継サーバ103に転送して、ステップSP310(図16)に移る。
これに対して、今回利用するアップロードサービスがダイレクトアップロードに対応していないサービスであることにより上述のステップSP304(図15)で否定結果を得た場合、制御部110は、ステップSP311に移る。
ステップSP311において制御部110は、アップロードする画像データとメタデータとを中継サーバ103に送信して(つまり中継アップロードして)、ステップSP310(図16)に移る。
ステップSP310において制御部110は、中継サーバ103から返信されてくる共通形式のアップロード結果を受信して、ステップSP312に移る。ステップSP312において制御部110は、共通形式のアップロード結果の内容が、アップロードの成功を示すものであるか否かを判別する。
アップロード結果の内容がアップロードの成功を示していることにより、このステップSP312で肯定結果を得ると、制御部110は、ステップSP313に移る。ステップSP313において制御部110は、アップロードが成功した旨を、GUI画面200に表示して、このアップロード処理手順RT1を終了する。
これに対して、アップロード結果の内容がアップロードの失敗を示していることにより、上述のステップSP312で否定結果を得ると、制御部110は、ステップSP314に移る。ステップSP314において制御部110は、アップロードが失敗した旨を、GUI画面に表示して、このアップロード処理手順RT1を狩猟する。
このようなアップロード処理手順RT1にしたがって、クライアント101Aは、ダイレクトアップロードもしくは中継アップロードを行うようになっている。
[1−2−5.動作及び効果]
以上の構成において、アップロードシステム100では、中継サーバ103が、アップロードサービスA〜Cの各々に関するサービス情報を記憶保持している。そしてこの中継サーバ103は、サービス情報から、ダイレクトアップロードを行うために必要な必要情報を得て、これをクライアント101Aに提供するようになっている。
一方、クライアント101Aは、ユーザに選択されたアップロードサービスがダイレクトアップロードに対応しているか否かを、中継サーバ103から取得した詳細情報をもとに判別する。そして、選択されたアップロードサービスがダイレクトアップロードに対応している場合、クライアント101Aは、選択されたアップロードサービスを利用してダイレクトアップロードを行う。
このとき、クライアント101Aは、まず中継サーバ103から、このアップロードサービスを利用してダイレクトアップロードを行うために必要な必要情報を取得する。
そしてクライアント101Aは、この必要情報に基づいて、このアップロードサービスが指定するアップロード先へのダイレクトアップロードを行う。つまり、中継サーバを経由せずに、アップロード先へ直接、データのアップロードを行う。
こうすることで、アップロードシステム100では、中継サーバ103を経由してアップロードを行う場合と比して、中継サーバ103へのアクセス集中を軽減できる。この結果、アップロードに要する時間を、必ず中継アップロードを行うシステムと比して大幅に短縮することができる。
また、このアップロードシステム100では、アップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、中継サーバ103側でサービス情報を更新しさえすればよく、クライアント101A側の負担を軽減できる。つまり、クライアント101A側でのユーザ作業が増えてしまうことを防止できる。
かくして、このアップロードシステム100では、迅速且つ容易にアップロードを行うことができる。
以上の構成によれば、このアップロードシステム100は、アップロードに要する時間を、従来のような必ず中継アップロードを行うシステムと比して大幅に短縮することができる。またこのアップロードシステム100は、アップロードサービスの追加や削除、アップロード方法の変更等があった場合でも、中継サーバ103側でサービス情報を更新しさえすればよく、クライアント101A側でのユーザ作業が増えてしまうことを防止できる。すなわち、このアップロードシステム100では、従来のような中継アップロードする場合の利点であるアップロードの容易さを維持しつつ、アップロードを迅速に行うことができる。
<2.第2の実施の形態>
次に、第2の実施の形態について説明する。上述の第1の実施の形態では、利用するアップロードサービスがダイレクトアップロードに対応している場合、ダイレクトアップロードを行うようにした。これに対して第2の実施の形態では、ネットワークのトラフィックに基づいて、ダイレクトアップロードと中継アップロードのうちのどちらかを選択するようになっている。
尚、アップロードシステム100、クライアント101A、101B、中継サーバ103、サービス提供サーバ104A〜104Cの構成については、第1の実施の形態と同様であるので、第1の実施の形態を参照とする。ゆえに、ここでは、図17及び図18を用いて、クライアント101Aが実行するアップロード処理手順RT2についてのみ説明する。
因みに、図17及び図18に示すアップロード処理手順RT2は、第1の実施の形態のアップロード処理手順RT1との同一ステップに同一符号を付して示すものである。
[2−1.クライアントが実行するアップロード処理の手順]
クライアント101Aの制御部110は、アップロードプログラムの起動が指示されると、このアップロード処理手順RT2を開始する。そして制御部110は、第1の実施の形態のアップロード処理手順RT1と同様にして、ステップSP300〜ステップSP303の処理を行った後、ステップSP304に移る。
尚、この第2の実施の形態では、ステップSP301で中継サーバ103から取得するアップロードサービスの詳細情報に、選択されたアップロードサービスのサービス形態にくわえて、アップロード先のアドレスが含まれているとする。
ステップSP304において制御部110は、先に受信した詳細情報をもとに、今回利用するアップロードサービスがダイレクトアップロードに対応しているサービスであるか否かを判別する。
今回利用するアップロードサービスがダイレクトアップロードに対応しているサービスであることによりこのステップSP304で肯定結果を得ると、このとき制御部110は、ステップSP400に移る。
ステップSP400において制御部110は、詳細情報に含まれているアップロード先のアドレスをもとに、アップロード先のサービス提供サーバ104に、直接、ダミーデータを送信する。このダミーデータは、ダミーのアップロードデータであり、実際のアップロードデータと比して小サイズ(例えば数十キロバイト)のデータであるとする。
このダミーデータを受信したサービス提供サーバ104は、何らかの応答(例えばエラー)をクライアント101Aに返してくる。クライアント101Aの制御部110は、ダミーデータを送信してから、この応答が返ってくるまでの時間(すなわち通信時間)を計測する。この通信時間は、クライアント101Aがアップロード先のサービス提供サーバ104と直接通信する場合のトラフィックを示している。そして制御部110は、この通信時間をダイレクトアップロード時間として記憶部112に記憶して、ステップSP401に移る。
ステップSP401において制御部110は、中継サーバ103に、ステップSP400で送信したダミーデータと同一のダミーデータを送信する。このダミーデータを受信した中継サーバ103は、クライアント101Aがダミーデータを直接送信したサービス提供サーバ104にこのダミーデータを送信する。
このダミーデータを受信したサービス提供サーバ104は、何らかの応答(例えばエラー)を中継サーバ103に返してくる。そしてこの応答が、中継サーバ103からクライアント101Aに転送される。クライアント101Aの制御部110は、ダミーデータを送信してから、この応答が返ってくるまでの時間(すなわち通信時間)を計測する。この通信時間は、クライアント101Aが中継サーバ103を介してアップロード先のサービス提供サーバ104と通信する場合のトラフィックを示している。そして制御部110は、この通信時間を中継アップロード時間として記憶部112に記憶して、ステップSP402に移る。
ステップSP402において制御部110は、ダイレクトアップロード時間と、中継アップロード時間とを比較して、ステップSP403に移る。ステップSP403において制御部110は、ステップSP402での比較結果をもとに、ダイレクトアップロードすべきか否かを判別する。
具体的に、制御部110は、ダイレクトアップロード時間が中継アップロード時間よりも短ければ、ダイレクトアップロードを行う方が、中継アップロードを行うよりもトラフィックが少ないと予測する。つまり、この方が、アップロードにかかる時間が短く効率的であると予測する。このとき制御部110は、ダイレクトアップロードすべきと判別するようになっている。
これに対して、予想ダイレクトアップロード時間が予想中継アップロード時間よりも長ければ、制御部110は、中継アップロードを行う方が、ダイレクトアップロードを行うよりもトラフィックが多いと予測する。つまり、この方が、アップロードに要する時間が短く効率的であると予測する。このとき制御部110は、中継アップロードすべきと判別するようになっている。
そして、制御部110は、このステップSP402でダイレクトアップロードすべきと判別した場合、肯定結果を得て、ステップSP305(図18)に移る。そして、制御部110は、第1の実施の形態のアップロード処理手順RT1と同様にして、ステップSP305〜ステップSP309の処理を行うことで、アップロードデータのダイレクトアップロードを行い、ステップSP310に移る。
これに対して、上述のステップSP402で中継アップロードすべきと判別した場合、否定結果を得て、ステップSP311に移る。そして、制御部110は、ステップSP311において、中継サーバ103と協働して、アップロードデータの中継アップロードを行い、ステップSP310に移る。
そして、制御部110は、第1の実施の形態のアップロード処理手順RT1と同様にして、ステップSP312〜ステップSP313又はSP314の処理を行った後、このアップロード処理手順RT2を終了する。
このようなアップロード処理手順RT2にしたがって、クライアント101Aは、ダイレクトアップロードもしくは中継アップロードを行うようになっている。
このように、この第2の実施の形態では、クライアント101Aが、ネットワークのトラフィックに基づき、ダイレクトアップロードと中継アップロードのうちの、より短時間でアップロードが終了すると予測できた方を選択するようにした。
すなわち、クライアント101Aは、ダイレクトアップロードに対応するサービスであっても、中継アップロードを行った方が短時間でアップロードが終了すると予測できたのであれば、中継アップロードを行う。
こうすることで、この第2の実施の形態では、ダイレクトアップロードに対応するサービスを利用する場合に必ずダイレクトアップロードを行う場合と比して、より迅速にアップロードを行うことができる。
また、中継サーバ103とサービス提供サーバ104の物理的距離が、クライアント101Aとサービス提供サーバ104の物理的距離よりも離れている場合がある。このような場合、アップロードに要する時間が、中継アップロードを行うよりもダイレクトアップロードを行う方が長くなってしまうことがある。このような場合でも、この第2の実施の形態であれば、クライアント101Aが、上述した通信時間の比較からその旨を予測して中継アップロードを選択することで、より迅速にアップロードを行うことができる。
<3.他の実施の形態>
[3−1.他の実施の形態1]
尚、上述した第1の実施の形態では、ダイレクトアップロードが失敗した場合、その旨を、クライアント101AがGUI画面200に表示して、アップロード処理を終了するようにした。
これに限らず、ダイレクトアップロードが失敗したら、クライアント101が、再度、同じアップロードデータを、中継アップロードするようにしてもよい。
すなわち、クライアント101Aの制御部110は、中継サーバ103から受信したアップロード結果に、ダイレクトアップロードが失敗した旨が示されていた場合、同じ画像データとメタデータとを中継サーバ103に送信する。
中継サーバ103は、この画像データとメタデータとをアップロードデータとして、サービス提供サーバ104にアップロードする。
このように、ダイレクトアップロードが失敗したら、中継アップロードを行うようにすれば、より確実にデータをアップロードすることができる。
また、これに限らず、ダイレクトアップロードを開始してから所定時間経過してもアップロード結果が返ってこない場合に、クライアント101が、ダイレクトアップロードを中止して、代わりに中継アップロードを行うようにしてもよい。
この場合の所定時間(これをタイムアウト時間とも呼ぶ)は、例えば、アップロードする画像データのフォーマット(動画又は静止画)や、サイズ等に応じて、アップロードサービス毎に設定されているとする。
そしてこのタイムアウト時間が、例えば、各アップロードサービスのサービス情報として中継サーバ103に記憶保持され、クライアント101Aにも、詳細情報として提供されるようにする。
すなわち、クライアント101Aの制御部110は、ダイレクトアップロードを開始してから、詳細情報に含まれるタイムアウト時間経過しても、アップロード結果が返ってこない場合、ダイレクトアップロードを中止する。
そして、クライアント101Aの制御部110は、同じ画像データとメタデータとを中継サーバ103に送信する。中継サーバ103は、この画像データとメタデータとをアップロードデータとして、サービス提供サーバ104にアップロードする。
このようにすれば、トラフィックの状況にもよるが、多くの場合、ダイレクトアップロードを継続するよりも、迅速にデータをアップロードできる。
また、これに限らず、タイムアウト時間経過してもダイレクトアップロードを中止せずに、ダイレクトアップロードと中継アップロードとを並列で行うようにしてもよい。
この場合、クライアント101Aの制御部110は、どちらかのアップロード結果が返ってきた時点で、もう一方のアップロードを中止するようにする。
[3−2.他の実施の形態2]
また、上述した第1の実施の形態では、クライアント101Aが、サービス提供サーバ104からアップロード結果を受信すると、これを、アップロードした画像データのメタデータ及びパラメータと共に、中継サーバ103に転送するようにした。
これに限らず、このときにはアップロード結果のみを中継サーバ103に転送するようにしてもよい。
実際、クライアント101Aは、アップロードする画像データのメタデータ及びパラメータを、中継サーバ103から必要情報を取得する直前にも送信している。ゆえに、中継サーバ103が、このとき受信したメタデータ及びパラメータを記憶部122に記憶させておくようにすれば、これらを、再度、クライアント101Aから中継サーバ103に転送させなくてもよい。
[3−3.他の実施の形態3]
さらに、上述した第1の実施の形態では、画像データとメタデータとを別々にアップロードしなければならないサービスを利用する場合に、画像データはダイレクトアップロードして、メタデータは中継アップロードするようにした。
これに限らず、メタデータもダイレクトアップロードするようにしてもよい。ただし、この場合、中継サーバ103が、クライアント101Aに、メタデータのダイレクトアップロードを行うために必要な必要情報も提供するようにする。
[3−4.他の実施の形態4]
さらに、上述した第1の実施の形態では、中継サーバ103が、ダイレクトアップロードを行うために必要な必要情報として、XML形式で記述されたテキストデータをクライアント101Aに提供するようにした。
これに限らず、中継サーバ103が、必要情報として、ダイレクトアップロードAPIを、クライアント101Aに提供するようにしてもよい。このAPIは、固有APIであり、例えば、各サービス提供サーバ104A〜Cから提供され、中継サーバ103の記憶部122に記憶されている。
そしてこの場合、クライアント101Aが、このダイレクトアップロードAPIを呼び出すことで、ダイレクトアップロードを行うようにすればよい。
[3−5.他の実施の形態5]
さらに、上述した第1の実施の形態では、サービス提供サーバ104が、クライアント101Aからダイレクトアップロードが行われた場合に、アップロード結果を、クライアント101Aに直接返信するようにした。
これに限らず、アップロード結果は、必ず、中継サーバ103に返信するようにして、中継サーバ103が、このアップロード結果を共通形式のアップロードに変換してから、クライアント101Aに転送するようにしてもよい。
このようにすれば、クライアント101Aが、サービス提供サーバ104から返信されたアップロード結果を中継サーバ103に転送する必要がなくなり、クライアント101A側の負担をより軽減できる。
[3−6.他の実施の形態6]
さらに、上述した第1の実施の形態では、クライアント101Aが、中継サーバ103から、利用するアップロードサービスがダイレクトアップロードに対応しているか否か等が示された詳細情報を取得するようにした。そしてこの詳細情報から、クライアント101Aが、利用するアップロードサービスがダイレクトアップロードに対応しているか否かを判別するようにした。
つまり、第1の実施の形態では、中継サーバ103が、この詳細情報を介して、クライアント101Aに、利用するアップロードサービスがダイレクトアップロードに対応しているか否かを通知するようにした。
これに限らず、クライアント101Aが、中継サーバ103に、利用するアップロードサービスがダイレクトアップロードに対応しているか否かを直接問い合わせるようにしてもよい。
この場合、中継サーバ103の制御部120は、記憶保持されているサービス情報をもとに、利用するアップロードサービスがダイレクトアップロードに対応しているか否かを判別する。そして、この判別結果を、クライアント101Aに返信するようにすればよい。
[3−7.他の実施の形態7]
さらに、上述した第2の実施の形態では、ネットワークのトラフィックに基づいて、ダイレクトアップロードと中継アップロードのどちらかを選択するようにした。
これに限らず、例えば、画像データのフォーマットに基づいて、ダイレクトアップロードと中継アップロードのどちらかを選択するようにしてもよい。
この場合、クライアント101Aは、例えば、アップロードする画像データのフォーマットが動画であれば、ダイレクトアップロードを選択して、この画像データをダイレクトアップロードする。これに対して、アップロードする画像データのフォーマットが静止画であれば、中継アップロードを選択して、この画像データを中継アップロードする。
このようにしても、中継アップロードしか行わないシステムと比して、中継サーバ103へのアクセス集中を軽減させることができる。また、このように、画像データのフォーマットに応じて、アップロードの経路を変えるようにすれば、ネットワークのトラフィックを分散させることもできる。
またこれに限らず、例えば、画像データのサイズに基づいて、ダイレクトアップロードと中継アップロードのどちらかを選択するようにしてもよい。
この場合、クライアント101Aは、例えば、アップロードする画像データのサイズが所定サイズ以上であれば、ダイレクトアップロードを選択して、この画像データをダイレクトアップロードする。これに対して、アップロードする画像データのサイズが所定サイズ未満であれば、中継アップロードを選択して、この画像データを中継アップロードする。
このようにしても、中継アップロードしか行わないシステムと比して、中継サーバ103へのアクセス集中を軽減させることができる。また、このように、画像データのサイズに応じて、アップロードの経路を変えるようにすれば、ネットワークのトラフィックを分散させることもできる。
[3−8.他の実施の形態8]
さらに、本発明は、第1及び第2の実施の形態とここまで説明した他の実施の形態とに限定されるものではない。すなわち本発明は、これら第1及び第2の実施の形態とここまで説明した他の実施の形態の一部または全部を任意に組み合わせた形態、もしくは一部を抽出した形態にもその適用範囲が及ぶものである。
例えば、第2の実施の形態と他の実施の形態1とを組み合わせてもよい。つまり、第2の実施の形態のようにして、クライアント101Aが、ダイレクトアップロードと中継アップロードのうちのどちらかを選択する。そして、選択した方のアップロードを行った結果、ダイレクトアップロードが失敗したとする。すると、クライアント101Aが、他の実施の形態1のようにして、もう一方のアップロードを行うようにしてもよい。
本発明は、画像共有システム等で広く利用することができる。
1……通信システム、10……通信装置、11、21、111、121、131……通信部、12、22、110、120、130……制御部、23、112、122、132……記憶部、100……アップロードシステム、101……クライアント、103……中継サーバ、104……サービス提供サーバ。

Claims (10)

  1. 通信部と、
    上記通信部を制御して、複数のアップロードサービス各々のサービス形態を示すサービス情報を保持している中継サーバに対して、一のアップロードサービスが当該一のアップロードサービスのアップロード先となるサービス提供サーバに通信装置からデータを直接アップロード可能であるかを問い合わせ、当該一のアップロードサービスがサービス提供サーバに直接アップロード可能である場合に、当該一のアップロードサービスのサービス提供サーバ通信装置からデータを直接アップロードするために必要となる必要情報を上記中継サーバから取得させ、当該必要情報に基づき、当該一のアップロードサービスのサービス提供サーバにデータを直接アップロードさせる制御部と
    を具え
    上記制御部は、
    上記通信部を制御して、直接アップロードを実行した結果、上記一のアップロードサービスのサービス提供サーバから返信されてくるアップロード結果を受信させ、当該アップロード結果を上記中継サーバに転送させて、当該中継サーバによって通信装置側で認識可能な形式に変換された上記アップロード結果を当該中継サーバから受信させる
    通信装置。
  2. 上記制御部は、
    上記一のアップロードサービスが上記直接アップロードも上記中継サーバ経由のアップロードも可能である場合に、上記直接アップロード又は上記中継サーバ経由のアップロードの何れかを選択する
    請求項1に記載の通信装置。
  3. 上記制御部は、
    ネットワークのトラフィックに基づいて、上記直接アップロード又は上記中継サーバ経由のアップロードの何れかを選択する
    請求項2に記載の通信装置。
  4. 上記制御部は、
    上記データをアップロードするときに、ダミーデータを用いた上記直接アップロードに要する第1の通信時間と、ダミーデータを用いた上記サーバ経由のアップロードに要する第2の通信時間とを計測し、
    上記第1の通信時間と上記第2の通信時間とに基づいて、上記ネットワークのトラフィックを推測する
    請求項3に記載の通信装置。
  5. 上記制御部は、
    上記直接アップロードが失敗したときに、上記中継サーバ経由のアップロードを実行させる
    請求項2に記載の通信装置。
  6. 上記制御部は、
    上記一のアップロードサービスが、上記直接アップロードは不可能で、上記中継サーバ経由のアップロードは可能である場合には、上記中継サーバ経由のアップロードを実行させる
    請求項1に記載の通信装置。
  7. 上記データは、コンテンツデータとメタデータとで構成され、
    上記制御部は、
    上記コンテンツデータのアップロードを、上記直接アップロードで実行させる一方、上記メタデータのアップロードを、上記中継サーバ経由のアップロードで実行させる
    請求項1に記載の通信装置。
  8. 通信部と、
    複数のアップロードサービス各々のサービス形態を示すサービス情報を記憶する記憶部と、
    上記通信部を制御して、上記サービス情報に基づき、通信装置からの上記複数のアップロードサービスのうち一のアップロードサービスが当該一のアップロードサービスのアップロード先となるサービス提供サーバに上記通信装置からデータを直接アップロード可能であるかの問い合わせに応答させ、当該一のアップロードサービスがサービス提供サーバに直接アップロード可能である場合に、当該一のアップロードサービスのサービス提供サーバ上記通信装置からデータを直接アップロードするために必要となる必要情報を上記通信装置に送信させる制御部と
    を具え
    上記制御部は、
    上記通信装置が上記一のアップロードサービスのサービス提供サーバにデータを直接アップロードすることで当該サービス提供サーバから受信して転送してきたアップロード結果を、上記通信装置が認識可能な形式に変換し、上記通信部を制御して上記通信装置に返信させる
    サーバ。
  9. 通信装置に、
    通信部を制御して、複数のアップロードサービス各々のサービス形態を示すサービス情報を保持している中継サーバに対して、一のアップロードサービスが当該一のアップロードサービスのアップロード先となるサービス提供サーバに上記通信装置からデータを直接アップロード可能であるかを問い合わせる問い合わせステップと、
    上記通信部を制御して、上記一のアップロードサービスがサービス提供サーバに直接アップロード可能である場合に、当該一のアップロードサービスのサービス提供サーバ上記通信装置からデータを直接アップロードするために必要となる必要情報を上記中継サーバから取得させる取得ステップと、
    上記必要情報に基づき、上記通信部を制御して上記一のアップロードサービスのサービス提供サーバにデータを直接アップロードさせるアップロードステップと、
    上記通信部を制御して、直接アップロードを実行した結果、上記一のアップロードサービスのサービス提供サーバから返信されてくるアップロード結果を受信させる第1の受信ステップと、
    上記通信部を制御して、上記アップロード結果を上記中継サーバに転送させる転送ステップと、
    上記通信部を制御して、上記中継サーバによって通信装置側で認識可能な形式に変換された上記アップロード結果を当該中継サーバから受信させる第2の受信ステップと
    を実行させるためのプログラム。
  10. 通信装置とサーバとからなる通信システムであって、
    上記通信装置は、
    通信部と、
    上記通信部を制御して、複数のアップロードサービス各々のサービス形態を示すサービス情報を保持している中継サーバに対して、一のアップロードサービスが当該一のアップロードサービスのアップロード先となるサービス提供サーバに通信装置からデータを直接アップロード可能であるかを問い合わせ、当該一のアップロードサービスがサービス提供サーバに直接アップロード可能である場合に、当該一のアップロードサービスのサービス提供サーバ通信装置からデータを直接アップロードするために必要となる必要情報を上記中継サーバから取得させ、当該必要情報に基づき、当該一のアップロードサービスのサービス提供サーバにデータを直接アップロードさせる制御部と
    を有し
    上記通信装置の制御部は、上記通信部を制御して、直接アップロードを実行した結果、上記一のアップロードサービスのサービス提供サーバから返信されてくるアップロード結果を受信させ、当該アップロード結果を上記中継サーバに転送させて、当該中継サーバによって通信装置側で認識可能な形式に変換された上記アップロード結果を当該中継サーバから受信させ、
    上記サーバは、
    通信部と、
    複数のアップロードサービス各々のサービス形態を示すサービス情報を記憶する記憶部と、
    上記通信部を制御して、上記サービス情報に基づき、上記通信装置からの上記複数のアップロードサービスのうち一のアップロードサービスが当該一のアップロードサービスのアップロード先となるサービス提供サーバに上記通信装置からデータを直接アップロード可能であるかの問い合わせに応答させ、当該一のアップロードサービスがサービス提供サーバに直接アップロード可能である場合に、当該一のアップロードサービスのサービス提供サーバ上記通信装置からデータを直接アップロードするために必要となる必要情報を上記通信装置に送信させる制御部と
    を有し
    上記サーバの制御部は、
    上記通信装置が上記一のアップロードサービスのサービス提供サーバにデータを直接アップロードすることで当該サービス提供サーバから受信して転送してきたアップロード結果を、上記通信装置が認識可能な形式に変換し、上記通信部を制御して上記通信装置に返信させる
    通信システム。
JP2009030112A 2009-02-12 2009-02-12 通信装置、サーバ、プログラム及び通信システム Expired - Fee Related JP4803266B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009030112A JP4803266B2 (ja) 2009-02-12 2009-02-12 通信装置、サーバ、プログラム及び通信システム
US12/687,449 US8676934B2 (en) 2009-02-12 2010-01-14 Communication device, server, program, and communication system
CN2010101138595A CN101808115B (zh) 2009-02-12 2010-02-05 通信设备、服务器、程序及通信系统
US14/165,010 US20140143387A1 (en) 2009-02-12 2014-01-27 Communication device, server, program, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009030112A JP4803266B2 (ja) 2009-02-12 2009-02-12 通信装置、サーバ、プログラム及び通信システム

Publications (2)

Publication Number Publication Date
JP2010187217A JP2010187217A (ja) 2010-08-26
JP4803266B2 true JP4803266B2 (ja) 2011-10-26

Family

ID=42541282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009030112A Expired - Fee Related JP4803266B2 (ja) 2009-02-12 2009-02-12 通信装置、サーバ、プログラム及び通信システム

Country Status (3)

Country Link
US (2) US8676934B2 (ja)
JP (1) JP4803266B2 (ja)
CN (1) CN101808115B (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014539A2 (en) 2008-07-28 2010-02-04 Sony Corporation Client device and associated methodology of accessing networked services
US8589516B2 (en) 2009-09-10 2013-11-19 Motorola Mobility Llc Method and system for intermediating content provider website and mobile device
US8990338B2 (en) 2009-09-10 2015-03-24 Google Technology Holdings LLC Method of exchanging photos with interface content provider website
WO2011112767A2 (en) * 2010-03-10 2011-09-15 Sra International, Inc. One vault voice encryption
JP5577786B2 (ja) * 2010-03-25 2014-08-27 パナソニック株式会社 通信装置
JP5803452B2 (ja) * 2010-09-30 2015-11-04 ブラザー工業株式会社 画像処理システム、画像処理方法、中継装置、及び、中継プログラム
JP5811708B2 (ja) 2010-09-30 2015-11-11 ブラザー工業株式会社 画像処理システム、画像処理方法、中継装置、及び、中継プログラム。
US9674379B2 (en) * 2010-11-04 2017-06-06 Brother Kogyo Kabushiki Kaisha Relay apparatus, communication apparatus, and control methods of relay apparatus
JP5477259B2 (ja) * 2010-11-08 2014-04-23 ブラザー工業株式会社 通信装置システム、中継装置、中継装置の制御プログラム、および中継装置の制御方法
US20120158842A1 (en) * 2010-12-20 2012-06-21 Motorola-Mobility, Inc. Method and System for Facilitating Interaction with Multiple Content Provider Websites
US9037656B2 (en) * 2010-12-20 2015-05-19 Google Technology Holdings LLC Method and system for facilitating interaction with multiple content provider websites
US9680929B2 (en) * 2011-06-24 2017-06-13 Facebook, Inc. Concurrently uploading multimedia objects and associating metadata with the multimedia objects
JP5956729B2 (ja) 2011-07-22 2016-07-27 キヤノン株式会社 リレーサーバ、リレーサーバの制御方法、情報処理システム、およびプログラム
JP2013038453A (ja) * 2011-08-03 2013-02-21 Sony Corp 情報処理装置及び表示方法
JP5891740B2 (ja) * 2011-11-24 2016-03-23 ブラザー工業株式会社 仲介サーバ及び通信装置
US20130138708A1 (en) * 2011-11-29 2013-05-30 Toshiba Tec Kabushiki Kaisha Document processing apparatus
JP5857684B2 (ja) * 2011-11-30 2016-02-10 ブラザー工業株式会社 通信装置
JP5910254B2 (ja) * 2012-04-03 2016-04-27 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御方法、および画像形成装置の制御プログラム
JP5962261B2 (ja) * 2012-07-02 2016-08-03 富士ゼロックス株式会社 中継装置
JP5984552B2 (ja) * 2012-07-20 2016-09-06 キヤノン株式会社 負荷分散システム、負荷分散システムの制御方法、およびコンピュータプログラム
JP2014044572A (ja) * 2012-08-27 2014-03-13 Canon Inc 通信制御装置、通信制御方法及びプログラム
JP5998757B2 (ja) * 2012-08-31 2016-09-28 ブラザー工業株式会社 情報処理装置、情報処理プログラム、および情報処理方法
JP5945951B2 (ja) * 2012-09-07 2016-07-05 ブラザー工業株式会社 中継装置、画像処理装置、中継装置のプログラム、画像処理装置のプログラム、および通信方法
WO2014068749A1 (ja) * 2012-11-01 2014-05-08 株式会社日立製作所 メタデータ管理システム、メタデータ管理方法及び記憶媒体
JP5907061B2 (ja) * 2012-12-28 2016-04-20 ブラザー工業株式会社 仲介サーバ、通信装置、及び、コンピュータプログラム
JP6229279B2 (ja) * 2013-03-08 2017-11-15 ブラザー工業株式会社 中継装置、中継装置のプログラムおよび通信方法
US11381616B2 (en) * 2013-04-12 2022-07-05 Brian Hernandez Multimedia management system and method of displaying remotely hosted content
SG11201605659SA (en) * 2014-02-07 2016-08-30 Oracle Int Corp Mobile cloud service architecture
US10666735B2 (en) 2014-05-19 2020-05-26 Auerbach Michael Harrison Tretter Dynamic computer systems and uses thereof
US10305748B2 (en) 2014-05-19 2019-05-28 The Michael Harrison Tretter Auerbach Trust Dynamic computer systems and uses thereof
US9742853B2 (en) 2014-05-19 2017-08-22 The Michael Harrison Tretter Auerbach Trust Dynamic computer systems and uses thereof
JP5813903B1 (ja) * 2014-10-29 2015-11-17 株式会社ワコム 端末装置、データ管理システム、方法、プログラム
JP6512664B2 (ja) * 2016-02-08 2019-05-15 日本電信電話株式会社 高速アップロードシステム及び方法
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10671721B1 (en) * 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
JP7279416B2 (ja) 2019-03-01 2023-05-23 株式会社リコー 仲介端末、通信システム、入力システム、仲介制御方法、及びプログラム
US11729790B2 (en) 2020-08-06 2023-08-15 Samsung Electronics Co., Ltd. Mobile communications methods for monitoring and scheduling

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021679A1 (en) * 2000-02-25 2005-01-27 Alexander Lightman Method and system for data transmission between wearable devices or from wearable devices to portal
JP2002032280A (ja) * 2000-07-13 2002-01-31 Ism Consulting Firm Kk 分散型サーバによるコンテンツ及びソフトウェア配信サービスシステム、及び分散型サーバによるコンテンツ及びソフトウェア配信方法、並びに情報記憶媒体
US6901536B2 (en) * 2001-05-24 2005-05-31 Microsoft Corporation Service quality monitoring system and method
KR100461023B1 (ko) * 2002-04-11 2004-12-09 김기서 인터넷을 통한 실시간 개인 전자도서 편집 서비스 시스템
JP2004030423A (ja) * 2002-06-27 2004-01-29 Ntt Comware Corp コンテンツ配信制御装置及びプログラム
CN1529262A (zh) * 2003-10-17 2004-09-15 深圳市卓然科技开发有限公司 网页在线浏览显示的实现方法
FI20031912A0 (fi) * 2003-12-29 2003-12-29 Nokia Corp Menetelmä ja järjestelmä reaaliaikaisen tiedonsiirtopalvelun kontrolloimiseksi
CN1275442C (zh) * 2004-02-12 2006-09-13 李良德 一种电子邮件的传递方法
KR100709357B1 (ko) * 2005-06-29 2007-04-20 삼성전자주식회사 화상형성시스템, 화상형성장치 및 화상형성시스템과화상형성장치의 데이터 관리방법
CN101005369A (zh) * 2006-01-19 2007-07-25 深圳市瑞福特信息技术有限公司 一种分布式内容分发网及分布式内容分发和上传的方法
US8285197B2 (en) * 2006-06-12 2012-10-09 Research In Motion Limited System and method for pushing information from a server to a mobile device
JP4087420B2 (ja) * 2006-06-28 2008-05-21 シャープ株式会社 画像表示装置、画像データ送信装置、画像表示システム、画像表示方法、画像表示プログラムおよびその記録媒体、並びに、画像データ送信プログラムおよびその記録媒体
US8438214B2 (en) * 2007-02-23 2013-05-07 Nokia Corporation Method, electronic device, computer program product, system and apparatus for sharing a media object
JP2008211732A (ja) * 2007-02-28 2008-09-11 Sony Corp 情報転送システム、情報転送装置、情報転送端末、情報転送方法および情報転送プログラム
JP4478892B2 (ja) * 2007-07-11 2010-06-09 ソニー株式会社 コンテンツ送信装置、コンテンツ送信方法及びコンテンツ送信プログラム
KR101653268B1 (ko) * 2007-10-18 2016-09-01 삼성전자주식회사 태그 정보의 처리방법 및 이를 구현하는 클라이언트-서버시스템

Also Published As

Publication number Publication date
CN101808115B (zh) 2013-04-24
CN101808115A (zh) 2010-08-18
US20100205279A1 (en) 2010-08-12
US8676934B2 (en) 2014-03-18
US20140143387A1 (en) 2014-05-22
JP2010187217A (ja) 2010-08-26

Similar Documents

Publication Publication Date Title
JP4803266B2 (ja) 通信装置、サーバ、プログラム及び通信システム
CN102638703B (zh) 登记的内容回放设备之间的喜好或最近查看的列表的同步
JP2002101333A (ja) 遠隔制御装置および遠隔操作サービスシステム並びにそれらのプログラム記録媒体
JP2016537696A5 (ja)
US20080147825A1 (en) Relay server and client terminal
JP2014209368A (ja) 個人ウェブページでの地理情報提供方法及びシステム
JP2014521150A (ja) 予測マルチレイヤキャッシュアーキテクチャ
CN102647633A (zh) 一种通过网络方式来实现跨平台媒体分享及控制的方法
RU2608671C2 (ru) Способ (варианты), система и носитель информации для отображения фрагмента интерактивной карты с помощью пользовательского интерфейса клиентского устройства
JP2002229901A (ja) 画像送信方法及び画像送信システム
CN110740118B (zh) 与合作伙伴站点发起会话的协议
JP2015106292A (ja) 情報処理装置、システムおよび情報処理装置の制御方法
WO2008097050A1 (en) Method for attaching geographical tag to digital data and method for providing geographical name information for geotagging
KR101080862B1 (ko) Rest 스타일 제삼자호 api시스템 및 운영방법
JP2002229902A (ja) 情報提供方法、情報提供システム、地理情報提供方法、地図情報提供システム、及びコンピュータ読み取り可能なプログラム
JP2003296272A (ja) 通信システム,通信装置およびクライアント側通信端末
JP2008026987A (ja) 宿泊予約システム、予約登録装置、予約登録方法及び予約登録処理プログラム
JP2009009455A (ja) サービス連携支援装置
JP6452458B2 (ja) データ管理装置、データ管理方法、およびプログラム
JP2009140259A (ja) 避難支援情報提供方法及び装置
JP4735972B2 (ja) 情報配信システムおよびユーザ装置ならびに情報配信方法
JP2001229142A (ja) サービス提供装置、送信装置、受信装置および受信方法
JP6908162B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20160198454A1 (en) Systems and methods for ad hoc cellular communications
JP2005084913A (ja) データ中継装置、データ伝送システム、データ伝送方法及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

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: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110725

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees