astamuse Lab

astamuse Labとは、アスタミューゼのエンジニアとデザイナーのブログです。アスタミューゼの事業・サービスを支えている知識と舞台裏の今を発信しています。

特許とその制度について 出願時に申請できる特例と特殊な出願

お久しぶりです。主に特許関連のデータ処理を担当しているBTと申します。 今回は、出願時に申請できる特例と特殊な出願についてご説明いたします。 宜しくお願いいたします。

出願時に申請できる特例

出願時に申請できる様々な特例について説明します。

新規性喪失の例外

出願する内容についてすでに学会で発表しているあるいは論文誌に載せているといった場合には、新規性の喪失の例外の適用を受ける必要があります。そのためには、特許出願と同時にその旨を記載した書面を提出します。さらに出願から30日以内に証明書の提出を行う場合もあります。これらを行わないと、出願の内容を一般に公開したというこれらの事実を理由に拒絶査定となってしまうためです。

新規性の喪失の例外の適用は、出願の内容を第三者に知られる状態となってしまってから6月以内に出願した場合のみに申請することが可能であるため注意が必要です。また、異なる別個の事象や理由で出願の内容が第三者に知られる状態となっている場合は、その事象や理由毎に申請が必要な点にも注意が必要です。

申請が認められると、出願の内容が出願前に第三者に知られる状態となった事実は無かったものとして扱われます。

かっては新規性の喪失の例外は適用条件がもっと厳しかったため、同じ研究内容について論文の投稿と特許出願または実用新案登録出願をする場合は、必ず論文の投稿より先に特許出願または実用新案登録出願を済ませてしまうようにと言われて苦労したものですが、現在は新規性の喪失の例外の適用条件がかなり緩和されたため使いやすい制度になっています。

優先権主張(パリ優先権主張)

パリ条約の日本以外の同盟国においてにすでに出願済みの内容と同じ内容について出願する場合は、優先権(後述する国内優先権とは別物で、区別するために以下パリ優先権とする)を主張することができます。そのためには、その旨と同盟国の国名と同盟国における出願日を記載した書面を出願から一定期間に提出します。

日本以外の同盟国における出願日から1年以内に同一内容または一部の内容について出願を行う必要があります。

優先権の適用が認められた場合は、同盟国における出願日を基準として判断されるようになります。

国内のみに出願する場合には意味の無い特例ですが、広く海外に事業を展開している企業で海外の国に先に出願したり海外の国において国際出願したりする場合に有効に利用できる特例です。

外国語書面出願

出願内容の記載は日本語で行うのが原則ですが、海外の企業などの場合日本語に翻訳するのにどうしても時間がかかる場合があります。そのような場合に利用できるのが外国語書面出願です。出願で提出するべき書類のうち願書のみ日本語で作成(外国語書面出願であることを願書に明記)して、他の書類は英語をはじめとする外国語で出願することができます。

ただし、出願から1年4月以内に日本語による翻訳文を提出する必要があります。翻訳文の提出をしない場合は出願人に通知がなされますが、それでも翻訳文の提出が無い場合は取り下げという扱いになります。 また、翻訳文は出願時に英語をはじめとする外国語で記載されたもとの内容を超えるものであってはなりません。もとの内容を超えた場合は誤訳訂正書を提出して補正しない限り、拒絶査定となります。

外国語書面出願は以前は英語でしか受け付けてもらえませんでしたが、今では英語以外の外国語でも受け付けてもらえるようになり、英語圏以外の国の出願人にとって便利なものになりました。

参照出願

国内または他の国ですでに特許出願した内容と同じ内容について特許出願する場合に、これを参照するように主張して特許出願することができます。この場合、特許請求の範囲や明細書、図面の提出は省力することができます。参照先が外国語でなされた特許出願の場合は、出願日から4月以内に翻訳文を提出する必要があります。 しかし、この制度は最近になって特許法条約を批准するために設けられた規定で、すでに上記の外国語書面出願や下記で説明する分割出願、変更出願等様々な制度が整っている我が国ではほとんど意味の無い規定となっています。他にもっと有利な条件で出願できる制度がいろいろとあることから、実際にこの方法で出願する人はいないのではないかと思われます。

特殊な出願

通常の出願とは異なる特殊な出願について説明します。ここでいう特殊な出願とは、すでに国内においてなされた何らかの出願をベースとして行う出願のことです。

国内優先権主張を伴う出願

国内ですでに出願(以下、先の出願)済みで、先の出願の内容をさらに発展させた発明や不十分な部分を補った発明について新たな出願を行いたい場合は、国内優先権主張を伴う出願(以下、後の出願)を行うことができます。 国内優先権主張を伴う出願では、後の出願に含まれる内容のうち先の出願に記載されている内容については先の出願の出願日を基準として判断されます(下記に記載する他の特殊な出願と異なり、後の出願の出願日が先の出願の出願日に遡及するわけではありません)。

国内優先権主張を伴う出願、先の出願から1年以内に出願する必要があり、国内優先権主張を伴う出願を行った場合、先の出願はその出願から1年3月経過した後に取り下げという扱いになります。また、先の出願がさらに前の出願に対する国内優先権主張を伴う出願であってはなりません(このような場合は、後の出願の国内優先権主張は無効となって後の出願の出願日で判断されることになります)。

国内優先権主張を伴う出願の目的は、最初に出願した発明や考案を出発点として、この発明や考案をを基本としつつ、その後の改良発明や考案等を取り込んだ十分な内容の出願へと発展させることです。

通常出願とは異なる特殊な出願の中で最も利用されている出願形態だと思われます。この出願制度の表向きの趣旨は出願の内容を充実させることなのですが、権利化された場合は後の出願の出願日を基準として存続期間が発生するため、存続期間を最大で1年延ばす効果を持っていることがよく利用される理由の一つでしょう。

分割出願

2以上の発明や考案を包含する出願(以下、もとの出願)の一部について、1又は2以上の新たな出願(以下、新たな出願)をして、もとの出願を複数の出願に分割することができます。その新たな出願は、分割前のもとの出願の時にしたものと見なされて出願日が遡及し、新たな出願は審査等においてもとの出願の日を基準に判断されることになります。

分割出願はいつでもできるわけではなく、先の出願について補正ができる期間、先の出願について特許査定・登録査定又は最初の拒絶査定の謄本の送達があった日から3月以内に限られ、もとの出願について登録または拒絶が確定している場合も分割出願をすることはできません。 新たな出願において、もとの出願に記載されていない内容が追加されていると認められた場合は、出願日が遡及せず新たな出願を実際に出願した日が出願日として扱われますので注意が必要です。 また、分割出願を行うともとの出願と新たな出願で同じ内容が記載されている状態になりますので、もとの出願については新たな出願に記載した内容を削除する補正を行う必要があります。これを行わないと、もとの出願と新たな出願でそれぞれを引用されて拒絶査定となってしまいます。

分割出願の目的は、大きく2つあります。もとの出願において、全ての請求項で同一の特別な技術的特徴を持たない(単一性を満たさない)と審査で判断された場合、拒絶査定となります。これを避けるため、もとの出願および新たな出願のそれぞれで単一性を満たすようにもとの出願から分割出願を行うことにより単一性を理由とした拒絶査定を回避することができます。さらに、もとの出願に含まれている複数の請求項のうち、一部についてはすぐに特許査定となりそうだが、他については補正や審判等で時間がかかりそうな場合があります。このような場合に分割出願を行ってすぐに特許査定となりそうな発明については早期に権利化を行い、残りについてはじっくりと対応を検討するといったことが可能になります。

分割出願は、特殊な出願の中で国内優先権主張を伴う出願に次いで多く利用される出願形態だと思います。審査の過程で補正をくりかえすことで分割出願する必要が生じたり、さまざまな効果を狙って分割出願をしたりする場合が多いと思われます。

変更出願

すでに行った実用新案登録出願又は意匠登録出願(以下、もとの出願)を特許出願(以下、新たな出願)に、またはすでに行った特許出願と意匠登録出願(以下、もとの出願)を実用新案登録出願(以下、新たな出願)に、それぞれ変更することができます。これを変更出願といいます。変更された新たな出願は、もとの出願の時にしたものと見なされて出願日が遡及し、新たな出願は審査等においてもとの出願の日を基準に判断されることになります。

変更前の変更出願ができるのは、特許出願に変更する場合はもとの出願が特許出願実用登録新案出願又は意匠登録出願の場合と、実用新案登録出願に変更する場合はもとの出願が特許出願又は意匠登録出願の場合のみであり、元の出願が商標登録出願の場合は変更出願することはできません。変更出願は、もとの出願がその出願日から3年を経過するまでに限られ、もとの出願が意匠登録出願である場合はその最初の拒絶査定の謄本の送達があった日から30日以内である場合も変更出願ができます。 新たな出願において、もとの出願に記載されていない内容が追加されていると認められた場合は、出願日が遡及せず新たな出願を実際に出願した日が出願日として扱われますので注意が必要です。 また、変更出願を行うともとの出願は取り下げという扱いになりますので、注意が必要です。もとの出願の一部について変更出願をしたい場合は、先に分割出願をしてその後変更出願するという手順が必要になります。

変更出願の目的は、はじめに特許出願をしたが実用新案登録で十分と判断した場合や、はじめに意匠登録出願をしたが意匠での権利取得が難しそうなので特許出願や実用新案登録出願に変更する場合などが挙げられます。

なお、もとの出願が実用新案登録出願である場合、形式的・基礎的な要件を満たすかどうかチェックする(方式審査)だけで、無審査(実体審査無し)で登録(出願から1月)となるため、通常は分割出願ができる期間はほとんどありません。しかし、仮に実用新案として登録された後であっても次に説明する実用新案登録に基づく特許出願の制度を利用することで特許出願に変更することができます。

特許出願とと実用新案登録出願と意匠登録出願で、出願内容の記載が似通っているのかといわれると、特許と実用新案はその通りなのですが、意匠についてはピンとこないかもしれません。形状が特別なこれまでにない技術的特徴と新規のデザイン性の両方を有している場合ということになるでしょうが、現実にはレアケースだと思われます。

実用新案登録に基づく特許出願

すでに実用新案登録出願を行って実用新案登録を受けている場合に、その実用新案登録の内容と同じか範囲内に含まれる内容について特許出願を行うことができます。その新たな特許出願は、実用新案登録出願のの時にしたものと見なされて出願日が遡及し、新たな特許出願は審査等においてもとの実用新案登録出願の日を基準に判断されることになります。

実用新案登録に基づく特許出願はもとの実用新案登録出願の出願日から3年を経過するまでに限られ、実用新案登録技術評価請求がなされてない(他人から請求された場合で、その旨の通知を受けた場合日から30日以内の場合は除く)など様々な制約があります。ここで、実用新案登録技術評価とは、無審査で登録される実用新案について特許庁がその登録内容について権利が有効か否か客観的な判断資料を提供する制度で、特許における実体審査にかわるものです。実用新案登録技術評価請求がなされているにもかかわらず特許出願を認めてしまうと、同一の内容についてまた特許審査することになってしまうためにこのような制約がかされています。 また、もとの実用新案登録は特許出願時に放棄する必要がありますので、特許出願の後の特許審査で拒絶査定となってしまった場合には一切権利が残らないことを注意する必要があります。

実用新案登録に基づく特許出願の目的は、実用新案権と比較してより強い権利である特許権を取得する手段の提供にあります。実用新案登録は無審査で行われる関係上どうしても弱い権利(権利の行使に上記の実用新案技術評価請求する必要があるなどの制約あり)であり、権利の存続期間も特許の半分の10年と短くなってしまいます。そのため、当初実用新案で十分として、実用新案登録出願をして実用新案登録を受けたが、その後思いのほか有用な技術であることが判明して存続期間を特許と同じように長くしたい、あるいはもっと強い権利にしたいといった場合に対応できるようにするために設けられている出願制度になります。

まとめ

以上、出願時に申請できる特例と特殊な出願について説明をしてきました。次回は、出願公開や審査について見ていきたいと思います。

最後になりましたが、 アスタミューゼでは現在、エンジニア・デザイナーを募集中です。 興味のある方はぜひ 採用サイト からご応募ください。

参考にした資料など

ABalytics.js + Google Analyticsを使ったABテスト

ABalytics.js + Google Analyticsを使ったABテスト

こんにちは。デザイン部でフロントエンドエンジニアをしているkitoです。
今回は、ABalytics.jsを使ったABテストについて書きたいと思います。

ABテストは、アプリケーションのUIを改善していく手がかりとしてとても有効です。
しかし、いざテスト実施しようとするとABテストツールは高額なものが多くコスト面で問題になることがあります。 今回は、ABalytics.js + Google Analyticsを使い無料でABテストが出来る方法をご紹介します。

ABalytics.jsとは

ABalytics.js?誤字じゃないの?と思われるかもしれませんが、誤字ではなくABalytics.jsというピュアなJavaScriptで書かれたオープンソースのABテストライブラリのことです。
htmlやJavaScriptの知識は必要になりますが、シンプルな使い方が可能でカスタマイズして使うこともできます。
ABalytics.jsは、Google Analyticsと連携しており、管理画面からテスト結果を確認するのでGoogle Analyticsの導入は必須です。

使い方

それでは、簡単な使い方からみていきましょう。 まずexpress.jsのインストールしましょう。Express.jsについてはこちらの記事をご覧ください。index.ejsを作成してabalytics.jsをロードします。あとで使うのでbootstrapをCDNからロードします。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="/javascripts/ab_test.js"></script>

次にABalytics.jsの設定を記述するjsファイルを作成します。名前は任意で、ここではab_test.jsとします。 まずはじめにトラッキングコードを記述します。トラッキングコードは、Google Analyticsの管理画面からプロパティを作成すると自動的に生成されます。

f:id:astamuse:20170509111114p:plain

また、ビューの設定から登録完了画面などのABテストの結果を判定するための「目標」の設定が必要になります。

f:id:astamuse:20170509111122p:plain

次にab_test.jsに戻り、上で取得したトラッキングコードを最上部に記述します。

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'UA-XXXXX-1', 'sample');
  ga('send', 'pageview');
  

ABalyticsを初期化して、ABテストの設定を記述していきます。 ABalytics.jsはブラウザのcookieで、A案とB案の出し分けを判断しています。 下記コードにある「variant」は、cookieの名前の末尾つき「ABalytics_variant」ということになります。こちらも任意の文字を設定してください。

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
ga('create', 'UA-XXXXX-1', 'sample');
ga('send', 'pageview');
  
ABalytics.init({
    variant: [
    {
        name: 'variant1_name',
        "lead": "variant1"
    },
    {
        name: 'variant2_name',
        "lead": "variant2"
    }
]},1);

ga('send', 'pageview');

variantのプロパティにあるname: 'variant1_name'は、 Google Analyticsの管理画面でテスト結果を検証する際に必要になります。こちらも任意の文字が設定できます。 "lead": "variant1"についてですが、"lead"はテスト対象となるhtmlのクラス名、右側の"variant1"はABalytics.jsで変更される要素です。 数字の1は、カスタムディメンションのindex番号になります。事前に以下の画面からカスタムディメンションを作成して設定します。ちなみに、カスタムディメンションの最大数は20個(プレミアム アカウントの場合は 200 個)です。

f:id:astamuse:20170509111126p:plain

index.ejsに戻り、bodyタグの中に以下を記述します。

<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <a class="navbar-brand" href="#">ABalytics.js example</a>
        </div>
    </div>
</nav>
<div class="container">
    <div class="starter-template">
        <div class="lead">
            This content will be replaced by ABalytics
        </div>
    </div>
</div>
<script type="text/javascript">
    window.onload = function () {
        ABalytics.applyHtml();
    };
</script>

ABalytics.jsによって、leadクラス以下のテキストが”variant1”と”variant2”かのどちらかに50%の確率でランダムに置き換わります。

<div class="lead">
    This content will be replaced by ABalytics
</div>

f:id:astamuse:20170509111134p:plain
まず確認すべきことは、chromeのデベロッパーツールを開きcookieのABalytics_variantのvalueが0だった場合variant1と表示されているか、valueが1だった場合variant2と表示されているかを確認しましょう。 cookieのvalueを変更してみて確認してみると良いと思います。

f:id:astamuse:20170509111151p:plain

Google Analyticsの管理画面で、ABテストの結果を確認します。設置してから1日ぐらい経ってから確認してみると良いでしょう。 場所は、少しわかりにくいですが、左のナビゲーションからカスタム→ユーザー定義と進みます。 右カラムに下記のように (not set)というリンクがあるのでクリックします。

f:id:astamuse:20170509111138p:plain

「セカンダリディメンション」というプルダウンメニューから、設定したカスタムディメンション名をクリックすると、ABテストの結果が表示されます。

f:id:astamuse:20170509111145p:plain

まとめ

ABalytics.jsは、テキストだけではなく画像やDOM要素などのテストもカスタマイズすれば可能です。
例えば、複雑なDOM要素のテストは、cookieの値によって表示と非表示を切りかえることで実現できます。スマホ画面とPC画面で別々のテストを実施することもできます。
導入をご検討してみてはいかがでしょう。 アスタミューゼでは、エンジニア・デザイナーを募集中です。ご興味のある方は遠慮なく採用サイトからご応募ください。お待ちしています。

マクロって言ったり、関数って言ったり、Functionだったりする何か。~Google Spread Sheet~

f:id:astamuse:20170425195524j:plain

お久しぶりでございます。scalaでバックエンドを開発しているaxtstar(@axtstart)でございます。

今回は、弊社の勉強会で話したネタを少しアレンジして記載します。

Google Spread Sheet

前々回のエントリーでExcelマクロには○○とか話をしていてナンですが、 業務では結構G Suite上のGoogle Spread Sheetなどを通して、仕様やデータを検証することも多く、 ローカルでのExcelでの作業より、G Suite上での作業の方が徐々に多くなってきています。

GoogleSpreadSheetを使った業務改善の話はこちらのエントリーでも 取り上げていますが、ここではもっとプリミティブなtips的なSpreadSheetの関数を紹介してみたいと思います。

ImportRange

こちらは他のSpreadSheetのデータを参照することができる関数です。

元のSheetを汚したくない場合などによく利用しています。 データのレンジ範囲をセル上に書けば、その範囲を全部拾って来ます。 Excelにはこのような、記載したセル以外に値を展開する関数というのはみたことがありませんでした。

例えば、ターゲットのスプレッドシートが下記のようなURLの場合、

https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxx/

f:id:astamuse:20170423112752p:plain

対象スプレッドシートのスプレッドキー(上記の場合:xxxxxxxxxxxxxxxxx)とシート・レンジを指定します。

=ImportRange("xxxxxxxxxxxxxxxxx","シート6!A1:F12")

1度だけ、アクセスの許可をする必要があります。

f:id:astamuse:20170422234819p:plain

なお、範囲上に展開する関数は、他のデータが展開先に存在する場合、エラーになります。

f:id:astamuse:20170422235031p:plain

すると、下記のように、C4:H15の範囲にシート6!A1:F12の内容が展開されます。

f:id:astamuse:20170423121306p:plain

上記を日直の持ち回り表というようにみていただくと、 追加でExcelライクな関数を設定することで次の日直を自動で算出することが可能です。 (この場合はGさんが次の日直) まぁ少し例としては微妙ですが。。。

f:id:astamuse:20170423130055p:plain

SpreadSheet API

またGoogleスプレッドシートはAPIからアクセスすることができますので、 メッセージに応じて、slack上に日直を表示するというような、botを作ることもできます。

f:id:astamuse:20170423235020p:plain

こちらにslack botの scala で実装したサンプルを上げておきました。

スクリプトエディタ

また、ほんのちょっとした処理をスクリプトエディタで記載するのもいい手です。

例えば、文字列をURLエンコードする関数は、存在しないのですが、 スクリプトエディタだと↓簡単に記述できます。

下記のようにスクリプトエディタを開き、

f:id:astamuse:20170425185221p:plain

こちらに

f:id:astamuse:20170425185442p:plain

下記を張り付ければOK。

function encode(value) {
  return encodeURIComponent(value);
}

function decode(value) {
  return decodeURIComponent(value);
}

スクリプトエディタ*1は、JavaScript1.6をBaseにつくられており、 Array、Date、RegExp、MathといったObjectが利用可能です。 ただし、Googleのサーバで動作するため、Window APIは利用不可。

ImportXML

URLを指定することでXMLをパースして取得することができます。 実際にはHTMLでもかなり取得してくれます。 ただ、認証など入力することはできないため、ログインが必要なデータは取得できないようです。

例えば下記で、本ブログのキーワードタグを取得できます。

=ImportXML("http://lab.astamuse.co.jp/","//ul[@class='hatena-urllist']")

f:id:astamuse:20170423181907p:plain

こちらを先ほど作成したencode関数と下記関数で、キーワードタグに対して

 
関数用途
Transpose 転置
=Transpose(ImportXML("http://lab.astamuse.co.jp/","//ul[@class='hatena-urllist']"))
REGEXEXTRACT 正規表現によるデータの取得
=REGEXEXTRACT(A2,"( \([1-9]+\))")
Substitute 文字列置換
=Substitute(A2,B2,"")
encode URLエンコード。スクリプトエディタで作成した関数
=encode(C3)

URLを↓下記のように生成できます。

f:id:astamuse:20170423190011p:plain

さらに生成したURLにImportXmlを適用し、タイトルを取得してみました↓

f:id:astamuse:20170423193443p:plain

ただあまり処理数が多いと以下のようにエラーになります。

f:id:astamuse:20170423231554p:plain

今回はこの辺で。

最後に

いかがでしたか?ローカルで動作するExcelとは違った機能を紹介してみました。

またここでは紹介はしなかったですが、Gmail等のGoogleのサービスへの連携も比較的簡単にできるため重宝しています。

アスタミューゼでは現在、エンジニア・デザイナーを募集中です。 興味のある方はぜひ 採用サイト からご応募ください。

参考にしたサイトなど

Google スプレッドシートの関数リスト

Google Apps Script ドキュメント

Google API Client Libraries JAVA編

*1:正確にはGoogle Apps Script

Copyright © astamuse company, ltd. all rights reserved.